skill-builder

Guide users through creating new Claude Code Skills with proper structure, validation, and best practices

Best use case

skill-builder is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Guide users through creating new Claude Code Skills with proper structure, validation, and best practices

Teams using skill-builder should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/skill-builder/SKILL.md --create-dirs "https://raw.githubusercontent.com/WomenDefiningAI/claude-code-skills/main/skills/skill-builder/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/skill-builder/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How skill-builder Compares

Feature / Agentskill-builderStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Guide users through creating new Claude Code Skills with proper structure, validation, and best practices

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Skill Builder

This skill helps you create well-structured Claude Code Skills. Use it when the user wants to build a new skill for Claude Code.

## When to Use This Skill

Invoke this skill when users:
- Want to create a new Claude Code Skill
- Ask how to build or structure a skill
- Need help with skill frontmatter or organization
- Want to validate an existing skill structure

## Skill Creation Workflow

### Step 1: Understand the Requirements

Ask the user these questions (use AskUserQuestion tool when appropriate):
1. **What will the skill do?** - Get a clear description of the skill's purpose
2. **When should it trigger?** - Understand what user requests should activate it
3. **What's the scope?** - Is it project-specific or personal/general-purpose?
4. **What resources are needed?** - Templates, scripts, reference data, etc.

### Step 2: Determine Skill Location

Based on scope, choose the directory:
- **Project-specific**: `.claude/skills/[skill-name]/` (within project root)
- **Personal/general**: `~/.claude/skills/[skill-name]/` (available everywhere)

### Step 3: Create Directory Structure

Use this pattern:
```
skill-name/
├── SKILL.md           (required: main instructions)
├── REFERENCE.md       (optional: detailed reference info)
├── FORMS.md           (optional: templates and forms)
├── scripts/           (optional: executable code)
│   ├── script1.py
│   └── script2.sh
└── resources/         (optional: templates, data files)
    └── template.txt
```

### Step 4: Write SKILL.md

The SKILL.md must follow this structure:

```markdown
---
name: skill-name
description: Clear description of what this skill does and when to use it
---

# Skill Name

Main instructions for Claude go here.

## When to Use

Describe scenarios where this skill should be invoked.

## How It Works

Step-by-step instructions for Claude to follow.

## Examples

Provide examples of usage.
```

**Frontmatter Requirements:**
- `name`: Max 64 chars, lowercase letters/numbers/hyphens only (e.g., "excel-automation")
- `description`: Non-empty, max 1024 chars, should clearly indicate when to use the skill
  - **IMPORTANT:** Include BOTH natural language AND technical keywords
  - Natural language: How non-technical users would describe it ("fix broken code", "save data", "put online")
  - Technical terms: Jargon that developers use ("debug", "database schema", "deploy")
  - Example: "Auto-invoked when user wants to fix broken code, not working, or crashed. Also triggers on debug, stack trace, error analysis."

**Best Practices for Instructions:**
- Write like an "onboarding guide for a new team member"
- Use clear, step-by-step procedures
- Include contextual examples
- Reference supporting files instead of embedding everything
- Keep instructions under 5k tokens for efficient loading
- Use progressive disclosure: reference detailed info in REFERENCE.md

### Step 5: Add Supporting Files (Optional)

**REFERENCE.md**: Detailed technical information that Claude can read when needed
- API documentation
- Detailed specifications
- Comprehensive examples
- Technical constraints

**FORMS.md**: Templates and structured formats
- Form templates
- Output format examples
- Structured data patterns

