home / skills / maxritter / pilot-shell / standards-skill-creator

standards-skill-creator skill

/.claude/plugin/skills/standards-skill-creator

This skill helps you create and update Claude Code skills with concise, domain-aligned guidance and reusable resources for reliable deployment.

npx playbooks add skill maxritter/pilot-shell --skill standards-skill-creator

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
5.6 KB
---
name: skill-creator
description: Guide for creating effective Claude Code skills. Use when users want to create a new skill or update an existing skill that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations. Triggers on requests like "create a skill for X", "help me build a skill", "add a new skill", or "update the X skill".
---

# Skill Creator

Create effective skills that extend Claude's capabilities with specialized knowledge, workflows, and tools.

## What Skills Provide

1. **Specialized workflows** - Multi-step procedures for specific domains
2. **Tool integrations** - Instructions for working with specific file formats or APIs
3. **Domain expertise** - Company-specific knowledge, schemas, business logic
4. **Bundled resources** - Scripts, references, and assets for complex tasks

## Core Principles

### Concise is Key

The context window is shared with system prompt, conversation history, and user requests.

**Default assumption: Claude is already very smart.** Only add context Claude doesn't already have. Challenge each piece: "Does Claude really need this?" and "Does this justify its token cost?"

Prefer concise examples over verbose explanations.

### Set Appropriate Degrees of Freedom

Match specificity to task fragility:

| Freedom Level | When to Use | Format |
|---------------|-------------|--------|
| **High** | Multiple approaches valid, context-dependent | Text instructions |
| **Medium** | Preferred pattern exists, some variation OK | Pseudocode/scripts with params |
| **Low** | Fragile operations, consistency critical | Specific scripts, few params |

### Skill Anatomy

```
skill-name/
├── SKILL.md (required)
│   ├── YAML frontmatter (name, description)
│   └── Markdown instructions
└── Bundled Resources (optional)
    ├── scripts/      - Executable code
    ├── references/   - Documentation loaded as needed
    └── assets/       - Files used in output (templates, etc.)
```

#### SKILL.md Structure

- **Frontmatter (YAML)**: `name` and `description` fields - these determine when the skill triggers
- **Body (Markdown)**: Instructions loaded AFTER the skill triggers

#### Bundled Resources

| Type | Purpose | When to Include |
|------|---------|-----------------|
| `scripts/` | Deterministic, reusable code | Same code rewritten repeatedly |
| `references/` | Documentation loaded as needed | Large docs Claude should reference while working |
| `assets/` | Files used in output (not loaded into context) | Templates, images, boilerplate |

**Do NOT include**: README.md, CHANGELOG.md, INSTALLATION_GUIDE.md, or other auxiliary docs.

### Progressive Disclosure

Three-level loading system:

1. **Metadata** (name + description) - Always in context (~100 words)
2. **SKILL.md body** - When skill triggers (<5k words, ideally <500 lines)
3. **Bundled resources** - As needed by Claude

**Pattern: Domain-specific organization**

```
bigquery-skill/
├── SKILL.md (overview + navigation)
└── references/
    ├── finance.md
    ├── sales.md
    └── product.md
```

Claude loads only the relevant reference file.

## Skill Creation Process

### Step 1: Understand with Examples

Ask clarifying questions:
- "What functionality should this skill support?"
- "Can you give examples of how it would be used?"
- "What would trigger this skill?"

### Step 2: Plan Reusable Contents

For each example, identify:
1. What scripts would help (repeated code)
2. What references would help (schemas, docs)
3. What assets would help (templates, boilerplate)

### Step 3: Create the Skill

Create the skill directory in `.claude/skills/`:

```bash
mkdir -p .claude/skills/my-skill-name
```

**Naming Convention:**
- Standard skills: `plan`, `implement`, `verify`, `standards-*` (overwritten on install)
- Custom skills: Any other name (preserved during updates)

For project-specific skills, use a unique name that doesn't match standard patterns.

### Step 4: Write SKILL.md

#### Frontmatter

```yaml
---
name: skill-name
description: What the skill does AND when to use it. Include all trigger contexts here since the body is only loaded after triggering.
---
```

**Description guidelines:**
- Include both what it does AND specific triggers/contexts
- All "when to use" info goes here, not in the body
- Example: "PDF processing for rotation, merging, text extraction. Use when working with .pdf files for editing, combining, or extracting content."

#### Body

Write concise instructions:
- Use imperative/infinitive form
- Keep under 500 lines
- Reference bundled resources with clear "when to read" guidance
- Move detailed docs to `references/` files

### Step 5: Test and Iterate

1. Use the skill on real tasks
2. Notice struggles or inefficiencies
3. Update SKILL.md or bundled resources
4. Test again

## Writing Guidelines

### Good Patterns

```markdown
## Quick Start

Extract text with pdfplumber:
[concise code example]

## Advanced Features

- **Form filling**: See [references/forms.md](references/forms.md)
- **API reference**: See [references/api.md](references/api.md)
```

### Avoid

- Deeply nested references (keep one level deep)
- Duplicating info between SKILL.md and references
- Verbose explanations when examples suffice
- "When to Use" sections in the body (put in description)

## Checklist

Before finalizing:

- [ ] Frontmatter has `name` and comprehensive `description`
- [ ] Description includes trigger contexts
- [ ] Body is under 500 lines
- [ ] References exist for large documentation
- [ ] Scripts are tested and working
- [ ] No unnecessary auxiliary files (README, CHANGELOG, etc.)
- [ ] Skill name follows convention (custom = unique name, standard = `standards-*`)

Overview

This skill is a practical guide for creating and maintaining Claude Code skills that add domain knowledge, workflows, and tool integrations. It focuses on concise context, appropriate degrees of freedom, and reusable bundled resources so skills stay efficient and reliable. Use it when planning, building, or updating a skill that will be loaded into Claude's context.

How this skill works

The guide inspects the intended task surface and recommends a minimal set of metadata, concise instructions, and optional bundled resources (scripts, references, assets). It defines when each resource should be loaded into Claude's context and prescribes a three-stage disclosure model: metadata, main instructions, and on-demand resources. It also provides naming conventions, testing steps, and a checklist to ensure skill quality.

When to use it

  • Creating a new Claude skill to automate a multi-step workflow or integrate an API
  • Updating an existing skill to reduce token cost or improve reliability
  • Designing skills that require deterministic code or domain-specific references
  • Packaging reusable scripts, templates, or large documentation for on-demand loading
  • Preparing skills for production with automated testing and clear triggers

Best practices

  • Keep context terse: include only facts Claude likely doesn’t already know
  • Choose freedom level to match task fragility (high/medium/low)
  • Provide concise examples instead of long explanations
  • Organize reusable items as scripts, reference docs, or output assets
  • Expose only metadata in initial context; load heavy docs on demand
  • Test skills with real use cases and iterate based on failures

Example use cases

  • A PDF processing skill with short code snippets and a reference for advanced forms
  • A BigQuery skill that loads only the relevant schema file for the current query
  • A deployment helper that bundles deterministic scripts and templates for CI
  • A finance-reference skill that provides compact triggers and loads large docs when needed
  • An API-integrator skill that exposes a few safe parameters and precise scripts for fragile calls

FAQ

How much description should I include in the skill metadata?

Include a concise description of what the skill does and all trigger contexts; keep it short so it fits comfortably in the initial context.

When should I add bundled reference files?

Add references when documentation is large or frequently consulted; load only the specific reference file relevant to the current task.