create-storybook
Applies only to work in the quantum-box/tachyon-apps repository.
Skill by quantum-box
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/quantum-box-create-storybook
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, frontend, testing, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/create-storybook
What's inside
- Skill name
create-storybook- Description
- Applies only to work in the quantum-box/tachyon-apps repository. Create Storybook stories when the user asks, a new component needs stable visual or interaction coverage, or the requested UI change explicitly requires story coverage. Do not trigger for every UI edit or before every commit.
- License
- MIT
- Instructions
- 274 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Create Storybook
Create stories for React components following project conventions.
## REQUIRED: Tags and Interaction Tests
Every story MUST have:
1. **Tags** - For filtering and categorization
2. **Interaction tests (play function)** - For interactive components
### Interaction Tests Must Test BEHAVIOR, Not Just Display
**NG**: Only checking if element is displayed
```tsx
// BAD: Just checking display
play: async ({ canvasElement }) => {
const canvas = within(canvasElement)
expect(canvas.getByRole('button')).toBeInTheDocument() // Not enough!
}
```
**OK**: Testing actual user behavior and results
```tsx
// GOOD: Testing form submission flow
play: async ({ canvasElement }) => {
const canvas = within(canvasElement)
// 1. Fill form fields
await userEvent.type(canvas.getByLabelText(/name/i), 'Test')
// 2. Submit form
await userEvent.click(canvas.getByRole('button', { name: /submit/i }))
// 3. Verify result (success message, redirect, state change)
await waitFor(() => {
expect(canvas.getByText(/saved/i)).toBeInTheDocument()
})
}
```
### What to Test
- **Forms**: Input → Submit → Success/Error states
- **Buttons**: Click → Action result (dialog opens, data updates)
- **Tabs/Views**: Click → Content switches correctly
- **Dialogs**: Open → Interact → Close
- **Validation**: Invalid input → Error message displayed
## Workflow
After creating/updating a story:
```bash
# 1. Start Storybook (background or separate terminal)
pnpm exec turbo run storybook --filter=<app>
# 2. Wait for Storybook to be ready (port 6006)
# 3. Run tests
pnpm exec turbo run test-storybook --filter=<app>
# 4. Run specific tags only
pnpm exec turbo run test-storybook --filter=<app> -- --includeTags=<tag>
```
## File Naming
```
component-name.stories.tsx # kebab-case, same directory as component
```
## Basic Template (with REQUIRED tags)
```tsx
import type { Meta, StoryObj } from '@storybook/react'
import { expect, userEvent, waitFor, within } from '@storybook/test'
import { ComponentName } from './component-name'
const meta = {
title: 'Category/ComponentName',
component: ComponentName,
parameters: {
layout: 'centered', // or 'fullscreen'
},
tags: ['autodocs', 'feature-name'], // REQUIRED: always add tags
} satisfies Meta<typeof ComponentName>
export default meta
type Story = StoryObj<typeof ComponentName>
export const Default: Story = {
args: {
// component props
},
}
// REQUIRED for interactive components: add play function
export const WithInteraction: Story = {
args: { /* ... */ },
play: async ({ canvasElement }) => {
const canvas = within(canvasElement)
// Wait for render
await waitFor(() => {
expect(canvas.getByRole('button')).toBeInTheDocument()
})
// User action
await userEvent.click(canvas.getByRole('button', { name: /submit/i }))
// Verify result
await waitFor(() => {
expect(canvas.getByText('Success')).toBeInTheDocument()
}, { timeout: 5000 })
},
}
```
## Title ConventionsFrom quantum-box/tachyon-skills, MIT.
More from quantum-box/tachyon-skills
- 0.565score
adr-check
quantum-box
Applies only to work in the quantum-box/tachyon-apps repository.
SkillAFreshness: AClaude Code +9 - 0.565score
agent-api-langfuse-smoke
quantum-box
Applies only to work in the quantum-box/tachyon-apps repository.
SkillAFreshness: AClaude Code +9 - 0.565score
check-ci
quantum-box
Applies only to work in the quantum-box/tachyon-apps repository.
SkillAFreshness: AClaude Code +9 - 0.565score
create-linear-issue
quantum-box
Applies only to work in the quantum-box/tachyon-apps repository.
SkillAFreshness: AClaude Code +9 - 0.565score
create-migration
quantum-box
Applies only to work in the quantum-box/tachyon-apps repository.
SkillAFreshness: AClaude Code +9 - 0.565score
design-doc
quantum-box
Applies only to work in the quantum-box/tachyon-apps repository.
SkillAFreshness: AClaude Code +9 - 0.565score
final-quality-gate
quantum-box
Applies only to work in the quantum-box/tachyon-apps repository.
SkillAFreshness: AClaude Code +9 - 0.565score
find-pattern
quantum-box
Applies only to work in the quantum-box/tachyon-apps repository.
SkillAFreshness: AClaude Code +9 - 0.565score
implement-component
quantum-box
Applies only to work in the quantum-box/tachyon-apps repository.
SkillAFreshness: AClaude Code +9 - 0.565score
ai-review-fix
quantum-box
Applies only to work in the quantum-box/tachyon-apps repository.
SkillAFreshness: AClaude Code +9 - 0.565score
browser-test
quantum-box
Applies only to work in the quantum-box/tachyon-apps repository.
SkillAFreshness: AClaude Code +9 - 0.561score
e2e-testing
quantum-box
Applies only to work in the quantum-box/tachyon-apps repository.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 29, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/quantum-box/tachyon-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from quantum-box
- 0.565score
agent-api-langfuse-smoke
quantum-box
Applies only to work in the quantum-box/tachyon-apps repository.
SkillAFreshness: AClaude Code +9 - 0.565score
adr-check
quantum-box
Applies only to work in the quantum-box/tachyon-apps repository.
SkillAFreshness: AClaude Code +9 - 0.565score
create-linear-issue
quantum-box
Applies only to work in the quantum-box/tachyon-apps repository.
SkillAFreshness: AClaude Code +9 - 0.565score
create-migration
quantum-box
Applies only to work in the quantum-box/tachyon-apps repository.
SkillAFreshness: AClaude Code +9 - 0.565score
check-ci
quantum-box
Applies only to work in the quantum-box/tachyon-apps repository.
SkillAFreshness: AClaude Code +9 - 0.565score
design-doc
quantum-box
Applies only to work in the quantum-box/tachyon-apps repository.
SkillAFreshness: AClaude Code +9
Cite this page
create-storybook skill. Agent Mart. https://agentmart.dev/skills/quantum-box-create-storybook (last updated 2026-10-24)