Automated skill builder for Claude Code - Describe a skill you need, and Claude Code generates it following best practices automatically.
Skilz is a guidelines repository that teaches Claude Code how to write high-quality skills. It contains:
- skill-builder skill - A meta-skill that Claude loads to learn how to write skills
- Comprehensive evaluations - 12 test cases to validate skill quality
- Comprehensive templates - 8 ready-to-use skill patterns
- Complete examples - Production-quality skill examples demonstrating best practices
- Validation tools - Automated checking of skill requirements
- Full documentation - Everything you need to understand skills
Note: This repository contains only the guidelines and tools for building skills. It does not contain specific skill implementations. The skills you create using this repository should be tracked in their own repositories or in your project's .claude/skills/ directory.
# Clone the guidelines repository
git clone <your-repo-url> skilz
cd skilz
npm installImportant: This repo contains guidelines only. Your skills go elsewhere:
- Project skills:
your-project/.claude/skills/ - Personal skills:
~/.claude/skills/ - Team skills:
team-skills/.claude/skills/
See SETUP.md for complete setup guide.
Navigate to your project (NOT the skilz repo):
cd ~/projects/my-app # Your actual projectAsk Claude to create a skill:
You: Create a skill for analyzing SQL query performance
Claude: I'll create a skill for SQL query performance analysis...
[Creates: my-app/.claude/skills/sql-analyzer/SKILL.md] β
Claude Code automatically:
- Loads skill-builder guidelines from skilz repo
- Structures YAML frontmatter correctly
- Writes effective descriptions with triggers
- Applies appropriate patterns (analysis, workflow, etc.)
- Uses progressive disclosure when needed
- Follows all best practices
Result: Skill is created in YOUR project, not in skilz β
# From your project directory
node ~/projects/skilz/tools/validate-skill.js .claude/skills/sql-analyzer
# Or use npm script from skilz repo
cd ~/projects/skilz
npm run validate ~/projects/my-app/.claude/skills/sql-analyzerOutput:
β name field valid: sql-analyzer
β description field valid (245 chars)
β SKILL.md length: 287 lines
β No Windows-style paths found
β All validations passed!
Your skill is now ready! When you're in your project directory, Claude Code automatically uses it when relevant.
- SETUP.md - Complete setup and organization guide
- DIRECTORY-STRUCTURE.md - Where to put skills
- CONTRIBUTING.md - How to contribute to guidelines
The core of this repository is .claude/skills/skill-builder/SKILL.md - a skill that teaches Claude how to write skills.
When you ask Claude Code to create a skill, it:
- Loads skill-builder - The meta-skill activates automatically
- Applies best practices - Follows conciseness, progressive disclosure, workflows
- Chooses right pattern - Selects appropriate template (analysis, workflow, etc.)
- Generates valid structure - Creates proper YAML frontmatter and organization
- Validates requirements - Ensures name/description format is correct
You ask:
Create a skill for reviewing API designs
Claude Code:
- Recognizes this is a skill creation request
- Loads
.claude/skills/skill-builder/SKILL.md - Determines this needs the "analysis-skill" pattern
- Generates complete SKILL.md with:
- Valid YAML frontmatter (
name: reviewing-api-designs) - Specific description with triggers
- Structured analysis process
- Checklist workflow
- Output template
- Examples
- Valid YAML frontmatter (
Result: A production-ready skill following all best practices.
skilz/ # GUIDELINES REPOSITORY
βββ README.md # You are here
βββ package.json # Node.js tooling
β
βββ .claude/
β βββ skills/
β βββ skill-builder/ # THE META-SKILL (guidelines)
β βββ SKILL.md # Main skill teaching Claude
β βββ EVALUATIONS.md # Testing guide
β βββ evaluations.json # 12 test cases
β βββ best-practices.md # Core principles
β βββ structure-reference.md
β βββ patterns.md # Pattern library
β βββ validation-rules.md
β βββ examples/ # Inline examples
β
βββ docs/ # Comprehensive documentation
β βββ README.md
β βββ best-practices-guide.md
β βββ skill-structure.md
β βββ ...
β
βββ templates/ # 8 ready-to-use templates
β βββ basic-skill/
β βββ analysis-skill/
β βββ generation-skill/
β βββ workflow-skill/
β βββ tool-restricted-skill/
β βββ multi-file-skill/
β βββ script-based-skill/
β βββ validation-skill/
β
βββ examples/ # Production-quality examples
β βββ code-reviewer/
β βββ SKILL.md
β βββ README.md (design notes)
β
βββ tools/ # Validation and scaffolding
βββ validate-skill.js
βββ scaffold-skill.js
βββ lint-skill.js
βββ test-skill.js
Note: This structure contains only guidelines and templates. Your actual skills should be created in:
- Project skills:
your-project/.claude/skills/your-skill/ - Personal skills:
~/.claude/skills/your-skill/ - Separate repositories: For skills you want to share independently
The skill-builder teaches Claude these core principles:
Only include what Claude doesn't already know:
- β Don't explain what PDFs are
- β Don't explain how npm works
- β Do provide specific commands
- β Do document domain conventions
Match specificity to task fragility:
- High freedom: Text instructions for flexible tasks
- Medium freedom: Pseudocode for preferred patterns
- Low freedom: Exact scripts for critical operations
Structure content for on-demand loading:
- SKILL.md as table of contents
- Details in separate files
- Claude reads only what's needed
For multi-step tasks:
- Provide checkbox checklists
- Clear validation points
- Validate β Fix β Repeat pattern
Comprehensive test suite ensures quality:
- 12 evaluation test cases covering all skill aspects
- Baseline comparison to measure improvement
- Success criteria (10/12 passing = 83%)
- Iteration guidance for continuous improvement
See .claude/skills/skill-builder/EVALUATIONS.md for complete testing guide.
You: Create a skill for formatting JSON files
Claude: [Generates basic-skill pattern with proper structure]
You: Create a skill for reviewing database schemas
Claude: [Generates analysis-skill pattern with:
- Structured review process
- Checkbox workflow
- Output template
- Finding categorization]
You: Create a skill for deploying applications safely
Claude: [Generates workflow-skill pattern with:
- Multi-step process
- Validation at each step
- Error recovery
- Feedback loops]
npm run validate .claude/skills/json-formatter
# β All validations passed!To use a skill with Claude web (claude.ai), create a properly structured zip file:
You: Package this skill for Claude web
Claude: [Creates zip with SKILL.md at top level, not nested]
Key requirement: SKILL.md must be at the top level of the zip file.
See docs/packaging-for-claude-web.md for complete packaging guide.
You can also copy templates manually:
# Copy template to your project
cp -r templates/analysis-skill .claude/skills/my-analyzer
# Edit SKILL.md
vim .claude/skills/my-analyzer/SKILL.md
# Validate
npm run validate .claude/skills/my-analyzer| Template | Use Case | Complexity | Key Features |
|---|---|---|---|
| basic-skill | Simple instructions | Low | Single file, straightforward |
| analysis-skill | Code/data analysis | Medium | Structured review, categorization |
| generation-skill | Creating content | Medium | Templates, examples, style guides |
| workflow-skill | Multi-step processes | Medium-High | Checkboxes, validation, recovery |
| tool-restricted-skill | Read-only operations | Low-Medium | allowed-tools restriction |
| multi-file-skill | Complex capabilities | High | Progressive disclosure |
| script-based-skill | With utility scripts | Medium-High | Pre-built scripts, reliability |
| validation-skill | Plan-validate-execute | High | Error prevention, validation loops |
Check technical requirements:
npm run validate path/to/skillValidates:
- YAML frontmatter syntax
- Name format (lowercase, hyphens, max 64 chars)
- Description length (max 1024 chars)
- File paths (forward slashes)
- Referenced files exist
- No Windows-style paths
Interactive skill generator:
npm run scaffoldPrompts for:
- Skill name
- Description
- Template choice
- Location (project vs personal)
Check best practices:
npm run lint path/to/skillChecks:
- Markdown formatting
- Consistency
- Verbosity
- Anti-patterns
Test skill behavior:
npm run test path/to/skillTests:
- Trigger recognition
- File navigation
- Workflow completeness
---
name: lowercase-with-hyphens
description: What it does and when to use it. Use when [triggers].
---name:
- Lowercase, hyphens, max 64 chars
- No reserved words (anthropic, claude)
- Prefer gerund form:
processing-pdfs,analyzing-data
description:
- Max 1024 chars, third person
- Include WHAT and WHEN
- Include trigger keywords
- SKILL.md under 500 lines
- Forward slashes in all paths
- References one level deep from SKILL.md
- Consistent terminology
- Concrete examples
- No time-sensitive information
Template Pattern: Structure output format Examples Pattern: Show input/output pairs Workflow Pattern: Multi-step with checkboxes Validation Pattern: Plan-validate-execute
Complete guides in docs/:
- best-practices-guide.md - Complete authoring guide
- skill-structure.md - Technical specifications
- progressive-disclosure.md - Content organization
- workflows-and-feedback.md - Multi-step processes
- testing-and-evaluation.md - Testing skills
- security-considerations.md - Security guidelines
Browse examples/ for production-quality skills:
Complete read-only analysis skill demonstrating:
- Tool restrictions (
allowed-tools: Read, Grep, Glob) - Structured workflow with checklist
- Severity classification
- Concrete examples
- Appropriate conciseness
See examples/code-reviewer/README.md for detailed design notes.
You: Create a skill for building and optimizing PostgreSQL queries
Claude Code: [Generates skill with:
- Query construction patterns
- Optimization guidelines
- Index usage recommendations
- Performance analysis steps
- Common patterns reference]
You: npm run validate .claude/skills/postgres-queries
Output: β All validations passed!
You: Create a skill for generating comprehensive test suites
Claude Code: [Generates generation-skill with:
- Test structure templates
- Coverage guidelines
- Mock/stub patterns
- Edge case considerations
- Examples for unit/integration tests]
You: Create a skill for safely deploying to production
Claude Code: [Generates workflow-skill with:
- Pre-deployment checklist
- Validation at each step
- Rollback procedures
- Health checks
- Post-deployment verification]
- No manual skill writing: Describe what you need, get a complete skill
- Best practices automatic: Claude applies all guidelines
- Consistent quality: Every skill follows same standards
- Quick iteration: Generate, validate, test, refine
- Shared knowledge: Package expertise as skills
- Onboarding: New team members get access to team skills
- Consistency: Everyone uses same approaches
- Version control: Skills tracked in git
It's a skill that Claude Code loads when you ask to create a skill. It contains all best practices, patterns, and requirements. Claude reads it and applies the knowledge to generate your skill.
No! Just describe what you need. Claude handles the structure, formatting, and best practices automatically.
Yes! Generated skills are starting points. Edit them to fit your specific needs.
Put skills in .claude/skills/ in your project repository. Anyone who clones the repo gets the skills. Do not commit specific skills to this skilz repository - it's only for guidelines.
The validator provides specific error messages. Fix the issues it identifies and validate again.
Yes! Describe language-specific patterns and Claude will incorporate them.
Pull the latest version of this repository to get updates to the meta-skill, templates, and tools.
Found a useful pattern? Have a great example?
- Document your pattern
- Create a reusable template
- Add comprehensive examples
- Submit a pull request
- Anthropic Docs: Skills Overview
- Best Practices: Skill Authoring Guide
- Claude Cookbooks: Skills Examples
- Try it: Ask Claude Code to "create a skill for [your use case]"
- Validate: Run
npm run validateon the generated skill - Use it: The skill activates automatically when relevant
- Iterate: Refine based on usage
- Share: Commit skills to your project for team access
MIT
- Documentation: See
docs/directory - Examples: See
examples/directory - Issues: Open a GitHub issue
- Questions: Check documentation first
Happy skill building! π
The skill-builder skill is ready to generate high-quality, best-practice-compliant skills for all your needs.