Automated summary
Guides users through creating new Claude Code skills from a template using an interactive wizard.
Strengths
- Provides step-by-step guidance for skill creation
- Automatically populates metadata and installs the skill
- Supports multiple skill type templates with reference examples
- Validates skill name and checks for duplicates
Limitations
- Only works for creating skills within the Claude Code skills directory structure
- Requires existing skill templates and scripts in the repository
- Does not generate actual skill logic beyond the template skeleton
Use when you need to quickly scaffold a new Claude Code skill with proper structure and metadata.
Do not use for skills outside the Claude Code ecosystem or when you need to create a skill with complex custom logic not covered by templates.
Security analysis
SafeThe skill is a development wizard that uses local shell commands (ls, cp, scripts) within a controlled skills repository. No destructive, exfiltrating, or obfuscated actions are present. It only copies templates, runs metadata checks, and installs skills locally.
No concerns found
How this analysis is madeExamples
/create-skill/create-skill cloudflare-analyticsCreate Skill
Interactive wizard for creating new Claude Code skills from templates.
Command Usage
/create-skill [skill-name]
- With name:
/create-skill cloudflare-analytics - Without name:
/create-skill(interactive mode)
Your Task
Guide the user through creating a new skill with proper structure, then install it for testing.
Step 1: Gather Information
If skill name not provided as argument, show the interactive prompt:
═══════════════════════════════════════════════
CREATE NEW SKILL
═══════════════════════════════════════════════
I'll help you create a new skill from the template.
What's the skill name?
(lowercase-hyphen-case, e.g., "tanstack-router" or "cloudflare-queues")
Your answer:
Name validation:
- Lowercase letters, digits, and hyphens only
- Must start with a letter
- Max 40 characters
- No underscores or spaces
If invalid:
⚠️ Skill name should be lowercase-hyphen-case.
Examples:
✅ tanstack-query
✅ cloudflare-r2
✅ react-hook-form
❌ TanstackQuery (no capitals)
❌ tanstack_query (no underscores)
❌ tanstack query (no spaces)
Try again:
Step 2: Check if Exists
ls skills/<skill-name>/ 2>/dev/null
If exists:
❌ Skill "<skill-name>" already exists at skills/<skill-name>/
Options:
1. Choose a different name
2. Delete existing and start fresh
3. Edit the existing skill instead
Your choice (1-3):
Step 3: Ask Skill Type
What type of skill is this?
1. Cloudflare - Workers, D1, R2, KV, AI, etc.
2. AI/ML - OpenAI, Anthropic, Gemini, AI SDK
3. Frontend - React, UI libraries, styling
4. Auth - Authentication providers
5. Database - ORMs, data stores
6. Tooling - CLI tools, build systems, MCPs
7. Generic - Standard template (no customization)
Your choice [1-7]:
Step 4: Create Skill Directory
# Copy template
cp -r /home/wsladmin/dev/claude-skills/templates/skill-skeleton/ /home/wsladmin/dev/claude-skills/skills/<skill-name>/
# Verify creation
ls -la /home/wsladmin/dev/claude-skills/skills/<skill-name>/
Step 5: Auto-populate Fields
In SKILL.md, replace:
name:→ the skill name providedLast Updated→ today's date (YYYY-MM-DD)Verifieddate → today's dateStatus→ Beta
In README.md, replace:
- Title → skill name as Title Case
Last Updated→ today's dateStatus→ Beta
Step 6: Apply Type-Specific Guidance
Based on skill type choice, mention the reference example:
| Type | Reference Skill | Key Reminder |
|------|-----------------|--------------|
| Cloudflare | skills/cloudflare-d1/ | Check cloudflare-docs MCP, prerequisite: cloudflare-worker-base |
| AI/ML | skills/ai-sdk-core/ | Verify model names are current, add rate limiting |
| Frontend | skills/tailwind-v4-shadcn/ | Component patterns, TypeScript types |
| Auth | skills/clerk-auth/ | Security considerations, token handling |
| Database | skills/drizzle-orm-d1/ | Schema patterns, migration workflow |
| Tooling | skills/fastmcp/ | CLI usage patterns, integration examples |
| Generic | templates/skill-skeleton/ | Standard template |
Step 7: Run Metadata Check
./scripts/check-metadata.sh <skill-name>
Report any issues found.
Step 8: Install the Skill
./scripts/install-skill.sh <skill-name>
Output: Show Summary
After successful creation, display:
═══════════════════════════════════════════════
✅ SKILL CREATED: <skill-name>
═══════════════════════════════════════════════
Type: [Selected type]
Reference: skills/[reference-skill]/
Created files:
skills/<skill-name>/
├── SKILL.md ← Main documentation (fill TODOs)
├── README.md ← Auto-trigger keywords
├── scripts/ ← Helper scripts (optional)
├── references/ ← Reference docs (optional)
└── assets/ ← Templates/images (optional)
Installed to: ~/.claude/skills/<skill-name>/
═══════════════════════════════════════════════
NEXT STEPS
═══════════════════════════════════════════════
1. Fill in SKILL.md TODOs:
• Description with "Use when" scenarios (250-350 chars)
• Quick Start guide
• Critical rules (Always Do / Never Do)
• Known issues with sources (GitHub links)
• Package versions with verification date
2. Fill in README.md TODOs:
• Auto-trigger keywords (primary, secondary, error-based)
• Token efficiency metrics
• When to use / don't use
3. Add resources (optional):
• scripts/ - Automation scripts
• references/ - Docs Claude can load
• assets/ - Templates, images
4. Test discovery:
Ask Claude Code: "Help me with <skill topic>"
Claude should discover and offer to use the skill.
5. Verify with checklist:
See ONE_PAGE_CHECKLIST.md
6. Commit when ready:
git add skills/<skill-name>
git commit -m "Add <skill-name> skill"
═══════════════════════════════════════════════
Would you like me to open SKILL.md to start filling in the TODOs?
Error Handling
If template directory missing:
❌ Template not found at templates/skill-skeleton/
This repo may not be set up correctly.
Run: ls templates/
If install script fails:
⚠️ Skill created but install failed.
Manual install:
ln -s $(pwd)/skills/<skill-name> ~/.claude/skills/<skill-name>
Or fix the issue and run:
./scripts/install-skill.sh <skill-name>
If metadata check fails:
⚠️ Metadata issues found - fix before committing.
Common issues:
• Missing name: field
• Description too short/long
• Invalid YAML frontmatter
Example Session
User: /create-skill
Claude:
═══════════════════════════════════════════════
CREATE NEW SKILL
═══════════════════════════════════════════════
What's the skill name?
(lowercase-hyphen-case, e.g., "tanstack-router")
User: tanstack-router
Claude:
What type of skill is this?
1. Cloudflare 2. AI/ML 3. Frontend 4. Auth 5. Database 6. Tooling 7. Generic
User: 3
Claude: Creating skill "tanstack-router"...
[Creates directory, pre-fills files, installs]
═══════════════════════════════════════════════
✅ SKILL CREATED: tanstack-router
═══════════════════════════════════════════════
Type: Frontend
Reference: skills/tailwind-v4-shadcn/
[Shows file structure and next steps]
Would you like me to open SKILL.md to start filling in the TODOs?
Important Notes
- Skills are symlinked to
~/.claude/skills/for Claude Code to discover - Fill ALL [TODO] markers in SKILL.md before committing
- Description: 250-350 characters with "Use when:" scenarios
- Include keywords IN the description text
- ONLY valid frontmatter fields:
name,description,allowed-tools - Do NOT use
license:ormetadata:in frontmatter - Test with
check-metadata.shbefore committing
Quick Reference
| Item | Location |
|------|----------|
| Template | templates/skill-skeleton/ |
| Skills | skills/ |
| Install script | scripts/install-skill.sh |
| Metadata check | scripts/check-metadata.sh |
| Checklist | ONE_PAGE_CHECKLIST.md |
| Standards | planning/claude-code-skill-standards.md |
Version: 1.1.0 Last Updated: 2025-12-04
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/create-skill-mm5t8aj8/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/create-skill-mm5t8aj8' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/create-skill-mm5t8aj8/download' --output '.skill-downloads/create-skill-mm5t8aj8/SKILL.md.part' && mv '.skill-downloads/create-skill-mm5t8aj8/SKILL.md.part' '.skill-downloads/create-skill-mm5t8aj8/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
Original excerpt: Quick Reference
| Item | Location |
|---|---|
| Template | templates/skill-skeleton/ |
| Skills | skills/ |
| Install script | scripts/install-skill.sh |
| Metadata check | scripts/check-metadata.sh |
| Checklist | ONE_PAGE_CHECKLIST.md |
| Standards | planning/claude-code-skill-standards.md |
Version: 1.1.0 Last Updated: 2025-12-04
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.
Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/create-skill-mm5t8aj8/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.