Skip to content
Development
Skill

/form-cro

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

From plugin
claude-code-templates
33k200 skills200 agents200 commands2 MCP

Claude Code

$ npx -y skills add davila7/claude-code-templates --skill form-cro --agent claude-code

SKILL.md

form-cro.SKILL.md
name: form-cro
description: 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," or "contact form." For signup/registration forms, see signup-flow-cro. For popups containing forms, see popup-cro.

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

Before providing recommendations, identify:

1. **Form Type**

  • Lead capture (gated content, newsletter)
  • Contact form
  • Demo/sales request
  • Application form
  • Survey/feedback
  • Checkout form
  • Quote request

2. **Current State**

  • How many fields?
  • What's the current completion rate?
  • Mobile vs. desktop split?
  • Where do users abandon?

3. **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

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

1. Start with easiest fields (name, email) 2. Build commitment before asking more 3. Sensitive fields last (phone, company size) 4. Logical grouping if many fields

Labels and Placeholders

  • Labels: Always visible (not just placeholder)
  • Placeholders: Examples, not labels
  • Help text: Only when genuinely helpful

**Good:**

Email
[name@company.com]

**Bad:**

[Enter your email address]  ← Disappears on focus

Visual Design

  • Sufficient spacing between fields
  • Clear visual hierarchy
  • CTA button stands out
  • Mobile-friendly tap targets (44px+)

Single Column vs. Multi-Column

  • Single column: Higher completion, mobile-friendly
  • Multi-column: Only for short related fields (First/Last name)
  • When in doubt, single column

---

Multi-Step Forms

When to Use Multi-Step

  • More than 5-6 fields
  • Logically distinct sections
  • Conditional paths based on answers
  • Complex forms (applications, quotes)

Multi-Step Best Practices

  • Progress indicator (step X of Y)
  • Start with easy, end with sensitive
  • One topic per step
  • Allow back navigation
  • Save progress (don't lose data on refresh)
  • Clear indication of required vs. optional

Progressive Commitment Pattern

1. Low-friction start (just email) 2. More detail (name, company) 3. Qualifying questions 4. Contact preferences

---

Error Handling

Inline Validation

  • Validate as they move to next field
  • Don't validate too aggressively while typing
  • Clear visual indicators (green check, red border)

Error Messages

  • Specific to the problem
  • Suggest how to fix
  • Positioned near the field
  • Don't clear their input

**Good:** "Please enter a valid email address (e.g., name@company.com)" **Bad:** "Invalid input"

On Submit

  • Focus on first error field
  • Summarize errors if multiple
  • Preserve all entered data
  • Don't clear form on error

---

Submit Button Optimization

Button Copy

Weak: "Submit" | "Send" Strong: "[Action] + [What they get]"

Examples:

  • "Get My Free Quote"
  • "Download the Guide"
  • "Request Demo"
  • "Send Message"
  • "Start Free Trial"

Button Placement

  • Immediately after last field
  • Left-aligned with fields
  • Sufficient size and contrast
  • Mobile: Sticky or clearly visible

Post-Submit States

  • Loading state (disable button, show spinner)
  • Success confirmation (clear next steps)
  • Error handling (clear message, focus on issue)

---

Trust and Friction Reduction

Near the Form

  • Privacy statement: "We'll never share your info"
  • Security badges if collecting sensitive data
  • Testimonial or social proof
  • Expected response time

Reducing Perceived Effort

  • "Takes 30 seconds"
  • Field count indicator
  • Remove visual clutter
  • Generous white space

Addressing Objections

  • "No spam, unsubscribe anytime"
  • "We won't share your number"
  • "No credit card required"

---

Form Types: Specific Guidance

Lead Capture (Gated Content)

  • Minimum viable fields (often just email)
  • Clear value proposition for what they get
  • Consider asking enrichment questions post-download
Read more
@davila7
Ships withclaude-code-templates

Open-source registry and CLI for Claude Code components: agents, commands, skills, hooks, MCPs, settings and mods

33k200 skills200 agents2 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
33.4k
Star history of davila7/claude-code-templates on GitHub, a chart by star-history.com

Other skills on claude-code-templates.

planning

planning

Create and manage persistent markdown planning files for structured task execution. Use when the user asks to "create a plan",…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills12d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react3d252k
@facebook@facebookInstall Skill

Questions about form-cro.

Which coding agents can use form-cro?
form-cro installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.