Guide · Agent skill
How to use the State Machine Workbench agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The State Machine Workbench skill, named state-machine, is an agent skill that takes one UI component and renders it on a temporary page in every state it can be in, such as loading, empty, error or a locked feature. This guide explains what the skill makes the agent do, how to install it, how to ask for it and how to clean up afterwards. You do not need prior experience with agent skills to follow it.
Quick start
- 1Download the ZIP. Get the state-machine skill ZIP from our page. It contains agents/openai.yaml, SKILL.md and switcher.md.
- 2Unzip into the skills folder. Unzip it into ~/.claude/skills/ for personal use or into your project's .claude/skills/ folder for one project.
- 3Or upload it in the Claude apps. In the Claude apps, go to Settings → Capabilities → Skills and upload the ZIP.
- 4Ask for one component by name. Name the state-machine skill and one component, such as the billing card, in your request.
- 5Flip through every state. Open the page the agent hands over and use the switcher to check that each state shows mock data and not a blank region.
- 6Remove it when finished. Ask the agent to delete the page folder and search for the route and fixture names.
What the skill makes the agent do
The skill builds a scratch route inside your app. The route holds the real component, imported from your project and left untouched, and renders it in each state the code can reach. Mock data feeds each state, and a grouped switcher lets you flip between states by clicking a link or changing a URL parameter.
The page is a workbench, not a review. It is meant for working on the visuals of one component while every other state stays one keypress away. It is not for reviewing finished work or auditing a whole page; the skill says other skills handle those jobs.
- States are the branches the component already has, found by reading the component and its data hooks.
- States are grouped by kind, such as Data, Account or Feature, and named the way the product names them.
- When you are finished, the page folder can be deleted in one step.
Install the State Machine skill
Download the ZIP for the skill from our page. The ZIP contains agents/openai.yaml, SKILL.md and switcher.md.
You can install it in one of two ways. For a personal install, unzip it into ~/.claude/skills/. For a single project, unzip it into the project's .claude/skills/ folder. Alternatively, upload the ZIP in the Claude apps under Settings → Capabilities → Skills.
- Personal install: ~/.claude/skills/
- Project install: the project's .claude/skills/ folder
- Claude apps: Settings → Capabilities → Skills, then upload the ZIP
Check what the skill needs
The skill needs a project with a component framework the agent can read. The skill gives Next.js and client/server component splits as examples. A browser the agent can use is optional. If the agent has no browser, the skill tells it to hand the URL to you so you can check each state yourself.
The skill runs no scripts and uses no network access, according to its source.
- Required: a project with a component framework the agent can read
- Optional: a browser the agent can use to load the page and check each state
- Runs scripts: no
- Uses network: no
Trigger the skill with a natural request
The SKILL.md is marked disable-model-invocation, so the agent is not set up to pick it up on its own. Name the skill and the component in your request. The agent asks you to scope one component per run, so a request about a whole page will get a question back about which component to use.
Mention the states you care about if you have them in mind. The agent will still read the code to find the states that actually exist.
- Use the state-machine skill to show every state of the billing card.
- Use the state-machine skill on the audit log table so I can see loading, empty and error.
- Use the state-machine skill to show the network panel for a member with no access and for an owner.
Review the states, the switcher and the mock data
The agent lists the states it found, grouped under headings such as Data, Account or Feature. It also says which kinds it dropped and why. Mock data is shaped like your product, with realistic names, timestamps, amounts and item counts. Loading and pending states stay pending until you move the switcher, rather than resolving after a timeout.
The switcher is a grouped list beside the component, or a select above it when there is no room. It is deliberately styled outside your design system so it does not look like part of the product. When the agent is done, it hands over the URL, the state list and the switcher keys, then waits for your next request.
- The switcher sets a __state search param, so each state has its own URL.
- The double underscore keeps the switcher clear of any parameter your layout reads.
- Ask for visual changes as a new request; the skill does not change how a state looks on its own.
Remove the page when you are done
Removal happens on your word, not automatically. The skill deletes the page folder, such as /states/audit-log, and any data seam you approved. It then searches the codebase for the route and fixture names and checks that the diff touches nothing else of the setup.
- Ask the agent to remove the states page for the component.
- Ask the agent to search for the route and fixture names after removal.
What people use it for
- Checking loading, empty and error states of a table without triggering them in production.
- Comparing how one component looks for an owner versus a member, or across plan tiers.
- Reviewing a single component behind a feature flag or trial limit before shipping visual changes.
- Keeping a repeatable, removable scratch page for visual work on one component.
Frequently asked questions
How do I install the State Machine skill?
Download the ZIP from our page and unzip it into ~/.claude/skills/ for a personal install, or into your project's .claude/skills/ folder for one project. You can also upload the ZIP in the Claude apps under Settings → Capabilities → Skills.
What does the state-machine skill need to run?
It needs a project with a component framework the agent can read; the skill mentions Next.js as an example. A browser is optional, and without one the agent gives you the URL to check each state yourself.
Is the State Machine skill free?
The skill is listed under the MIT licence. Check the licence file in the source for the full terms.
Does the skill run scripts or use the network?
According to its source, the skill runs no scripts and uses no network access. It works by adding a temporary route and fixture files to your project.
Can it show a whole page instead of one component?
No. The skill is a workbench for one component at a time. For reviewing finished work or a whole page, the skill points to other skills.
How do I remove the temporary page afterwards?
Ask the agent to delete the page folder and any approved data seam. Then ask it to search the codebase for the route and fixture names to confirm nothing was left behind.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use this skill if you are a front-end developer or designer who needs to see one component across loading, empty, error, role or feature-flag states without triggering them in production, and who wants a scratch page that is easy to delete. Pick something else if you need to review finished work, audit a whole page, or work in a project with no component framework the agent can read.
Download the skill