generating-formslisted
Install: claude install-skill HAAAgency/claude-form-skill
# Generating Forms
## Overview
A good form answers three questions for the user at every moment: **What do I fill in? What is required? Why can't I continue?** Almost all form pain comes from breaking one of three promises — making the user guess what's required, asking for the same thing twice, or asking for things that don't apply.
**Core principle: optimize for the user's understanding, not the database's schema.** The form is a conversation, not a table dump.
## When to use
- Building or generating any form or multi-step wizard.
- Deciding required vs optional, or trying to reduce the number of fields.
- A "Next"/"Submit" button is disabled and the user can't tell why.
- Users report the form is confusing, long, or errors only at the end.
## The five rules
1. **Required vs optional must be unmistakable — on a persistent label — and never leave a disabled button unexplained.** Give *every* field a persistent visible label *above* it (never a placeholder used as the label — it vanishes the instant the user types and takes the required/optional cue with it). Mark each label up front: a red `*` for required, `(optional)` for optional, so the user knows *before* they try. Label every field the same way across the whole form (homogeneity). And when submit/next is disabled, also show *exactly which required fields are still missing*, live, by the button. A disabled button with no reason is the #1 form defect.
2. **Never ask for the same information twice — pipe it.** If