Files
leo-claude-mktplace/plugins/projman/skills/sprint-approval.md
lmiranda 2d51df7a42 feat(marketplace): command consolidation + 8 new plugins (v8.1.0 → v9.0.0) [BREAKING]
Phase 1b: Rename all ~94 commands across 12 plugins to /<noun> <action>
sub-command pattern. Git-flow consolidated from 8→5 commands (commit
variants absorbed into --push/--merge/--sync flags). Dispatch files,
name: frontmatter, and cross-reference updates for all plugins.

Phase 2: Design documents for 8 new plugins in docs/designs/.

Phase 3: Scaffold 8 new plugins — saas-api-platform, saas-db-migrate,
saas-react-platform, saas-test-pilot, data-seed, ops-release-manager,
ops-deploy-pipeline, debug-mcp. Each with plugin.json, commands, agents,
skills, README, and claude-md-integration. Marketplace grows from 12→20.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 14:52:11 -05:00

152 lines
3.4 KiB
Markdown

---
name: sprint-approval
description: Approval gate logic for sprint execution
---
# Sprint Approval
## Purpose
Defines the approval workflow that gates sprint execution.
## When to Use
- **Planner agent**: After creating issues, request approval
- **Orchestrator agent**: Before execution, verify approval exists
- **Commands**: `/sprint plan`, `/sprint start`
---
## Core Principle
**Planning DOES NOT equal execution permission.**
Sprint approval is a mandatory checkpoint between planning and execution.
---
## Requesting Approval (Planner)
After creating issues, present approval request:
```
Sprint 17 Planning Complete
===========================
Created Issues:
- #45: [Sprint 17] feat: JWT token generation
- #46: [Sprint 17] feat: Login endpoint
- #47: [Sprint 17] test: Auth tests
Execution Scope:
- Branches: feat/45-*, feat/46-*, feat/47-*
- Files: auth/*, api/routes/auth.py, tests/test_auth*
- Dependencies: PyJWT, python-jose
⚠️ APPROVAL REQUIRED
Do you approve this sprint for execution?
This grants permission for agents to:
- Create and modify files in the listed scope
- Create branches with the listed prefixes
- Install listed dependencies
Type "approve sprint 17" to authorize execution.
```
---
## Recording Approval
On user approval, update milestone description:
```markdown
## Sprint Approval
**Approved:** 2026-01-28 14:30
**Approver:** User
**Scope:**
- Branches: feat/45-*, feat/46-*, feat/47-*
- Files: auth/*, api/routes/auth.py, tests/test_auth*
- Dependencies: PyJWT, python-jose
```
---
## Verifying Approval (Orchestrator)
Before execution, check milestone for approval:
```python
get_milestone(repo="org/repo", milestone_id=17)
# Check description for "## Sprint Approval" section
```
### If Approval Missing
```
🔴 SPRINT APPROVAL NOT FOUND — BLOCKED
Sprint 17 milestone does not contain an approval record.
Execution cannot proceed without approval.
Required: Run /sprint plan first to:
1. Review the sprint scope
2. Get explicit approval for execution
To override (emergency only): /sprint start --force
This bypasses the approval gate and logs a warning to the milestone.
```
### If Approval Found
```
✓ Sprint Approval Verified
Approved: 2026-01-28 14:30
Scope:
Branches: feat/45-*, feat/46-*, feat/47-*
Files: auth/*, api/routes/auth.py, tests/test_auth*
Proceeding with execution within approved scope...
```
---
## Scope Enforcement
When approval exists, agents SHOULD operate within approved scope:
```
Approved scope:
Branches: feat/45-*, feat/46-*
Files: auth/*, tests/test_auth*
Task #48 wants to create: feat/48-api-docs
→ NOT in approved scope!
→ STOP and ask user to approve expanded scope
```
**Operations outside scope should trigger re-approval via `/sprint plan`.**
---
## Re-Approval Scenarios
Request re-approval when:
- New tasks discovered during execution
- Scope expansion needed (new files, new branches)
- Dependencies change significantly
- Timeline changes require scope adjustment
---
## Force Override
The `--force` flag bypasses the approval gate for emergency situations.
When `--force` is used:
1. Log a warning comment on the milestone: "⚠️ Sprint started without approval via --force on [date]"
2. Proceed with execution
3. The sprint close will flag this as an audit concern
**Do NOT use --force** as standard practice. If you find yourself using it regularly, the planning workflow needs adjustment.