agentleFS
EndogenAIEndogenAI/dogma/.github/skills/sprint-planning/SKILL.md

sprint-planning

Skill2 starsChanged 8 months agoApache-2.0View on GitHub

Reviews all open GitHub issues, clusters them by theme and priority, proposes a coherent next sprint with selected issues, creates or updates the sprint milestone, and scaffolds a workplan in docs/plans/. USE FOR: end-of-sprint planning sessions; when the backlog has grown and needs a structured next-sprint proposal; before any multi-week work commitment. DO NOT USE FOR: triaging individual new issues (use Issue Triage agent); planning a single research epic (use research-epic-planning skill); writing individual workplan phases without a backlog review.

23 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use sprint-review and retrospective.

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.
  • nobufumi-tegoSkill

    sprint-review

    スプリント終了時に実行。DoD確認・デプロイ・CLAUDE.md更新・レトロ記録を行う。

    Also in 4 projects that use this

  • MicrosoftSkill

    retrospective

    Review how work went and improve the next round. USE WHEN asked for a retro, delays, or process lessons. DO NOT USE for code review or transcript replay.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

7 rules. 0 are common, 4 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 17 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill when:

    line 56
  2. Very specific:

    Read the most recent docs/plans/*.md to understand the prior sprint's scope and what carried over.

    line 104
  3. Very specific:

    Write a ## Sprint Planning Backlog section in the scratchpad.

    line 110
  4. Very specific:

    Write a ## Sprint Proposal — <Sprint Name> section in the scratchpad.

    line 144
  5. Distinctive:

    After the proposal is reviewed (self-loop or human confirmation), apply changes:

    line 199
  6. Distinctive:

    Commit the workplan before execution begins:

    line 241
  7. Distinctive:

    After the workplan is committed:

    line 251

“Common” is measured: kept by at least 6 in 10 of the 17 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Sprint Planning

This skill enacts the Endogenous-First axiom from MANIFESTO.md: before proposing any new sprint, the agent reads the full open-issue backlog, existing milestones, and prior workplans — so the sprint is scaffolded from known committed context, not invented interactively. Sprint planning discipline is governed by AGENTS.md § Sprint Phase Ordering Constraints and § Agent Communication → docs/plans/. When this skill and those documents conflict, the primary documents take precedence.

Canonical workplan template: docs/plans/2026-03-08-value-encoding-fidelity.md


Beliefs & Context

This skill implements the sprint-planning workflow as a repeatable procedure for the Executive PM and Executive Planner.

Used by:

  • Executive PM — owns milestone creation, issue assignment, label taxonomy
  • Executive Planner — owns phase decomposition and workplan authoring
  • Executive Orchestrator — delegates when user requests "plan the next sprint"

Foundation documents:

  • AGENTS.md — sprint ordering constraints and commit discipline
  • docs/guides/github-workflow.md — labels, milestones, gh CLI patterns
  • docs/plans/ — prior workplans as canonical templates
  • data/labels.yml — canonical label taxonomy

1. When to Use This Skill

Use this skill when:

TriggerDescription
User requests a sprint plan"Plan the next sprint", "what should we work on next?"
Current milestone is ≥ 80% closedTime to scope the next sprint
Backlog has ≥ 5 unlabelled or unmilestoned open issuesHygiene pass required before planning
A major new capability was deliveredLogical sprint boundary

2. Read the Current State

Step 2a — Scratchpad

ls .tmp/
# Read today's scratchpad if it exists

Step 2b — Open Issues

# All open issues with labels, milestone, body
gh issue list --state open --limit 100 \
  --json number,title,labels,milestone,body,createdAt,updatedAt \
  | jq '.[] | {number, title, labels: [.labels[].name], milestone: .milestone.title, age_days: ((now - (.createdAt | fromdateiso8601)) / 86400 | floor)}'

Step 2c — Milestone Overview

gh milestone list --state open
gh milestone list --state closed --limit 5

Step 2d — Recent Merged PRs (since last sprint)

git --no-pager log --oneline --merges -20

Step 2e — Prior Workplans

ls -lt docs/plans/ | head -10

Read the most recent docs/plans/*.md to understand the prior sprint's scope and what carried over.


3. Cluster and Classify the Backlog

Write a ## Sprint Planning Backlog section in the scratchpad. For each open issue:

FieldSource
#numbergh issue list
titlegh issue list
type: labelExisting label or inferred from title
priority: labelExisting label or inferred from urgency signals
effort: labelXS / S / M / L / XL estimate
area: labelCodebase domain touched
clusterTheme grouping (see below)
milestoneAlready assigned or backlog

Cluster taxonomy (assign one per issue):

ClusterExamples
scriptingNew scripts, script fixes, script tests
agentsAgent file changes, fleet additions/removals
docsGuide updates, research docs, AGENTS.md
ciGitHub Actions, pre-commit hooks, automation
researchOpen questions, synthesis docs, source caching
pmLabels, milestones, CHANGELOG, community health
infrapyproject.toml, deps, .envrc, cookiecutter

Priority signals:

  • priority:critical / priority:high → must-have for this sprint
  • priority:medium → include if sprint capacity allows
  • priority:low / no priority → candidates for backlog milestone

4. Propose the Sprint

Write a ## Sprint Proposal — <Sprint Name> section in the scratchpad.

Sprint Name Convention

Sprint NNN — <theme> (<YYYY-MM-DD>)

Where NNN is the next sequential sprint number derived from existing milestones:

gh milestone list --state all --json title | jq '.[].title' | grep -i sprint | sort | tail -1

Sprint Proposal Template

## Sprint Proposal — Sprint NNN — <theme>

**Target start**: <date>
**Target end**: <date (typically 2 weeks)>
**Capacity**: <S/M/L — rough estimate of available effort>

### Must-Have (priority:high or priority:critical)
| # | Title | Type | Effort | Cluster |
|---|-------|------|--------|---------|
| #N | ... | ... | ... | ... |

### Should-Have (priority:medium, fits capacity)
| # | Title | Type | Effort | Cluster |
|---|-------|------|--------|---------|
| #N | ... | ... | ... | ... |

### Defer to Backlog
| # | Title | Reason |
|---|-------|--------|
| #N | ... | priority:low / blocked / out of scope |

### Sprint Total Effort: <XS×N + S×N + M×N ...>

### Milestone Name: Sprint NNN — <theme>

### Workplan slug: sprint-NNN-<theme-slug>

Capacity Guidelines

CapacityMaximum effort units (XS=1, S=2, M=3, L=5, XL=8)
S (light sprint)≤ 10
M (normal sprint)≤ 20
L (heavy sprint)≤ 30

5. Apply Labels and Milestone

After the proposal is reviewed (self-loop or human confirmation), apply changes:

# Create the sprint milestone
gh milestone create --title "Sprint NNN — <theme>" --due-date "<YYYY-MM-DD>"

# Assign issues to milestone
gh issue edit <number> --milestone "Sprint NNN — <theme>"

# Apply missing labels
gh issue edit <number> --add-label "priority:high,type:feature,area:scripts"

Pre-use validation before each gh issue edit:

gh issue view <number> --json number,title,labels,milestone | jq '{number, title, labels: [.labels[].name], milestone: .milestone.title}'

Verify-after-act:

gh issue list --milestone "Sprint NNN — <theme>" --json number,title,labels

6. Scaffold the Workplan

Once the milestone is confirmed, scaffold a workplan:

uv run python scripts/scaffold_workplan.py sprint-NNN-<theme-slug> \
  --issues "<comma-separated issue numbers>" \
  --ci "Tests,Auto-validate"

The scaffolded workplan is at docs/plans/YYYY-MM-DD-sprint-NNN-<theme-slug>.md.

Open it and fill in:

  1. Objective section — one paragraph describing the sprint arc
  2. Phase Plan — one phase per cluster (not per issue); assign agents and deliverables
  3. Acceptance Criteria — what "sprint complete" means (all issues closed, CI green, CHANGELOG updated)

Commit the workplan before execution begins:

git add docs/plans/YYYY-MM-DD-sprint-NNN-<theme-slug>.md
git commit -m "docs(plans): scaffold Sprint NNN workplan"

7. Close the Planning Session

After the workplan is committed:

  1. Write a ## Sprint Planning Summary section in the scratchpad.
  2. Post a comment on each selected must-have issue with:
    Added to Sprint NNN — <milestone name>. Workplan: docs/plans/YYYY-MM-DD-sprint-NNN-<slug>.md
  3. Return to Executive Orchestrator with the sprint proposal.

Completion Criteria

Sprint planning is done when:

  • All open issues have at least one type: and one priority: label
  • A sprint milestone exists for the proposed sprint
  • All must-have issues are assigned to the sprint milestone
  • Defer-to-backlog issues have backlog milestone or priority:low label
  • docs/plans/YYYY-MM-DD-sprint-NNN-<slug>.md is committed
  • Scratchpad contains ## Sprint Proposal and ## Sprint Planning Summary sections
  • Each selected issue has a sprint-assignment comment
  • Verify-after-act passes: gh milestone list --state open shows the new sprint

Anti-Patterns

Anti-PatternWhy It FailsFix
Proposing a sprint without reading open issues firstPlans from memory miss unlabelled 'dark' issuesAlways run Step 2b before Step 4
Assigning every issue to the sprintOverloads capacity; sprint failsEnforce capacity limits from Step 4
Creating milestone before proposal is confirmedHard to undo; confuses the boardPropose first (Step 4), create milestone after confirmation (Step 5)
Skipping the workplan scaffoldSprint loses structural coherence after day 1Step 6 is mandatory before execution
Using gh issue create for triage notesBloats issue trackerWrite triage notes in scratchpad; only create issues for genuine new work items

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.