storybook
Assists with developing, documenting, and testing UI components in isolation using Storybook. Use when writing component stories, setting up visual regression testing, configuring addons, or generating component documentation. Trigger words: storybook, stories, csf, component story format, visual testing, chromatic, storybook addons.
Usage
Getting Started
- Install the skill using the command above
- Open your AI coding agent (Claude Code, Codex, Gemini CLI, or Cursor)
- Reference the skill in your prompt
- The AI will use the skill's capabilities automatically
Example Prompts
- "Review the open pull requests and summarize what needs attention"
- "Generate a changelog from the last 20 commits on the main branch"
Documentation
Overview
Storybook is a UI component workshop for developing, documenting, and testing components in isolation. It supports React, Vue, Svelte, and Angular with Component Story Format (CSF), interactive controls, accessibility auditing, and visual regression testing through Chromatic integration.
Instructions
- When writing stories, use Component Story Format (CSF) with a default export for component metadata and named exports for each variant (Primary, Secondary, Loading, Error, Disabled).
- When making stories interactive, use
argsfor all dynamic props to enable the Controls panel, and addplayfunctions with@storybook/testfor automated interaction testing. - When adding documentation, use autodocs tag for automatic generation from stories, or MDX files for combining prose with live component examples using doc blocks like
<Canvas>,<Controls>, and<ArgTypes>. - When testing accessibility, enable
@storybook/addon-a11ywhich runs axe-core audits on every story automatically. - When setting up visual regression, integrate Chromatic or Percy for screenshot comparison across PRs, and run
@storybook/test-runnerin CI to execute all play functions. - When configuring globally, set shared decorators (ThemeProvider, RouterProvider) and parameters in
.storybook/preview.tsto apply to all stories. - When organizing, use sidebar hierarchy with
title: "Components/Forms/Input"and keep stories co-located with components (Button.tsx+Button.stories.tsx).
Examples
Example 1: Build a component library with stories
User request: "Set up Storybook for our React component library with all variants"
Actions:
- Initialize Storybook with
npx storybook@latest initfor the React Vite framework - Write stories for each component with args for variant, size, disabled, and loading states
- Add play functions for interactive components (buttons, forms, modals)
- Configure autodocs for automatic documentation generation
Output: A browsable component catalog with interactive controls and auto-generated docs.
Example 2: Add visual regression testing to CI
User request: "Set up visual testing for our Storybook components in CI"
Actions:
- Install
@storybook/test-runnerand configure CI pipeline - Add
@storybook/addon-a11yfor accessibility checks - Integrate Chromatic for visual regression screenshots on each PR
- Configure the test-runner to execute all play functions in headless Playwright
Output: A CI pipeline that catches visual regressions, accessibility issues, and broken interactions.
Guidelines
- Write at least one story per component variant: default, loading, error, disabled, and empty states.
- Use
argsfor all dynamic props to enable the Controls panel and story composition. - Keep stories next to components:
Button.tsx+Button.stories.tsxin the same directory. - Add play functions for interactive components: buttons, forms, modals, and dropdowns.
- Use decorators for shared context (ThemeProvider, RouterProvider) at the preview level.
- Document design decisions in MDX: when to use each variant, dos and don'ts.
- Run
storybook test-runnerin CI to catch broken interactions before merge.
Information
- Version
- 1.0.0
- Author
- terminal-skills
- Category
- Development
- License
- Apache-2.0