diff --git a/.claude/skills/start-sprint/SKILL.md b/.claude/skills/start-sprint/SKILL.md index 3999e040d..541175d12 100644 --- a/.claude/skills/start-sprint/SKILL.md +++ b/.claude/skills/start-sprint/SKILL.md @@ -1,10 +1,12 @@ --- name: start-sprint description: > - Start sprint work on a team branch. Use when the user says "start sprint", - "start working on the server/client/copy", "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. + Start sprint work on a team branch, or close a sprint from main. Use when + the user says "start sprint", "start working on the server/client/copy", + "begin sprint", or invokes /start-sprint. On a team branch: merges main, + finds the active sprint, reads the briefing, presents the work plan. On + main: closes the active sprint, bumps the version (v0.1.N), updates the + changelog, tags, and pushes. user-invocable: true allowed-tools: Bash, Read, Grep, Glob, TeamCreate, Task, TaskCreate, TaskUpdate, TaskList, SendMessage, AskUserQuestion --- @@ -24,7 +26,68 @@ git branch --show-current ``` Valid team branches: `server`, `client`, `copy`, `audio`, `visual`, `ci`. -If on `main`, ask the user which team branch to check out first. + +If on `main`, follow the **Main branch workflow** below instead of +the team branch workflow (steps 2–8). + +--- + +## Main branch workflow (sprint close + version bump) + +When `/start-sprint` is run on `main`, it means the user wants to close +the current sprint, cut a version, and prepare for the next one. + +### M1. Close the active sprint + +```bash +db/connectors/sprint stop +``` + +This marks the active sprint as completed and lists carry-over candidates. +Note the sprint number (N) from the output. + +### M2. Bump the version + +The project version scheme is `v0.1.{sprint_number}`. After closing +sprint N, the version is `v0.1.N`. + +Update `CHANGELOG.md`: +- Move all entries under `## [Unreleased]` into a new section + `## [v0.1.N] — YYYY-MM-DD` (using today's date). +- Leave `## [Unreleased]` as an empty section above the new version. +- Keep the existing sub-headings (Added, Fixed, Changed, Removed) — + only move entries that have content. + +### M3. Commit the release + +Stage and commit `CHANGELOG.md`: +``` +chore(meta): release v0.1.N +``` + +### M4. Tag the release + +```bash +git tag v0.1.N +``` + +### M5. Push + +```bash +git push && git push --tags +``` + +### M6. Report + +Output a summary: +- Sprint closed (name, done/total tickets, carry-over count) +- Version tagged (`v0.1.N`) +- Carry-over candidates (if any) +- Suggest running `/plan-sprint` next to prepare the next sprint + +--- + +## Team branch workflow ### 2. Sync with main