skills/artifact-anatomy/SKILL.md
--- name: artifact-anatomy description: Defines where spec-driven working artifacts — the spec (e.g. `SPEC.md`), the plan, and the task list (e.g. `tasks/plan.md`, `tasks/todo.md`) — live on disk under `docs/specs/<id>-<slug>/`, and how those directories are numbered, scoped, and resolved so multiple specs can run in parallel without overwriting one another. Use this BEFORE creating, locating, or updating any spec, plan, or task/todo file: whenever a spec/plan/build workflow writes these artifac
npx skillsauth add shihyuho/skills skills/artifact-anatomyInstall 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.
Spec-driven workflows produce working artifacts — a spec, a plan, and a task list — that are living documents kept in version control as the shared source of truth between the human and the agent. This skill defines their on-disk layout, numbering namespace, and resolution rules so that several specs can be worked in parallel, each scoped to its own numbered feature directory, instead of overwriting a single global spec file at the repo root.
It governs the where and the naming. It does not govern the what: writing the spec content and breaking work into tasks are separate concerns handled by your spec and planning workflows.
Workflow-agnostic. Examples use the common
SPEC.md+tasks/plan.md+tasks/todo.mdartifact set, but the same layout applies to whatever spec/plan/task files your toolchain produces — substitute your own filenames.
When NOT to use: Deciding what content goes in the spec, plan, or task list. This skill only decides where artifacts live and how they are addressed.
One feature per numbered directory under docs/specs/. The directory contents are unchanged from a single-spec layout — same filenames, same content — only their location moves:
docs/specs/
142-payment-retry/
SPEC.md
tasks/
plan.md
todo.md
draft-search-revamp/
SPEC.md
tasks/
plan.md
todo.md
The artifact filenames keep their exact names and structure. The only new thing is the docs/specs/<id>-<slug>/ wrapper that scopes them to one feature.
The <id> prefix marks where the work is tracked, and the two forms are kept strictly separate so a glance at docs/specs/ is unambiguous:
142-payment-retry) — a real issue-tracker issue number. Reserved exclusively for issue numbers.draft- prefix (draft-search-revamp) — no issue yet; a local draft. Never give a local-only spec a bare number.When a draft later gets an issue number, rename the directory in one step:
git mv docs/specs/draft-search-revamp docs/specs/160-search-revamp
This keeps the guarantee that a bare number always maps to a tracker issue, while letting work start before any issue exists.
Resolve <id> in order, stopping at the first that applies:
#142 mentioned in context → use that number: docs/specs/142-payment-retry/.docs/specs/draft-<slug>/.Do not auto-detect the issue tracker (scanning branch names, running gh issue list). That is out of scope — rely on the supplied reference plus the single question.
docs/specs/<that>/.docs/specs/*/:
tasks/ if the project still uses one (see Backward compatibility)A root spec file (e.g. SPEC.md) with its tasks/ directory is treated as the single, unnumbered default feature. Projects that have only ever had one spec keep working with no change; the numbered docs/specs/<id>-<slug>/ layout is opt-in and only needed once a second spec enters progress.
| Rationalization | Reality |
|---|---|
| "There's only one spec, a root spec file is fine." | Today there's one. The moment a second spec starts, the root spec collides and one overwrites the other. The numbered directory costs nothing now and prevents the collision later. |
| "I'll just give the local spec a number, close enough." | Bare numbers are reserved for real issue numbers. A fake number breaks the one guarantee the namespace provides — that a number maps to a tracker issue. Use draft-. |
| "I can tell which feature they mean." | When multiple docs/specs/* directories exist, guessing risks editing the wrong feature's artifacts. List them and ask. |
| "I'll auto-detect the issue from the branch name." | Auto-detection is explicitly out of scope and adds fragile coupling. Ask the one question instead. |
tasks/ to the repo root while another spec is already in progressdocs/specs/3-foo/) that has no corresponding tracker issueAfter resolving artifact locations, confirm:
docs/specs/<id>-<slug>/ directorydraft-development
Write a short author's briefing to hand to a code reviewer whose agent already has its own review skill, so it supplies the context that skill can't see instead of repeating how to review. Right after you finish a piece of work, it mines this session (and any kickoff implementation-notes) for what the reviewer most needs flagged — the easy-to-miss changes, the parts you're least sure about, the looks-wrong-but-intentional bits, and the blast radius — plus the exact commit range to review. Use when you've just finished work and want to hand the review off to another agent, chat, or teammate, when you want a "heads-up for the reviewer", or when packaging a change for review elsewhere. It does not perform the review and does not re-specify severity tiers or output format — that's the reviewer's own skill's job.
testing
Use when creating, rewriting, pruning, or reviewing `AGENTS.md` or `CLAUDE.md`, especially to remove repo summaries, stale rules, and other low-signal global instructions. Trigger when deciding what belongs in always-on agent files versus a task-specific skill.
development
Drive a structured tutoring workflow that turns Claude into a learning onramp accelerator — consultative diagnosis → custom syllabus → unit-by-unit guided lessons with notes/whiteboard → dynamic adjustment from an accumulating learner profile. Use when the user states a learning goal ("I want to systematically learn X", "teach me Y", "help me prep for Z exam"), uploads study materials and asks for a course plan, or signals sustained guided study (mentions tutor, syllabus, course, lessons, study plan, curriculum, 家教, 學習路徑). Skip for one-shot factual Q&A or quick code-context explanations.
tools
Produce a TL;DR of a given target. Use when the user asks for a tldr, tl;dr, or quick summary of anything.