| name | check |
| description | Verify all outputs exist after creating a new component and fix any issues |
| argument-hint | ["component-name"] |
Check Component Skill
Verify that all 8 required outputs exist and are wired correctly after creating a new component.
Instructions
Given a component name (e.g., cyclone, MapCyclone), normalize it to its kebab-case slug (e.g., cyclone) and run through every check below.
Check 1: Component Source File
- File exists:
src/registry/map/{slug}.tsx
- Has
"use client" directive (if it uses hooks, event handlers, or browser APIs)
- Exports a named component (e.g.,
MapCyclone)
- Uses
type not interface for type definitions
- Uses arrow functions with explicit returns
- Default values use
SCREAMING_SNAKE_CASE constants above the component
- Required props come before optional props in the type definition
- Cleanup in useEffect return functions (removes layers, sources, markers, event listeners)
Check 2: Barrel Export
src/registry/map/index.tsx has an export line for the component
- If the component exposes a control hook, it is also exported (e.g.,
useCycloneControl)
Check 3: Registry Entry
registry.json has an entry in items with: