skill-creation-walkthrough

$npx mdskill add rampstackco/claude-skills/skill-creation-walkthrough

Guides you through designing, writing, and maintaining custom Claude Skills.

  • Packages repeated workflows or frameworks into reusable skills.
  • Depends on SKILL.md file and reference material structure.
  • Evaluates whether a skill is appropriate and how to trigger it reliably.
  • Provides step-by-step instructions and quality criteria for skill creation.

SKILL.md

.github/skills/skill-creation-walkthroughView on GitHub ↗
---
name: skill-creation-walkthrough
description: Step-by-step guide for creating your own Claude Skills, from deciding whether a skill is the right tool to writing the SKILL.md file, structuring reference material, and making it trigger reliably. Use when you want to package a workflow, framework, or repeated task into a reusable Skill, when an existing skill is not triggering or not loading the right context, when you are auditing a skill that is underperforming, or when you want to publish a skill for others. Also triggers when someone asks "how do I make a skill" or "what makes a good skill". Useful for individuals, teams, and anyone publishing skills publicly.
category: process-and-team
catalog_summary: "The meta-skill: how to write your own custom skills"
display_order: 5
---

A walkthrough for designing, writing, and maintaining your own Claude Skills. Covers when a skill is the right shape for your problem, how to write a description that actually triggers, how to structure SKILL.md and references, and how to test and iterate.

## When to use

- You catch yourself writing the same prompt or instructions repeatedly.
- You want to package a workflow or framework for reuse.
- An existing skill of yours is not triggering when it should.
- You are publishing skills for others to use.
- You want to teach Claude a domain-specific way of working.
- You are reviewing a skill someone wrote and need a quality bar.

## When NOT to use

- For one-off prompts (just write the prompt).
- For information that should live in system context, not progressive disclosure.
- For changing Claude's general behavior across all conversations (use Claude.ai settings or system prompts, not skills).
- For replacing tool calls (skills are instructions, not tools).

## Required inputs

- The task or workflow you want to encode.
- The audience: who will trigger this skill, in what kind of conversation.
- Existing artifacts: prompts you have used, docs you have written, examples of good output.

## The framework: how skills work

A Skill is a folder with a `SKILL.md` file. The SKILL.md has YAML frontmatter (name and description) and a body with instructions. It can also include reference files, scripts, or templates that get loaded when needed.

The key property: **progressive disclosure**. Claude does not read every skill on every turn. The skill description lives in the system prompt. The SKILL.md body and references load only when the skill is triggered. This is what lets a user have hundreds of skills without polluting context.

What this means for you:

- The **description** is everything for triggering. Get it right or the skill never loads.
- The **SKILL.md body** is for the workflow itself.
- The **references** are for content that does not need to be in every invocation: long checklists, templates, examples, deep reference material.

## Workflow

### Phase 1: Decide if a skill is the right shape

Not everything should be a skill. Run this test:

| Sign it should be a skill | Sign it should not be |
| --- | --- |
| You repeat the same workflow 5+ times. | You used it once. |
| The output benefits from a consistent structure. | Each output is bespoke. |
| The task has a clear trigger (a question shape, a file type, a domain). | The task is part of every conversation already. |
| The instructions exceed 200 words. | A one-line system instruction would do. |
| Templates or reference material would help. | Pure prose is enough. |
| Other people might benefit from the same workflow. | Only relevant to your single project. |

If most of your answers are in the left column, build a skill. Otherwise, use a saved prompt or a system instruction.

### Phase 2: Define the trigger

Before writing anything, ask: when should this skill load?

Be concrete. Write down the exact phrases or situations that should trigger it. Examples:

- "When the user asks for a creative brief, kickoff doc, or project brief."
- "When the user uploads a CSV and wants tabular analysis."
- "When the user asks 'how do I rank for X', 'should I add schema', or anything SEO-related."
- "When the user mentions they want to pick a vendor or compare tools."

The trigger is your description's job. If you cannot articulate the trigger crisply, the skill will not load reliably.

### Phase 3: Write the description

This is the most important sentence (or two) in your skill. The description is what Claude sees in the system prompt to decide whether to load the skill.

Good descriptions have 4 parts:

1. **What it does** (one sentence, action-oriented).
2. **When to use it** (the trigger phrases or situations).
3. **Edge cases** with "Also triggers when..." (catches less obvious situations).
4. **Useful for...** (audience or use cases, helps disambiguation).

Bad description:

> "Helps with SEO."

Why it fails: vague, no trigger phrases, will not fire when the user actually needs it.

