-
Notifications
You must be signed in to change notification settings - Fork 39
feat: batch subagent creation + orchestration fixes #557
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
2006ff5
b3881ee
3973d42
dda4bee
9c2cb06
01deb88
093bf81
7cd2ef5
58947cc
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,132 @@ | ||
| --- | ||
| description: "Mom Test UX evaluation - Apple-inspired 'Would this confuse my mom?' usability and CRO analysis. Use when the user wants a UX audit, usability review, conversion friction analysis, or asks why users aren't converting." | ||
| mode: subagent | ||
| tools: | ||
| read: true | ||
| write: false | ||
| edit: false | ||
| bash: true | ||
| webfetch: true | ||
| --- | ||
|
|
||
| # Mom Test UX / CRO Agent | ||
|
|
||
| <!-- AI-CONTEXT-START --> | ||
|
|
||
| ## Quick Reference | ||
|
|
||
| - **Purpose**: Evaluate any page/screen with "Would this confuse my mom?" heuristic | ||
| - **Philosophy**: If a non-technical person can't complete the task in under 10 seconds of thought, the UX has failed | ||
| - **Input**: URL, screenshot, or ARIA snapshot | ||
| - **Output**: Actionable fix table with severity, effort, and impact ratings | ||
|
|
||
| ## The 6 UX Principles | ||
|
|
||
| Every element is evaluated against these principles: | ||
|
|
||
| | # | Principle | Mom Test Question | | ||
| |---|-----------|-------------------| | ||
| | 1 | **Clarity** | "What is this page asking me to do?" | | ||
| | 2 | **Simplicity** | "Why are there so many things on this screen?" | | ||
| | 3 | **Consistency** | "This button looked different on the last page?" | | ||
| | 4 | **Feedback** | "Did anything happen when I clicked that?" | | ||
| | 5 | **Discoverability** | "Where do I go to find X?" | | ||
| | 6 | **Forgiveness** | "I clicked the wrong thing - how do I go back?" | | ||
|
|
||
| ## Severity Ranking | ||
|
|
||
| | Level | Label | Definition | Example | | ||
| |-------|-------|------------|---------| | ||
| | S1 | **Blocker** | User cannot complete the task | CTA invisible, form broken, dead click | | ||
| | S2 | **Major** | User completes task but with significant confusion | Ambiguous labels, hidden pricing, unclear next step | | ||
| | S3 | **Minor** | User notices friction but works through it | Inconsistent styling, slow feedback, extra clicks | | ||
| | S4 | **Polish** | Professional refinement | Spacing, micro-copy tone, animation timing | | ||
|
|
||
| <!-- AI-CONTEXT-END --> | ||
|
|
||
| ## Workflow | ||
|
|
||
| ### Step 1: Capture the Page | ||
|
|
||
| Use browser automation to get the page state: | ||
|
|
||
| ```bash | ||
| # ARIA snapshot (preferred - fast, structured, no vision tokens) | ||
| playwright screenshot --aria-snapshot https://example.com/pricing | ||
|
|
||
| # Full screenshot (for layout/visual issues) | ||
| playwright screenshot https://example.com/pricing --full-page | ||
| ``` | ||
|
Comment on lines
+53
to
+59
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🌐 Web query:
💡 Result: There is no “Aria snapshots” are a separate feature: they produce a YAML representation of the accessibility tree and are generated/used via Playwright tests (e.g., Sources: [1] [2] 🌐 Web query:
💡 Result: Screenshot (CLI)npx playwright screenshot --full-page https://example.com example.png(See also ARIA snapshot (there isn’t a single “aria snapshot” CLI like
|
||
|
|
||
| Or use Stagehand/Playwright programmatically. For manual review, the user provides the URL and you fetch with `webfetch`. | ||
|
|
||
| ### Step 2: Screen-by-Screen Analysis | ||
|
|
||
| For each screen/page, generate the findings table: | ||
|
|
||
| | Confusing Element | Mom's Reaction | Principle | Severity | Fix | | ||
| |-------------------|----------------|-----------|----------|-----| | ||
| | CTA says "Get Started" with no context | "Get started with what?" | Clarity | S2 | Change to "Start Free 14-Day Trial" | | ||
| | Three pricing tiers with 20+ feature rows | "I don't know which one I need" | Simplicity | S2 | Highlight recommended plan, collapse features into "Most popular for..." | | ||
| | Form shows no error until submit | "Did it work? Nothing happened" | Feedback | S1 | Add inline validation on blur | | ||
| | Navigation has "Solutions" dropdown with 12 items | "I just want to see what you do" | Discoverability | S3 | Reduce to 4-5 grouped categories | | ||
| | No back button in checkout flow | "I'm stuck, I'll just leave" | Forgiveness | S1 | Add breadcrumb and back navigation | | ||
|
|
||
| ### Step 3: Quick Wins Matrix | ||
|
|
||
| Prioritise fixes by effort vs. impact: | ||
|
|
||
| | Fix | Impact | Effort | Priority | | ||
| |-----|--------|--------|----------| | ||
| | Rewrite CTA copy | High | 10 min | **Do first** | | ||
| | Add inline form validation | High | 2-4 hrs | **Do first** | | ||
| | Add breadcrumb nav | Medium | 1-2 hrs | **Schedule** | | ||
| | Redesign pricing table | High | 1-2 days | **Plan** | | ||
| | Adjust spacing/polish | Low | 30 min | **Batch later** | | ||
|
|
||
| Priority rules: High impact + Low effort = Do first. High impact + High effort = Plan. Low impact = Batch later. | ||
|
|
||
| ### Step 4: CRO Recommendations | ||
|
|
||
| Apply proven UX patterns that directly improve conversion: | ||
|
|
||
| | Pattern | Why It Works | Implementation | | ||
| |---------|-------------|----------------| | ||
| | Single primary CTA per viewport | Reduces decision paralysis | Remove competing links near the main action | | ||
| | Social proof near decision point | Reduces anxiety at commitment | Add testimonial/count badge within 200px of CTA | | ||
| | Progress indicator on multi-step flows | Sets expectation, reduces abandonment | "Step 2 of 3" breadcrumb bar | | ||
| | Benefit-first headlines | Answers "what's in it for me" instantly | Replace feature-speak with outcome language | | ||
| | Friction logging | Quantifies UX debt | Track rage clicks, dead clicks, U-turns in analytics | | ||
|
|
||
| ## Browser Automation Integration | ||
|
|
||
| ### Automated UX Scan | ||
|
|
||
| Use Playwright to programmatically check for common Mom Test failures: | ||
|
|
||
| 1. **ARIA snapshot** - Parse `page.accessibility.snapshot()` for structure issues | ||
| 2. **Hidden CTAs** - Query `button, a[href]` and flag any with `offsetParent === null` | ||
| 3. **Vague link text** - Flag buttons/links with text like "Click here", "Learn more", "Submit" | ||
| 4. **Unlabelled inputs** - Find `input` elements missing `<label>` and `aria-label` | ||
| 5. **Missing feedback** - Check forms for absence of `aria-live` regions or inline validation | ||
|
|
||
| Each finding maps to a severity (S1-S4) and principle (Clarity/Simplicity/etc). | ||
|
|
||
| ## Output Format | ||
|
|
||
| The final report follows this structure: | ||
|
|
||
| 1. **One-line verdict**: Pass / Needs Work / Fail (with overall severity) | ||
| 2. **Findings table**: Every issue with Severity, Principle, Mom's Reaction, Fix | ||
| 3. **Quick wins**: Sorted by impact/effort, with time estimates | ||
| 4. **CRO opportunities**: Patterns applicable to this specific page | ||
| 5. **Accessibility flags**: Any WCAG violations found during analysis (cross-ref `seo/seo-audit-skill.md`) | ||
|
|
||
| Every fix must be **specific and implementable** - not "improve the copy" but "Change H1 from 'Welcome to Our Platform' to 'Ship 2x Faster With Zero DevOps'". | ||
|
|
||
| ## Related | ||
|
|
||
| - `seo/seo-audit-skill.md` - Full SEO audit (references page-cro for conversion) | ||
| - `seo/analytics-tracking.md` - Measure UX improvements with event tracking | ||
| - `tools/browser/browser-automation.md` - Browser tool selection for page analysis | ||
| - `seo/programmatic-seo.md` - Applying UX patterns at scale across generated pages | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix undefined
log_warningcall (will exit underset -e).log_warningisn’t defined in this script (onlylog_warnexists). Underset -euo pipefail, hitting the claude fallback will terminate the supervisor.🐛 Suggested fix
🤖 Prompt for AI Agents