/fumadocs-registry-integration
Register 8-bit components in registry.json for shadcn/ui add command. Apply when adding new components to the component library distribution.
$ npx -y skills add theorcdev/8bitcn-ui --skill fumadocs-registry-integration --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/fumadocs-registry-integration
Context preview
The summary Claude sees to decide when to auto-load this skill.
Register 8-bit components in registry.json for shadcn/ui add command. Apply when adding new components to the component library distribution.
SKILL.md
fumadocs-registry-integration.SKILL.mdname: fumadocs-registry-integration
description: Register 8-bit components in registry.json for shadcn/ui add command. Apply when adding new components to the component library distribution.
Registry Integration
Register 8-bit components in `registry.json` for discovery via `shadcn add @8bitcn/[component-name]`.
Component Entry Pattern
{
"name": "button",
"type": "registry:component",
"title": "8-bit Button",
"description": "A simple 8-bit button component",
"registryDependencies": ["button"],
"files": [
{
"path": "components/ui/8bit/button.tsx",
"type": "registry:component",
"target": "components/ui/8bit/button.tsx"
},
{
"path": "components/ui/8bit/styles/retro.css",
"type": "registry:component",
"target": "components/ui/8bit/styles/retro.css"
}
]
}Block Entry Pattern
For pre-built layouts like game UIs:
{
"name": "quest-log",
"type": "registry:block",
"title": "8-bit Quest Log",
"description": "An 8-bit quest and mission tracking system.",
"registryDependencies": ["card", "accordion"],
"categories": ["gaming"],
"files": [
{
"path": "components/ui/8bit/quest-log.tsx",
"type": "registry:block",
"target": "components/ui/8bit/quest-log.tsx"
},
{
"path": "components/ui/8bit/styles/retro.css",
"type": "registry:component",
"target": "components/ui/8bit/styles/retro.css"
}
]
}Required retro.css
Always include `retro.css` in files array:
"files": [
{
"path": "components/ui/8bit/new-component.tsx",
"type": "registry:component",
"target": "components/ui/8bit/new-component.tsx"
},
{
"path": "components/ui/8bit/styles/retro.css",
"type": "registry:component",
"target": "components/ui/8bit/styles/retro.css"
}
]Categories
Use gaming-specific categories for game components:
"categories": ["gaming"]
Available categories: `gaming`, `layout`, `form`, `data-display`, `feedback`, `navigation`, `overlay`.
Registry Dependencies
List base shadcn dependencies (not 8-bit versions):
"registryDependencies": ["button", "dialog", "progress"]
For blocks with multiple components:
"registryDependencies": ["card", "button", "progress", "tabs"]
Type Selection
**registry:component** - Single reusable component:
{
"type": "registry:component",
"files": [...]
}**registry:block** - Pre-built layout or feature:
{
"type": "registry:block",
"categories": ["gaming"],
"files": [...]
}Complete Example
{
"name": "health-bar",
"type": "registry:component",
"title": "8-bit Health Bar",
"description": "An 8-bit health bar component for game UI.",
"registryDependencies": ["progress"],
"files": [
{
"path": "components/ui/8bit/health-bar.tsx",
"type": "registry:component",
"target": "components/ui/8bit/health-bar.tsx"
},
{
"path": "components/ui/8bit/progress.tsx",
"type": "registry:component",
"target": "components/ui/8bit/progress.tsx"
},
{
"path": "components/ui/8bit/styles/retro.css",
"type": "registry:component",
"target": "components/ui/8bit/styles/retro.css"
}
]
}Key Principles
1. **Type** - Use `registry:component` for single, `registry:block` for layouts 2. **retro.css required** - Always include in files array 3. **Target path** - Same path for source and target 4. **Categories** - Use `gaming` for retro-themed blocks 5. **Dependencies** - List base shadcn/ui components (not 8-bit) 6. **Description** - Clear, concise for CLI output 7. **Files order** - Component first, retro.css last
Adding a New Component
1. Create component in `components/ui/8bit/component.tsx` 2. Create documentation in `content/docs/components/component.mdx` 3. Add entry to `registry.json`:
- Copy existing component as template
- Update name, title, description
- Set correct registryDependencies
- Include retro.css in files
4. Test: `pnpm dlx shadcn@latest add @8bitcn/component`
Reference
- `registry.json` - Full component registry
- `content/docs/components/*.mdx` - Component documentation
Read more
name: fumadocs-registry-integration description: Register 8-bit components in registry.json for shadcn/ui add command. Apply when adding new components to the component library distribution.
Registry Integration
Register 8-bit components in `registry.json` for discovery via `shadcn add @8bitcn/[component-name]`.
Component Entry Pattern
{
"name": "button",
"type": "registry:component",
"title": "8-bit Button",
"description": "A simple 8-bit button component",
"registryDependencies": ["button"],
"files": [
{
"path": "components/ui/8bit/button.tsx",
"type": "registry:component",
"target": "components/ui/8bit/button.tsx"
},
{
"path": "components/ui/8bit/styles/retro.css",
"type": "registry:component",
"target": "components/ui/8bit/styles/retro.css"
}
]
}Block Entry Pattern
For pre-built layouts like game UIs:
{
"name": "quest-log",
"type": "registry:block",
"title": "8-bit Quest Log",
"description": "An 8-bit quest and mission tracking system.",
"registryDependencies": ["card", "accordion"],
"categories": ["gaming"],
"files": [
{
"path": "components/ui/8bit/quest-log.tsx",
"type": "registry:block",
"target": "components/ui/8bit/quest-log.tsx"
},
{
"path": "components/ui/8bit/styles/retro.css",
"type": "registry:component",
"target": "components/ui/8bit/styles/retro.css"
}
]
}Required retro.css
Always include `retro.css` in files array:
"files": [
{
"path": "components/ui/8bit/new-component.tsx",
"type": "registry:component",
"target": "components/ui/8bit/new-component.tsx"
},
{
"path": "components/ui/8bit/styles/retro.css",
"type": "registry:component",
"target": "components/ui/8bit/styles/retro.css"
}
]Categories
Use gaming-specific categories for game components:
"categories": ["gaming"]
Available categories: `gaming`, `layout`, `form`, `data-display`, `feedback`, `navigation`, `overlay`.
Registry Dependencies
List base shadcn dependencies (not 8-bit versions):
"registryDependencies": ["button", "dialog", "progress"]
For blocks with multiple components:
"registryDependencies": ["card", "button", "progress", "tabs"]
Type Selection
**registry:component** - Single reusable component:
{
"type": "registry:component",
"files": [...]
}**registry:block** - Pre-built layout or feature:
{
"type": "registry:block",
"categories": ["gaming"],
"files": [...]
}Complete Example
{
"name": "health-bar",
"type": "registry:component",
"title": "8-bit Health Bar",
"description": "An 8-bit health bar component for game UI.",
"registryDependencies": ["progress"],
"files": [
{
"path": "components/ui/8bit/health-bar.tsx",
"type": "registry:component",
"target": "components/ui/8bit/health-bar.tsx"
},
{
"path": "components/ui/8bit/progress.tsx",
"type": "registry:component",
"target": "components/ui/8bit/progress.tsx"
},
{
"path": "components/ui/8bit/styles/retro.css",
"type": "registry:component",
"target": "components/ui/8bit/styles/retro.css"
}
]
}Key Principles
1. **Type** - Use `registry:component` for single, `registry:block` for layouts 2. **retro.css required** - Always include in files array 3. **Target path** - Same path for source and target 4. **Categories** - Use `gaming` for retro-themed blocks 5. **Dependencies** - List base shadcn/ui components (not 8-bit) 6. **Description** - Clear, concise for CLI output 7. **Files order** - Component first, retro.css last
Adding a New Component
1. Create component in `components/ui/8bit/component.tsx` 2. Create documentation in `content/docs/components/component.mdx` 3. Add entry to `registry.json`:
- Copy existing component as template
- Update name, title, description
- Set correct registryDependencies
- Include retro.css in files
4. Test: `pnpm dlx shadcn@latest add @8bitcn/component`
Reference
- `registry.json` - Full component registry
- `content/docs/components/*.mdx` - Component documentation
Accessible retro components that you can copy and paste into your apps.Free. Open Source. Built on shadcn/ui. Documentation · Components · Blocks · Themes · Discord
Repo: theorcdev/8bitcn-ui
Other skills on 8bitcn-ui.
- /8-bit-pixel-art-patterns
Create pixelated borders, shadows, and effects for 8-bit retro components. Apply when building 8-bit styled UI components that need authentic pixel art aesthetics.
Open skill - /8bit-docs-patterns
Create documentation with gaming-specific examples, retro styling, and 8-bit terminology. Apply when documenting gaming blocks, RPG components, or retro-styled UI elements.
Open skill - /animation-performance-retro
Optimize 8-bit animations for smooth performance. Apply when creating animated pixel art, game UI effects, or any retro-styled animations.
Open skill - /bundle-barrel-imports
Import directly from source files instead of barrel files. Apply when using libraries like lucide-react, @mui/material, or @radix-ui/react-* to reduce bundle size and improve dev boot time.
Open skill - /bundle-dynamic-imports
Use next/dynamic for lazy-loading heavy components. Apply when importing large components like editors, charts, or rich text editors that aren't needed on initial render.
Open skill - /component-wrapper-architecture
Best practices for wrapping shadcn/ui components. Apply when creating 8-bit styled variants of existing shadcn/ui components.
Open skill

