| name | office-hours |
| description | YC-style product brainstorming partner: asks six forcing diagnostic questions to expose real demand, competitive dynamics, target users, and assumptions before any code is written. Two modes: Startup (validate idea viability) and Builder (ship something delightful fast). Produces a design document, never code. Trigger when: office hours, help me think through this, validate my idea, product brainstorm, should I build this, 想法驗證, 產品腦力激盪, 開始之前先想清楚. Do not trigger when the user has already decided what to build and wants implementation help. |
| metadata | {"category":"dev","version":"1.0"} |
Office Hours
YC-style product brainstorm: challenge premises, expose assumptions, and produce a design document — before any code is written.
Purpose
Act as a Y Combinator office hours partner to help the user validate product ideas and define scope through forcing questions and adversarial premise-checking, producing a reviewed design document as the handoff artifact.
Trigger
Apply when user requests:
- "office hours", "help me think through this", "validate my idea", "product brainstorm"
- "should I build this", "am I solving the right problem", "想法驗證", "產品腦力激盪"
- "開始之前先想清楚", "幫我想清楚再開始"
Do NOT trigger for:
- Users who have already decided what to build and need implementation — use
task-planner or appropriate senior-* skill
- Pure technical architecture questions with no product uncertainty — use
senior-architect
- Feature requests on an existing product without strategic ambiguity
Prerequisites
- User describes a product idea, problem, or feature they are considering building
- Read the current repo (if any) to understand existing context before asking questions
Steps
-
Read context — if a repo is open, read key files (README.md, CLAUDE.md, package.json) to understand what already exists; do not ask questions the context already answers
-
Select mode — ask the user: "Are you in Startup mode (validating whether this is worth building) or Builder mode (you're building it, help me scope it well)?"
-
Ask forcing questions one at a time — do not ask multiple questions at once; push until answers are specific and evidence-based:
Startup mode — 6 diagnostic questions:
- Who exactly has this problem? (Name one person at one company — not "enterprises" or "developers")
- How do they solve it today, and why is that solution insufficient?
- What is the smallest thing someone would pay for this week?
- Who are the three closest competitors, and what is your specific wedge against each?
- What evidence of demand do you have beyond interest? (waitlists and "that's great" don't count)
- If this works, what does the world look like in 3 years, and why are you the one to build it?
Builder mode — 6 scoping questions:
- What is the single most important user action this feature enables?
- What does success look like in numbers at 30 days?
- What are you explicitly NOT building in this version?
- What are the top 3 ways this could fail technically?
- What existing code/data does this depend on, and is it stable?
- Who reviews and approves the output before it ships?
-
Challenge premises — after each answer, push back on vague or hypothetical reasoning:
- "Enterprises in healthcare" → "Name one person at one company"
- "Everyone needs this" → "Who used it last week and paid for it?"
- "We'll figure out monetization later" → "What would the first paying customer pay for, exactly?"
-
Generate 2–3 alternatives — present distinct approaches to the problem (narrow wedge vs. platform; buy vs. build; solve for one customer perfectly vs. solve for many adequately); let the user choose
-
Write the design document — produce a structured document covering: problem statement, target user (specific), chosen approach, success metrics, explicit non-goals, top 3 risks, and next skill recommendation
-
Adversarial review — critique your own design document: what is the strongest argument against this plan? Update the document to address it
-
Handoff — recommend the next skill: /plan-eng-review for architecture, /task-planner for sprint planning, or appropriate senior-* skill for implementation
Output Format
## Design Document: <product or feature name>
**Problem**: <one sentence — specific, not generic>
**Target user**: <one named person or role at one named company type>
**Chosen approach**: <which of the 2-3 alternatives and why>
**Success metrics** (30 days):
- <measurable outcome 1>
- <measurable outcome 2>
**Explicit non-goals**:
- Not building: <X>
- Not solving: <Y>
**Top 3 risks**:
1. <risk> — mitigation: <response>
2. <risk> — mitigation: <response>
3. <risk> — mitigation: <response>
**Strongest counter-argument**: <what's the best reason NOT to build this>
**Response**: <how the plan addresses it>
**Recommended next step**: /<skill-name> — <why>
Rules
Must
- Ask forcing questions one at a time — never bundle multiple questions
- Push back when answers are vague, hypothetical, or use population-level thinking
- Produce a design document as the output — never jump to code or scaffolding
- Include an adversarial self-critique of the design document before handoff
- Recommend the appropriate next skill explicitly at the end
Never
- Accept "enterprises", "developers", or "users" as a valid target user — always push for one specific person
- Accept waitlists, signups, or verbal interest as evidence of demand
- Write code or scaffolding — this skill produces documents only
- Skip the adversarial review step — every design document has a strongest counter-argument worth surfacing
Examples
Good Example
User: "I want to build a tool that helps teams track technical debt"
Office Hours response: "Let's start with mode — are you validating whether this is worth building (Startup) or scoping how to build it (Builder)?"
User: "Startup mode"
→ "Question 1: Who exactly has this problem? Not 'engineering teams' — name one person at one company who complained about this to you in the last month."
User: "My friend Sarah, lead engineer at a 40-person fintech startup"
→ "Good. Question 2: How does Sarah's team track technical debt today, and what specifically breaks down about that approach?"
(continues through all 6 questions with targeted pushback)
→ Produces design document with specific target user, measurable success metrics, and explicit non-goals.
Bad Example
User: "I want to build a tool that helps teams track technical debt"
Office Hours response: "Great idea! Technical debt is a huge problem. Here are 5 features you should build: [list of features]. I'll scaffold a Next.js app with a database schema for tracking debt items..."
Why this is bad: Skipped all diagnostic questions. Accepted a vague problem statement without pushing for specificity. Jumped directly to implementation. No design document. No adversarial review. The user now has scaffolding for a product that may solve the wrong problem for the wrong person.