Good description:

> "Audit on-page SEO of a single URL or a small set of pages. Use when the user asks for a page audit, wants to optimize titles and meta descriptions, asks 'why is this page not ranking', or shares a URL and asks what is wrong with it. Also triggers when the user mentions Core Web Vitals, internal linking, or schema markup. Useful for both individual page reviews and small-batch audits."

Why it works: specific actions, multiple trigger phrases, edge cases, audience clarity.

### Phase 4: Structure the SKILL.md body

A consistent structure makes skills readable, maintainable, and AI-friendly. The pattern below works for most skills:

```
---
name: [your-skill-name]
description: [your description]
---

[One-sentence purpose statement]

## When to use
[Bulleted list of trigger situations]

## When NOT to use
[Bulleted list, ideally redirecting to sibling skills]

## Required inputs
[What Claude needs from the user to run this skill]

## The framework
[The durable IP: the model, the steps, the dimensions, the layers]

## Workflow
[Numbered steps Claude follows]

## Failure patterns
[Common mistakes to avoid or push back on]

## Output format
[What the deliverable looks like]

## Reference files
[List of files in the references/ folder with descriptions]
```

Not every skill needs every section. Some skills are pure how-to and skip "framework". Some skills are heavy on examples and add an "Examples" section. Use the structure as a starting point, adapt as needed.

### Phase 5: Add references for what does not belong in SKILL.md

References are the second tier of progressive disclosure. They load when Claude reads them, not by default.

Use references for:

- Long checklists (a 100-item audit checklist).
- Templates with worked examples.
- Detailed playbooks for specific scenarios.
- Reference material like spec links, glossaries, decision tables.
- Anything over 100 lines that not every invocation needs.

Each reference should be standalone. A reader (or Claude) should be able to use it without reading the SKILL.md first, given the context the skill provides.

Naming patterns that work:

- `references/[noun]-template.md` for templates.
- `references/[noun]-checklist.md` for checklists.
- `references/[noun]-playbook.md` for end-to-end runbooks.
- `references/example-[scenario].md` for worked examples.

Reference your reference files from the SKILL.md "Reference files" section with a one-line description of each.

### Phase 6: Test and iterate

Skills do not work the first time. Plan to iterate.

Testing checklist:

- [ ] Trigger test: in a fresh conversation, write the trigger phrase. Does the skill load? If not, the description is too narrow or wrong.
- [ ] Edge case test: write something that should trigger via the "Also triggers when..." clause. Does it fire?
- [ ] False positive test: write something close but not actually relevant. Does the skill avoid loading? If it always loads, your description is too broad.
- [ ] Output test: run the skill on a real task. Is the output what you expected?
- [ ] Length test: is the SKILL.md staying under 250 lines? Are references under 400 lines? If not, split or trim.

After testing, common fixes:

- Skill not triggering → broaden the description, add explicit phrases, add "Also triggers when..."
- Skill triggering too often → narrow the description, add "Do not trigger when...", be more specific about audience.
- Output is generic → add a clearer framework or workflow with more specifics.
- Reference is overwhelming → split into multiple references, keep each focused.

## Deep dive: description anatomy

The description is hard to get right. Here is the formula in detail.

### Sentence 1: What it does

Lead with the verb. Be specific.

- Good: "Audit on-page SEO."
- Bad: "Help with SEO things."

### Sentence 2: When to use it

State the primary triggers. Use phrases users would actually say.

- Good: "Use when the user asks for a page audit, wants to optimize titles and meta descriptions, or asks 'why is this page not ranking'."
- Bad: "Use for SEO improvements."

### Sentence 3: "Also triggers when..."

Catch the secondary triggers and edge cases.

- Good: "Also triggers when the user mentions Core Web Vitals, internal linking, or schema markup."
- Bad: (omitted)

### Sentence 4: Useful for...

Explain audience or scope to help with disambiguation.

- Good: "Useful for both individual page reviews and small-batch audits."
- Bad: (omitted)

If your skill description is one sentence, it is probably not specific enough.

## Deep dive: worked example

Imagine you keep writing technical post-mortem documents and want to skill-ify it.

**Step 1: Decide it's a skill.** You write 5+ post-mortems a year, output benefits from consistency, others on the team would use it. Yes, build a skill.

**Step 2: Trigger.** "When the user wants to write a post-mortem, retrospective, or after-action report. When an incident has happened and we are reviewing what went wrong."

**Step 3: Description.**

