diff --git a/.claude/skills/sprint-start/SKILL.md b/.claude/skills/sprint-start/SKILL.md index 541ccd0ec..cb5148525 100644 --- a/.claude/skills/sprint-start/SKILL.md +++ b/.claude/skills/sprint-start/SKILL.md @@ -288,24 +288,63 @@ Task( prompt: "You are on the {team} team for Sprint {N}. Branch: `{team}` - RULES: - - GIT: Do NOT run any git commands (commit, push, pull, merge, - checkout, branch, stash, tag, etc.). All git operations are - handled by the team lead. - - DB SCRIPTS: When calling ticket/sprint/sqlite scripts, use - the exact command with no wrappers or chaining. Examples: - db/connectors/ticket show 528 - db/connectors/ticket list --sprint {N} - Do NOT prepend python3, do NOT chain with && or ;, do NOT - add cleanup commands. Just the bare command. + RULES (NON-NEGOTIABLE): + + 1. GIT: Do NOT run any git commands (commit, push, pull, merge, + checkout, branch, stash, tag, etc.). All git operations are + handled by the team lead. No exceptions. + + 2. DB SCRIPTS: When calling ticket/sprint/sqlite scripts, use + the exact command with no wrappers or chaining. Examples: + db/connectors/ticket show 528 + db/connectors/ticket list --sprint {N} + Do NOT prepend python3, do NOT chain with && or ;, do NOT + add cleanup commands. Just the bare command. + + 3. READ BEFORE WRITE: Before modifying ANY file, Read it first. + Before creating a new file, Glob for similar files to learn + the existing patterns (naming, structure, imports). Follow + the conventions you find — do not invent new ones. + + 4. VERIFY AFTER WRITE: After implementing a change, grep for + all references to functions/properties/classes you modified + or removed. If you renamed, moved, or deleted something, + update EVERY call site. Missing a call site breaks tests + and blocks the team. + + 5. NO PARTIAL WORK: Do not mark a task completed unless ALL + parts of the ticket are implemented. If the ticket says + 'deliver A, B, and C', all three must exist and work. If + you cannot complete part of a task, message the team lead + explaining what is blocked and what remains — do NOT mark + it completed. + + 6. MESSAGE WHEN BLOCKED: If you hit a problem you cannot solve + in 3 attempts, stop and message the team lead immediately. + Do not silently skip work or leave stubs. Do not move to + the next task while the current one is incomplete. + + 7. BACKWARD COMPATIBILITY: When extracting, moving, or + refactoring code, ensure all existing consumers still work. + Add proxy methods/properties if needed. Grep for the old + name to find every call site. + + WORKFLOW: 1. Read the sprint briefing: docs/sprints/sprint-{N}/{team}.md 2. Read the decision files referenced in the briefing. 3. Check TaskList for available work. 4. Claim an unblocked task (TaskUpdate with owner: your name), mark it in_progress, and implement it. - 5. When done, mark the task completed and check TaskList for - the next available task. + 5. Before marking done, verify: + - All deliverables from the ticket exist (not just some) + - No broken references (grep for changed names/signatures) + - New files follow existing naming and directory conventions + - Modified files still parse (no syntax errors) + 6. Mark the task completed and check TaskList for the next + available task. + 7. If no tasks remain, message the team lead. Do NOT shut down + on your own. Use `db/connectors/ticket show ` for full ticket specs.", description: "Sprint {N} {team}: {name}",