---
name: plan-question
description: Generate a user-requested number of concise clarification questions before planning or implementation, optionally with a short AI-proposed answer or hypothesis under each question; also save the questions to a temporary Markdown file under ~/Desktop/plans and open it in Sublime Text for easy answering. Use when the user wants discovery questions, requirement-gathering questions, task-scoping questions, or paired question-plus-AI-option prompts before any checklist, design, coding, or execution starts. When the task involves an existing codebase, inspect related code first and use multiple agents for parallel code reading where possible before asking the questions.
---

# Plan Question

Ask the number of numbered questions the user requested in a single message.
Collect missing information first. When requested, add a short AI option under each question to show a tentative answer, hypothesis, or likely direction.

## Sublime answer draft

For every normal use of this skill, after composing the final question set and before sending the final response:

1. Create a temporary Markdown file under `~/Desktop/plans`, not in the project folder or the Desktop root.
   - Ensure `~/Desktop/plans` exists before writing the file.
   - Filename pattern: `PLAN_QUESTION_YYYYMMDD_HHMMSS.md`.
   - Use the current local timestamp.
2. Write only the questions into that file. Do not include the user request, source notes, implementation plan, metadata, file path, timestamps, or commentary inside the file.
3. Format the question file for easy answering:
   - Put one blank line between each numbered question block.
   - Add a separate answer line containing exactly `=> ` immediately after each question, or after that question's AI option line when AI options are requested.
4. Open the file in Sublime Text with `subl ~/Desktop/plans/PLAN_QUESTION_YYYYMMDD_HHMMSS.md`.
   - If `subl` is unavailable, use `open -a "Sublime Text" <file>`.
5. Do not mention the saved question file or Sublime Text in the final response unless opening failed. The final response must still follow the questions-only output format below.

## Code-aware discovery workflow

When the task touches an existing repository, local files, or named source modules, do not ask questions immediately.
Read the related code first so the questions are grounded in what already exists.

### Required behavior for codebase tasks

1. Identify the likely relevant code areas first.
2. Read the smallest set of files needed to understand the current behavior, interfaces, constraints, and likely change surface.
3. Inspect the immediate blocking files locally.
4. Use multiple agents for parallel reading of independent code areas whenever subagents are available.
5. Delegate bounded read-only exploration such as adjacent modules, tests, configuration, data flow entry points, and existing validation paths.
6. Keep the critical next inspection step and immediate blocking judgments local.
7. Synthesize subagent findings locally into one final concise question set.
8. Ask only the minimum questions needed to unblock inspection if code access is unavailable, incomplete, or explicitly disallowed.
9. Keep the final synthesis and question writing in the main thread.
10. Ask questions only after the code reading pass is complete enough to avoid obvious blind spots.

### Scope for parallel code reading

Split code reading into independent slices when possible, for example:

- entry points and routing
- core business logic modules
- related UI or API surfaces
- tests and fixtures
- config, env, and integration boundaries
- nearby docs or comments that explain intent

If the task does not involve an existing codebase, skip this workflow and ask the questions directly.

## Rules

- Ask questions only.
- Match the user's requested question count exactly when they specify one.
- If the user does not specify a count, choose the smallest useful set of questions needed to clarify the task.
- Do not include answers, plans, checklists, recommendations, or implementation steps.
- Keep each question concise, concrete, and tailored to the user's task.
- Avoid repeating information the user already provided.
- Cover the most decision-shaping gaps first: objective, scope, constraints, inputs, environment, success criteria, deadlines, review flow, risks, and handoff expectations.
- Prefer one clear question per number.
- Avoid multiple choice unless the user explicitly asks for it.
- End after the final question with no extra commentary.
- If the user asks for AI options, include one short `AI option:` line under every question.
- Treat each AI option as a tentative suggestion, not a fact.
- Use AI options to surface likely assumptions, risks, hidden constraints, or default approaches the user may not have considered.
- Keep AI options brief, practical, and clearly subordinate to the user's eventual answer.
- For codebase tasks, base each question on observed code, not generic guesswork.
- Prefer questions that mention concrete files, modules, flows, constraints, or gaps discovered during the code reading pass.
- Do not ask questions that would have been answered by reading the obvious related files first.
- If the user explicitly forbids code inspection, respect that and ask only the minimum questions needed without pretending you reviewed the code.

## Quality bar

Make the questions specific enough that the next planning step can produce a strong implementation plan without redoing discovery.
If the task is already mostly clear, use the remaining questions to confirm assumptions and expose hidden constraints.
When AI options are enabled, make them useful enough to unblock thinking without pretending certainty.
For codebase tasks, make the questions feel like they came from someone who actually read the implementation and noticed missing decisions, hidden coupling, validation gaps, and risk areas.

## Output format

Use one of these formats.

### Questions only

```markdown
1. ...?
2. ...?
3. ...?
...
n. ...?
```

### Questions with AI options

```markdown
1. ...?
   - AI option: ...
2. ...?
   - AI option: ...
3. ...?
   - AI option: ...
...
n. ...?
   - AI option: ...
```
