193 lines
5.6 KiB
Markdown
193 lines
5.6 KiB
Markdown
---
|
|
name: ask-me
|
|
description: Guided plan creation through structured questions. Use when starting a new feature, task, or significant change to produce a production-ready plan before writing code.
|
|
---
|
|
|
|
# Ask Me — Guided Plan Creation
|
|
|
|
**Type:** Rigid — follow the question sequence exactly. Do not skip categories.
|
|
|
|
## When to Use
|
|
|
|
- User wants to plan a new feature or significant change
|
|
- User invokes `/ask-me`
|
|
- A task is complex enough that jumping straight to code risks wrong work
|
|
|
|
## When NOT to Use
|
|
|
|
- Trivial changes (typo fixes, single-line edits)
|
|
- The user has already provided a detailed, unambiguous specification
|
|
- Pure research or exploration tasks
|
|
|
|
## Goal
|
|
|
|
Gather structured requirements through incremental questions, then produce a clean, production-ready plan in markdown. The plan covers all critical dimensions so implementation can proceed without guesswork.
|
|
|
|
## Workflow
|
|
|
|
### Phase 1: Objective
|
|
|
|
Ask first. Establish what the user wants before anything else.
|
|
|
|
**Questions to ask (1-2 via AskUserQuestion):**
|
|
- What exactly should change? What is the desired end state?
|
|
- What should explicitly stay the same / not be touched?
|
|
|
|
**Template:**
|
|
```
|
|
1) What is the goal?
|
|
a) [Inferred option from context]
|
|
b) [Alternative interpretation]
|
|
c) Something else (describe)
|
|
|
|
2) What should NOT change?
|
|
a) Everything outside the target area (Recommended)
|
|
b) Specific exclusions: <list>
|
|
c) No constraints
|
|
```
|
|
|
|
Wait for answers before proceeding.
|
|
|
|
### Phase 2: Scope
|
|
|
|
Narrow down the boundaries.
|
|
|
|
**Questions to ask (1-3 via AskUserQuestion):**
|
|
- Which files, components, or services are in scope?
|
|
- Which layers are affected (UI, business logic, data, infrastructure)?
|
|
- Is this a new addition or a modification to existing behavior?
|
|
|
|
If a quick codebase scan can answer scope questions, do the scan instead of asking. Only ask what you cannot determine from the code.
|
|
|
|
### Phase 3: Acceptance Criteria
|
|
|
|
Define "done" concretely.
|
|
|
|
**Questions to ask (1-2 via AskUserQuestion):**
|
|
- How will we know this is complete? What does success look like?
|
|
- Are there edge cases or error scenarios to handle?
|
|
|
|
Offer specific criteria as options when possible:
|
|
```
|
|
What defines "done"?
|
|
a) [Specific measurable outcome] (Recommended)
|
|
b) [Alternative success definition]
|
|
c) Custom criteria (describe)
|
|
```
|
|
|
|
### Phase 4: Constraints
|
|
|
|
Identify technical boundaries.
|
|
|
|
**Questions to ask (1-3 via AskUserQuestion):**
|
|
- Compatibility requirements (versions, browsers, platforms)?
|
|
- Performance requirements (latency, throughput, size limits)?
|
|
- Dependencies — can we add new ones, or must we use what exists?
|
|
- Style or architectural patterns to follow?
|
|
|
|
Skip questions where the codebase or project docs already provide the answer. State the assumed constraint and move on.
|
|
|
|
### Phase 5: Architecture
|
|
|
|
Determine where this fits in the system.
|
|
|
|
**Questions to ask (1-2 via AskUserQuestion):**
|
|
- Where does this logically belong in the existing architecture?
|
|
- Does this require new abstractions, or does it extend existing ones?
|
|
|
|
Before asking, explore the relevant codebase areas. Present findings with your questions:
|
|
```
|
|
Based on the codebase, [component X] handles similar logic.
|
|
Should the new behavior:
|
|
a) Extend [component X] (Recommended)
|
|
b) Live in a new module alongside it
|
|
c) Replace [component X] entirely
|
|
```
|
|
|
|
### Phase 6: Risks
|
|
|
|
Surface potential problems before they happen.
|
|
|
|
**Questions to ask (1-2 via AskUserQuestion):**
|
|
- Are there data safety concerns (migrations, destructive operations)?
|
|
- What is the rollback strategy if this goes wrong?
|
|
- Could this break existing functionality?
|
|
|
|
Skip if the change is low-risk and isolated. State why you are skipping.
|
|
|
|
### Phase 7: Testing
|
|
|
|
Define the verification strategy.
|
|
|
|
**Questions to ask (1-2 via AskUserQuestion):**
|
|
- What testing approach fits? (unit, integration, e2e, manual)
|
|
- Are there specific scenarios that must be tested?
|
|
|
|
## Question Delivery Rules
|
|
|
|
1. **Use AskUserQuestion tool** for all questions — never ask in plain text
|
|
2. **1-4 questions per round** — do not overwhelm
|
|
3. **Always offer multiple-choice options** with a recommended default
|
|
4. **Include a fast-path** — "Reply `defaults` to accept all recommended choices"
|
|
5. **Wait for answers** before moving to the next phase
|
|
6. **Skip questions you can answer** from the codebase — state your assumption instead
|
|
|
|
## Plan Output
|
|
|
|
After gathering answers from all relevant phases, write the plan to the plan file.
|
|
|
|
**Plan structure:**
|
|
|
|
```markdown
|
|
# Plan: [Feature/Task Name]
|
|
|
|
## Context
|
|
[1-3 sentences summarizing what was agreed upon]
|
|
|
|
## Objective
|
|
[What changes, what stays the same]
|
|
|
|
## Scope
|
|
[Files, components, services affected]
|
|
|
|
## Files to Create / Modify
|
|
|
|
| File | Action | Purpose |
|
|
|------|--------|---------|
|
|
| path/to/file | Create/Modify/Delete | What and why |
|
|
|
|
## Implementation Steps
|
|
|
|
### Step 1: [Description]
|
|
- Specific changes to make
|
|
- Code patterns to follow
|
|
|
|
### Step 2: [Description]
|
|
...
|
|
|
|
## Acceptance Criteria
|
|
- [ ] [Criterion 1]
|
|
- [ ] [Criterion 2]
|
|
|
|
## Constraints
|
|
- [Constraint 1]
|
|
- [Constraint 2]
|
|
|
|
## Risks & Mitigations
|
|
- **Risk:** [Description] → **Mitigation:** [Strategy]
|
|
|
|
## Verification
|
|
1. [How to verify step 1]
|
|
2. [How to verify step 2]
|
|
3. [End-to-end verification]
|
|
```
|
|
|
|
**Output rules:**
|
|
- Markdown only — no JSON, no XML wrappers, no raw tool output
|
|
- Self-contained — a reader should understand the full plan without external context
|
|
- Actionable — each step describes concrete changes, not vague goals
|
|
|
|
## Integration
|
|
|
|
This skill gathers requirements. If `superpowers:writing-plans` is available, hand off to it for final plan formatting. If not, use the plan structure above directly.
|