**scripts/**: Executable code for complex operations
- Python scripts for data processing
- Shell scripts for automation
- Utilities that Claude can invoke via bash

**resources/**: Static files and templates
- Document templates
- Sample data
- Reference materials

### Step 6: Validate the Skill

Check these requirements:
- [ ] `SKILL.md` exists with valid YAML frontmatter
- [ ] `name` is lowercase, alphanumeric with hyphens, max 64 chars
- [ ] `description` is clear, non-empty, max 1024 chars
- [ ] **Description includes natural language keywords** (not just technical jargon)
- [ ] Instructions are clear and actionable
- [ ] File references are correct
- [ ] No internet/API dependencies (Claude Code constraint)
- [ ] Only uses pre-installed packages

**Run automated validation:**
```bash
python .validation/validate-skills.py
```

**Validation Scoring (29 points total):**
- SKILL.md exists: 1 point
- Valid frontmatter: 3 points
- Name validation: 2 points
- Description validation: 3 points
- Content structure: 5 points
- Token count <5000: 2 points
- Supporting files: 3 points
- Scripts directory: 2 points
- Industry standards: 3 points
- Examples: 2 points
- **Natural language keywords: 3 points** (NEW)

**Passing threshold:** 80% (24/29 points)

### Step 7: Test the Skill

After creation:
1. Verify the skill is discoverable (Claude should see it in metadata)
2. Test with a sample task that should trigger it
3. Ensure resources load correctly when referenced
4. Check that instructions are clear and complete

## Progressive Disclosure Strategy

Design skills to minimize token usage:

1. **Always Loaded (Metadata)**: ~100 tokens
   - Just the YAML frontmatter

2. **Loaded When Triggered (Instructions)**: <5k tokens
   - Core procedures from SKILL.md body

3. **Loaded As Needed (Resources)**: No token cost
   - Files Claude reads via bash commands
   - Scripts Claude executes when required
   - Templates Claude accesses on demand

## Common Skill Patterns

### Document Generation Skill
```
doc-generator/
├── SKILL.md          (generation instructions)
├── templates/        (document templates)
└── scripts/          (formatting scripts)
```

### Code Analysis Skill
```
code-analyzer/
├── SKILL.md          (analysis procedures)
├── REFERENCE.md      (pattern definitions)
└── scripts/          (analysis tools)
```

### Automation Skill
```
automation-helper/
├── SKILL.md          (automation workflows)
├── FORMS.md          (configuration templates)
└── scripts/          (automation scripts)
```

## Implementation Steps

When helping users build a skill:

1. **Gather Information**: Use AskUserQuestion to understand requirements
2. **Plan Structure**: Determine files needed based on complexity
3. **Create Directory**: Make the skill directory in appropriate location
4. **Write SKILL.md**: Create with proper frontmatter and instructions
5. **Add Supporting Files**: Create REFERENCE.md, FORMS.md, scripts as needed
6. **Validate**: Check all requirements are met
7. **Document**: Explain to user how to test and use the skill
8. **Show Location**: Provide the full path to the created skill

## Validation Checklist

Before completing, verify:
- [ ] Directory created in correct location
- [ ] SKILL.md has valid frontmatter
- [ ] Name follows naming rules
- [ ] Description is clear and helpful
- [ ] Instructions are actionable
- [ ] Examples are provided
- [ ] Supporting files are organized logically
- [ ] No external dependencies
- [ ] File paths in instructions are correct

## Tips for Great Skills

1. **Clear Descriptions**: Make it obvious when Claude should use the skill
2. **Step-by-Step**: Write procedures as numbered steps
3. **Examples First**: Show examples before explaining
4. **Minimize Context**: Use progressive disclosure extensively
5. **Self-Contained**: Don't assume external resources are available
6. **Tested Procedures**: Ensure instructions actually work
7. **Helpful Metadata**: Write descriptions that help with discovery

## Common Mistakes to Avoid

- Using uppercase or special characters in skill name
- Making descriptions too vague or too long
- Embedding all content in SKILL.md instead of using supporting files
- Referencing non-existent files
- Assuming internet access or external APIs
- Creating overly complex skills that should be split
- Forgetting to include "when to use" guidance

## Reference Files

See the templates directory for:
- Basic skill template
- Advanced skill template with supporting files
- Example skills for common use cases

Related Skills

ui-ux-audit

5
from WomenDefiningAI/claude-code-skills

Mandatory audit workflow for UI/UX changes that reads current state FIRST, checks for redundancy, respects clean design philosophy, and identifies genuine gaps before implementation. Auto-invoked when user mentions UI, UX, design, layout, homepage, page improvements, visual changes, or interface modifications.

skill-contributor

5
from WomenDefiningAI/claude-code-skills

Guides contributors through adding new skills to the claude-code-skills repository via Pull Request with proper validation and documentation

shownotes-generator

5
from WomenDefiningAI/claude-code-skills

Generate comprehensive "Shownotes" summaries from longform articles, papers, transcripts, videos, or audio content. Use when users request shownotes, episode summaries, content summaries with takeaways, or when they reference the mdynotes.com format. Creates structured summaries with metadata, hooks, takeaways, quotes, and references.

frontend-ui

5
from WomenDefiningAI/claude-code-skills

Create aesthetically pleasing, visually distinctive frontend UIs using research-backed prompting strategies from Anthropic's frontend aesthetics cookbook

feature-orchestrator

5
from WomenDefiningAI/claude-code-skills

Research-backed feature implementation workflow enforcing gap analysis, incremental planning, agent coordination, and continuous integration best practices. Auto-invoked for ALL feature implementation requests to prevent code duplication and ensure CLAUDE.md compliance.

code-reviewer

5
from WomenDefiningAI/claude-code-skills

Research-backed code review skill with OWASP Top 10 security checks, SAST tool integration (SonarQube, CodeQL, Snyk), performance pattern detection, and automated quality standards enforcement. Auto-invoked for code review, security audit, PR analysis, and bug checking. Implements 2025 best practices with 92% faster vulnerability remediation.

code-refactoring

5
from WomenDefiningAI/claude-code-skills

Proactively monitors file sizes and suggests refactoring BEFORE editing. Auto-invoked when files exceed size thresholds (150/200/300 lines) or complexity patterns detected. Works across JavaScript/TypeScript, Python, and general codebases. Prevents accidental complexity growth.

llm-wiki-builder

9
from u9401066/pubmed-search-mcp

Build or refresh Foam-compatible LLM wikis from Zotero, PubMed, documents, and local Markdown notes using a multi-tool workflow.

elementor-builder

9
from j7-dev/everything-github-copilot

Elementor 實作型頁面設計師(Marche)。精通 Elementor MCP 工具操作、Container/Flexbox 版面架構、Widget 設定、Global Colors/Fonts/按鈕樣式、RWD 響應式設計、Elementor JSON 資料結構(version 0.4)。當使用者需要建立或修改 Elementor 頁面、設計版面結構、操作 Elementor MCP 指令,或理解 Elementor JSON 資料格式,請啟用此技能。

lwc-app-builder-config

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when an LWC needs to appear, be configured, and be constrained inside Lightning App Builder, Experience Builder, Home Page, or Flow screens via its js-meta.xml file — including isExposed, targets, targetConfigs, supportedFormFactors, objects scoping, and admin-facing design attributes. Triggers: 'lwc not appearing in app builder', 'expose lwc to record page', 'design attribute datasource picklist', 'supportedformfactors mobile small', 'targetconfigs for record page vs app page', 'masterlabel vs description'. NOT for custom property editors for Flow (see `custom-property-editor-for-flow`), and NOT for Experience Cloud theming at the page level.

slack-workflow-builder

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when designing or troubleshooting Slack Workflow Builder workflows that call Salesforce — especially the Salesforce connector step Run a Flow, mapping inputs/outputs, handling failures, and understanding limits. Triggers on: Slack Workflow Builder Salesforce, Run a Flow from Slack, autolaunched flow from Slack, Slack automation calling Salesforce. NOT for Salesforce Flow Builder tutorials unrelated to Slack (use flow skills), not for Flow Core Actions that send Slack messages from Salesforce (use flow-for-slack), not for initial org-to-workspace connection (use slack-salesforce-integration-setup), and not for building custom Slack apps outside Workflow Builder.

process-builder-to-flow-migration

8
from PranavNagrecha/AwesomeSalesforceSkills

Migrate Process Builder processes to record-triggered Flows using the native Migrate to Flow tool or manual rebuild. Covers conversion tool usage, pattern mapping, order-of-execution changes, testing migrated flows, and bulk behavior improvements. NOT for building new flows from scratch, NOT for Workflow Rule migration (use workflow-rule-to-flow-migration), NOT for net-new automation design.