Agent Skill

Teach Claude Code, or any agent that supports Agent Skills, the advanced_forms API so it writes forms idiomatically. One command, kept current by the package.

The package ships an Agent Skill that an agent loads when a task looks like form work, so it generates fields, validation, cross-field logic and subforms the way these docs describe them rather than the way a generic Flutter tutorial would.

Install it with one command — then say "build me a sign-up form". The agent adds the package to pubspec.yaml if it is not there yet, writes the controller and the widgets, and wires the validation — you do not open the docs. Because the skill ships inside the package, the same command keeps it in step with the version you depend on.

Why a skill and not just the README?

An agent reads a skill before it writes code, and a skill can say what the README should not — which mistakes agents make with this API, which signatures they tend to invent, and which patterns to reach for first. The skill was hardened by having agents generate real forms from it alone, compiling those forms, and feeding every defect back.

Get this skill with one command line

The skill ships inside the package, so Dart's skills CLI can install it — and every other skill your dependencies carry — into the folder your agent reads.

Have the package in your project

The CLI reads pubspec.yaml, so advanced_forms has to be a dependency first:

flutter pub add advanced_forms

Run the skills CLI

dart run skills@ get

skills@ runs the CLI straight from pub.dev — nothing to install, nothing added to your pubspec. It detects the agent from the project (.claude/skills/ for Claude Code, .cursor/skills/, .github/skills/ for Copilot, .agents/skills/ for the rest; --agent claude to force one) and asks which skills to install; --all skips the question.

Check it is loaded

dart run skills@ list shows what the CLI manages. In Claude Code, /skills lists the skills in scope. The skill's description mentions forms, fields, validation and subforms, so it triggers on a request like "add a shipping address section to the checkout" even when the word "form" never appears.

Ask for a form

"Build me a sign-up form with email, password and terms." That is the whole prompt. The skill is enough on its own: the agent does not need the docs, the README or the package source in context. It knows the two rules that prevent most bugs — call registerFields once with every field, and bind text widgets to field.textController — and it knows the API surface well enough not to invent parameters.

Where it lives

The skill is the skills/advanced-forms-build-forms/ folder of the package, on GitHub and in every release on pub.dev. Agents read it as truth, so it is re-verified whenever validation semantics, the subform broadcast order or the text-controller sync change. If you find a claim in it that the package no longer honours, open an issue — a wrong skill is worse than no skill.

On this page