Spec-First Planning
SkillProductivitySpec-first planning: task breakdown, measurable acceptance criteria, dependency order, risk priority. planner-csk applies it; the plan goes to docs/PLAN.md. Use when the scope is unclear or the work spans more than one change.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Spec-First Planning skill
What this skill tells your AI
The instructions your AI receives, as published by byerlikaya/claude-starter-kit in plugin/skills/spec-planning/SKILL.md and read by ahel’s review.
Trigger phrases: "plan", "spec", "task breakdown", "acceptance criteria", "roadmap", "how do we split this"
Before writing code: what will be done, how it counts as "done", and in what order to proceed become clear.
Steps
- Purpose & scope: the problem being solved in a single sentence; also write the out-of-scope explicitly (prevent scope creep).
- Split into vertical slices: the smallest end-to-end working pieces (not horizontal layers). Each slice delivers value on its own.
- A contract for every task: input · output · measurable acceptance criterion (testable) · estimated risk.
- Dependency graph: which task waits on what; no cycles. Bring the riskiest/most-unknown to the front (fail-fast).
- Uncertainties: assumption list + open questions; do not fill ambiguous spots with a guess, ask with explicit options.
Output (docs/PLAN.md)
# <Feature> — Plan
## Acceptance criteria
- [ ] <measurable outcome>
## Tasks (order)
1. <task> — criterion: <...> — dependency: <none/#n> — risk: <low/medium/high>
## Assumptions / Open questions
- ...
Mark what you do not know — do not fill it in
Where a requirement admits more than one reading, write the marker [NEEDS CLARIFICATION: <the question>] at
that exact spot in the plan. Do not resolve it with the likeliest interpretation and move on.
This is the difference between a discipline and a hope. "Stop and ask when unsure" (§1) depends on noticing the uncertainty in the moment; a marker survives into the artifact, where the user, a reviewer and a later session can all see it. A plausible assumption silently written into a spec is indistinguishable from a decision, and that is exactly how the wrong feature gets built correctly.
Rules that keep it honest:
- The marker carries the question, not the label.
[NEEDS CLARIFICATION: does an expired invite count as used, or can it be re-sent?]is actionable;[NEEDS CLARIFICATION: invites]is noise. - A plan may ship with markers — that is the point. It may not ship with a marker inside an acceptance criterion: a criterion nobody can evaluate is not a criterion.
- Resolve by asking, never by choosing. When the user answers, replace the marker with the answer and record which reading was rejected — the alternative is what a future reader needs.
- Zero markers on a genuinely ambiguous brief is a smell, not a win.
DoD (this skill's contribution)
- Every task's "done" is testable; ordering and dependencies are visible; the riskiest work has been brought to the front.
- Every unresolved ambiguity carries a
[NEEDS CLARIFICATION: …]marker; no acceptance criterion contains one.
Signals
- GitHub stars
- 22
- Forks
- 4
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
spec-planning- Source
- github.com/byerlikaya/claude-starter-kit