Question Format Guide
How questions are asked
Question Format Guide
MANDATORY: All Questions Must Use This Format
Rule: Never Ask Questions in Chat
CRITICAL: You must NEVER ask questions directly in the chat. ALL questions must be placed in dedicated question files.
Question File Format
File Naming Convention
- Use descriptive names:
{phase-name}-questions.md - Examples:
classification-questions.mdrequirements-questions.mdstory-planning-questions.mddesign-questions.md
Question Structure
Every question must include meaningful options plus "Other" as the last option:
## Question [Number]
[Clear, specific question text]
A) [First meaningful option]
B) [Second meaningful option]
[...additional options as needed...]
X) Other (please describe after [Answer]: tag below)
[Answer]:
CRITICAL:
- "Other" is MANDATORY as the LAST option for every question
- Only include meaningful options - don't make up options to fill slots
- Use as many or as few options as make sense (minimum 2 + Other)
Complete Example
# Requirements Clarification Questions
Please answer the following questions to help clarify the requirements.
## Question 1
What is the primary user authentication method?
A) Username and password
B) Social media login (Google, Facebook)
C) Single Sign-On (SSO)
D) Multi-factor authentication
E) Other (please describe after [Answer]: tag below)
[Answer]:
## Question 2
Will this be a web or mobile application?
A) Web application
B) Mobile application
C) Both web and mobile
D) Other (please describe after [Answer]: tag below)
[Answer]:
## Question 3
Is this a new project or existing codebase?
A) New project (greenfield)
B) Existing codebase (brownfield)
C) Other (please describe after [Answer]: tag below)
[Answer]:
User Response Format
Users will answer by filling in the letter choice after [Answer]: tag:
## Question 1
What is the primary user authentication method?
A) Username and password
B) Social media login (Google, Facebook)
C) Single Sign-On (SSO)
D) Multi-factor authentication
[Answer]: C
Reading User Responses
After user confirms completion:
- Read the question file
- Extract answers after [Answer]: tags
- Validate all questions are answered
- Proceed with analysis based on responses
Multiple Choice Guidelines
Option Count
- Minimum: 2 meaningful options + "Other" (A, B, C)
- Typical: 3-4 meaningful options + "Other" (A, B, C, D, E)
- Maximum: 5 meaningful options + "Other" (A, B, C, D, E, F)
- CRITICAL: Don't make up options just to fill slots - only include meaningful choices
Option Quality
- Make options mutually exclusive
- Cover the most common scenarios
- Only include meaningful, realistic options
- ALWAYS include "Other" as the LAST option (MANDATORY)
- Be specific and clear
- Don't make up options to fill A, B, C, D slots
Good Example:
## Question 5
What database technology will be used?
A) Relational (PostgreSQL, MySQL)
B) NoSQL Document (MongoDB, DynamoDB)
C) NoSQL Key-Value (Redis, Memcached)
D) Graph Database (Neo4j, Neptune)
E) Other (please describe after [Answer]: tag below)
[Answer]:
Bad Example (Avoid):
## Question 5
What database will you use?
A) Yes
B) No
C) Maybe
[Answer]:
Workflow Integration
Step 1: Create Question File
Create aidlc-docs/{phase-name}-questions.md with all questions
Step 2: Inform User
"I've created {phase-name}-questions.md with [X] questions.
Please answer each question by filling in the letter choice after the [Answer]: tag.
If none of the options match your needs, choose the last option (Other) and describe your preference. Let me know when you're done."
Step 3: Wait for Confirmation
Wait for user to say "done", "completed", "finished", or similar.
Step 4: Read and Analyze
Read aidlc-docs/{phase-name}-questions.md
Extract all answers
Validate completeness
Proceed with analysis
Error Handling
Missing Answers
If any [Answer]: tag is empty:
"I noticed Question [X] is not answered. Please provide an answer using one of the letter choices
for all questions before proceeding."
Invalid Answers
If answer is not a valid letter choice:
"Question [X] has an invalid answer '[answer]'.
Please use only the letter choices provided in the question."
Ambiguous Answers
If user provides explanation instead of letter:
"For Question [X], please provide the letter choice that best matches your answer.
If none match, choose 'Other' and add your description after the [Answer]: tag."
Contradiction and Ambiguity Detection
MANDATORY: After reading user responses, you MUST check for contradictions and ambiguities.
Detecting Contradictions
Look for logically inconsistent answers:
- Scope mismatch: "Bug fix" but "Entire codebase affected"
- Risk mismatch: "Low risk" but "Breaking changes"
- Timeline mismatch: "Quick fix" but "Multiple subsystems"
- Impact mismatch: "Single component" but "Significant architecture changes"
Detecting Ambiguities
Look for unclear or borderline responses:
- Answers that could fit multiple classifications
- Responses that lack specificity
- Conflicting indicators across multiple questions
Creating Clarification Questions
If contradictions or ambiguities detected:
- Create clarification file:
{phase-name}-clarification-questions.md - Explain the issue: Clearly state what contradiction/ambiguity was detected
- Ask targeted questions: Use multiple choice format to resolve the issue
- Reference original questions: Show which questions had conflicting answers
Example:
# [Phase Name] Clarification Questions
I detected contradictions in your responses that need clarification:
## Contradiction 1: [Brief Description]
You indicated "[Answer A]" (Q[X]:[Letter]) but also "[Answer B]" (Q[Y]:[Letter]).
These responses are contradictory because [explanation].
### Clarification Question 1
[Specific question to resolve contradiction]
A) [Option that resolves toward first answer]
B) [Option that resolves toward second answer]
C) [Option that provides middle ground]
D) [Option that reframes the question]
[Answer]:
## Ambiguity 1: [Brief Description]
Your response to Q[X] ("[Answer]") is ambiguous because [explanation].
### Clarification Question 2
[Specific question to clarify ambiguity]
A) [Clear option 1]
B) [Clear option 2]
C) [Clear option 3]
D) [Clear option 4]
[Answer]:
Workflow for Clarifications
- Detect: Analyze all responses for contradictions/ambiguities
- Create: Generate clarification question file if issues found
- Inform: Tell user about the issues and clarification file
- Wait: Do not proceed until user provides clarifications
- Re-validate: After clarifications, check again for consistency
- Proceed: Only move forward when all contradictions are resolved
Example User Message
"I detected 2 contradictions in your responses:
1. Bug fix scope vs. codebase impact (Q1 vs Q2)
2. Low risk vs. breaking changes (Q7 vs Q4)
I've created classification-clarification-questions.md with 2 questions to resolve these.
Please answer these clarifying questions before I can proceed with classification."
Best Practices
- Be Specific: Questions should be clear and unambiguous
- Be Comprehensive: Cover all necessary information
- Be Concise: Keep questions focused on one topic
- Be Practical: Options should be realistic and actionable
- Be Consistent: Use same format throughout all question files
Phase-Specific Examples
Example with 2 meaningful options:
## Question 1
Is this a new project or existing codebase?
A) New project (greenfield)
B) Existing codebase (brownfield)
C) Other (please describe after [Answer]: tag below)
[Answer]:
Example with 3 meaningful options:
## Question 2
What is the deployment target?
A) Cloud (AWS, Azure, GCP)
B) On-premises servers
C) Hybrid (both cloud and on-premises)
D) Other (please describe after [Answer]: tag below)
[Answer]:
Example with 4 meaningful options:
## Question 3
What architectural pattern should be used?
A) Monolithic architecture
B) Microservices architecture
C) Serverless architecture
D) Event-driven architecture
E) Other (please describe after [Answer]: tag below)
[Answer]:
Summary
Remember:
- ✅ Always create question files
- ✅ Always use multiple choice format
- ✅ Always include "Other" as the LAST option (MANDATORY)
- ✅ Only include meaningful options - don't make up options to fill slots
- ✅ Always use [Answer]: tags
- ✅ Always wait for user completion
- ✅ Always validate responses for contradictions
- ✅ Always create clarification files if needed
- ✅ Always resolve contradictions before proceeding
- ❌ Never ask questions in chat
- ❌ Never make up options just to have A, B, C, D
- ❌ Never proceed without answers
- ❌ Never proceed with unresolved contradictions
- ❌ Never make assumptions about ambiguous responses