diff --git a/.claude/skills/pr-push/SKILL.md b/.claude/skills/pr-push/SKILL.md index 4b5b26afe..c1e241140 100644 --- a/.claude/skills/pr-push/SKILL.md +++ b/.claude/skills/pr-push/SKILL.md @@ -134,6 +134,14 @@ Report which tickets were moved to review. Skip tickets that are already `done`, `review`, `cancelled`, or `backlog` (only transition `in_progress` → `review`). +### 9. Next steps + +If a sprint team is active (you are the team lead), do NOT shut down +agents after pushing. The team should remain alive for PR review and +potential comment fixes. + +Suggest: "PR created/updated. Run `/pr-review` to review before merge." + ## Arguments If the user passes arguments (e.g., `/pr-push "my title"`), use them as the diff --git a/.claude/skills/pr-review/SKILL.md b/.claude/skills/pr-review/SKILL.md index c1a64523c..c072787cb 100644 --- a/.claude/skills/pr-review/SKILL.md +++ b/.claude/skills/pr-review/SKILL.md @@ -203,6 +203,22 @@ tea pr close --login schweitz --repo jpmschweitzer/settled-reach Gitea does **not** auto-close PRs when you push a local merge — always close manually with `tea pr close` after pushing. +### 8. Post-review team actions + +If a sprint team is active and you are the team lead, handle the +review outcome: + +**CHANGES_REQUESTED:** +The sprint-start lifecycle (step 9c) handles dispatching review +comments to agents. After presenting results, remind the lead: +"Review requested changes. Create tasks from the warnings/critical +issues and dispatch to idle agents, then re-push and re-review." + +**APPROVED:** +The sprint-start lifecycle (step 9c) handles shutdown. After +presenting results, remind the lead: "Review approved. Proceed with +team shutdown per sprint-start step 9c." + ## Tips from practice - **Vendor code**: Explicitly note vendor code in the prompt so reviewers focus diff --git a/.claude/skills/sprint-start/SKILL.md b/.claude/skills/sprint-start/SKILL.md index e8b390ef4..541ccd0ec 100644 --- a/.claude/skills/sprint-start/SKILL.md +++ b/.claude/skills/sprint-start/SKILL.md @@ -325,3 +325,57 @@ Output to the user: You are now the team lead. Agents work autonomously — monitor via `TaskList`, communicate via `SendMessage`, and handle blockers as they arise. + +**When all tasks complete:** Do NOT shut down agents. The team stays +alive through the PR review cycle. Follow step 9 (post-work lifecycle). + +### 9. Post-work lifecycle + +When all tasks are complete (TaskList shows all completed): + +#### 9a. Commit and push + +Run `/git-commit` to commit all changes, then `/pr-push` to create or +update the PR. Do NOT shut down agents — the team stays alive for review. + +#### 9b. Review + +Run `/pr-review` to spawn temporary reviewers. Wait for results. + +#### 9c. Handle review outcome + +**If CHANGES_REQUESTED:** + +1. Parse the review comment table (from the Gitea PR comment or the + review output). Extract each warning/critical issue with: + - File path and approximate line + - Severity (critical / warning / suggestion) + - Description + +2. Create a task per warning/critical issue: + ``` + TaskCreate( + subject: "Review: {short description}", + description: "{full issue description from review table, including + file path, severity, and reviewer name}", + activeForm: "Fixing review comment: {short description}" + ) + ``` + Skip suggestion-severity items unless they are trivial (1-line fixes). + +3. Dispatch to idle agents: send each a message via SendMessage telling + them to check TaskList for new review-fix tasks. Agents claim and + work tasks as usual. + +4. After all review-fix tasks are complete, re-run `/git-commit` then + `/pr-push` to update the PR. Then re-run `/pr-review`. + +5. Repeat this loop until review returns APPROVED. + +**If APPROVED:** + +1. Send `shutdown_request` to all sprint agents. +2. Wait for all `shutdown_response` confirmations. +3. Call `TeamDelete` to clean up. +4. Report: "Sprint {N} {team} complete. PR #{X} approved and ready for + merge on main."