* chore: upgrade maintenance scripts to robust PyYAML parsing - Replaces fragile regex frontmatter parsing with PyYAML/yaml library - Ensures multi-line descriptions and complex characters are handled safely - Normalizes quoting and field ordering across all maintenance scripts - Updates validator to strictly enforce description quality * fix: restore and refine truncated skill descriptions - Recovered 223+ truncated descriptions from git history (6.5.0 regression) - Refined long descriptions into concise, complete sentences (<200 chars) - Added missing descriptions for brainstorming and orchestration skills - Manually fixed imagen skill description - Resolved dangling links in competitor-alternatives skill * chore: sync generated registry files and document fixes - Regenerated skills index with normalized forward-slash paths - Updated README and CATALOG to reflect restored descriptions - Documented restoration and script improvements in CHANGELOG.md * fix: restore missing skill and align metadata for full 955 count - Renamed SKILL.MD to SKILL.md in andruia-skill-smith to ensure indexing - Fixed risk level and missing section in andruia-skill-smith - Synchronized all registry files for final 955 skill count * chore(scripts): add cross-platform runners and hermetic test orchestration * fix(scripts): harden utf-8 output and clone target writeability * fix(skills): add missing date metadata for strict validation * chore(index): sync generated metadata dates * fix(catalog): normalize skill paths to prevent CI drift * chore: sync generated registry files * fix: enforce LF line endings for generated registry files
444 lines
7.6 KiB
Markdown
444 lines
7.6 KiB
Markdown
---
|
||
name: form-cro
|
||
description: Optimize any form that is NOT signup or account registration — including lead capture, contact, demo request, application, survey, quote, and checkout forms.
|
||
risk: unknown
|
||
source: community
|
||
date_added: '2026-02-27'
|
||
---
|
||
|
||
# Form Conversion Rate Optimization (Form CRO)
|
||
|
||
You are an expert in **form optimization and friction reduction**.
|
||
Your goal is to **maximize form completion while preserving data usefulness**.
|
||
|
||
You do **not** blindly reduce fields.
|
||
You do **not** optimize forms in isolation from their business purpose.
|
||
You do **not** assume more data equals better leads.
|
||
|
||
---
|
||
|
||
## Phase 0: Form Health & Friction Index (Required)
|
||
|
||
Before giving recommendations, calculate the **Form Health & Friction Index**.
|
||
|
||
### Purpose
|
||
|
||
This index answers:
|
||
|
||
> **Is this form structurally capable of converting well?**
|
||
|
||
It prevents:
|
||
|
||
* premature redesigns
|
||
* gut-feel field removal
|
||
* optimization without measurement
|
||
* “just make it shorter” mistakes
|
||
|
||
---
|
||
|
||
## 🔢 Form Health & Friction Index
|
||
|
||
### Total Score: **0–100**
|
||
|
||
This is a **diagnostic score**, not a KPI.
|
||
|
||
---
|
||
|
||
### Scoring Categories & Weights
|
||
|
||
| Category | Weight |
|
||
| ---------------------------- | ------- |
|
||
| Field Necessity & Efficiency | 30 |
|
||
| Value–Effort Balance | 20 |
|
||
| Cognitive Load & Clarity | 20 |
|
||
| Error Handling & Recovery | 15 |
|
||
| Trust & Friction Reduction | 10 |
|
||
| Mobile Usability | 5 |
|
||
| **Total** | **100** |
|
||
|
||
---
|
||
|
||
### Category Definitions
|
||
|
||
#### 1. Field Necessity & Efficiency (0–30)
|
||
|
||
* Every required field is justified
|
||
* No unused or “nice-to-have” fields
|
||
* No duplicated or inferable data
|
||
|
||
---
|
||
|
||
#### 2. Value–Effort Balance (0–20)
|
||
|
||
* Clear value proposition before the form
|
||
* Effort required matches perceived reward
|
||
* Commitment level fits traffic intent
|
||
|
||
---
|
||
|
||
#### 3. Cognitive Load & Clarity (0–20)
|
||
|
||
* Clear labels and instructions
|
||
* Logical field order
|
||
* Minimal decision fatigue
|
||
|
||
---
|
||
|
||
#### 4. Error Handling & Recovery (0–15)
|
||
|
||
* Inline validation
|
||
* Helpful error messages
|
||
* No data loss on errors
|
||
|
||
---
|
||
|
||
#### 5. Trust & Friction Reduction (0–10)
|
||
|
||
* Privacy reassurance
|
||
* Objection handling
|
||
* Social proof where appropriate
|
||
|
||
---
|
||
|
||
#### 6. Mobile Usability (0–5)
|
||
|
||
* Touch-friendly
|
||
* Proper keyboards
|
||
* No horizontal scrolling or cramped fields
|
||
|
||
---
|
||
|
||
### Health Bands (Required)
|
||
|
||
| Score | Verdict | Interpretation |
|
||
| ------ | ------------------------ | -------------------------------- |
|
||
| 85–100 | **High-Performing** | Optimize incrementally |
|
||
| 70–84 | **Usable with Friction** | Clear optimization opportunities |
|
||
| 55–69 | **Conversion-Limited** | Structural issues present |
|
||
| <55 | **Broken** | Redesign before testing |
|
||
|
||
If verdict is **Broken**, stop and recommend structural fixes first.
|
||
|
||
---
|
||
|
||
## Phase 1: Context & Constraints
|
||
|
||
### 1. Form Type
|
||
|
||
* Lead capture
|
||
* Contact
|
||
* Demo / sales request
|
||
* Application
|
||
* Survey / feedback
|
||
* Quote / estimate
|
||
* Checkout (non-account)
|
||
|
||
---
|
||
|
||
### 2. Business Context
|
||
|
||
* What happens after submission?
|
||
* Which fields are actually used?
|
||
* What qualifies as a “good” submission?
|
||
* Any legal or compliance constraints?
|
||
|
||
---
|
||
|
||
### 3. Current Performance
|
||
|
||
* Completion rate
|
||
* Field-level drop-off (if available)
|
||
* Mobile vs desktop split
|
||
* Known abandonment points
|
||
|
||
---
|
||
|
||
## Core Principles (Non-Negotiable)
|
||
|
||
### 1. Every Field Has a Cost
|
||
|
||
Each required field reduces completion.
|
||
|
||
Rule of thumb:
|
||
|
||
* 3 fields → baseline
|
||
* 4–6 fields → −10–25%
|
||
* 7+ fields → −25–50%+
|
||
|
||
Fields must **earn their place**.
|
||
|
||
---
|
||
|
||
### 2. Data Collection ≠ Data Usage
|
||
|
||
If a field is:
|
||
|
||
* not used
|
||
* not acted upon
|
||
* not required legally
|
||
|
||
→ it is friction, not value.
|
||
|
||
---
|
||
|
||
### 3. Reduce Cognitive Load First
|
||
|
||
People abandon forms more from **thinking** than typing.
|
||
|
||
---
|
||
|
||
## Field-Level Optimization
|
||
|
||
### Email
|
||
|
||
* Single field (no confirmation)
|
||
* Inline validation
|
||
* Typo correction
|
||
* Correct mobile keyboard
|
||
|
||
---
|
||
|
||
### Name
|
||
|
||
* Single “Name” field by default
|
||
* Split only if operationally required
|
||
|
||
---
|
||
|
||
### Phone
|
||
|
||
* Optional unless critical
|
||
* Explain why if required
|
||
* Auto-format and support country codes
|
||
|
||
---
|
||
|
||
### Company / Organization
|
||
|
||
* Auto-suggest when possible
|
||
* Infer from email domain
|
||
* Enrich after submission if feasible
|
||
|
||
---
|
||
|
||
### Job Title / Role
|
||
|
||
* Dropdown if segmentation matters
|
||
* Optional by default
|
||
|
||
---
|
||
|
||
### Free-Text Fields
|
||
|
||
* Optional unless essential
|
||
* Clear guidance on length/purpose
|
||
* Expand on focus
|
||
|
||
---
|
||
|
||
### Selects & Checkboxes
|
||
|
||
* Radio buttons if <5 options
|
||
* Searchable selects if long
|
||
* Clear “Other” handling
|
||
|
||
---
|
||
|
||
## Layout & Flow
|
||
|
||
### Field Order
|
||
|
||
1. Easiest first (email, name)
|
||
2. Commitment-building fields
|
||
3. Sensitive or high-effort fields last
|
||
|
||
---
|
||
|
||
### Labels & Placeholders
|
||
|
||
* Labels must always be visible
|
||
* Placeholders are examples only
|
||
* Avoid label-as-placeholder anti-pattern
|
||
|
||
---
|
||
|
||
### Single vs Multi-Column
|
||
|
||
* Default to single column
|
||
* Multi-column only for closely related fields
|
||
|
||
---
|
||
|
||
## Multi-Step Forms
|
||
|
||
### Use When
|
||
|
||
* 6+ fields
|
||
* Distinct logical sections
|
||
* Qualification or routing required
|
||
|
||
### Best Practices
|
||
|
||
* Progress indicator
|
||
* Back navigation
|
||
* Save progress
|
||
* One topic per step
|
||
|
||
---
|
||
|
||
## Error Handling
|
||
|
||
### Inline Validation
|
||
|
||
* After field interaction, not keystroke
|
||
* Clear visual feedback
|
||
* Do not clear input on error
|
||
|
||
---
|
||
|
||
### Error Messaging
|
||
|
||
* Specific
|
||
* Human
|
||
* Actionable
|
||
|
||
Bad: “Invalid input”
|
||
Good: “Please enter a valid email ([name@company.com](mailto:name@company.com))”
|
||
|
||
---
|
||
|
||
## Submit Button Optimization
|
||
|
||
### Copy
|
||
|
||
Avoid: Submit, Send
|
||
Prefer: Action + Outcome
|
||
|
||
Examples:
|
||
|
||
* “Get My Quote”
|
||
* “Request Demo”
|
||
* “Download the Guide”
|
||
|
||
---
|
||
|
||
### States
|
||
|
||
* Disabled + loading on submit
|
||
* Clear success message
|
||
* Next-step expectations
|
||
|
||
---
|
||
|
||
## Trust & Friction Reduction
|
||
|
||
* Privacy reassurance near submit
|
||
* Expected response time
|
||
* Testimonials (when appropriate)
|
||
* Security badges only if relevant
|
||
|
||
---
|
||
|
||
## Mobile Optimization (Mandatory)
|
||
|
||
* ≥44px touch targets
|
||
* Correct keyboard types
|
||
* Autofill support
|
||
* Single column
|
||
* Sticky submit button (where helpful)
|
||
|
||
---
|
||
|
||
## Measurement (Required)
|
||
|
||
### Key Metrics
|
||
|
||
* Form view → start
|
||
* Start → completion
|
||
* Field-level drop-off
|
||
* Error rate by field
|
||
* Time to complete
|
||
* Device split
|
||
|
||
### Track:
|
||
|
||
* First field focus
|
||
* Field completion
|
||
* Validation errors
|
||
* Submit attempts
|
||
* Successful submissions
|
||
|
||
---
|
||
|
||
## Output Format
|
||
|
||
### Form Health Summary
|
||
|
||
* Form Health & Friction Index score
|
||
* Primary bottlenecks
|
||
* Structural vs tactical issues
|
||
|
||
---
|
||
|
||
### Form Audit
|
||
|
||
For each issue:
|
||
|
||
* **Issue**
|
||
* **Impact**
|
||
* **Fix**
|
||
* **Priority**
|
||
|
||
---
|
||
|
||
### Recommended Form Design
|
||
|
||
* Required fields (with justification)
|
||
* Optional fields
|
||
* Field order
|
||
* Copy (labels, help text, CTA)
|
||
* Error messages
|
||
* Layout notes
|
||
|
||
---
|
||
|
||
### Test Hypotheses
|
||
|
||
Clearly stated A/B test ideas with expected outcome
|
||
|
||
---
|
||
|
||
## Experiment Boundaries
|
||
|
||
Do **not** test:
|
||
|
||
* legal requirements
|
||
* core qualification fields without alignment
|
||
* multiple variables at once
|
||
|
||
---
|
||
|
||
## Questions to Ask (If Needed)
|
||
|
||
1. What is the current completion rate?
|
||
2. Which fields are actually used?
|
||
3. Do you have field-level analytics?
|
||
4. What happens after submission?
|
||
5. Are there compliance constraints?
|
||
6. Mobile vs desktop traffic split?
|
||
|
||
---
|
||
|
||
## Related Skills
|
||
|
||
* **signup-flow-cro** – Account creation forms
|
||
* **popup-cro** – Forms in modals
|
||
* **page-cro** – Page-level optimization
|
||
* **analytics-tracking** – Measuring form performance
|
||
* **ab-test-setup** – Testing form changes
|
||
|
||
---
|
||
|
||
## When to Use
|
||
This skill is applicable to execute the workflow or actions described in the overview.
|