|
| 1 | +# Skill template |
| 2 | + |
| 3 | +This file is a starter template for adding a new skill to this repo. It is **deliberately named `TEMPLATE.md` (not `SKILL.md`)** so the [skills.sh](https://skills.sh) CLI does not pick it up as an installable skill. |
| 4 | + |
| 5 | +## How to use this template |
| 6 | + |
| 7 | +1. Decide the new skill's name — lowercase, hyphenated (e.g. `my-new-skill`). |
| 8 | +2. Create the folder `skills/<my-new-skill>/`. |
| 9 | +3. Copy the SKILL.md template block below into `skills/<my-new-skill>/SKILL.md`. |
| 10 | +4. Update the frontmatter — `name` (must match folder), `description` (the "Load when…" line), `metadata.author`. |
| 11 | +5. Decide if you're using the skill-graph pattern. If yes → create `references/<theme>/` subfolders and atomic nodes; keep `graph: true`. If no → write all content directly in `SKILL.md`; set `graph: false`; stay under 500 lines per the [agentskills spec](../spec/agent-skills-spec.md). |
| 12 | +6. Add an entry to `.claude-plugin/marketplace.json` so the new skill is published as a Claude Code plugin. |
| 13 | +7. Add a CI required-files row in `.github/workflows/lint.yml` if you want CI to enforce its presence. |
| 14 | + |
| 15 | +## SKILL.md template |
| 16 | + |
| 17 | +Copy from the next line down through the end of this file into your new `skills/<my-new-skill>/SKILL.md`: |
| 18 | + |
| 19 | +```markdown |
| 20 | +--- |
| 21 | +name: my-new-skill |
| 22 | +description: Load when ___. One or two sentences describing the user queries that should trigger this skill. Use real phrasing, not workflow summary. Examples — "designing X", "reviewing Y", "asking Z". |
| 23 | +license: MIT |
| 24 | +metadata: |
| 25 | + author: YOUR_NAME |
| 26 | + version: "0.1.0" |
| 27 | + graph: false |
| 28 | +--- |
| 29 | + |
| 30 | +# my-new-skill |
| 31 | + |
| 32 | +## When to use this skill |
| 33 | + |
| 34 | +(Optional — usually the frontmatter description is enough. Add this section only if you want explicit decision-tree guidance for the agent.) |
| 35 | + |
| 36 | +## How to use this skill |
| 37 | + |
| 38 | +(For graph-style skills, this becomes a Map of Content section with wikilinks to atomic nodes.) |
| 39 | + |
| 40 | +## Body |
| 41 | + |
| 42 | +(Replace this section with the actual skill content. Be terse. Every sentence costs tokens in every session.) |
| 43 | + |
| 44 | +## Gotchas |
| 45 | + |
| 46 | +(Append-only list of failure cases. Each entry: `[YYYY-MM-DD] one-line description → fix in [[node-name]]`.) |
| 47 | + |
| 48 | +--- |
| 49 | + |
| 50 | +Built following the [Agent Skills specification](https://agentskills.io/specification). |
| 51 | +``` |
| 52 | + |
| 53 | +## Why TEMPLATE.md not SKILL.md |
| 54 | + |
| 55 | +The `skills.sh` CLI globs `**/SKILL.md` across the repo when discovering installable skills. A file at `template/SKILL.md` would appear in the install picker as a second skill candidate alongside the real one, which is confusing for installers. |
| 56 | + |
| 57 | +Naming this file `TEMPLATE.md` keeps the same starter content available to contributors while avoiding the false-positive in the CLI picker. |
| 58 | + |
| 59 | +## Related |
| 60 | + |
| 61 | +- [`AGENTS.md`](../AGENTS.md) — repo-level conventions when editing skills. |
| 62 | +- [`CONTRIBUTING.md`](../CONTRIBUTING.md) — PR conventions, node format, length targets, cross-model testing. |
| 63 | +- [`spec/agent-skills-spec.md`](../spec/agent-skills-spec.md) — full Agent Skills specification (offline mirror). |
0 commit comments