From claudient
Generates CSF3 Storybook stories for a React component, covering all variants, states (loading, error, disabled), controlled behavior, and edge cases. Produces a .stories.tsx file adjacent to the component with shared meta args and per-story overrides.
How this command is triggered — by the user, by Claude, or both
Slash command
/claudient:storybook-gen [ComponentFile.tsx]frontend/es/Files this command reads when invoked
The summary Claude sees in its command listing — used to decide when to auto-load this command
Generar historias de Storybook para: $ARGUMENTS Lee el archivo del componente antes de escribir nada. Extrae la interfaz de props, variantes y estado del código fuente. **Paso 1 — Analizar el componente** Identifica: - Todos los props y sus tipos (banderas booleanas, uniones de literales string, opcionales vs requeridos) - Comportamiento controlado vs no controlado (¿acepta `value`/`onChange`?) - Estados de carga, error, vacío y deshabilitado si existen - Cualquier subcomponente compuesto que necesite demostrarse junto a otros **Paso 2 — Determinar la cobertura de historias** Genera hist...
Generar historias de Storybook para: $ARGUMENTS
Lee el archivo del componente antes de escribir nada. Extrae la interfaz de props, variantes y estado del código fuente.
Paso 1 — Analizar el componente Identifica:
value/onChange?)Paso 2 — Determinar la cobertura de historias Genera historias para:
Default — props mínimos requeridos, sin extras opcionalesisDisabled, isLoading, isError)variant: "primary" | "secondary" | "danger")AllVariants — una única historia que renderiza todas las variantes lado a lado usando una función render con un contenedor flex/grid, útil para regresión visualvalue/onChange — usa useState dentro de la función renderNo generes historias para detalles de implementación interna ni props que solo afecten la ergonomía del desarrollador.
Paso 3 — Escribir el archivo de historia Reglas de formato:
export default { ... } objeto meta + exportaciones de historias nombradas)satisfies Meta<typeof Component> para el tipo metasatisfies StoryObj<typeof Component> para cada historiaargs en el nivel meta para valores por defecto compartidos; anula por historia solo lo que cambiaargTypes para documentar props de unión con control: { type: 'select' }padding si el componente visualmente lo requiere — no envuelvas en proveedores innecesarios a menos que el componente explícitamente necesite contextoPaso 4 — Pruebas de interacción (si @storybook/test está disponible)
Para la historia Default, agrega una función play que:
expect()Archivo de salida: coloca el archivo de historia adyacente al componente (ComponentName.stories.tsx). No crees un directorio separado __stories__ a menos que ya exista uno.
npx claudepluginhub claudient/claudient --plugin claudient-personas