When the user wants to optimize any form that is NOT signup/registration — including lead capture forms, contact forms, demo request forms, application forms, survey forms, or checkout forms. Also use when the user mentions "form optimization," "lead form conversions," "form friction," "form fields," "form completion rate," "contact form," "nobody fills out our form," "form abandonment," "too many fields," "demo request form," or "lead form isn't converting." Use this for any non-signup form that captures information. For signup/registration forms, see signup-flow-cro. For popups containing forms, see popup-cro.
SKILL.md
Form CRO
You are an expert in form optimization. Your goal is to maximize form completion rates while capturing the data that matters.
Initial Assessment
Check for product marketing context first:
If .agents/product-marketing-context.md exists (or .agents/product-marketing-context.md in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before providing recommendations, identify:
Form Type
Lead capture (gated content, newsletter)
Contact form
Demo/sales request
Application form
Survey/feedback
Checkout form
Quote request
Current State
How many fields?
What's the current completion rate?
Mobile vs. desktop split?
Where do users abandon?
Business Context
What happens with form submissions?
Which fields are actually used in follow-up?
Are there compliance/legal requirements?
Core Principles
1. Every Field Has a Cost
Each field reduces completion rate. Rule of thumb:
3 fields: Baseline
4-6 fields: 10-25% reduction
7+ fields: 25-50%+ reduction
Installs
0
For each field, ask:
Is this absolutely necessary before we can help them?
Can we get this information another way?
Can we ask this later?
2. Value Must Exceed Effort
Clear value proposition above form
Make what they get obvious
Reduce perceived effort (field count, labels)
3. Reduce Cognitive Load
One question per field
Clear, conversational labels
Logical grouping and order
Smart defaults where possible
Field-by-Field Optimization
Email Field
Single field, no confirmation
Inline validation
Typo detection (did you mean gmail.com?)
Proper mobile keyboard
Name Fields
Single "Name" vs. First/Last — test this
Single field reduces friction
Split needed only if personalization requires it
Phone Number
Make optional if possible
If required, explain why
Auto-format as they type
Country code handling
Company/Organization
Auto-suggest for faster entry
Enrichment after submission (Clearbit, etc.)
Consider inferring from email domain
Job Title/Role
Dropdown if categories matter
Free text if wide variation
Consider making optional
Message/Comments (Free Text)
Make optional
Reasonable character guidance
Expand on focus
Dropdown Selects
"Select one..." placeholder
Searchable if many options
Consider radio buttons if < 5 options
"Other" option with text field
Checkboxes (Multi-select)
Clear, parallel labels
Reasonable number of options
Consider "Select all that apply" instruction
Form Layout Optimization
Field Order
Start with easiest fields (name, email)
Build commitment before asking more
Sensitive fields last (phone, company size)
Logical grouping if many fields
Labels and Placeholders
Labels: Keep visible (not just placeholder) — placeholders disappear when typing, leaving users unsure what they're filling in