---
name: skill-creator
description: "Scaffold a production-ready SKILL.md from a one-line description. The skill that builds skills. Walks you through writing your first SKILL.md — name, description, tools allowlist, instructions, examples — and outputs a ship-ready file. Mirrors the patterns Anthropic uses internally."
license: MIT
---

# Claude Skill Creator

Claude Skill Creator turns a one-line description into a complete, ship-ready `SKILL.md` — the metadata-plus-instructions file that the agent runtime loads to teach Claude a new capability. It is a meta-skill aimed at developers who want to author their own skills but don't yet know the exact frontmatter fields, the description-writing conventions that drive reliable triggering, or how Anthropic structures the instruction body. Instead of copying a template and guessing, you describe the skill you want and get a structured file back.

## When to use it

- You're writing your first skill and need a correct `SKILL.md` skeleton rather than a blank file.
- You have a working prompt or internal runbook and want to package it as an installable skill.
- An existing skill never triggers, and you suspect the `description` field is the problem.
- You want your team's skills to follow consistent naming, tool-allowlist, and section conventions.

## How it works

The skill drives a short interview, then writes a single `SKILL.md` with YAML frontmatter and a Markdown body. It fills in:

- `name` — kebab-case identifier (e.g. `invoice-parser`).
- `description` — the trigger text. This is the highest-leverage field: it must say *what* the skill does and *when* to use it, including the phrases a user would actually type. The creator front-loads concrete triggers here rather than vague summaries.
- `allowed-tools` — an explicit allowlist (e.g. `Read, Bash, Edit`) so the skill only gets the tools it needs.
- Instruction body — numbered steps, an examples section, and edge-case notes, mirroring the layout Anthropic uses for its bundled skills.

## Usage example

```bash
curl -fsSL --create-dirs -o ~/.claude/skills/skill-creator/SKILL.md https://claudeskil.com/skills/skill-creator/SKILL.md

# then, in a session:
> Create a skill that extracts tables from PDFs and writes them to CSV

# outputs ./pdf-table-extractor/SKILL.md:
```

```yaml
---
name: pdf-table-extractor
description: Extract tabular data from PDF files into CSV. Use when the
  user mentions a .pdf and wants tables, rows, or "pull the data out of
  this PDF" exported to spreadsheet form.
allowed-tools: Read, Bash, Write
---
# PDF Table Extractor
1. Read the target PDF path from the request...
```

## Tips & gotchas

- Spend your edits on `description`, not the body — triggering is decided almost entirely by that field. Include real user phrasings.
- Keep `allowed-tools` minimal. Adding `Bash` unlocks the shell; omit it for read-only skills.
- The `name` in frontmatter must match the directory name, or the skill won't load.
- Heavy reference material (schemas, long examples) belongs in sibling files the skill reads on demand, keeping `SKILL.md` lean.

## FAQ

**Where does the file go?** Into a folder named after the skill; drop that folder into ~/.claude/skills/ (or .claude/skills/ inside a project) and Claude Code picks it up.

**Can it fix an existing skill?** Yes — point it at a current `SKILL.md` and ask it to tighten the description or trim the tool list.

**Does it write the implementation code?** No. It produces the `SKILL.md` instructions and metadata; any scripts the skill calls are added separately.
