Automated summary
Generates a new Claude Skill with proper folder structure and YAML frontmatter using official documentation as reference.
Strengths
- Automates skill scaffolding following official conventions
- Intelligently validates inputs and suggests relevant resources (scripts, references, assets)
- Detects existing skill names to prevent overwrites
- Suggests enhancements based on skill name and description
Limitations
- Requires a precise description to generate a useful structure
- Only creates the skeleton, not the functional skill logic
- Warnings for unexpected frontmatter properties do not block creation
When you need to quickly bootstrap a new Claude Skill with a consistent structure and built-in best practices.
When editing an existing skill or when you prefer to manually create the structure without assistance.
Security analysis
SafeThe skill is a generator that creates a new Claude Skill structure and template. It does not instruct any destructive, exfiltration, or obfuscated actions. It only guides the AI to produce documentation and directory scaffolds without executing external commands or handling sensitive data.
No concerns found
How this analysis is madeExamples
/create-skill pdf-editor "Edit PDF files: merge, split, rotate, and annotate. Use this skill when you need to manipulate PDF documents programmatically."/create-skill api-client "Query REST APIs and process JSON responses. Use this skill when fetching data from external services." --project/create-skill brand-guidelines "Retrieve company brand assets and style rules. Use this skill to ensure consistency in branding." --personaldescription: Generate a new Claude Skill with proper structure and YAML frontmatter using official documentation as reference argument-hint: [skill-name] [description]
/create-skill
Purpose
Generate a new Claude Skill with proper structure and YAML frontmatter using official documentation as reference
Contract
Inputs:
$1— SKILL_NAME (lowercase, kebab-case, max 64 characters)$2— DESCRIPTION (what the skill does and when to use it, max 1024 characters)--personal— create in ~/.claude/skills/ (default)--project— create in .claude/skills/
Outputs: STATUS=<CREATED|EXISTS|FAIL> PATH=<path>
Instructions
-
Validate inputs:
- Skill name: lowercase letters, numbers, hyphens only (max 64 chars)
- Description: non-empty, max 1024 characters, no angle brackets (< or >)
- Description should include both WHAT the skill does and WHEN to use it
- If user provides additional frontmatter properties, validate against allowed list:
- Allowed: name, description, license, allowed-tools, metadata
- Warning (not error) for unexpected properties like version, author, tags
- Inform user that unexpected properties may cause issues during packaging
-
Determine target directory:
- Personal (default):
~/.claude/skills/{{SKILL_NAME}}/ - Project:
.claude/skills/{{SKILL_NAME}}/
- Personal (default):
-
Check if skill already exists:
- If exists: output
STATUS=EXISTS PATH=<path>and stop
- If exists: output
-
Analyze what bundled resources this skill needs:
Based on the skill name and description, intelligently determine which bundled resources would be valuable:
Create scripts/ directory when:
- Skill involves file manipulation (PDF, images, documents, etc.)
- Skill requires deterministic operations (data processing, conversions)
- Same code would be rewritten repeatedly
- Examples: pdf-editor, image-processor, data-analyzer, file-converter
Create references/ directory when:
- Skill needs reference documentation (API docs, schemas, specifications)
- Detailed information would make SKILL.md too long (>5k words)
- Domain knowledge needs to be documented (company policies, standards)
- Examples: api-client, database-query, brand-guidelines, coding-standards
Create assets/ directory when:
- Skill uses templates or boilerplate code
- Skill needs brand assets (logos, fonts, images)
- Skill creates documents from templates (presentations, reports)
- Examples: frontend-builder, brand-guidelines, document-generator, presentation-maker
Questions to ask user for clarification (only if unclear):
- "Will this skill need to run any scripts repeatedly?" (→ scripts/)
- "Does this skill need reference documentation like API docs or schemas?" (→ references/)
- "Will this skill use templates or assets like logos/fonts/boilerplate?" (→ assets/)
Communicate the decision: After analysis, inform the user which directories will be created and why:
- Example: "Based on the description, I'll create scripts/ for PDF manipulation utilities and references/ for schema documentation."
- Be transparent about the reasoning
- It's better to include a directory with placeholders than to omit one that might be needed
-
Create skill directory structure based on analysis:
Always create:
{{SKILL_NAME}}/ └── SKILL.md (required)Conditionally create based on Step 4 analysis:
├── scripts/ (if determined needed) │ └── example.py (executable placeholder with TODO) ├── references/ (if determined needed) │ └── README.md (documentation placeholder with guidance) └── assets/ (if determined needed) └── README.md (asset placeholder with examples) -
Generate SKILL.md using this template:
--- name: {{SKILL_NAME}} description: {{DESCRIPTION}} # Optional fields (uncomment if needed): # allowed-tools: ["Read", "Write", "Bash"] # Restrict to specific tools # metadata: # category: "development" # version: "1.0.0" # For tracking in your project # license: "MIT" # For shared skills --- # {{Title Case Skill Name}} ## Overview [TODO: 1-2 sentences explaining what this skill does and why it's valuable] ## When to Use [TODO: Specific triggers and scenarios where this skill should be invoked] ## Structuring This Skill Choose an organizational pattern: **Workflow-Based** (sequential) - TDD workflows, git commits, deployments - Structure: Overview → Step 1 → Step 2 → Step 3... **Task-Based** (operations) - File tools, API operations, data transforms - Structure: Overview → Quick Start → Operation A → Operation B... **Reference-Based** (guidelines) - Brand standards, coding rules, checklists - Structure: Overview → Guidelines → Specifications → Examples **Capabilities-Based** (integrated) - Product management, debugging, systems - Structure: Overview → Core Capabilities → Feature 1 → Feature 2... Patterns can be mixed. Delete this section after choosing. [TODO: Delete this "Structuring This Skill" section after choosing your approach] ## Instructions [TODO: Provide clear, step-by-step guidance using imperative/infinitive language] [TODO: Reference any bundled resources (scripts, references, assets) so Claude knows how to use them] Example structure: 1. First major step 2. Second major step 3. Third major step ## Bundled Resources [TODO: Document bundled resources. Delete unused subsections.] **scripts/** - Executable code run directly (not loaded into context) - Example: `scripts/process_data.py` - Processes CSV and generates reports **references/** - Documentation loaded into context when needed - Example: `references/api_docs.md` - API endpoint documentation **assets/** - Files used in output (not loaded into context) - Example: `assets/template.pptx` - Presentation template ## Examples [TODO: Show concrete examples with realistic user requests]User: "Help me [specific task]" Claude: [How the skill responds]
## Progressive Disclosure Keep SKILL.md <5k words. Move detailed info to references/. Three-level loading: 1. Metadata (~100 words) - Always in context 2. SKILL.md - Loaded when triggered 3. Bundled resources - Loaded as needed -
Create bundled resource placeholders (based on Step 4 analysis):
For each directory determined in Step 4, create appropriate placeholder files:
scripts/ → Create
scripts/example.py(executable Python template with TODO comment) references/ → Createreferences/README.md(documentation template explaining purpose) assets/ → Createassets/README.md(asset placeholder explaining common types)Make scripts executable:
chmod +x scripts/*.py -
Follow official guidelines:
- Name: lowercase, numbers, hyphens only (max 64 chars)
- Description: Include triggers and use cases (max 1024 chars)
- Instructions: Clear, step-by-step guidance
- Keep skills focused on single capabilities
- Make descriptions specific with trigger keywords
-
Output:
- Print:
STATUS=CREATED PATH={{full_path}} - Summarize what was created and why (list directories + reasoning)
- Remind user to populate placeholders and complete [TODO] items
- Print:
Constraints
- Skills are model-invoked (Claude decides when to use them)
- Description must be specific enough for Claude to discover when to use it
- One skill = one capability (stay focused)
- Use forward slashes in all file paths
- Valid YAML syntax required in frontmatter
Frontmatter Properties
Required:
name- Lowercase hyphen-case identifier (max 64 chars, matches directory name)description- What it does + when to use it (max 1024 chars, no angle brackets)
Optional:
allowed-tools: ["Read", "Write", "Bash"]- Restrict Claude to specific toolsmetadata: {category: "dev", version: "1.0"}- Custom tracking fieldslicense: "MIT"- License for shared skills
Prohibited (causes warnings):
version,author,tags- Use metadata or description instead
Examples
Simple workflow skill:
/create-skill commit-helper "Generate clear git commit messages from diffs. Use when writing commits or reviewing staged changes."
Claude will determine: No bundled resources needed - just workflow guidance
File manipulation skill:
/create-skill pdf-processor "Extract text and tables from PDF files. Use when working with PDFs, forms, or document extraction."
Claude will determine: Needs scripts/ directory for PDF manipulation utilities
API integration skill:
/create-skill api-client "Make REST API calls and handle responses. Use for API testing and integration work with the company API."
Claude will determine: Needs references/ directory for API documentation and schemas
Image processing skill:
/create-skill image-processor "Resize, rotate, and convert images. Use when editing images or batch processing files."
Claude will determine: Needs scripts/ directory for image manipulation operations
Brand guidelines skill:
/create-skill brand-guidelines "Apply company brand guidelines to designs. Use when creating presentations, documents, or marketing materials."
Claude will determine: Needs references/ for guidelines + assets/ for logos, fonts, templates
Frontend builder skill:
/create-skill frontend-builder "Build responsive web applications with React. Use when creating new frontend projects or components." --project
Claude will determine: Needs scripts/ for build tools + assets/ for boilerplate templates
Database query skill:
/create-skill database-query "Query and analyze database tables. Use when working with SQL, BigQuery, or data analysis tasks." --project
Claude will determine: Needs references/ for schema documentation
How Claude determines what's needed:
- Mentions "PDF", "images", "documents", "convert" → scripts/
- Mentions "API", "database", "guidelines", "standards" → references/
- Mentions "templates", "boilerplate", "brand", "presentations" → assets/
- Simple workflow/process skills → SKILL.md only
Adding optional frontmatter properties:
After creating a skill, you can manually edit SKILL.md to add optional frontmatter properties:
---
name: database-query
description: Query and analyze database tables. Use when working with SQL, BigQuery, or data analysis tasks.
allowed-tools: ["Bash", "Read", "Grep"]
metadata:
category: "data"
version: "1.0.0"
team: "analytics"
license: "MIT"
---
Post-Creation Workflow
1. Edit - Complete [TODO] placeholders, populate bundled resources, add concrete examples
2. Test - Restart Claude Code, test with trigger queries matching description
3. Validate - Check frontmatter properties, description clarity, no sensitive data
4. Iterate - Use on real tasks, update based on struggles/feedback
Optional:
- Package for distribution: Use packaging tools or
/create-plugin - Share with team: Distribute .zip or via plugin marketplace
Example: Well-Structured Skill
Here's an example of a production-quality skill to demonstrate best practices:
artifacts-builder - A skill for creating complex React/TypeScript artifacts with shadcn/ui
artifacts-builder/
├── SKILL.md (focused, ~75 lines)
└── scripts/
├── init-artifact.sh (323 lines - initializes React+Vite+shadcn project)
├── bundle-artifact.sh (54 lines - bundles to single HTML)
└── shadcn-components.tar.gz (pre-packaged shadcn/ui components)
SKILL.md structure:
---
name: artifacts-builder
description: Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
license: Complete terms in LICENSE.txt
---
# Artifacts Builder
To build powerful frontend claude.ai artifacts, follow these steps:
1. Initialize the frontend repo using `scripts/init-artifact.sh`
2. Develop your artifact by editing the generated code
3. Bundle all code into a single HTML file using `scripts/bundle-artifact.sh`
4. Display artifact to user
5. (Optional) Test the artifact
**Stack**: React 18 + TypeScript + Vite + Parcel (bundling) + Tailwind CSS + shadcn/ui
## Design & Style Guidelines
VERY IMPORTANT: To avoid what is often referred to as "AI slop", avoid using excessive centered layouts, purple gradients, uniform rounded corners, and Inter font.
## Quick Start
### Step 1: Initialize Project
Run the initialization script to create a new React project:
```bash
bash scripts/init-artifact.sh <project-name>
cd <project-name>
This creates a fully configured project with:
- ✅ React + TypeScript (via Vite)
- ✅ Tailwind CSS 3.4.1 with shadcn/ui theming system
- ✅ Path aliases (
@/) configured - ✅ 40+ shadcn/ui components pre-installed
- ✅ All Radix UI dependencies included
- ✅ Parcel configured for bundling
- ✅ Node 18+ compatibility
Step 2: Develop Your Artifact
To build the artifact, edit the generated files. See Common Development Tasks below for guidance.
Step 3: Bundle to Single HTML File
To bundle the React app into a single HTML artifact:
bash scripts/bundle-artifact.sh
This creates bundle.html - a self-contained artifact with all JavaScript, CSS, and dependencies inlined.
Step 4: Share Artifact with User
Finally, share the bundled HTML file in conversation with the user so they can view it as an artifact.
Step 5: Testing/Visualizing the Artifact (Optional)
Note: This is a completely optional step. Only perform if necessary or requested.
Reference
- shadcn/ui components: https://ui.shadcn.com/docs/components
**What makes this skill excellent:**
1. **Clear, specific description** - States exactly what it does (React artifacts with shadcn/ui) and when NOT to use it (simple HTML)
2. **Task-Based organizational pattern** - Uses numbered steps (Quick Start → Step 1, 2, 3...) for clear workflow
3. **Practical scripts/** - Contains executable utilities that prevent rewriting the same setup code:
- `init-artifact.sh` - Automates 20+ setup steps (Vite, Tailwind, shadcn/ui, dependencies)
- `bundle-artifact.sh` - Bundles multi-file React app into single HTML
- `shadcn-components.tar.gz` - Pre-packaged components (saves installation time)
4. **Focused SKILL.md** - Only ~75 lines, moves implementation details to scripts
5. **Domain-specific guidance** - Includes "Design & Style Guidelines" section with specific advice
6. **Optional license field** - Uses `license: Complete terms in LICENSE.txt` since Apache 2.0 is verbose
7. **Progressive disclosure** - Metadata (~50 words), SKILL.md core workflow (<2k words), scripts executed without loading
8. **Explicit references** - Points to external docs (shadcn/ui) rather than duplicating them
**Claude Code would create scripts/ automatically for this skill because:**
- Description mentions "tools", "React", "Tailwind CSS", "shadcn/ui" (technical setup)
- Name "builder" implies construction/automation
- Description emphasizes "elaborate, multi-component" (complexity requiring tooling)
## Reference
Based on official Claude Code Agent Skills documentation:
- Personal skills: `~/.claude/skills/`
- Project skills: `.claude/skills/`
- Changes take effect on next Claude Code restart
- Test by asking questions matching the description triggers
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/claude-skill-generator-mm5t8aib/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/claude-skill-generator-mm5t8aib' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/claude-skill-generator-mm5t8aib/download' --output '.skill-downloads/claude-skill-generator-mm5t8aib/SKILL.md.part' && mv '.skill-downloads/claude-skill-generator-mm5t8aib/SKILL.md.part' '.skill-downloads/claude-skill-generator-mm5t8aib/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.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
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/claude-skill-generator-mm5t8aib/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.