Marketplace creating-skills

install
source · Clone the upstream repo
git clone https://github.com/aiskillstore/marketplace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/brendanshields/creating-skills" ~/.claude/skills/aiskillstore-marketplace-creating-skills-3714d1 && rm -rf "$T"
manifest: skills/brendanshields/creating-skills/SKILL.md
source content

Creating Skills

Guides creation of Claude Code skills using documented best practices.

Quick Start

For a new skill:

  1. Ask user for skill purpose and target users
  2. Generate using appropriate template
  3. Validate against checklist

For reviewing existing skill:

  1. Read SKILL.md and supporting files
  2. Check against anti-patterns in reference.md
  3. Report issues with fixes

Workflow: Create New Skill

Progress:
- [ ] Gather requirements (purpose, triggers, complexity)
- [ ] Choose template (basic or advanced)
- [ ] Generate skill structure
- [ ] Customize content
- [ ] Validate against checklist

Step 1: Gather Requirements

Ask user with AskUserQuestion:

  • What should this skill do? (purpose)
  • When should it activate? (trigger words)
  • Simple or complex? (affects structure)

Step 2: Choose Structure

ComplexityStructureWhen to Use
BasicSingle SKILL.mdSimple workflows, < 200 lines
AdvancedSKILL.md + referencesComplex domains, multiple workflows

Step 3: Generate Skill

Use templates from

templates/
directory:

Create in appropriate location:

  • ~/.claude/skills/
    - Personal skills
  • .claude/skills/
    - Project skills (git-tracked)

Step 4: Validate

Run through checklist before finishing:

Validation Checklist:
- [ ] Name: gerund format (verb-ing), lowercase, hyphens only
- [ ] Name: max 64 characters, no reserved words
- [ ] Description: explains WHAT and WHEN to use
- [ ] Description: third person, max 1024 characters
- [ ] SKILL.md: under 500 lines (ideally under 300)
- [ ] References: one level deep from SKILL.md
- [ ] No time-sensitive info (dates, versions)
- [ ] Consistent terminology throughout
- [ ] Examples: concrete input/output pairs
- [ ] Paths: Unix-style only (forward slashes)

Naming Rules

Format:

verb-ing-noun
(gerund form)

  • processing-pdfs
  • analyzing-spreadsheets
  • managing-databases

Constraints:

  • Max 64 characters
  • Lowercase letters, numbers, hyphens only
  • No:
    anthropic
    ,
    claude
    , XML tags

Description Best Practices

The description determines when Claude activates the skill.

Include:

  • What the skill does
  • When to use it
  • Trigger words users might say

Format: Third person, active voice

# Good
description: |
  Extracts text and tables from PDF files. Use when working with
  PDFs, forms, or document extraction.

# Bad - first person
description: I help you process PDF files

Progressive Disclosure

Keep SKILL.md lean. Move details to reference files:

skill-name/
├── SKILL.md          # Overview, workflow (always loaded)
├── reference.md      # Detailed guidelines (loaded when needed)
├── examples.md       # Extended examples
└── templates/        # Reusable templates

Key rule: References should be one level deep. All reference files link directly from SKILL.md.

See reference.md for detailed best practices and anti-patterns.

Frontmatter Schema

---
name: skill-name-here
description: |
  What it does and when to use it. Include trigger words.
allowed-tools: Read, Grep  # Optional: restrict available tools
---

Anti-Patterns (Quick Reference)

AvoidDo Instead
Windows paths
scripts\file.py
Unix paths
scripts/file.py
Too many optionsProvide sensible default
Assuming tools installedList required packages
Vague descriptionsSpecific with trigger words
Deeply nested referencesOne level deep
Time-sensitive infoAvoid dates/versions

Full anti-patterns guide: reference.md

Example: Basic Skill

---
name: formatting-markdown
description: |
  Formats and lints Markdown files. Use when user mentions
  markdown formatting, MD files, or document styling.
---

# Formatting Markdown

## Workflow

1. Read target file
2. Apply formatting rules
3. Report changes

## Rules

- Headers: ATX style (#)
- Lists: consistent markers
- Code blocks: fenced with language