From Superpowers
Understand what's being built by exploring the codebase, then record a sprint contract inline that locks the chosen approach for Phase 2+. No approval gate — the evaluator at Phase 2 and the post-commit `git show` diff are the quality surface.
How this command is triggered — by the user, by Claude, or both
Slash command
/superpowers:scope-alignmentbrainstorming/references/The summary Claude sees in its command listing — used to decide when to auto-load this command
# Scope Alignment ## Goal Understand what's being built by exploring the codebase, then record a sprint contract inline that locks the chosen approach for Phase 2+. No approval gate — the evaluator at Phase 2 and the post-commit `git show` diff are the quality surface. ## Explore Codebase First **Before recording the sprint contract**, build context from existing code: 1. **Find relevant files**: Match patterns (e.g., `**/*.ts`, `src/**/*.py`), search for similar implementations 2. **Review project context**: Check `docs/`, `README.md`, `CLAUDE.md`, run `git log --oneline -20` 3. **Ide...
Understand what's being built by exploring the codebase, then record a sprint contract inline that locks the chosen approach for Phase 2+. No approval gate — the evaluator at Phase 2 and the post-commit git show diff are the quality surface.
Before recording the sprint contract, build context from existing code:
**/*.ts, src/**/*.py), search for similar implementationsdocs/, README.md, CLAUDE.md, run git log --oneline -20Key Principle: Explore extensively, answer every question you can from codebase evidence, and only surface questions the user MUST answer (e.g., product intent the code can't reveal). The sprint contract is recorded inline and locks the scope without pausing.
Record a structured proposal inline in your turn output:
I explored [relevant files/patterns] and here is my understanding:
**Problem**: [What needs to be solved and why]
**Recommended approach**: [Your recommendation] because [rationale grounded in codebase]
**Alternatives considered**:
- [Option B]: [trade-off]. Not recommended because [reason].
- [Option C]: [trade-off]. Not recommended because [reason].
**Assumptions absorbed** (answered from codebase, surfaced for evaluator review):
1. [Question that could go either way] -- Resolved to [choice] because [codebase evidence]
2. [Question about edge case] -- Resolved to [choice] because [precedent in path/to/file]
I explored src/notifications/ and src/users/ and here is my understanding:
**Problem**: The payment system needs async processing to avoid blocking order creation.
**Recommended approach**: Event-driven pattern (like src/notifications/) because it
keeps payment decoupled from orders, handles failures gracefully, and follows existing
codebase conventions.
**Alternatives considered**:
- Synchronous API calls (like legacy /checkout): Simpler but tight coupling -- if
payment service is down, orders fail. We've had reliability issues with this approach.
**Key questions**:
1. Should we support multiple payment providers? Options: A) Single provider now,
B) Provider abstraction from the start
2. What's the retry policy for failed payments? Options: A) 3 retries with exponential
backoff, B) Dead letter queue for manual review, C) Both
Time vs. Space
Consistency vs. Availability
Clean Code vs. Performance
Dependency Management
npx claudepluginhub est7/dotclaude --plugin superpowers