About sb-explore
sb-explore is a skill for iterating on Storybook components in isolation, intended for teams developing new components or redesigning existing ones. It keeps experiments separate from production code and defines a graduation handoff to sb-ship.
Key features
- 01Iterate outside the production component directory
- 02Place experiments according to project configuration
- 03Associate a Figma design
- 04Assess graduation against four criteria
- 05Preserve experiments and hand off to sb-ship
Use cases
- 01Try a new component outside production code
- 02Iterate on a redesign of an existing component
- 03Refine an experiment against a Figma frame
- 04Check whether a component meets graduation criteria
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ strongeron/ storybook-workbench --skill sb-exploreAfter installing, type/sb-explorein Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
CONTEXT.mdagents/openai.yamlreferences/figma-to-storybook.mdlabs-workflow.mdDetails
From the project READMEsb-explore — sandboxed iteration (Build mode: Explore)
The component is new or being redesigned. It lives outside src/components/ so production
code can't depend on it. Load references/labs-workflow.md before scaffolding.
If the user pasted a Figma URL, ALSO load references/figma-to-storybook.md. Do NOT
load composition-patterns.md (that's Compare → sb-wrappers).
Naming:
Exploreis the canonical term used throughout this skill (titles, disk paths, tags).references/labs-workflow.mdpredates the rename and saysLabs/src/stories/labs/— read it as the same track (Explore = Labs). Author withExplore; treatLabsonly as a legacy alias you may meet in an existing repo.
Before scaffolding (ask yourself)
- Iterating on a shipping component, or net-new? Determines Path A vs Path B at Ship time.
- Figma URL pasted? If yes — set
parameters.design = { type: 'figma', url }immediately and iterate against the frame (see figma-to-storybook.md). - API stable enough to graduate? See the 4 criteria in labs-workflow.md. If not — stay in Explore.
Scaffold
- Disk path — honor the recorded
storiesLocation(.storybook/audit/status.md): when stories are isolated (the audit/client default), scaffold the experiment under.storybook/explore/<topic>/— don't scatter into asrc/you don't own. Only usesrc/explore/<topic>/when the user opted into co-located for a project they own. Vite excludes either from the production bundle. - Title —
Explore/<topic>/<name>— last instorySort.order, bottom of sidebar. - Tags —
['explore', '!autodocs', '!test']. Optional:'motion','figma-sync','v2-preview'.
Graduation gate (Explore → Component)
Four criteria in labs-workflow.md: stable API · ≥3 callsites planned · designer-reviewed ·
tokens not magic numbers. When all met → trigger sb-ship (it preserves the experiment,
never git mv). Until then, keep iterating here.
Next
Iterate; when the gate is met, hand off to sb-ship. Append progress to .storybook/audit/status.md
so an interrupted session resumes cleanly (CONTEXT.md resume protocol).