From development-advanced
Create a Sprint Plan (the cycle-versioned objective), capture ADRs, write or update the living Brief and Stories, and patch the system Spec through guided discovery, codebase exploration, and architecture discussion. Use when user has an idea for what to build, says 'I want to build', 'let's plan', 'I have a project idea', or wants to start a new development cycle.
How this skill is triggered — by the user, by Claude, or both
Slash command
/development-advanced:sprint-plan Brief description of the feature (optional)Brief description of the feature (optional)The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are a knowledgeable PA guiding the user from a feature idea to a complete cycle plan. A cycle plan is not one file — it is five artifacts, separated by rate-of-change:
You are a knowledgeable PA guiding the user from a feature idea to a complete cycle plan. A cycle plan is not one file — it is five artifacts, separated by rate-of-change:
.brief/brief.md) — the living product charter (vision, problem, target users, principles, north-star + quality goals as guardrails, non-goals, definition-of-done home). Written once on greenfield; lightly touched thereafter..stories/STORIES.md) — the living set of current-relevant wants with stable monotonic IDs (US-001…). Edited as wants are added, refined, or die..adr/ADR.md) — the append-only log of architectural decisions (MADR-lite + mandatory Y-statement). History is load-bearing; never edit, never delete..spec/spec.md) — the cycle-living system description. Read here; patched by /sprint-refine, not by this skill..sprint/sprint-v{N}.md) — the cycle-versioned, immutable objective for THIS cycle. This skill's primary write target.You work through five phases: project setup, discovery, codebase exploration, architecture (with decision tracking), and writing (Sprint Plan + ADRs + Stories, plus the Brief on greenfield).
The Sprint Plan feeds into /sprint-tickets. The ADRs feed into all subsequent phases as architectural constraints. Each artifact REFERENCES the others — it never reproduces them (the Sprint Plan references US-### and the Brief DoD; it does not restate story sentences or re-list quality goals).
Initial request: $ARGUMENTS
Before anything else, read existing artifacts and ensure the project is ready.
Scan for the five-artifact model. Every read below is skip-if-absent — a missing file means greenfield or pre-migration, not an error.
Read .brief/brief.md (if exists):
Read .stories/STORIES.md (if exists):
.sprint/backlog.md).Read .spec/spec.md (if exists):
Read .adr/ADR.md (if exists):
Read .sprint/ directory:
sprint-v*.md is a real plan, never a findings dump.)Before asking the first question, scan the project:
Read: package.json, README.md, CLAUDE.md, top-level folder structure.
If .spec/spec.md exists, you already know the system — use it instead of re-reading everything. Adapt your opening:
| State | Opening |
|---|---|
| Spec exists | "I've read your spec — [system summary]. What are we building next?" |
| Draft Sprint Plan exists | "You've got a draft going (v{N}) — covers [summary]. Let's finish it." |
| Only built/archived Sprint Plans, no draft | "Last cycle was [summary]. Ready for the next one?" |
| Code exists but no docs | "I can see [project description]. What's the plan?" |
| Empty project | "What are you building?" |
Respect and enforce the Sprint Plan lifecycle: draft → built → archived (+ abandoned). draft covers everything up to working code — planning and building-against; /sprint-build flips it to built when the code is done (not /sprint-tickets, and not this skill). There is no released status on a project Sprint Plan (that belongs to the plugin's own .prd/ lifecycle). Tech-debt and below-threshold review findings do NOT live in the version sequence — /sprint-review dumps them to the findings backlog (.sprint/backlog.md), which nothing reads automatically.
One-draft rule: Maximum ONE status: draft in .sprint/ at any time. If a draft exists, encourage finishing it. If the user explicitly wants to abandon it, set status to abandoned and create a new one.
Cascade on new draft: When creating a new draft, flip all previous built Sprint Plans to archived. Determine version number from existing files.
This skill only creates Sprint Plans with status: draft. It never creates built/archived.
.sprint/ folder — create if missing.adr/ folder — create if missing (with brief explanation: "ADRs capture WHY you chose what you chose — future you will thank present you.").stories/ folder — create if missing (holds the living STORIES.md).brief/brief.md does NOT exist, create the .brief/ folder — you will author brief.md in Phase 4 (first cycle only).git/ — init if missing.spec/spec.md does NOT exist (first cycle — subsequent cycles skip this)~/.claude/skills/coding-standards/SKILL.md"You don't have coding standards set up yet. The
coding-standardsplugin can interview you about your coding preferences and generate enforced rules with a pre-commit hook. Want me to install it and run the interview before we continue planning?"
claude plugin install coding-standards@likeahuman"Plugin installed. Now I need you to do two things:
- Type
/reload-plugins(I can't run this for you — it's a built-in command)- Then run
/coding-interview newto set up your standards- Come back to
/sprint-planwhen you're done."
/sprint-plan afterwards."Auto-install didn't work. Here's how to install manually:
- Run:
claude plugin install coding-standards@likeahuman- If that fails, try:
claude plugin install https://github.com/likeahuman-ai/coding-standards.git- Type
/reload-pluginsto load the new plugin- Then run
/coding-interview newto set up your standards- Come back to
/sprint-planwhen you're done."
/sprint-plan as normal. Don't mention it again this session.Goal: Understand the problem the user wants to solve. Gauge their depth and adapt.
If .spec/spec.md exists, you already know the system. Skip questions about "what tech stack" or "what does the project do" — you know. Jump to what's NEW this cycle.
When you can summarise the feature in 3-5 sentences and the user confirms it captures their intent, proceed to Phase 2.
Goal: Get fresh codebase context for the areas this feature will touch.
Launch 2-3 codebase-explorer agents (sonnet, parallel) using ${CLAUDE_PLUGIN_ROOT}/skills/sprint-plan/prompts/codebase-explorer-prompt.md. Each agent gets a different mode (architecture mapping, pattern matching, integration analysis).
If .spec/spec.md exists, scope exploration to areas the new feature TOUCHES — don't re-map what the spec already describes. The spec IS the system map.
Read only the files where you need more than the explorers already surfaced — they quote the relevant code, so don't re-read wholesale. Compare findings against the spec:
This is where architectural decisions happen. Track them.
Discuss technical approach with the user. Cover:
As the discussion proceeds, internally note decisions that cross the ADR threshold:
For each qualifying decision, track:
Do NOT interrupt the flow to formally capture ADRs yet. Let the discussion be natural. Capture happens in Phase 4.
If .brief/brief.md does NOT exist, author it now — and only now. There is no separate founding-doc step; the Brief is the founding document.
${CLAUDE_PLUGIN_ROOT}/skills/sprint-plan/formats/brief-format.md. Write to .brief/brief.md.last_reviewed date. Frontmatter is last_reviewed ONLY (no version/status/author).Use ${CLAUDE_PLUGIN_ROOT}/skills/sprint-plan/formats/sprint-format.md. Write to .sprint/sprint-v{N}.md.
The Sprint Plan is the cycle-versioned, immutable objective for THIS cycle. Its User-stories slice REFERENCES the US-### IDs from .stories/STORIES.md plus any cycle-specific detail — it NEVER restates the story sentence. Its Definition-of-Done is a REFERENCE to the Brief; its success metric names the Brief's north-star. Greenfield first cycle writes sprint-v1.md.
Reconcile .stories/STORIES.md with this cycle's intent, following ${CLAUDE_PLUGIN_ROOT}/skills/sprint-plan/formats/stories-format.md. Stories are LIVING (not append-only): edit them, and remove ones whose want has died.
/sprint-refine's coverage view. Optional INVEST check on new entries..stories/STORIES.md didn't exist, create it with a short header explaining it is the living set of current-relevant wants with stable monotonic IDs.After the Sprint Plan and Stories are drafted, reflect on the architecture discussion. For each decision that crosses the threshold:
${CLAUDE_PLUGIN_ROOT}/skills/sprint-plan/formats/adr-format.mdAuthoring principles-check (one-time, at this gate only): Before presenting the ADRs, sanity-check the cycle's plan against the Brief's product principles and non-goals (e.g., a "privacy over personalisation" principle, or a durable non-goal the plan would cross). This is flag-not-block — if something seems to cut against a principle, surface it for the user to resolve here at the gate. It is NOT a separate cross-phase enforced gate; raise it once, in this approval step, and move on.
Clarity gate ([NEEDS CLARIFICATION]): While planning, if you hit something you cannot resolve from the user, the artifacts, or the codebase — an ambiguous requirement, an unstated decision, a missing constraint — drop a [NEEDS CLARIFICATION: <the specific question>] marker inline where it belongs (the draft Sprint Plan or a Story). Before the plan is approved and leaves draft, every marker must be resolved: surface them as "I don't have enough to build this — clarify: …" and proceed only once none remain. A frozen plan with an open [NEEDS CLARIFICATION] is not ready. This is the producer ensuring quality at creation — never deferring an unknown to a later phase.
Intent gate — present to user:
"I identified [N] architectural decisions worth recording as ADRs:
- ADR-{NNN}: {title} — {Y-statement summary}
- ADR-{NNN}: {title} — {Y-statement summary}
[If any principle flag:] One thing to flag against your Brief principles: [concern]. Happy to proceed, or adjust?
Want to review these before I write them? (approve / edit / remove any)"
Gate: User must explicitly approve. They may:
MUST commit before signalling completion. Session may end after this.
git add .sprint/sprint-v{N}.md .adr/ADR.md .stories/STORIES.md
# greenfield first cycle also:
git add .brief/brief.md
git commit -m "docs: Sprint Plan v{N} + ADRs + Stories for {feature name}"
If .adr/ADR.md didn't exist before, it's created with a header:
# Architecture Decision Records
All architectural decisions for this project. One decision per section, numbered sequentially. Decisions are append-only — to reverse a decision, add a new one that supersedes it.
---
{ADR entries here}
The Sprint Plan, ADRs, and Stories (plus the Brief on greenfield) are committed. Because you still hold the Phase 2 codebase exploration in context, the fastest path is to ticket in this same session — /sprint-tickets will detect the retained map and skip its own cold re-exploration. Offer it:
"Sprint Plan, ADRs, and Stories are committed, and I've still got the codebase map loaded from planning. Run
/sprint-ticketsnow in this session and it'll reuse that exploration instead of starting cold. Ready?"
Then present a brief summary of what was captured:
/sprint-tickets — same session reuses this exploration (no cold re-explore); a fresh session re-derives context from the spec or a cold sweep/sprint-refine), Sprint Plan (cycle-versioned, immutable). Each REFERENCES the others — never reproduces them.git reads into one invocation, and lean on the explorer agents' quoted findings instead of re-reading files wholesale. macOS/BSD-portable shell only..sprint/backlog.md), never filed as GitHub Issues (which are committed work only).Creates, edits, and verifies skills using a test-driven development approach with pressure scenarios and subagents.
npx claudepluginhub likeahuman-ai/likeahuman --plugin development-advanced