Claude
Skills
Sign in
Back

skill-creator

Included with Lifetime
$97 forever

Guide for creating and editing Claude Code skills. Use when user wants to create a new skill, create a new slash command (skills are the unified primitive - commands live in skills/ now), update an existing skill, or needs help structuring a SKILL.md file.

AI Agents

What this skill does


# Skill Creator

Official docs: <https://code.claude.com/docs/en/skills.md>. Fetch when unsure about frontmatter semantics, subagent forking, hook integration, or recent features.

## Process

### 1. Gather requirements

Ask the user:

- What task/domain does the skill cover?
- What specific use cases should it handle?
- Does it need executable scripts or just instructions?
- Any reference materials to include?

If the user's description is already clear, skip straight to drafting.

### 2. Determine placement

Infer from context, ask only if ambiguous:

- **Global** (`~/.claude/skills/`) - across all projects
- **Project** (`<project>/.claude/skills/`) - repo-specific
- **Plugin** (`<plugin>/plugins/<name>/skills/`) - distributed via marketplace

### 3. Assess complexity

**Simple** (just write the SKILL.md):

- Purely instructional (workflow, guidelines, domain knowledge)
- No supporting files needed

**Full** (skill with bundled resources):

- Needs scripts for deterministic/repeated operations
- Needs reference docs (schemas, API docs, large knowledge bases)
- Needs assets (templates, images, fonts)

### 4. Draft the skill

**Simple path:** Create the directory and write SKILL.md directly.

**Full path:**

1. Plan supporting files (what scripts/references/assets are needed)
2. Create the skill directory and subdirs
3. Write supporting files first (may need user input for assets/docs)
4. Write SKILL.md last, referencing the supporting files

### 5. Review with user

Present draft and iterate. Skills improve most after real usage.

## Skill Structure

```
skill-name/
├── SKILL.md              # Main instructions (required)
├── references/           # Docs loaded into context on demand (optional)
│   ├── api-reference.md
│   └── schema.md
├── scripts/              # Deterministic code (optional)
│   └── helper.py
└── assets/               # Files used in output (optional)
    └── template.html
```

Reference supporting files from SKILL.md so Claude knows they exist:

```md
- For API details, see [references/api-reference.md](references/api-reference.md)
- For schema docs, see [references/schema.md](references/schema.md)
```

## SKILL.md Format

```md
---
name: skill-name
description: Brief description of capability. Use when [specific triggers].
---

# Skill Name

[Core instructions, workflows, and guidance]
```

### Frontmatter reference

All fields are optional. Only `description` is recommended so Claude knows when to use the skill.

| Field                      | Required    | Description                                                                                                                                                                                                                                                                                                         |
| :------------------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `name`                     | No          | Display name for the skill. If omitted, uses the directory name. Lowercase letters, numbers, and hyphens only (max 64 characters).                                                                                                                                                                                  |
| `description`              | Recommended | What the skill does and when to use it. Claude uses this to decide when to apply the skill. If omitted, uses the first paragraph of markdown content. Front-load the key use case: the combined `description` and `when_to_use` text is truncated at 1,536 characters in the skill listing to reduce context usage. |
| `when_to_use`              | No          | Additional context for when Claude should invoke the skill, such as trigger phrases or example requests. Appended to `description` in the skill listing and counts toward the 1,536-character cap.                                                                                                                  |
| `argument-hint`            | No          | Hint shown during autocomplete to indicate expected arguments. Example: `[issue-number]` or `[filename] [format]`.                                                                                                                                                                                                  |
| `disable-model-invocation` | No          | Set to `true` to prevent Claude from automatically loading this skill. Use for workflows you want to trigger manually with `/name`. Default: `false`.                                                                                                                                                               |
| `user-invocable`           | No          | Set to `false` to hide from the `/` menu. Use for background knowledge users shouldn't invoke directly. Default: `true`.                                                                                                                                                                                            |
| `allowed-tools`            | No          | Tools Claude can use without asking permission when this skill is active. Accepts a space-separated string or a YAML list.                                                                                                                                                                                          |
| `model`                    | No          | Model to use when this skill is active.                                                                                                                                                                                                                                                                             |
| `effort`                   | No          | Effort level when this skill is active. Overrides the session effort level. Default: inherits from session. Options: `low`, `medium`, `high`, `xhigh`, `max`; available levels depend on the model.                                                                                                                 |
| `context`                  | No          | Set to `fork` to run in a forked subagent context.                                                                                                                                                                                                                                                                  |
| `agent`                    | No          | Which subagent type to use when `context: fork` is set.                                                                                                                                                                                                                                                             |
| `hooks`                    | No          | Hooks scoped to this skill's lifecycle. See Hooks in skills and agents for configuration format.                                                                                                                                                                                                                    |
| `paths`                    | No          | Glob patterns that limit when this skill is activated. Accepts a comma-separated string or a YAML list. When set, Claude loads the skill automatically only when working with files matching the patterns. Uses the same format as path-specific rules.                                                             |
| `shell`                    | No          | Shell to use for `` !​`command` `` and ` ```! ` blocks in this skill. Accepts `bash` (default) or `powershell`. Setting `powershell` runs inline she

Related in AI Agents