> "Write a structured post-mortem after an incident, outage, or significant project failure. Use when the user mentions post-mortem, retrospective, after-action report, RCA, or asks 'why did this go wrong' after an incident. Also triggers when the user wants to capture lessons learned from a launch, project miss, or incident debrief. Useful for technical incidents, project retros, and team learning reviews."

**Step 4: SKILL.md body.** Use the standard structure. Required inputs (timeline, impact, contributors). The framework (Five Whys, contributing factors, action items). Workflow (gather facts, draft, review, distribute). Failure patterns (blame, vague action items, no follow-up).

**Step 5: References.** A `post-mortem-template.md` with the document structure and a `facilitator-checklist.md` for running the post-mortem meeting.

**Step 6: Test.** Trigger on "we had an outage yesterday, can you help me write the post-mortem?" Should fire. Trigger on "what is a post-mortem?" Should probably also fire. Trigger on "let's review the quarter". Should not fire (this is a different kind of retro).

You iterate until the triggers fire correctly, then ship.

## Failure patterns

- **Description too narrow.** The skill never fires because your description requires exact phrases the user does not say.
- **Description too broad.** The skill fires constantly, including for unrelated tasks.
- **No trigger phrases.** The description describes what the skill does but not when to load it. Triggering is unreliable.
- **SKILL.md too long.** A 1,000-line SKILL.md defeats the purpose of progressive disclosure. Split into references.
- **References that duplicate SKILL.md.** If a reference repeats what the body says, prune one.
- **No "When NOT to use".** Skills that overlap with sibling skills get loaded ambiguously. Cross-reference siblings explicitly.
- **No examples.** A framework without a worked example is hard to apply. Include at least one in the reference material.
- **Optimizing for one example.** A skill written around your single use case fails at adjacent ones. Generalize.
- **No iteration.** Shipping a skill once and never revisiting it. Skills decay. Audit yearly.
- **Branding or product-specific assumptions in a public skill.** Skills meant to be general should not hardcode your stack. Public skills teach methodology (frameworks, decision criteria, taxonomies, anti-patterns); implementation specifics (specific page architectures, type definitions, component code, framework-specific patterns) belong in internal playbooks. See [`references/methodology-vs-implementation.md`](references/methodology-vs-implementation.md) for the full discipline and the user-outcome reasons it matters.

## Output format

When using this skill to create another skill, deliver:

1. **Trigger analysis**: a short list of phrases and situations that should fire the skill.
2. **Description draft**: the 2-4 sentence description for the YAML frontmatter.
3. **SKILL.md body**: the full body of the skill, following the standard structure.
4. **Reference plan**: a list of reference files to create with one-line descriptions.
5. **First reference file**: at least one reference written end to end as a starting point.
6. **Test plan**: 3-5 test prompts that should trigger the skill, plus 2-3 that should not.

## Reference files

- [`references/skill-template.md`](references/skill-template.md): A blank SKILL.md template with annotated section guidance, ready to copy and fill in.
- [`references/description-cookbook.md`](references/description-cookbook.md): A library of description patterns with worked examples for common skill types (audits, templates, frameworks, walkthroughs).
- [`references/methodology-vs-implementation.md`](references/methodology-vs-implementation.md): What belongs in a public skill, what stays internal, and the user-outcome reasons the discipline matters. The audit pattern and the authoring checklist for keeping skills methodology-pure.

More from rampstackco/claude-skills

