plugins/teamcraft-auto/skills/plan-iteration/SKILL.md
Plan a time-boxed iteration (sprint, cycle, milestone) from the backlog and the PRD/roadmap behind it — gather the goal, the window, and the team's real capacity, then select, sequence, and size a committed set of work items to fit. Writes an `iteration` label onto each chosen work item. Use when the user says 'plan a sprint', 'plan the next iteration', 'plan our cycle', 'sprint planning', 'iteration planning', 'plan the next two weeks', 'set up a milestone', 'what should we take on this sprint', 'plan from the PRD', or otherwise wants to commit a scoped, time-boxed batch of work rather than create issues one at a time. This is the planning layer between requirements and the build loop — distinct from create-issue (one item) and pick-next-issue (pick one to build now).
npx skillsauth add codingthefuturewithai/claude-code-primitives teamcraft-auto:plan-iterationInstall 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.
A backlog is a pile of work. An iteration is a decision: for the next fixed window, with the people and time you actually have, here is the one goal you're committing to and the specific, sequenced set of work items that serves it. This skill runs that decision with the developer — and writes the result onto the work items as a durable iteration label, so the rest of Teamcraft (the build loop, the work board, project status, retros) can see what's committed.
This is deliberately more than walking the feature list and calling create-issue N times. Planning is a conversation the feature list can't have on its own:
Read references/example-iteration-plan.md first — it shows the planning conversation, the proposed plan, and exactly what gets written to the work items.
Two parts, each with a single source of truth — nothing is stored twice:
iteration: value in its frontmatter — a label the developer chooses (2026-S24, onboarding-v2, cycle-3; their scheme, not ours). An item with no iteration: field is simply unassigned..teamcraft/iterations/<label>.md, holding the iteration-level facts that don't belong on any one item: the goal, the window (start/end), capacity, and status (active/closed). Structured frontmatter, so status and retros can read it directly.The iteration file does not list its members — membership is derived by scanning item frontmatter for the label, the same one-way principle Teamcraft uses for relationships (blocked_by is stored; blocks is computed on read). One source of truth each means the two can't drift. Create .teamcraft/iterations/ on first use if it isn't there.
Iteration planning isn't one situation. Ask which this is, because the flow differs:
project-status for the live read).Works at any project state — a polished PRD with a roadmap, or nothing but a verbal goal in an empty repo. Assume nothing exists; offer to create what's missing.
.teamcraft/work/, read INDEX.md and the items. Note each item's status, priority, effort, blocked_by, and any iteration label already set — so you carry over unfinished work and never double-assign an item that's mid-flight..teamcraft/iterations/. An active one tells you what's currently committed, its goal, and what's still unfinished to carry forward. None is fine — this may be the first.started/completed dates, they reveal the team's real pace. Use that to sanity-check capacity rather than guessing — but it's context, not a gate.Gather the collective context the feature list can't supply. Keep it conversational, not an interrogation:
The developer owns all three. Your job is to make the trade-offs visible, not to decide for them.
From the candidate work items, propose a set that serves the goal and fits capacity:
blocked_by that is neither already done nor sequenced earlier in this same iteration. Order the set so blockers land before the work they gate.effort estimates as a guide and apply judgment — the goal is a set the team can actually finish with a little air, not a stuffed list that slips. Name what you're leaving out and why. Remember each item carries Definition-of-Done overhead (../references/definition-of-done.md) — tests and docs, not just feature code — so an estimate that counts only the feature work will overcommit.../references/work-item-standard.md) — title, why, acceptance criteria, priority, effort, iteration set from the start — sourced from the goal and the relevant PRD sections. Show them to the developer for review alongside the rest of the plan, then write and commit them. No stubs, no lighter version, and never hand item creation back to the developer to do separately — drafting these to standard is part of planning.Show the full plan before writing anything: the goal, the window, the ordered item list with efforts, the total against capacity, and what you deliberately left out (and why). The developer adjusts — add, drop, reorder, resize — until they approve. Assign nothing until they say yes; planning proposes, the developer commits.
On approval:
iteration: <label> in the frontmatter of every item in the set. Edit existing items; on items you just created for this iteration, include it from the start. Don't touch items that aren't in the iteration..teamcraft/iterations/<label>.md — frontmatter with the goal, start/end, capacity, and status: active; a short prose statement of the goal in the body. Don't list members here; they're derived from the item labels. Keep it light — no certification stamp (iteration files are operational planning artifacts, like work items, not captured knowledge).active one already exists, ask whether to mark it status: closed. Carry any unfinished items forward deliberately (see the constraint below) rather than stranding them under a closed label.chore(2026-S24): plan iteration).This skill plans an iteration. It does not author requirements (capture-requirements), capture architecture or tech decisions (capture-technical-design), implement work (build-issue), or pick the single next item to build right now (pick-next-issue). It does create the iteration's work items to the work-item standard when they don't exist yet — that's part of planning, not a separate step the developer runs. create-issue remains the standalone entry point a developer reaches for when they already have a one-off feature or bug in mind, outside planning. If the conversation drifts, note it and redirect.
Confirm the iteration label, the goal, the window, and the items assigned. Point to the natural next steps: /pick-next-issue or /build-issue <id> to start building, and /work-board or /project-status to track the iteration as it runs.
development
Launch (or re-launch) the user's live, multi-project work board. The dashboard is a single HTML file copied to a stable user-side location at ~/.claude/teamcraft-board.html and opened in the user's default browser. It has two views via a header toggle — a drag-and-drop Kanban Board and a live Status tab with analytics (work by status, throughput, cycle time, aging, blocked chains, recomputed on every poll). Each project is added via a header dropdown; the dashboard polls each project's .teamcraft/work directly from the browser and updates in real time. Use when the user says 'show me the kanban', 'work board', 'open the board', 'board view', 'kanban view', 'live dashboard', 'visual dashboard', 'live status dashboard', 'status dashboard', 'project metrics', 'throughput/cycle-time view', 'HTML view of work items', 'drag-and-drop board', or asks to see/move/track work visually.
development
Run a retrospective — AI compiles evidence from recent work, facilitates human reflection, and captures process decisions back into living docs. Use when the user says 'run a retro', 'let's do a retrospective', 'run a retrospective on the last 2 weeks', 'let's reflect on how that feature went', or 'time for a retro'.
development
Re-evaluate what Claude needs to be told about this project as the codebase evolves. Some gotchas become obvious from the code (remove them). New gotchas emerge. Decisions change. Use when the user says 'refresh the rules', 'update Claude's context', 'are the rules still accurate', 'clean up claude rules', or after significant codebase changes.
development
Report project status from work items and git history — either as a quick, interpreted read here in the session, or by pointing the developer to the live Status dashboard (the work board's Status tab). Covers work by status, what's in flight, cycle times, throughput, backlog priorities, aging alerts, blocked chains, and how commit activity lines up with the board. Use when the user says 'project status', 'show me the project status', 'what's the status of the work items', 'how are we doing', 'generate a status report', or asks for a status dashboard.