From specialist-agent
Audits landing pages, signup flows, checkout processes for conversion friction like form fields, load times, trust signals, and outputs prioritized A/B test recommendations.
npx claudepluginhub herbertjulio/specialist-agent --plugin specialist-agentThis skill is limited to using the following tools:
Audit pages and flows for conversion friction - identifying drop-off points, persuasion gaps, and technical blockers - then produce prioritized recommendations with testable A/B hypotheses.
Analyzes landing pages from URLs or HTML/CSS code, audits elements against CRO principles and high-converting patterns, delivers actionable optimization recommendations.
Optimizes conversion rates across landing pages, signup flows, forms, popups, paywalls, and onboarding with prioritized, evidence-based recommendations and A/B test hypotheses.
Optimizes conversion rates by auditing landing pages, A/B testing forms and flows, improving checkout completion, and calculating experiment stats.
Share bugs, ideas, or general feedback.
Audit pages and flows for conversion friction - identifying drop-off points, persuasion gaps, and technical blockers - then produce prioritized recommendations with testable A/B hypotheses.
Target: $ARGUMENTS
@marketing Growth mode needs structured CRO analysis/seo-audit)/design-review)/copywriting)# Find the page/component code
find $TARGET -type f \( -name "*.tsx" -o -name "*.vue" -o -name "*.svelte" -o -name "*.astro" \) | head -20
Identify the conversion goal:
Map the user flow:
## User Flow
[Entry point] → [Step 1] → [Step 2] → ... → [Conversion]
Example:
Landing page → Pricing section → Signup form → Email verification → Dashboard
Check for conversion killers:
| Friction Type | What to Look For | Impact |
|---|---|---|
| Form friction | Too many fields, required fields, no autofill | HIGH |
| Cognitive load | Too many choices, unclear hierarchy, wall of text | HIGH |
| Trust deficit | No social proof, no security badges, unclear pricing | HIGH |
| Speed friction | Slow loading, heavy JS, unoptimized images | HIGH |
| Navigation friction | Can't find CTA, buried below fold, confusing layout | MEDIUM |
| Mobile friction | Small touch targets, horizontal scroll, unreadable text | MEDIUM |
| Copy friction | Unclear value prop, jargon, no urgency | MEDIUM |
| Technical friction | Broken forms, validation errors, payment failures | CRITICAL |
# Count form fields (friction indicator)
grep -rn "<input\|<select\|<textarea" $TARGET --include="*.tsx" --include="*.vue" 2>/dev/null | wc -l
# Check for form validation UX
grep -rn "onBlur\|onChange.*validation\|zod\|yup\|formik\|react-hook-form\|vee-validate" $TARGET --include="*.tsx" --include="*.vue" 2>/dev/null | head -10
# Check for loading/performance issues
grep -rn "useEffect\|onMounted\|onMount" $TARGET --include="*.tsx" --include="*.vue" --include="*.svelte" 2>/dev/null | head -10
# Check image optimization
grep -rn "<img\|<Image" $TARGET --include="*.tsx" --include="*.vue" 2>/dev/null | grep -v "next/image\|nuxt-img\|loading=" | head -10
Evaluate each persuasion principle:
| Principle | Implementation | Status |
|---|---|---|
| Reciprocity | Free value before asking (free trial, guide, tool) | [Present/Missing] |
| Scarcity | Limited time/quantity indicators (genuine, not fake) | [Present/Missing] |
| Authority | Expert endorsements, certifications, press logos | [Present/Missing] |
| Social Proof | Testimonials, user count, ratings, case studies | [Present/Missing] |
| Liking | Relatable brand voice, user stories, team photos | [Present/Missing] |
| Commitment | Micro-conversions (email first, then full signup) | [Present/Missing] |
| Unity | Shared identity ("Join 10,000 developers like you") | [Present/Missing] |
# Check for social proof elements
grep -rn "testimonial\|review\|rating\|customer\|users\|trusted" $TARGET --include="*.tsx" --include="*.vue" --include="*.astro" 2>/dev/null | head -10
# Check for trust signals
grep -rn "secure\|ssl\|encrypted\|guarantee\|money-back\|badge" $TARGET --include="*.tsx" --include="*.vue" 2>/dev/null | head -10
| Check | Best Practice |
|---|---|
| Headline clarity | Value proposition clear in <3 seconds |
| Above-the-fold | CTA visible without scrolling |
| CTA text | Action verb + benefit (not "Submit" or "Click here") |
| CTA contrast | Visually distinct from surrounding content |
| Value before form | User understands benefit before filling fields |
| Objection handling | FAQ, guarantees, or trust signals near CTA |
| Urgency | Genuine deadline or limited availability (if applicable) |
# Check CTA button text
grep -rn "type=\"submit\"\|<button\|<Button" $TARGET --include="*.tsx" --include="*.vue" 2>/dev/null | head -10
# Check for "Submit" or generic CTA text (anti-pattern)
grep -rn ">Submit<\|>Click here<\|>Send<\|>Go<" $TARGET --include="*.tsx" --include="*.vue" 2>/dev/null | head -5
Performance directly impacts conversion (every 100ms delay = -1% conversion):
| Check | Impact on Conversion |
|---|---|
| Page load time | +1s load time = -7% conversion (Google) |
| Mobile responsiveness | 53% abandon if >3s load on mobile |
| Form error recovery | Inline validation saves 22% form abandonment |
| Payment options | Each additional payment method = +5-10% checkout conversion |
| Loading states | Skeleton screens reduce perceived wait time by 30% |
# Check for skeleton/loading states
grep -rn "skeleton\|Skeleton\|loading\|isLoading\|isPending" $TARGET --include="*.tsx" --include="*.vue" 2>/dev/null | head -10
# Check for error boundary/handling in forms
grep -rn "error\|Error\|catch\|onError\|isError" $TARGET --include="*.tsx" --include="*.vue" 2>/dev/null | head -10
# Bundle size indicators
find $TARGET -name "*.tsx" -o -name "*.ts" | xargs wc -l 2>/dev/null | sort -rn | head -10
For each finding, produce:
### Recommendation [N]: [Title]
**Finding:** [What's wrong]
**Impact:** HIGH | MEDIUM | LOW
**Effort:** S (< 2h) | M (2-4h) | L (4-8h)
**Priority:** [Impact/Effort ratio]
**A/B Hypothesis:**
> If we [change], then [metric] will [improve] because [reason].
**Implementation:**
- File: [file:line]
- Change: [specific change]
Prioritize by: HIGH impact + LOW effort first (quick wins).
Before claiming the CRO audit is complete:
| Excuse | Reality |
|---|---|
| "Our conversion rate is fine" | Fine compared to what? Industry benchmarks? Last month? Without data, you're guessing. |
| "We need more traffic, not better conversion" | Doubling conversion is cheaper than doubling traffic. Optimize what you have first. |
| "Users will figure it out" | Users won't. They'll leave. Average attention span is 8 seconds. Remove friction or lose them. |
| "We can't change the design" | CRO isn't redesign. Changing CTA text from "Submit" to "Start Free Trial" is a 5-minute code change. |
| "A/B testing is too complex" | You don't need a testing platform to start. Ship Variant B, measure, compare. Manual A/B is still A/B. |
| "Our product is too technical for CRO" | Technical products still need clear value propositions. Complexity in product ≠ complexity in messaging. |
| "We already did CRO" | CRO is continuous. User behavior changes, competitors evolve, pages degrade. Audit quarterly. |
──── /cro ────
Target: $ARGUMENTS
Conversion Goal: [signup | purchase | download | contact]
User Flow: [entry] → ... → [conversion]
Friction Score: [N]/100 (lower = more friction)
Persuasion Score: [N]/7 principles present
Findings:
CRITICAL: N
HIGH: N
MEDIUM: N
LOW: N
Top Recommendations:
1. [HIGH/S] [recommendation] → Hypothesis: [if/then]
2. [HIGH/M] [recommendation] → Hypothesis: [if/then]
3. [MEDIUM/S] [recommendation] → Hypothesis: [if/then]
Quick Wins: N (HIGH impact, LOW effort)
Total Recommendations: N
──── CRO audit complete ────