Say whether a team can take the candidate Features for a named release, with both ledgers and the arithmetic that produced them. Read-only.
Route
Load workflows/plan-capacity.md. Run it when a team is choosing which
rhdh-X.Y-candidate Features to take for a release.
Boundary with the neighbouring skills
- Filling the next sprint — carryover, three-sprint velocity, ready queue —
is
/rhdh-jira-sprint-plan. This skill looks across remaining sprints to Code Freeze. - What is still open against the release, the PI funnel, and Feature readiness
are
/rhdh-release-status. That skill reports status; this one reports fit. - Milestone dates, including Code Freeze and Feature Freeze, are
/rhdh-release-schedule. - Team name to Cloud ID and board is
/rhdh-release-teams. - Board IDs, JQL, Team-field traps, roster GraphQL, and the Greenhopper
sprint-report seam are
/rhdh-jira-api. - What a T-shirt size means when writing an issue is
/rhdh-jira-authoring. This skill does not use that sprint-effort table for demand. Unsized T-shirts use a placeholder Fibonacci map in the script until a calibrated conversion exists. Never treat the Size field's 1–5 as story points.
Completion
Complete when both ledgers name the sample sprints, the remaining-sprint count
through Code Freeze (three-week slots unless the snapshot overrides
sprint_days), the meeting factor, and whether interrupt was retrieved; when
fillable planned capacity is shown separately from the interrupt reserve, and
required demand is fit against fillable rather than against mixed completed
work; when every candidate Feature is either estimated (Epic children, or a
T-shirt placeholder) or listed as unsized; when any T-shirt fallback ran, the
placeholder map is printed with the demand; and when stretch Features are
called out as first cuts. Report the JQL behind the sample and whether any
search was truncated. Say when story-point coverage is under 50% and the unit
switched to issue counts. Print the arithmetic so a 40% meeting haircut on
already-observed Jira velocity cannot hide. When interrupt was not retrieved,
say fillable is an upper bound and do not claim a 0% interrupt rate.