| name | sprint-contract |
| description | Negotiates 'done' criteria between Generator, Evaluator, and architect-lead before implementation begins. Converts subjective goals into testable, gradable criteria with clear domain responsibilities. |
| user-invocable | true |
Sprint Contract Skill
You are facilitating the Sprint Contract negotiation process. Your role is to guide the Generator, Evaluator, and architect-lead to agree on what "done" means before any implementation begins.
Purpose
A Sprint Contract prevents:
- Ambiguous success criteria
- Moving goalposts during development
- Self-evaluation bias (Generator grading their own work)
- Unclear domain responsibilities
Contract Flow
Generator proposes contract -> architect-lead reviews architecture -> Evaluator reviews testability -> Negotiation -> Agreement -> Implementation -> Evaluation
Negotiation Workflow
Phase 1: Contract Proposal (Generator)
- Read the product spec or feature requirements
- Identify the scope for this sprint (one feature at a time)
- Identify domain specialists needed
- Propose a contract with:
- Clear scope boundaries
- Testable behaviors (user-facing, verifiable)
- Acceptance criteria (pass/fail conditions)
- Architecture decision section
- Specialist assignments
- Responsibility matrix
- Write proposal to
sprint-contract.md
Phase 2: Architecture Review (architect-lead)
- Read the proposed contract
- Evaluate architecture decisions:
- Are domain boundaries correct?
- Are cross-domain interfaces defined?
- Is the specialist assignment appropriate?
- Write feedback with specific concerns
- Either: APPROVE_ARCHITECTURE, REQUEST_CHANGES, or REJECT with rationale
Phase 3: Contract Review (Evaluator)
- Read the proposed contract
- Evaluate each criterion:
- Is it testable? (Can I verify this objectively?)
- Is it complete? (Does it cover the feature?)
- Is it unambiguous? (No room for interpretation)
- Write feedback with specific concerns
- Either: APPROVE_TESTABILITY, REQUEST_CHANGES, or REJECT with rationale
Phase 4: Negotiation Loop
- If REQUEST_CHANGES: Generator revises contract
- architect-lead re-reviews architecture
- Evaluator re-reviews testability
- Repeat until both APPROVE
- Record all negotiation points in the contract log
Phase 5: Implementation
Once approved:
- Generator implements against the contract
- Generator delegates to specialists as defined in contract
- No scope changes without re-negotiation
- Document any discoveries that affect criteria
Phase 6: Evaluation
- Evaluator tests each criterion
- Grade: PASS/FAIL with evidence
- Generate evaluation report
- If FAIL: Specific action items for iteration
Contract Template Structure
# Sprint Contract: [Feature Name]
## Scope
- What: [Feature description]
- In Scope: [Specific items included]
- Out of Scope: [Specific items excluded]
## Architecture Decision (NEW in v2.0)
- architect-lead: [Name]
- Specialists Involved: [Table of specialists, tasks, domain scope]
- Cross-Domain Boundaries: [Interface and event definitions]
## Testable Behaviors
### [Category]
- [ ] B1.1: [Description] | Owner: [specialist]
## Acceptance Criteria
| ID | Criterion | Pass Condition | Fail Condition | Priority | Owner |
|----|-----------|----------------|----------------|----------|-------|
## Responsibility Matrix (NEW in v2.0)
| Criterion | Responsible | Fallback |
|-----------|-------------|----------|
## Negotiation Log
| Round | Party | Action | Notes |
|-------|-------|--------|-------|
Three-Party Interaction Protocol
Generator Responsibilities
- Propose realistic, achievable criteria
- Be specific about what will be built
- Identify required specialists upfront
- Accept feedback constructively
- Revise based on reviewer concerns
- Do not inflate scope during implementation
architect-lead Responsibilities (NEW in v2.0)
- Review domain boundaries
- Validate cross-domain interfaces
- Ensure specialist assignments are appropriate
- Identify architectural risks
- Approve architecture decisions
Evaluator Responsibilities
- Be skeptical, not generous
- Identify missing test coverage
- Ensure criteria are objectively verifiable
- Find edge cases, not just happy paths
- Do not approve ambiguous criteria
Communication Rules
- All negotiation happens in the contract file
- Each party signs off with their agent name
- No implementation until all three parties approve
- Contract changes require re-approval from all parties
Good vs Bad Criteria
Good Criteria (Use These)
- "User can complete signup in under 3 clicks with no errors"
- "API returns 404 for non-existent resources"
- "Form validation shows specific error messages within 100ms"
- "Button hover state has 150ms transition"
Bad Criteria (Avoid These)
- "Good UX" (too vague)
- "Fast performance" (not measurable)
- "Works correctly" (circular definition)
- "User-friendly interface" (subjective)
Running This Skill
When invoked, this skill will:
- If no contract exists: Guide Generator to propose a new contract
- If contract pending architecture review: Prompt architect-lead to review
- If contract pending testability review: Prompt Evaluator to review
- If negotiation in progress: Continue the negotiation loop
- If contract approved: Signal readiness for implementation
Usage
/sprint-contract [feature-name]
Or automatically invoked when Generator begins work on a new feature.