Conversion & Cognitive Load Analysis
Run 30 conversion optimization test cases across 3 parallel agents covering friction analysis, cognitive load, and trust signals.
Setup
URL="${ARGUMENTS:-http://localhost:3000}"
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
OUTDIR="test-results/test-conversion/$TIMESTAMP"
mkdir -p "$OUTDIR/screenshots" "$OUTDIR/snapshots" "$OUTDIR/traces"
Before running, verify prerequisites per references/prerequisites.md.
Parallel Execution — 3 Subagents
Agent 1: Friction (-s=conv-friction)
Analyzes friction in conversion flows and step counting.
playwright-cli -s=conv-friction open "$URL"
playwright-cli -s=conv-friction tracing-start
playwright-cli -s=conv-friction snapshot --filename="$OUTDIR/snapshots/friction-initial.yaml"
Test Cases:
| TC |
Test |
How to Check |
| TC-CV1 |
Steps to primary conversion |
Navigate the primary conversion path (sign up, purchase, contact), count clicks/pages from landing to completion |
| TC-CV2 |
Form field count — flag >7 fields |
run-code to count form fields (input, select, textarea). Each field = friction. Flag forms with >7 |
| TC-CV3 |
Mandatory vs optional fields ratio |
run-code to count required vs optional fields. High required:total ratio = more friction |
| TC-CV4 |
Auto-fill support on address/payment |
run-code to check autocomplete attributes on address/payment fields for proper values (street-address, cc-number, etc.) |
| TC-CV5 |
Progress indicator in multi-step flows |
If multi-step form: verify progress bar/step indicator shows current position |
| TC-CV6 |
Save & continue later option |
If long form: check for save/continue later functionality |
| TC-CV7 |
Guest checkout available |
If e-commerce: verify guest checkout option exists (no forced registration) |
| TC-CV8 |
One-click actions where possible |
Check for streamlined actions (one-click purchase, one-tap copy, quick add-to-cart) |
| TC-CV9 |
Error recovery — clicks to recover |
Trigger a form error, count clicks needed to fix and resubmit |
| TC-CV10 |
Exit intent — recovery mechanisms |
Check for exit-intent patterns (leave-page popups, cart abandonment emails, "are you sure?" prompts) |
playwright-cli -s=conv-friction tracing-stop
playwright-cli -s=conv-friction close
Agent 2: Cognitive (-s=conv-cognitive)
Analyzes cognitive load and choice architecture.
playwright-cli -s=conv-cognitive open "$URL"
playwright-cli -s=conv-cognitive tracing-start
Test Cases:
| TC |
Test |
How to Check |
| TC-CV11 |
Choice overload — >7 options without categorization |
run-code to find menus/select dropdowns/lists with >7 items, check if they have categories/groups (Miller's Law) |
| TC-CV12 |
Information density — text blocks ≤5 lines |
run-code to find text blocks (paragraphs), flag those >5 lines without visual break (heading, bullet, image) |
| TC-CV13 |
Visual clutter score — elements per viewport |
run-code to count distinct visible elements per viewport section. Flag >50 elements in viewport |
| TC-CV14 |
Competing CTAs — max 1 primary per section |
run-code to find primary-styled buttons per viewport section. Flag if >1 primary CTA competes |
| TC-CV15 |
Information hierarchy — important info prominent |
run-code to rank content by computed emphasis (size × weight × contrast). Verify most important content ranks highest |
| TC-CV16 |
Scannability — headings, bullets, short paragraphs |
run-code to check content structure: headings every ~300px of content, bullet lists used, paragraphs <150 words |
| TC-CV17 |
Cognitive tunneling — single clear path |
Check if each page section has one clear next action (not multiple competing paths) |
| TC-CV18 |
Progressive disclosure |
Check if complex information is hidden behind "Learn more", accordions, or tabs (not dumped all at once) |
| TC-CV19 |
Hick's Law — categorization helps |
For large option sets: verify categories/filters reduce decision complexity |
| TC-CV20 |
Recognition over recall — familiar patterns |
run-code to check for standard UI patterns: magnifying glass for search, hamburger for menu, X for close, shopping cart icon |
playwright-cli -s=conv-cognitive tracing-stop
playwright-cli -s=conv-cognitive close
Agent 3: Trust (-s=conv-trust)
Analyzes trust signals and social proof.
playwright-cli -s=conv-trust open "$URL"
playwright-cli -s=conv-trust tracing-start
playwright-cli -s=conv-trust snapshot --filename="$OUTDIR/snapshots/trust-initial.yaml"
Test Cases:
| TC |
Test |
How to Check |
| TC-CV21 |
Trust badges near conversion points |
run-code to find trust badges/seals (SSL, security, payment icons) near forms and CTAs |
| TC-CV22 |
Security indicators on sensitive forms |
Find payment/login forms, check for lock icon, HTTPS indicator, security messaging nearby |
| TC-CV23 |
Social proof visible |
run-code to find testimonials, reviews, star ratings, user counts ("10,000+ users"), case studies |
| TC-CV24 |
Contact information accessible |
Check for phone number, email, physical address in footer or contact page. Verify reachable in ≤2 clicks |
| TC-CV25 |
Privacy policy linked near data collection |
Find forms that collect data, check for nearby privacy policy link |
| TC-CV26 |
Money-back guarantee / free trial messaging |
Find pricing/purchase areas, check for guarantee/trial messaging |
| TC-CV27 |
Brand/partner logos visible |
run-code to find logo grids, "trusted by", "as seen in" sections |
| TC-CV28 |
Professional design quality |
Check for: no broken images (run-code to find images with naturalWidth=0), consistent styling (reuse consistency results), no placeholder/lorem ipsum text |
| TC-CV29 |
Clear pricing — no hidden fees |
If pricing exists: verify prices are visible, total is clear, no "*" without explanation |
| TC-CV30 |
Urgency/scarcity used ethically |
Check for countdown timers, "only X left", "limited time". Flag if these appear manipulative (fake urgency, always-present countdown) |
playwright-cli -s=conv-trust tracing-stop
playwright-cli -s=conv-trust close
Fix Loop
After execution, if any tests failed, follow the fix loop process in references/fix-loop.md.
Max 3 attempts. Only re-run failed test cases.
Include fix attempt history in the report.
Report Generation
After all 3 agents complete, merge results into $OUTDIR/report.md.
Include a conversion scorecard:
| Category |
Score |
Key Issues |
| Friction |
X/10 |
12 form fields, 5 steps to purchase |
| Cognitive Load |
X/10 |
Menu has 15 uncategorized items |
| Trust Signals |
X/10 |
No testimonials, missing security badges |
| Overall |
X/30 |
... |
Include a conversion funnel analysis:
- Landing page → Sign up: X clicks, Y friction points
- Estimated drop-off points based on friction/cognitive load
Group results:
- Friction Analysis (TC-CV1 through TC-CV10)
- Cognitive Load (TC-CV11 through TC-CV20)
- Trust Signals (TC-CV21 through TC-CV30)
Cleanup
playwright-cli -s=conv-friction close 2>/dev/null
playwright-cli -s=conv-cognitive close 2>/dev/null
playwright-cli -s=conv-trust close 2>/dev/null
1---2name: test-conversion3description: Analyze conversion optimization, cognitive load, and trust signals. Use when user wants to audit conversion funnels, reduce friction, analyze cognitive load, check trust signals, or optimize CTAs.4---56# Conversion & Cognitive Load Analysis78Run 30 conversion optimization test cases across 3 parallel agents covering friction analysis, cognitive load, and trust signals.910## Setup1112```bash13URL="${ARGUMENTS:-http://localhost:3000}"14TIMESTAMP=$(date +%Y%m%d-%H%M%S)15OUTDIR="test-results/test-conversion/$TIMESTAMP"16mkdir -p "$OUTDIR/screenshots" "$OUTDIR/snapshots" "$OUTDIR/traces"17```1819Before running, verify prerequisites per `references/prerequisites.md`.2021## Parallel Execution — 3 Subagents2223### Agent 1: Friction (`-s=conv-friction`)2425Analyzes friction in conversion flows and step counting.2627```bash28playwright-cli -s=conv-friction open "$URL"29playwright-cli -s=conv-friction tracing-start30playwright-cli -s=conv-friction snapshot --filename="$OUTDIR/snapshots/friction-initial.yaml"31```3233**Test Cases:**3435| TC | Test | How to Check |36|----|------|-------------|37| TC-CV1 | Steps to primary conversion | Navigate the primary conversion path (sign up, purchase, contact), count clicks/pages from landing to completion |38| TC-CV2 | Form field count — flag >7 fields | `run-code` to count form fields (input, select, textarea). Each field = friction. Flag forms with >7 |39| TC-CV3 | Mandatory vs optional fields ratio | `run-code` to count required vs optional fields. High required:total ratio = more friction |40| TC-CV4 | Auto-fill support on address/payment | `run-code` to check autocomplete attributes on address/payment fields for proper values (street-address, cc-number, etc.) |41| TC-CV5 | Progress indicator in multi-step flows | If multi-step form: verify progress bar/step indicator shows current position |42| TC-CV6 | Save & continue later option | If long form: check for save/continue later functionality |43| TC-CV7 | Guest checkout available | If e-commerce: verify guest checkout option exists (no forced registration) |44| TC-CV8 | One-click actions where possible | Check for streamlined actions (one-click purchase, one-tap copy, quick add-to-cart) |45| TC-CV9 | Error recovery — clicks to recover | Trigger a form error, count clicks needed to fix and resubmit |46| TC-CV10 | Exit intent — recovery mechanisms | Check for exit-intent patterns (leave-page popups, cart abandonment emails, "are you sure?" prompts) |4748```bash49playwright-cli -s=conv-friction tracing-stop50playwright-cli -s=conv-friction close51```5253### Agent 2: Cognitive (`-s=conv-cognitive`)5455Analyzes cognitive load and choice architecture.5657```bash58playwright-cli -s=conv-cognitive open "$URL"59playwright-cli -s=conv-cognitive tracing-start60```6162**Test Cases:**6364| TC | Test | How to Check |65|----|------|-------------|66| TC-CV11 | Choice overload — >7 options without categorization | `run-code` to find menus/select dropdowns/lists with >7 items, check if they have categories/groups (Miller's Law) |67| TC-CV12 | Information density — text blocks ≤5 lines | `run-code` to find text blocks (paragraphs), flag those >5 lines without visual break (heading, bullet, image) |68| TC-CV13 | Visual clutter score — elements per viewport | `run-code` to count distinct visible elements per viewport section. Flag >50 elements in viewport |69| TC-CV14 | Competing CTAs — max 1 primary per section | `run-code` to find primary-styled buttons per viewport section. Flag if >1 primary CTA competes |70| TC-CV15 | Information hierarchy — important info prominent | `run-code` to rank content by computed emphasis (size × weight × contrast). Verify most important content ranks highest |71| TC-CV16 | Scannability — headings, bullets, short paragraphs | `run-code` to check content structure: headings every ~300px of content, bullet lists used, paragraphs <150 words |72| TC-CV17 | Cognitive tunneling — single clear path | Check if each page section has one clear next action (not multiple competing paths) |73| TC-CV18 | Progressive disclosure | Check if complex information is hidden behind "Learn more", accordions, or tabs (not dumped all at once) |74| TC-CV19 | Hick's Law — categorization helps | For large option sets: verify categories/filters reduce decision complexity |75| TC-CV20 | Recognition over recall — familiar patterns | `run-code` to check for standard UI patterns: magnifying glass for search, hamburger for menu, X for close, shopping cart icon |7677```bash78playwright-cli -s=conv-cognitive tracing-stop79playwright-cli -s=conv-cognitive close80```8182### Agent 3: Trust (`-s=conv-trust`)8384Analyzes trust signals and social proof.8586```bash87playwright-cli -s=conv-trust open "$URL"88playwright-cli -s=conv-trust tracing-start89playwright-cli -s=conv-trust snapshot --filename="$OUTDIR/snapshots/trust-initial.yaml"90```9192**Test Cases:**9394| TC | Test | How to Check |95|----|------|-------------|96| TC-CV21 | Trust badges near conversion points | `run-code` to find trust badges/seals (SSL, security, payment icons) near forms and CTAs |97| TC-CV22 | Security indicators on sensitive forms | Find payment/login forms, check for lock icon, HTTPS indicator, security messaging nearby |98| TC-CV23 | Social proof visible | `run-code` to find testimonials, reviews, star ratings, user counts ("10,000+ users"), case studies |99| TC-CV24 | Contact information accessible | Check for phone number, email, physical address in footer or contact page. Verify reachable in ≤2 clicks |100| TC-CV25 | Privacy policy linked near data collection | Find forms that collect data, check for nearby privacy policy link |101| TC-CV26 | Money-back guarantee / free trial messaging | Find pricing/purchase areas, check for guarantee/trial messaging |102| TC-CV27 | Brand/partner logos visible | `run-code` to find logo grids, "trusted by", "as seen in" sections |103| TC-CV28 | Professional design quality | Check for: no broken images (`run-code` to find images with naturalWidth=0), consistent styling (reuse consistency results), no placeholder/lorem ipsum text |104| TC-CV29 | Clear pricing — no hidden fees | If pricing exists: verify prices are visible, total is clear, no "*" without explanation |105| TC-CV30 | Urgency/scarcity used ethically | Check for countdown timers, "only X left", "limited time". Flag if these appear manipulative (fake urgency, always-present countdown) |106107```bash108playwright-cli -s=conv-trust tracing-stop109playwright-cli -s=conv-trust close110```111112## Fix Loop113114After execution, if any tests failed, follow the fix loop process in `references/fix-loop.md`.115Max 3 attempts. Only re-run failed test cases.116117Include fix attempt history in the report.118119## Report Generation120121After all 3 agents complete, merge results into `$OUTDIR/report.md`.122123Include a conversion scorecard:124125| Category | Score | Key Issues |126|----------|-------|------------|127| Friction | X/10 | 12 form fields, 5 steps to purchase |128| Cognitive Load | X/10 | Menu has 15 uncategorized items |129| Trust Signals | X/10 | No testimonials, missing security badges |130| **Overall** | **X/30** | ... |131132Include a conversion funnel analysis:133- Landing page → Sign up: X clicks, Y friction points134- Estimated drop-off points based on friction/cognitive load135136Group results:1371. Friction Analysis (TC-CV1 through TC-CV10)1382. Cognitive Load (TC-CV11 through TC-CV20)1393. Trust Signals (TC-CV21 through TC-CV30)140141## Cleanup142143```bash144playwright-cli -s=conv-friction close 2>/dev/null145playwright-cli -s=conv-cognitive close 2>/dev/null146playwright-cli -s=conv-trust close 2>/dev/null147```