SkillDescription
ads-creative-developmentHow to produce ad creative that converts at performance scale. Hook patterns, format selection, video pacing, variation systems, sequential testing methodology, fatigue detection, brand-voice alignment without conversion dilution, and platform-specific creative norms. Triggers on ad creative, ad design, hook patterns, ad video pacing, creative testing, ad variations, creative refresh, creative fatigue, refresh ad creative, video ads for Meta, TikTok creative, LinkedIn ad creative, ad asset library. Also triggers when a team is producing creative at scale, planning a creative test cycle, or auditing why creative is not converting.
ads-performance-analyticsHow to read paid media dashboards without fooling yourself. Attribution models, platform reporting quirks, multi-platform reconciliation, ROAS vs LTV horizon traps, statistical noise in performance metrics, incrementality testing, and the failure modes that produce expensive lessons. Triggers on read paid media dashboard, attribution analysis, ROAS vs LTV, multi-platform reconciliation, ad incrementality, geo holdout, conversion lift study, ghost bidding, paid media reporting, board-deck paid media metrics, blended CAC, MMM, MTA, last-click attribution. Also triggers when a marketer is about to scale, kill, or rebudget a campaign based on platform metrics, or when reconciling platform reports against warehouse revenue.
after-action-reportRun a structured after-action review (postmortem, retrospective) on a launch, incident, or completed project to capture timeline, root cause analysis, contributing factors, and actionable lessons. Use this skill whenever the user wants to run a postmortem, retrospective, AAR, or after-action review on any past event. Triggers on after-action report, AAR, postmortem, retrospective, retro, post-incident review, what went well what didn't, lessons learned, blameless postmortem, root cause analysis, RCA, five whys. Also triggers when the user has just shipped something or just resolved an incident and wants to capture learnings.
ai-content-collaborationHow humans and AI compose in content workflows. Where AI legitimately participates, where humans must own, hybrid workflow patterns, voice ownership preservation, the AI slop problem, disclosure and transparency, team calibration, and the ethics of intellectually honest AI-assisted content production. Triggers on AI content workflow, AI-assisted writing, hybrid content production, AI in editorial, AI slop, AI disclosure, AI usage policy, AI content ethics, voice preservation with AI, team AI calibration. Also triggers when content feels generic despite quality tools, when team AI usage has drifted into inconsistency, or when a regulated or trust-sensitive context requires explicit AI policy.
analytics-strategyDesign measurement frameworks including event taxonomy, KPI hierarchy, dashboard architecture, attribution models, and analytics implementation strategy. Use this skill whenever the user wants to plan analytics, design dashboards, build event taxonomies, define KPIs, set up tracking, or audit existing measurement. Triggers on analytics strategy, measurement plan, event taxonomy, tracking plan, KPI framework, dashboard design, north star metric, attribution model, conversion tracking, GA4 setup, Mixpanel setup, analytics audit. Also triggers when the user has data but no clear way to use it, or wants to make decisions but doesn't know what to track.
art-directionDirect visual and creative work for campaigns, photography, illustration, video, and branded experiences. Use this skill whenever the user wants to brief a photographer, direct illustrators, plan a creative campaign, develop visual concepts, write a creative direction document, or evaluate creative work for fit. Triggers on art direction, photo brief, photography brief, illustration brief, campaign concept, creative concept, visual direction, mood board, look and feel, visual treatment, video direction. Also triggers when the user has approved brand identity but needs to extend it into specific creative deliverables.
backup-and-disaster-recoveryPlan and run backups, set recovery objectives, and run disaster recovery drills. Use this skill when defining RPO/RTO targets, designing backup architecture, deciding what to back up and how often, planning for full-region or platform outages, or running a restoration drill. Triggers on backup, restore, RPO, RTO, disaster recovery, DR, business continuity, what if the database is gone, what if our hosting goes down, recovery drill, ransomware planning. Also triggers when an incident reveals a gap in restoration capability.
beta-program-managementRunning closed and open betas that produce real signal. Beta participant selection, structured feedback collection, beta-to-GA decision criteria, and the difference between soft-launch (no structure, no signal), kitchen-sink (everyone in, no actionable feedback), and structured beta (calibrated cohort, intentional feedback loops, clear graduation criteria). Triggers on beta program, alpha test, beta cohort, beta participant, beta feedback, beta to GA decision, design partner, early access program, closed beta, open beta, RC release. Also triggers when a feature is approaching launch and the team needs structured pre-GA validation, when prior betas produced noise rather than signal, or when the team has soft-launched before but wants more structured feedback this time.
brand-archetype-systemApply pre-composed aesthetic archetype defaults to jumpstart brand design work covering color, typography, layout, voice, and imagery direction. Use this skill whenever the user wants a starting point for brand visual and verbal direction, references a brand they want to design near (for example 'something like Stripe' or 'editorial like Linear'), needs to converge faster from many directions to one, or wants known-good defaults for a specific industry vertical. Triggers on archetype, design archetype, brand archetype, near to (brand), in the style of, similar aesthetic, design starting point, brand template, vertical-typical, industry-typical. Also triggers when the user has a brief and wants to map it to a known aesthetic family rather than design from first principles.
brand-discoveryRun upstream brand discovery covering audience research, competitive landscape, category dynamics, problem space, and positioning territory exploration. Use this skill at the very start of a brand or website project when the user needs to understand who they're for, who they compete with, what the audience actually needs, and where the brand could plausibly stand. Triggers on brand discovery, audience research, market research, competitive scan, category research, customer research, who is this for, who are we, positioning research, intake, kickoff. Also triggers when a creative brief is requested but the upstream inputs (audience, competitors, problem space) are not yet clear.