chore(skills): add start-sprint skill
Syncs team branch with main, finds the active sprint, reads the sprint briefing, loads ticket details and key decisions, then presents an actionable work plan with suggested first task. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -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 <branch>
|
||||
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/<team>.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 <id>
|
||||
```
|
||||
|
||||
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 <id> in_progress
|
||||
```
|
||||
Reference in New Issue
Block a user