Skill writing guide

A skill is a folder. The trigger is the description.

Decide the job. Draft SKILL.md. Run a few prompts with and without the skill. Rewrite from the misses. That is the whole loop.

Anatomy

skill-name/
├── SKILL.md          required — metadata + instructions
├── scripts/          optional — deterministic work
├── references/       optional — docs loaded on demand
└── assets/           optional — templates, fonts, icons

A skill set

Insert a pack, attach skills, export one folder.

agent-name/
├── AGENT.md                 who sits at the desk
└── skills/
    ├── brand-voice/
    │   ├── SKILL.md
    │   └── references/voice.md
    └── research-brief/
        └── SKILL.md
Insert agent and skill set

Progressive disclosure

  1. 01

    Metadata

    name and description. Always in context, for every installed skill. About a hundred words. This is the trigger. Put every when-to-use here, not in the body.

  2. 02

    Instructions

    The SKILL.md body, loaded when the skill fires. Keep it under 500 lines; prefer under 200. Procedure, examples, never-do.

  3. 03

    Resources

    scripts/, references/, assets/. Unlimited, loaded only when needed. Scripts can run without being stuffed into the prompt.

Spec

  • name

    1–64 characters. Lowercase letters, numbers, hyphens. No leading, trailing, or consecutive hyphens. Must match the folder name.

  • description

    1–1024 characters. What it does and when to use it. Agents under-trigger — make it a little pushy. Name the tasks, file types, and phrases.

  • compatibility

    Optional, 500 characters. Only if the skill needs a specific runtime.

  • Body

    A procedure the agent can follow. Two examples. Move rare depth to references/ so the main file stays lean.

The loop

  1. Capture intent — job, when, never, resources.
  2. Write the draft. Put triggering context in the description.
  3. Build a small eval: five fires, three skips.
  4. Read the misses. Push the description. Split fat body into references.
  5. Repeat until the trigger is boringly correct.
Open the workshop