diff --git a/.claude/skills/start-sprint/SKILL.md b/.claude/skills/start-sprint/SKILL.md new file mode 100644 index 000000000..4cb9329f2 --- /dev/null +++ b/.claude/skills/start-sprint/SKILL.md @@ -0,0 +1,82 @@ +--- +name: start-sprint +description: > + Start sprint work on a team branch. Use when the user says "start sprint", + "start working on the server/client", "begin sprint", or invokes /start-sprint. + Merges main into the team branch, finds the active sprint, reads the sprint + briefing, and presents the work plan with ticket details. +user-invocable: true +allowed-tools: Bash, Read, Grep, Glob +--- + +# Start Sprint Skill + +Prepare a team branch for sprint work: sync with main, load the sprint +briefing, and present actionable next steps. + +## Workflow + +### 1. Determine the team branch + +If the user provided a branch name as argument, use it. Otherwise use the +current branch (`git branch --show-current`). Valid team branches: `server`, +`client`. + +If on `main`, ask the user which team branch to start. + +### 2. Sync the branch + +```bash +git fetch --all +git checkout +git merge origin/main --no-edit +``` + +If the merge has conflicts, report them and stop — do not force-resolve. + +### 3. Find the active sprint + +```bash +db/connectors/ticket sprint --active +``` + +Extract the sprint ID and name from the JSON output. If no active sprint, +report that and stop. + +### 4. Read the sprint briefing + +Read `docs/sprints/sprint-N/.md` where N is the sprint ID and team +matches the branch name. If the branch is `server` or `client`, use that +directly. For other branches, check if a matching briefing exists. + +Also check for a `joint.md` briefing — joint tasks involve both teams and +should be mentioned. + +### 5. Load ticket details + +For each ticket listed in the briefing, run: +```bash +db/connectors/ticket show +``` + +Identify which tickets are actionable now (no open blockers) vs blocked. + +### 6. Read key decisions + +Read the decision files referenced in the sprint briefing so the agent has +full architectural context before starting work. + +### 7. Present the work plan + +Output a summary: +- Sprint name and goal +- Branch status (clean merge or conflicts) +- Actionable tickets (unblocked, ready to start) +- Blocked tickets (and what blocks them) +- Key decisions loaded +- Suggested first task (lowest ID unblocked ticket) + +Then mark the first actionable ticket as `in_progress`: +```bash +db/connectors/ticket status in_progress +```