From 4eeaf72456651052ce1913e2433b74b2e2ea9300 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Thu, 19 Feb 2026 16:59:56 +0100 Subject: [PATCH] fix(skills): check sprint progress before closing in sprint-start Case A on main previously closed the active sprint immediately without checking ticket completion or open PR status. Now checks both and asks the user before proceeding. Co-Authored-By: Claude Opus 4.6 --- .claude/skills/sprint-start/SKILL.md | 33 +++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/.claude/skills/sprint-start/SKILL.md b/.claude/skills/sprint-start/SKILL.md index f9c26b0f5..957ea3886 100644 --- a/.claude/skills/sprint-start/SKILL.md +++ b/.claude/skills/sprint-start/SKILL.md @@ -45,7 +45,38 @@ Then follow the **first matching case**: ### Case A: An active sprint exists -The active sprint needs to be closed before moving on. +First, check whether the sprint's work is actually done: + +```bash +db/connectors/sprint status +``` + +This shows ticket counts by status (done, in_progress, backlog). + +Also check for open PRs that may contain completed work waiting for +review or merge: + +```bash +tea pr list --login schweitz --repo jpmschweitzer/settled-reach --state open --output simple +``` + +Report the full picture to the user: +- Ticket progress (done / in_progress / backlog counts) +- Open PRs (if any — these represent work that's done but not merged) + +**If tickets remain unfinished** (in_progress or backlog) **or open PRs +exist**, do NOT close the sprint. Instead, report the current progress +and ask the user what they want to do: + +- **Continue working** — switch to a team branch and run `/sprint-start` + there to resume work +- **Review & merge PRs first** — (only if open PRs exist) merge pending + work before deciding whether to close +- **Close anyway** — proceed with the close workflow below (carries over + unfinished tickets) + +Use `AskUserQuestion` to confirm. Do not proceed to A1 unless the user +explicitly chooses to close. #### A1. Close the active sprint