skills/create-skill/SKILL.md
Guides the agent through creating a new Agent Skill from scratch. Use when the user wants to build a skill, create a new skill, scaffold a skill directory, or author a SKILL.md. Do NOT use for optimising or rewriting existing skills — use 'optimise-skill' for that. Do NOT use for editing files that are already part of a skill. Do NOT use for creating non-skill content like documentation, scripts, or project files.
npx skillsauth add laitszkin/apollo-toolkit create-skillInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
6-phase workflow: Discover → Design → Plan → Build → Validate → Deliver.
skill-name/
├── SKILL.md # Behavioural guidance (how to think, what to check)
├── scripts/ # Deterministic, fragile operations (tested code)
├── references/ # Look-up material, loaded on demand
└── assets/ # Output templates, structure only
Every piece of content belongs in exactly one layer:
No mixing layers is the most common new-skill mistake.
Match instruction tightness to task fragility:
See references/degrees-of-freedom.md for the full decision tree.
The description field is the only metadata the agent sees to decide
whether to load a skill. Never summarise the workflow — describe what the
skill does and when to use it, not how it works.
See references/anti-patterns.md for bad/good examples.
Collect answers before writing anything.
1a — Five Core Questions
Ask the user:
1b — Degrees of Freedom
For each operation, determine instruction tightness by asking:
Use references/degrees-of-freedom.md for the decision tree.
Before building anything, show the user what the skill will look like.
2a — Mock Dialogue
Construct a 3–4 turn dialogue: user triggers the skill → agent responds, including one edge case (missing input, failure recovery). Format:
User: <realistic trigger request>
Agent: <expected response>
User: <follow-up or edge case>
Agent: <handling or final output>
Present to the user: "Is this the interaction you expect?"
3a — Classify Every Element
| Bucket | When to use | |--------------|------------------------------------------------| | SKILL.md | Behavioural guidance (principles, steps, checks) | | scripts/ | Deterministic, fragile operations | | references/ | Look-up material (schemas, CLI flags, API docs) | | assets/ | Output templates, structure only |
One item → one bucket. No mixing.
3b — Design Directory
proposed-name/
├── SKILL.md
├── scripts/ # only if Step 3a produced script items
├── references/ # only if Step 3a produced reference items
└── assets/ # only if Step 3a produced asset items
Minimal viable skill: just SKILL.md.
4a — Scaffold
mkdir -p skills/<skill-name>/{scripts,references,assets}
rmdir <empty-dirs>
Or use scripts/init-skill.sh <skill-name> with optional --with-* flags.
4b — Write SKILL.md
Use assets/skill-template.md for structure. Rules:
name matches directory name (lowercase + hyphens, < 64 chars)description follows CSO Rule — concrete triggers + negative triggers## Gotchas section with environment-specific factsreferences/schema.md for structure"4c — Write Supporting Files
{{placeholder}} tokens. No instructions or rules.Run these checks in order. Fix failures before proceeding.
5a — Discovery Validation
Present the frontmatter to yourself: "Based on this name + description, generate 3 prompts that SHOULD trigger this skill and 3 that should NOT. Critique the description and propose revisions if needed."
Fix the description if it produces false positives/negatives.
5b — Simulated Execution
Walk through the SKILL.md step-by-step as an agent running it. Flag any line where you'd have to guess or hallucinate. Clarify those instructions.
5c — Edge Case Attack
Ask: "What if a referenced file is missing? Input violates assumptions? Script fails mid-execution?" Fix gaps found.
5d — Structural Checks
Run python scripts/validate-skill.py skills/<skill-name> if available.
Manually verify:
Show the user:
optimise-skill for a token-efficiency pass✅ Skill created: skills/<name>/
<name>/
├── SKILL.md — <N> lines, core workflow + gotchas
├── scripts/ — <what scripts do>
├── references/ — <what references cover>
└── assets/ — <what templates provide>
Example: "The script was extracted because JSON parsing is fragile when written from scratch. Reference material was split out to keep SKILL.md under 200 lines."
scripts/,
references/, or assets/ when they have actual files.description frontmatter field.
Don't add a "When to Use" section in the body.name must match the directory name (lowercase, hyphens, < 64 chars).
If they diverge, some agents won't load the skill.references/spec.md — agentskills.io spec summaryreferences/anti-patterns.md — common skill-writing mistakes with fixesreferences/degrees-of-freedom.md — decision tree for instruction tightnessassets/skill-template.md — structure template for the generated SKILL.mdscripts/validate-skill.py — structural validation for generated skillsscripts/init-skill.sh — scaffold an empty skill directorydevelopment
Guides the agent through creating a new Agent Skill from scratch. Use when the user wants to build a skill, create a new skill, scaffold a skill directory, or author a SKILL.md. Do NOT use for optimising or rewriting existing skills — use 'optimise-skill' for that. Do NOT use for editing files that are already part of a skill. Do NOT use for creating non-skill content like documentation, scripts, or project files.
development
Review a pull request — interactive PR selection via `gh`, 4-dimension code review (hallucinated code, architecture, performance, test validity), then post severity-graded comments with fix suggestions on the PR. Not for spec-based review — use `review` instead.
tools
協助完成自動化版本發佈。同步文檔、更新版本號、推送 tag 並建立 GitHub Release。
development
Incrementally refresh the architecture atlas when the project diagram drifts from actual code. Measures drift before updating to determine scope, then updates the base atlas and re-renders HTML.