Before executing, first identify the real problem. Treat RDQ as the upfront requirements layer of an execution-oriented workflow; first produce a requirements specification card, and only execute or hand off after user confirmation.
Core principle: The cost of the interview must be lower than the rework cost it saves. When this is violated, converge immediately and directly produce the specification card.
Four-quadrant rules
Each quadrant uses its own verb, and you must not cross boundaries:
| Quadrant | Content | Action | Must not do |
|---|---|---|---|
| Ⅰ Known Knowns | Already stated or known from context | Only capture and echo back | Do not ask |
| Ⅱ Known Unknowns | Questions the user proactively asks | Only answer | Do not throw the question back |
| Ⅲ Unknown Knowns | What the user knows but has not thought to say | Only interview | Do not ask about things that cannot be answered on the spot |
| Ⅳ Unknown Unknowns | Risks or options the user has not yet thought of | Only state recommendations | Do not ask open-ended questions |
Before drafting each item, first determine:
- The user can answer on the spot right now → Quadrant III, ask with specific options.
- The user needs to receive information first before they can decide → Quadrant IV, proactively provide options, impacts, and costs.
Never ask "Is there anything else you haven't thought of?"
Interaction budget
| Mode | Applicable situation | Interview | Recommendation | Confirmation | Number of user replies |
|---|---|---|---|---|---|
| Lite (default) | Single deliverable, can be completed within half a day | 1 round, at most 3 questions | Merge into the same message | 1 time | At most 2 times |
| Full | Multiple outputs, spans days, public, costs money, or irreversible | At most 2 rounds, at most 4 questions per round | Separate 1 round | 1 time | At most 3 times |
- Silent determination mode; do not ask the user whether they want Lite or Full.
- The second Full round is used only when the first round's answers open a new branch.
- When red-flag questions exceed the budget, downgrade them to pending-confirmation assumptions on the specification card.
- If more than half of the answers in a round are "either is fine / you decide", do not add more interviews.
ChatGPT interaction compatibility rules
- A structured options interface may be used when available, but do not depend on specific tool names or multiple-selection features.
- When there is no structured interface, list numbered questions and options in the same message so the user can reply all at once.
- The first Lite round must absolutely not exceed 3 Quadrant III interview questions; the 4th red-flag question must be downgraded to a pending-confirmation assumption and must not crowd out the Quadrant IV menu.
- The first Lite reply must first list at most 3 interview questions, then in the same message list 3–5 Quadrant IV suggestions; the suggestions are not a 4th interview question.
- When a structured interface cannot accommodate both the interview and the suggestions at the same time, switch to a plain-text combined presentation, and must not increase the number of user reply rounds because of this.
- In Lite mode, answers may be collected using a format such as "1A, 2C, 3B; adopt suggestions ②④".
- At the end of each round, always provide "That's enough for now, just start".
- When the user says "just do it", "no need to ask", or "give me a first draft first", stop the interview immediately.
Judge, infer, or decide on your own
| Level | Criterion | Action |
|---|---|---|
| Red light | Different answers would lead to rework, cost, compliance, or irreversible impact | Ask first |
| Yellow light | There is a reasonable default value | Do not ask; list as an assumption to be confirmed |
| Green light | Does not affect whether the result is usable | Decide on your own |
Execution flow
0. Silent determination
- Determine Lite or Full.
- Determine the domain: workshop, slides, teaching materials, video, programming, or general.
- When the task is too small or the necessary information is already complete, state that the information is sufficient and execute directly, without forcing an interview.
1. Quadrant I: Capture known information
Within the scope allowed by permissions and the current interface, read:
- The user's messages and content already confirmed in this conversation.
- Attachments, connected data, and ChatGPT Project content.
- The local project's
AGENTS.md, README, configuration files,handoff.md。 - the current folder, and existing RDQ specification cards.
When there are no files or project tools, skip quietly and do not request fabricated paths or files.
Echo back:
我目前理解的是:
- 目標:
- 對象:
- 產出:
- 已知限制:
Names, dates, numbers, file names, and paths inferred and restored during voice input must be prominently marked so the user can correct errors. After echoing, do not stop; proceed directly to the next stage.
2. Quadrant II: First answer the user's questions
Identify questions the user has already raised, and answer or verify them first. Do not make the user answer interview questions while carrying unresolved questions. When there are no questions, skip directly.
3. Quadrant III: Interview
Read references/question-bank.md 's domain determination and corresponding question bank.
- Filter by red, yellow, and green lights.
- Known information must not be asked again.
- Options must be specific enough to be written directly into the specification.
- Cover both ends of the spectrum and "uncertain/other", avoiding providing only the preferred direction.
- When the answer is "don't know/anything is fine", adopt a reasonable default, list it as an assumption to be confirmed, and do not repeatedly press for an answer.
Even if the user explicitly requests RDQ, if the goal, audience, output format, and hard constraints are all complete, it may collapse to zero questions and directly produce the specification card.
4. Quadrant IV: Proactively provide options
Select 3–5 genuinely useful suggestions from the question bank, task context, and known risks. Each item includes:
建議 — 代價或影響
- Not adopted by default.
- It can continue even if none are adopted.
- Items not adopted are recorded as "not included this time" and are not interpreted as permanent opposition.
- In Lite mode, place it in the same message as Quadrant III.
5. Produce the requirements specification card
Read references/spec-template.md, produce a spec card that can be read in one screen.
- Always paste it in full in the conversation first.
- When there is a writable local project, it may be saved to
rdq/RDQ-spec-<slug>-<YYYYMMDD>.md。 - In a ChatGPT conversation without a file system, deliver only in-conversation Markdown or a downloadable file.
- Do not ask the user to provide a local path that the current interface cannot use.
- The initial state is
draft。
6. The only hard stop: wait for confirmation
Do not start producing the final deliverable until the user explicitly confirms. Provide:
- Start with this.
- Something needs to be changed.
- In Full mode, one more round of questions is allowed.
Ask the user to especially check the assumptions pending confirmation, the items not included this time, and key terms such as names, dates, numbers, and file names.
When changes are needed, only modify the spec card and confirm again; do not rerun the entire interview. After confirmation, change the state to confirmed。
status is an RDQ workflow contract; it does not claim to be automatically enforced across all products, models, or sessions. Only subsequent processes that can read the spec card and follow the RDQ contract can make determinations based on it.
7. Execute or hand off
- When the current environment has a suitable execution-type skill, hand the spec card's "one-paragraph requirement specification" to it.
- When there is no suitable skill, the current Agent executes it directly.
- Do not assume the user has installed any particular skill.
- If there is
handoff.mdand it has write permission, record the confirmed spec card and next steps.
When handing off, attach:
The requirements have already gone through the RDQ interview and user confirmation. Do not repeatedly ask about confirmed matters, but retain the confirmation checkpoints necessary for the output itself.
Requirement confirmation and output confirmation are layered and not repeated.
Demo mode
Only when the user says "demo RDQ" or "demo it for the audience":
- Display the name of each quadrant.
- For empty quadrants, also display a brief placeholder so the audience can see that all four cells have been handled.
- Explain what the environment scan actually found.
- At the end, attach the originality and research positioning statement for
references/method-positioning.md.
Do not add these ceremonial elements in daily use.
Reference files
references/question-bank.md: domain determination, Quadrant III question bank, and Quadrant IV suggestions.references/spec-template.md: requirement spec card template.references/method-positioning.md: method sources, research positioning, and external statements.