sprint-plan
Skill4 starsChanged 46 days agoMITView on GitHub
Plans a sprint — goal, capacity, story selection by priority and dependencies, risks, QA plan link; triages the dependency-update queue (Dependabot/Renovate PRs: green patch/minor merged at sprint start, majors become stories); writes production/sprints/sprint-NN.md and roadmap markers. Use at sprint start.
35 other projects use a version of this.
Adopted by
Most recently taken up by
- alunadev/ald-skillstheir own version, first seen Nov 8, 2026
- mehboobali98/rmine-skillstheir own version, first seen Nov 6, 2026
- striderZA/OpenCodeGameStudiostheir own version, first seen Nov 4, 2026
- yuusakuri/agent-skillstheir own version, first seen Nov 1, 2026
- daviszhen/agent-skillstheir own version, first seen Oct 25, 2026
- davidanthonyn/claude-skillstheir own version, first seen Oct 20, 2026
Used with
Projects with it also use balance-check, team-combat and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
CoralGameSkillbalance-check
Analyzes game balance data files, formulas, and configuration to identify outliers, broken progressions, degenerate strategies, and economy imbalances. Use after modifying any balance-related data or design.
Also in 5 projects that use this
CoralGameSkillteam-combat
Orchestrate the combat team: coordinates game-designer, gameplay-programmer, ai-programmer, technical-artist, sound-designer, and qa-tester to design, implement, and validate a combat feature end-to-end.
Also in 5 projects that use this
- +9 more from CoralGame
Other versions35 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 35
- Donchitos/Claude-Code-Game-Studios★ 27ksame name
- pixel-cellar/Claude-Code-Game-Studios★ 324same name
- striderZA/OpenCodeGameStudios★ 118same name
- faizkhairi/claude-code-blueprint★ 73same name
- tranhieutt/software_development_department★ 71same name
- cenconq25/claude-code-app-studio★ 40same name
- a-lottes/aSPARK★ 25same name
- CoralGame/Claude-Code-Game-Studios★ 19same name
- dawn840705/codex-code-studios★ 17same name
- CodePhobiia/claude-roblox-game-studio★ 9same name
25 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository52 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- testing/CLAUDE.mdCLAUDE.md
- a11y-auditSkill
- adoptSkill
- api-contractSkill
- architecture-decisionSkill
- architecture-reviewSkill
- backlogSkill
- brainstormSkill
- changelogSkill
- code-reviewSkill
- collaboration-protocolSkill
- create-storiesSkill
- data-modelSkill
- dependency-auditSkill
- deploySkill
- design-systemSkill
- dev-storySkill
- docsSkill
- feature-specSkill
- game-conceptSkill
- hardenSkill
- helpSkill
- hotfixSkill
- impactSkill
- incidentSkill
- initSkill
- migrateSkill
- pentestSkill
- perf-auditSkill
- product-specSkill
- qa-planSkill
- refactorSkill
- release-checklistSkill
- retrospectiveSkill
- security-auditSkill
- setup-stackSkill
- skill-improveSkill
- skill-testSkill
- sprint-statusSkill
- stack-updateSkill
- startSkill
- story-doneSkill
- team-featureSkill
- team-gameSkill
- team-releaseSkill
- team-securitySkill
- tech-debtSkill
- test-setupSkill
- threat-modelSkill
- updateSkill
- ux-specSkill
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 1 is distinctive, and 4 are very specific to this project.
0
Common
Most of the 34 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 21
Capacity and dates: ask now — days (unless --days gave them), hours per day, start date.
- Very specific: line 35
Record the gate: before asking: <hooks>session-state.sh set Task "/sprint-plan Phase 2" Gate "/sprint-plan Phase 2: merge #…?".
- Very specific: line 51
After the "write" answer: touch .claude/.write-consent (rule 7 — the consent-guard hook checks the marker).
- Very specific: line 61
Add a row for the new sprint (⏳ … active) to the roadmap's ## Docs → *production/sprints/* block and recalculate its <summary> count.
- Distinctive: line 67
When HEAD is a story branch, name it and offer: switch to the default branch and commit there (Recommended — a pipeline-wide document) · …
“Common” is measured: kept by at least 6 in 10 of the 34 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Sprint Plan
Reply in the project conversation language (CLAUDE.md → Language); code, identifiers, paths and commit messages stay in English.
Templates (.claude/docs/templates/): sprint-plan.md, roadmap.md. In the commands below, <hooks> is .claude/hooks/ in copy mode and ${CLAUDE_PLUGIN_ROOT}/hooks/ in plugin mode.
Phase 1: State
- Arguments: the sprint number
NN(default: the last sprint inproduction/sprints/+ 1);--days Nis read as the sprint length in working days — the same value step 6 would otherwise ask for, so with it only hours per day and the start date are asked. It is never a deadline or a number of stories. - The previous sprint is closed:
Status: closedin itsproduction/sprints/sprint-NN.mdheader. A file written before 0.13 has noStatus:line: it counts as closed when its roadmap block is folded in<details>, open otherwise (/migrate sprintsadds the line). Open → stop withBLOCKED (sprint NN open — run /retrospective NN first)and write nothing: the retrospective is the only writer of a sprint's close, and a plan that folds the previous block as a side effect leaves sprints open and stories counted in two blocks. A project with no sprint file yet is not blocked. - Ready stories (
production/stories/**). None → stop withBLOCKED (no Ready stories — run /create-stories)and write nothing. - Read: the roadmap (priority and blocker markers — the stories
/retrospectivecarried back to the Backlog are there with their🔥/⛔intact and compete like any other), the last sprint (retro actions),production/findings.md(open BLOCKING findings and their stories). - Backlog:
production/backlog.md→ one lineBacklog: N open ideas — /backlog review. An idea enters a sprint only after promotion, never from here. - Capacity and dates: ask now — days (unless
--daysgave them), hours per day, start date. Parameters are asked here, before any gate, never in the same message as one (rule 7: one turn, one gate). - Calibration, one sample worded identically in both skills: the last six closed stories of the roadmap that carry both
~Nhand⏱ Nh, whichever sprint they belong to./retrospectiveprints this same rolling ratio next to its own sprint-only one and labels which is which; two skills quoting different numbers under the same name is how a plan stops being trusted.- Ratio = Σ⏱ / Σ~, never rounded towards a nicer plan.
- Three or more such stories → apply it to this sprint's estimates (calibrated estimate =
~Nh× ratio) and show one line:Calibration: ratio R over N stories — capacity fits ~X h of estimates. - Fewer than three → "insufficient data, estimates taken as written".
Phase 2: Dependency queue
- Precondition:
ghexists and the repository has.github/dependabot.ymlorrenovate.json. Otherwise one line — "no update bot configured —/dependency-auditsets one up", or "nogh— dependency queue not checked" — and on to Phase 3. - List:
gh pr list --state open --author app/dependabot --json number,title,createdAt,mergeable,statusCheckRollup(Renovate:--author app/renovate). An empty queue is one line; go on to Phase 3. - Classify every PR from the command output, never from memory or the title alone:
- green and safe —
mergeable: MERGEABLE, every checkSUCCESSorSKIPPED, and the bump is a patch/minor of a library or any CI-action bump. A merge candidate at sprint start, not a story. - major — the first version component changes in the title (
from 4.2.2 to 7.0.1) or the PR body names a breaking change. A story (chore(deps), size S/M, layer from the manifest's directory) or deferred with a written reason in the plan; never merged here, never left open unmentioned (stack-reference/tooling-devops.md, Renovate/Dependabot). - red or conflicting — a failing check or
CONFLICTING. Stays open, named under risks, never merged.
- green and safe —
- Show the queue as a table: number · package · bump · checks · class · action.
- Record the gate before asking:
<hooks>session-state.sh set Task "/sprint-plan Phase 2" Gate "/sprint-plan Phase 2: merge #…?". A session that resumes with thisGate:open continues here: it merges or not, and never implements a story (rule 7). - Ask, alone in its message, one
AskUserQuestion: merge the green safe PRs now (Recommended) · turn them into one story · leave them. - After the answer: clear the gate (
<hooks>session-state.sh set Gate "—"). On "merge":gh pr merge <n> --squash, one PR at a time, with the output in the message. - Default-branch CI. After the batch,
gh run list --branch <default> --limit 1: the default branch's CI should be green before the first story branch starts. This skill reports that state — green, red or not run — in the message and, when red, under the plan's risks with the failing job; it does not enforce it: nothing here blocks the plan. The check that holds a story branch back on a red run lives in/dev-storyPhase 3 (the branch step runs the samegh run list --branch <default> --limit 1before creating the branch); fixing it is toolchain work (/hotfix --chore), named in the plan.
Phase 3: Selection
- The sprint goal as one verifiable statement.
- Stories by priority and dependencies, within capacity minus a 20 % buffer, using the calibrated estimates when the ratio applies. First the one that removes the biggest risk.
- Blockers and external dependencies (the roadmap's ⛔ markers) are named explicitly.
- Open BLOCKING findings: each one is either in the sprint (its story) or deferred with a written reason in the plan — never absent.
- Stories born from major bumps compete on priority like any other. One that unblocks the toolchain or the runner (a Node 24 action, a new Go toolchain) goes before the stories that need it.
Phase 4: Write
Its own turn — never on the merge answer.
- Show the plan rendered (rule 7), from
sprint-plan.md: the header with dates, capacity, review mode and the calibration ratio applied; the stories; risks and blockers; the## Dependency updatessection (what was merged, which majors became stories, what was deferred and why, what stays open red). - Gate, one
AskUserQuestion: "May I writeproduction/sprints/sprint-NN.mdand update the roadmap?" — write (Recommended) · show the draft/diff first · not now. - After the "write" answer:
touch .claude/.write-consent(rule 7 — the consent-guard hook checks the marker). - Write
production/sprints/sprint-NN.mdwithStatus: activein its header. - Update the roadmap per
templates/roadmap.md:- Move the selected stories: add them under a
## Sprint NN (YYYY-MM-DD → YYYY-MM-DD) — goalsubheading and remove them from the Backlog block in the same edit, never leaving them in both. A story counted twice makes every later count wrong. - Recalculate the
<summary>count of each block. - The sprint is the heading, never a
📅 sprint-NNmarker;📅carries ISO dates only. - Mark the active story ⏳ and the first one 🔥.
- Markers inline in the legend's order, IDs as inline links, no prose ordering.
- Refresh the
Updated:line. - The previous sprint's block is already folded by
/retrospective; this skill never edits it. - Add a row for the new sprint (
⏳ … active) to the roadmap's## Docs→ production/sprints/ block and recalculate its<summary>count.
- Move the selected stories: add them under a
- Close the write with the numbers:
Backlog: N → M, Sprint: 0 → K, overlap none.
Phase 5: Commit (documents lane)
Right after the write, one commit gate (rule 7 (4), .claude/docs/git-workflow.md § Documents): one AskUserQuestion offering docs: sprint NN, staging exactly the written files — production/sprints/sprint-NN.md and production/roadmap.md. Record the gate before asking — <hooks>session-state.sh set Gate "/sprint-plan Phase 5: commit?" — and clear it after the answer (<hooks>session-state.sh set Gate "—").
- On the default branch when no story work is in progress.
- When HEAD is a story branch, name it and offer: switch to the default branch and commit there (Recommended — a pipeline-wide document) · commit here (the document belongs to this story) · leave uncommitted.
- Code, configs, workflows and scripts never ride the
docs:commit; the Phase 2 merges are their own commits on the default branch already.
Nothing is committed without the answer.
Verdict: READY | BLOCKED (sprint NN open — run /retrospective NN first) | BLOCKED (no Ready stories — run /create-stories).
Next step — one AskUserQuestion: /qa-plan NN (Recommended) · /dev-story directly · revise the sprint. On BLOCKED: the command the verdict names (Recommended) · stop here.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

