Creating new Claude Code skills for StickerNest. Use when the user asks to create a skill, build a skill, add a new skill, make a Claude skill, or extend Claude's capabilities for this project...
This meta-skill guides you through creating new Claude Code skills that are specific to StickerNest development patterns.
Skills are model-invoked - Claude automatically uses them when relevant. This means:
Ask the user:
1. What task or workflow should this skill handle?
Example: "Managing canvas history and undo/redo"
2. When should Claude use this skill? (Be specific about trigger phrases)
Example: "When user asks to add undo, implement history, track changes"
3. What existing code/patterns should this skill reference?
Example: "src/canvas/history/CommandStack.ts"
4. Should this be project-specific (.claude/skills/) or personal (~/.claude/skills/)?
Naming Convention: Use gerund form (verb + -ing)
managing-canvas-history (not canvas-history-manager)generating-ai-widgets (not ai-widget-generator)debugging-pipelines (not pipeline-debugger)Description Formula:
[What it does]. Use when [trigger phrases]. Covers [key topics].
Example:
Managing canvas history and undo/redo operations. Use when the user asks
to add undo functionality, implement history tracking, revert changes,
or manage canvas state over time. Covers CommandStack, HistoryEntry types,
and integration with useCanvasStore.
---
name: {gerund-name}
description: {trigger-focused description under 1024 chars}
---
# {Title}
Brief overview of what this skill enables.
## Core Concepts
Key terminology and mental models.
## Step-by-Step Guide
Actionable instructions with code examples.
## Common Patterns
Reusable patterns from StickerNest codebase.
## Reference Files
Links to relevant source files.
## Troubleshooting
Common issues and solutions.
Checklist:
When creating skills, consider these domains:
| Domain | Example Skills |
|---|---|
| Widgets | creating-widgets, connecting-widget-pipelines, testing-widgets |
| UI/UX | creating-components, styling-with-tokens, building-panels |
| State | creating-zustand-stores, managing-canvas-state |
| Runtime | debugging-pipelines, managing-widget-lifecycle |
| Testing | testing-widgets, writing-e2e-tests |
| AI | generating-ai-widgets, configuring-ai-providers |
| Canvas | managing-canvas-history, handling-canvas-gestures |
To create a new skill, use this template:
# Create skill directory
mkdir -p .claude/skills/{skill-name}
# Create SKILL.md
cat > .claude/skills/{skill-name}/SKILL.md << 'TEMPLATE'
---
name: {skill-name}
description: {Brief what + when triggers + topics covered}
---
# {Skill Title}
{One paragraph overview}
## When to Use This Skill
This skill helps when you need to:
- {Use case 1}
- {Use case 2}
- {Use case 3}
## Core Concepts
### {Concept 1}
{Explanation}
### {Concept 2}
{Explanation}
## Step-by-Step Guide
### Step 1: {First Step}
{Instructions with code}
### Step 2: {Second Step}
{Instructions with code}
## Code Examples
### Example: {Example Name}
```typescript
// Complete, runnable example
{Description and code}
{file-path}{file-path}Cause: {Why it happens} Fix: {How to resolve} TEMPLATE
---
## Advanced: Supporting Files
For complex skills, add supporting files:
.claude/skills/my-skill/ āāā SKILL.md # Main instructions (required) āāā examples.md # Extended examples āāā reference.md # Detailed reference docs āāā templates/ ā āāā template.ts # Code templates āāā scripts/ āāā helper.js # Utility scripts
Reference them in SKILL.md:
```markdown
See [examples.md](./examples.md) for more examples.
When creating a skill about existing functionality:
Find the relevant files:
# Search for related code
grep -r "keyword" src/ --include="*.ts"
Identify patterns:
Extract examples:
Document the "why":
After creating a skill:
Test discovery: Ask Claude something that should trigger it
"How do I {task the skill covers}?"
Test instructions: Follow the skill's guidance yourself
Test edge cases: Try variations
"I want to {slightly different phrasing}"
Let's say we want to create a skill for managing canvas history:
src/canvas/history/, useCanvasStorename: managing-canvas-history
description: Managing canvas history and undo/redo operations. Use when the user asks to add undo functionality, implement history tracking, revert changes, or manage canvas state over time. Covers CommandStack, HistoryEntry, and useCanvasStore integration.
managing-canvas-historyReference these for patterns:
| Skill | Location |
|---|---|
creating-widgets |
.claude/skills/creating-widgets/ |
connecting-widget-pipelines |
.claude/skills/connecting-widget-pipelines/ |
testing-widgets |
.claude/skills/testing-widgets/ |
creating-components |
.claude/skills/creating-components/ |
creating-zustand-stores |
.claude/skills/creating-zustand-stores/ |