fill-multi-step-form
Skill8 starsChanged 7 months agoMITView on GitHub
Fills a multi-step form (stepper wizard) by routing labeled fields to values from `vars`, clicking "Next" between steps, and submitting at the end. Pairs with the `searchable-dropdown` and `date-picker-widget` skills for compound widgets.
In this repository14 other files it gives its agents.
- date-picker-widgetSkill
- detect-captchaSkill
- dismiss-cookie-bannerSkill
- dismiss-newsletter-popupSkill
- exit-tracking-popupSkill
- extract-table-paginationSkill
- handle-infinite-scrollSkill
- handle-modal-dialogSkill
- login-flowSkill
- pagination-next-pageSkill
- searchable-dropdownSkill
- search-and-filterSkill
- upload-download-fileSkill
- verify-page-loadedSkill
The file
Files
Fill Multi-Step Form
When to invoke
The page has a form spread across multiple steps (Typeform, Calendly, hotel
checkout, multi-page job applications, etc.). The agent has the values to fill
in vars keyed by either field-name, field-id, or label text.
The matcher runs this skill when the DOM has a <form> plus any
step-indicator marker. Without step-indicators, the simpler
single-step form pattern (fill primitive calls authored by the agent
directly) usually suffices.
Recipe
- wait_for_dom_ready timeout=5s
- wait_for_selector selector="form, [role='form']" state=visible timeout=5s
- fill selector="input[name='name'], input[id*='name' i][type='text']" value="$vars.name"
- fill selector="input[type='email'], input[name*='email' i]" value="$vars.email"
- click selector="button:has-text('Next'), button:has-text('Continue'), button[type='submit']" timeout=2s
- wait extra=400ms
Success criteria
- assert no_visible_element selector="[role='alert'][aria-invalid='true']"
- assert step_indicator_advanced
Notes
The recipe above is the minimum-viable scaffolding. Real forms vary
widely; agents are expected to compose fill primitives directly when
the field set is fully known up front. This skill is most useful when:
- The field set is partially unknown until later steps render
- Validation errors must be detected and recovered (handled by the
agent on
failedreturn)
When NOT to use
- Login forms — use
login-flow. - Forms inside a captcha-protected flow —
detect-captchafirst.
Known failures
- Hidden fields with same name as visible fields: the selector
picks the wrong one. Workaround: use an
idselector instead. - Steps that conditionally show fields based on earlier answers: v0.1 doesn't handle dynamic form structure. Agent must invoke the skill once per step.
- Drag-and-drop fields, signature widgets: out of scope.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

