Office Hours
Pre-coding product validation using forcing functions — clarify what to build and why before writing any code.
When to Use
Invoke with /office-hours when:
- Starting a new feature and want to validate the approach before coding
- Unclear requirements — need to sharpen the problem statement
- Multiple possible solutions and need to pick one deliberately
- Want to prevent building the wrong thing fast
- Before creating a technical plan or writing a contract
Process
Phase 1: Problem Statement
Force a clear articulation of the problem:
- What problem are we solving? — One sentence, no jargon
- Who has this problem? — Specific user type, not "users"
- How do they solve it today? — Current workaround or pain point
- How will we know it's solved? — Observable outcome, not a feature list
- What happens if we don't solve it? — Impact of inaction
Ask the user each question individually. Do not proceed until all 5 are answered clearly. If an answer is vague, push back with a specific follow-up.
Phase 2: Solution Validation
Challenge the proposed solution:
- Is this the simplest solution? — What's the minimum that solves the problem?
- What are we NOT building? — Explicit scope exclusions
- What assumptions are we making? — List them, then question each one
- What's the riskiest assumption? — The one that, if wrong, makes everything else moot
- How can we test the riskiest assumption first? — Smallest possible experiment
Phase 3: User Story / Spec
Generate a lightweight spec from the validated answers:
## Feature: [Name]
### Problem
[1 sentence from Phase 1]
### User
[Specific user type]
### Success Criteria
- [ ] [Observable outcome 1]
- [ ] [Observable outcome 2]
### Scope
**In scope:**
- [Feature aspect 1]
- [Feature aspect 2]
**Out of scope:**
- [Excluded aspect 1]
- [Excluded aspect 2]
### Assumptions
1. [Assumption] — Risk: Low/Medium/High
2. [Assumption] — Risk: Low/Medium/High
### Open Questions
- [Anything still unclear]Phase 4: Decision
Present the spec to the user and ask:
- "Does this accurately describe what we're building?"
- "Are there any missing success criteria?"
- "Should we proceed to planning, or refine further?"
Only after explicit user approval, suggest next steps:
/architecture-reviewfor complex features- Use the planner agent for implementation planning
- Jump straight to implementation if the scope is small and clear
Output Format
# Office Hours — [Feature Name]
## Problem Statement
**What**: [problem]
**Who**: [user type]
**Current state**: [how they solve it today]
**Success metric**: [how we know it's solved]
**Cost of inaction**: [what happens if we don't]
## Solution
**Approach**: [chosen solution]
**Simplest version**: [MVP description]
**Explicitly excluded**: [what we're NOT building]
## Assumptions & Risks
| # | Assumption | Risk | Validation |
|---|-----------|------|------------|
| 1 | Users want X | Medium | Can test with Y |
## Spec
[Generated spec from Phase 3]
## Recommendation
[Proceed to planning / Needs refinement / Spike first]Notes
- This is a thinking tool, not a documentation tool — the goal is clarity, not paperwork
- Push back on vague answers — "improve the user experience" is not a problem statement
- The one-question-at-a-time pattern is deliberate — it forces focused thinking
- If the user already has a clear spec, this skill may be unnecessary — say so
- Output feeds directly into the planner agent or
/architecture-review