| name | foreman-spec |
| description | Multi-role requirement analysis and task breakdown workflow using 4 specialized AI agents (PM, UX, Tech, QA). Each agent conducts web research before analysis to gather industry best practices, case studies, and current trends. Supports Quick Mode (parallel, ~3 min, one Q&A session) and Deep Mode (serial, ~8 min, Q&A after EACH agent so answers inform subsequent analysis). Triggers on 'foreman-spec', 'spec feature', 'break down requirement', 'define tasks', 'spec this'. |
Spec Workflow (V8 - Research-Enhanced)
Multi-role requirement analysis using 4 specialized AI agents, each equipped with web research capabilities.
Overview
Transform a high-level requirement into fine-grained, implementable tasks through multi-perspective analysis.
Key Feature: Research-First Approach
Each agent conducts web research BEFORE analysis to:
- Gather industry best practices and standards
- Find case studies and competitor implementations
- Discover current trends and proven patterns
- Ground recommendations in real-world data
Agents (all equipped with WebSearch):
- agent-foreman:pm (Product Manager) - Clarifies WHAT and WHY, researches market/industry
- agent-foreman:ux (UX/UI Designer) - Designs HOW users interact, researches UX patterns
- agent-foreman:tech (Technical Architect) - Architects HOW to build, researches frameworks/security
- agent-foreman:qa (QA Manager) - Plans HOW to verify, researches testing strategies
Modes:
- Quick Mode (parallel) - ~3-4 min, includes research, one combined Q&A session at the end
- Deep Mode (serial) - ~8-10 min, comprehensive research, Q&A after EACH agent (4 sessions, each answer informs subsequent agents)
Phase 0: Mode Selection
Before any analysis, detect project state and ask user to choose mode.
Step 1: Scan Codebase
Use Glob to detect project state:
Check if ai/tasks/ exists → EXISTING_PROJECT
Check if package.json or pyproject.toml exists → EXISTING_PROJECT
Otherwise → NEW_PROJECT
Step 2: Analyze Requirement Complexity
- Count features mentioned in requirement
- Detect uncertainty words ("maybe", "or", "not sure", "possibly")
- If >3 features OR uncertainty words → COMPLEX
- Otherwise → SIMPLE
Step 3: Determine Recommendation
IF NEW_PROJECT OR COMPLEX:
recommendation = "Deep Mode"
ELSE:
recommendation = "Quick Mode"
Step 4: Ask User
Use AskUserQuestion tool:
{
"question": "How would you like to analyze this requirement?",
"header": "Mode",
"options": [
{
"label": "Quick Mode (Recommended)" or "Quick Mode",
"description": "4 experts analyze in parallel, ~3 min, one combined Q&A at the end. Best for clear requirements."
},
{
"label": "Deep Mode (Recommended)" or "Deep Mode",
"description": "4 experts analyze sequentially, ~8 min, Q&A after EACH expert (answers inform next expert). Best for complex/new projects."
}
],
"multiSelect": false
}
Place "(Recommended)" on the recommended mode based on Step 3.
Phase 1: Codebase Scan
Scan the project to understand existing patterns.
Actions
Use Glob to find key files:
README.md,ARCHITECTURE.md,CLAUDE.mdpackage.json,pyproject.toml,go.modsrc/**/*.ts,src/**/*.py,src/**/*.go(sample files)
Read project configuration to detect:
- Language and framework
- Testing patterns
- Existing conventions
Create context summary for agents:
- Project type (web app, CLI, API, etc.)
- Tech stack (language, framework, database)
- Existing patterns to follow
Phase 1.5: Research Context (NEW)
Before launching agents, prepare research context based on the requirement.
Research Domains
Identify which areas need research based on the requirement:
| Requirement Type | Research Focus |
|---|---|
| New product | Market analysis, competitor products, industry trends |
| New feature | Similar implementations, UX patterns, technical approaches |
| Integration | API documentation, security best practices, compatibility |
| Performance | Benchmarks, optimization techniques, scalability patterns |
Generate Research Keywords
Extract keywords from the requirement for targeted searches:
Requirement: "Build a real-time chat application with end-to-end encryption"
Research keywords:
- "real-time chat architecture 2024 2025"
- "WebSocket vs Server-Sent Events comparison"
- "end-to-end encryption implementation best practices"
- "chat application UX patterns"
- "Signal Protocol implementation guide"
Pass Research Context to Agents
Include research keywords in agent prompts:
research_context = {
"domain": "[product domain]",
"keywords": ["keyword1", "keyword2", "keyword3"],
"tech_stack": "[detected or proposed stack]",
"competitors": ["competitor1", "competitor2"]
}
IMPORTANT: Each agent will conduct its own targeted research using these keywords. The research phase is built into each agent's workflow, not a separate step.
Phase 2: Analysis (Mode-Dependent)
Quick Mode (Parallel)
Launch all 4 agents IN PARALLEL using Task tool. Each agent will conduct web research before analysis:
Task(subagent_type="agent-foreman:pm", prompt="Analyze requirement: {requirement}. Project context: {codebase_context}. Research context: {research_context}. IMPORTANT: Use WebSearch to research industry best practices before analysis.")
Task(subagent_type="agent-foreman:ux", prompt="Design UX for: {requirement}. Project context: {codebase_context}. Research context: {research_context}. IMPORTANT: Use WebSearch to research UX patterns before design.")
Task(subagent_type="agent-foreman:tech", prompt="Design architecture for: {requirement}. Project context: {codebase_context}. Research context: {research_context}. IMPORTANT: Use WebSearch to research framework best practices before architecture.")
Task(subagent_type="agent-foreman:qa", prompt="Define QA strategy for: {requirement}. Project context: {codebase_context}. Research context: {research_context}. IMPORTANT: Use WebSearch to research testing strategies before planning.")
Wait for all to complete (~30-60 seconds).
Then: Merge questions from all 4 agents:
- Remove duplicates (similar questions from different roles)
- Group by topic
- Prioritize: blocking questions first
- Limit: max 10-12 questions total
Then: Present merged questions to user in one AskUserQuestion call.
Deep Mode (Serial with Immediate Q&A)
Launch agents ONE AT A TIME. CRITICAL: After each agent completes, immediately collect their questions, ask the user, and write answers to the spec file BEFORE launching the next agent.
This ensures:
- Each agent's questions are answered immediately
- Subsequent agents can see previous answers in the spec files
- User maintains focus on one perspective at a time
Step 2A: Product Manager
Task(subagent_type="agent-foreman:pm", prompt="Analyze requirement: {requirement}. Project context: {codebase_context}. Research context: {research_context}. CRITICAL: Use WebSearch FIRST to research industry best practices, market trends, and competitor approaches before starting your analysis.")
Wait for completion. PM will:
- Conduct web research on industry/market
- Write analysis to
ai/tasks/spec/PM.md - Output questions using
---QUESTIONS FOR USER---format
→ SKILL Orchestrator Actions (MANDATORY):
- Parse PM's
---QUESTIONS FOR USER---output - Use AskUserQuestion to present PM's questions to user
- Write Q&A section to
ai/tasks/spec/PM.md - Only then proceed to Step 2B
Step 2B: UX Designer
Task(subagent_type="agent-foreman:ux", prompt="Design UX for: {requirement}. IMPORTANT: First read ai/tasks/spec/PM.md to see PM's analysis AND user's answers to PM questions. Research context: {research_context}. CRITICAL: Use WebSearch FIRST to research UX patterns before starting your design.")
Wait for completion. UX will:
- Read PM.md (including Q&A section with user answers)
- Conduct UX-specific research
- Write analysis to
ai/tasks/spec/UX.md - Output questions using
---QUESTIONS FOR USER---format
→ SKILL Orchestrator Actions (MANDATORY):
- Parse UX's
---QUESTIONS FOR USER---output - Use AskUserQuestion to present UX's questions to user
- Write Q&A section to
ai/tasks/spec/UX.md - Only then proceed to Step 2C
Step 2C: Technical Architect
Task(subagent_type="agent-foreman:tech", prompt="Design architecture for: {requirement}. IMPORTANT: First read ai/tasks/spec/PM.md and ai/tasks/spec/UX.md to see previous analyses AND user's answers. Research context: {research_context}. CRITICAL: Use WebSearch FIRST to research framework best practices before starting your design.")
Wait for completion. Tech will:
- Read PM.md and UX.md (including Q&A sections)
- Conduct tech-specific research
- Write analysis to
ai/tasks/spec/TECH.md - Output questions using
---QUESTIONS FOR USER---format
→ SKILL Orchestrator Actions (MANDATORY):
- Parse Tech's
---QUESTIONS FOR USER---output - Use AskUserQuestion to present Tech's questions to user
- Write Q&A section to
ai/tasks/spec/TECH.md - Only then proceed to Step 2D
Step 2D: QA Manager
Task(subagent_type="agent-foreman:qa", prompt="Define QA strategy for: {requirement}. IMPORTANT: First read all spec files (PM.md, UX.md, TECH.md) including their Q&A sections. Research context: {research_context}. CRITICAL: Use WebSearch FIRST to research testing strategies before defining your strategy.")
Wait for completion. QA will:
- Read all previous spec files (including Q&A sections)
- Conduct QA-specific research
- Write analysis to
ai/tasks/spec/QA.md - Output questions using
---QUESTIONS FOR USER---format
→ SKILL Orchestrator Actions (MANDATORY):
- Parse QA's
---QUESTIONS FOR USER---output - Use AskUserQuestion to present QA's questions to user (if any)
- Write Q&A section to
ai/tasks/spec/QA.md - Proceed to Phase 3 (Create Overview)
Phase 2.5: Question Collection & User Interaction
This phase applies ONLY to Quick Mode. In Deep Mode, questions are handled inline after each agent (see above).
Quick Mode Question Flow
After all 4 agents complete in parallel, handle questions:
Step 1: Extract Questions
Each agent outputs questions using this format (NOT written to file):
---QUESTIONS FOR USER---
1. **[Question text]**
- Why: [reason]
- Options: A) ... B) ... C) ...
- Recommend: [option] because [rationale]
---END QUESTIONS---
Parse each agent's output and extract questions from the ---QUESTIONS FOR USER--- section.
Step 2: Merge and Deduplicate
- Remove duplicates - Similar questions from different roles (e.g., both PM and Tech asking about auth method)
- Group by topic - Organize related questions together
- Prioritize blocking questions first - Questions that block other roles' work
- Limit total - Max 10-12 questions to avoid overwhelming user
Step 3: Ask User
Use AskUserQuestion tool to present merged questions interactively:
{
"questions": [
{
"question": "[Merged question text]",
"header": "[Topic - max 12 chars]",
"options": [
{"label": "[Option A] (Recommended)", "description": "[Why recommended]"},
{"label": "[Option B]", "description": "[What this means]"}
],
"multiSelect": false
}
]
}
Step 4: Write Answers to Files
After user answers, append Q&A section to EACH relevant spec file:
## Questions & Answers
### Q1: [Question text]
**Answer**: [User's selected option]
**Impact**: [How this affects this role's analysis]
### Q2: [Question text]
**Answer**: [User's selected option]
**Impact**: [How this affects this role's analysis]
For each file, only include questions relevant to that role:
PM.md: Business/scope questionsUX.md: Design/flow questionsTECH.md: Architecture/implementation questionsQA.md: Testing/quality questions
Phase 3: Create Overview & Breakdown Tasks (DELEGATED)
After Phase 2.5 (Q&A) completes, delegate to breakdown-writer agent.
Phase 3 requires significant context (reading 4 spec files, creating N+2 task files). Delegating to a subagent preserves main session context for subsequent interactions.
Step 1: Compile Q&A Decisions
Collect all Q&A from Phase 2/2.5 into a formatted summary:
qa_decisions = """
### Scope Decisions
- Q: [Question from PM] → A: [User answer]
- Q: [Question from PM] → A: [User answer]
### UX Decisions
- Q: [Question from UX] → A: [User answer]
### Technical Decisions
- Q: [Question from Tech] → A: [User answer]
### Quality Decisions
- Q: [Question from QA] → A: [User answer]
"""
Step 2: Delegate to Breakdown Writer
Launch the breakdown-writer agent:
Task(
subagent_type="agent-foreman:breakdown-writer",
prompt="""
SPEC BREAKDOWN TASK
## Context
- Requirement: {requirement}
- Mode: {quick|deep}
- Date: {YYYY-MM-DD}
- Project: {codebase_context}
## Q&A Decisions
{qa_decisions}
## Your Mission
1. Read all spec files (PM.md, UX.md, TECH.md, QA.md)
2. Create OVERVIEW.md with executive summaries
3. Create BREAKDOWN tasks for all modules (devops first, integration last)
4. Run `agent-foreman status` to verify index update
5. Return structured result
## Output Format
Return result block at END:
---BREAKDOWN RESULT---
overview_created: true|false
modules_created: [devops, module1, ..., integration]
tasks_created: N
index_updated: true|false
status: success|partial|failed
errors: []
notes: "summary"
---END BREAKDOWN RESULT---
"""
)
Step 3: Parse Result
Parse ---BREAKDOWN RESULT--- from agent output:
If status == "success":
→ Display success message with modules_created
→ Continue to Phase 4
If status == "partial":
→ Display warning with errors
→ Continue to Phase 4 (partial results may be usable)
If status == "failed":
→ Display error message
→ Show errors list
→ Stop workflow, user must investigate
Step 4: Confirm to User
After successful delegation, output:
Spec breakdown complete!
Created:
- ai/tasks/spec/OVERVIEW.md (executive summaries)
- ai/tasks/devops/BREAKDOWN.md (priority: 0)
- ai/tasks/{module}/BREAKDOWN.md (priority: N)
- ...
- ai/tasks/integration/BREAKDOWN.md (priority: 999999)
Total: {tasks_created} BREAKDOWN tasks registered.
Why Delegate?
- Context preservation - Main session only sees prompt + result (~1.5KB vs ~20KB)
- File reading isolated - Agent reads 4 large spec files in its own context
- Error handling - Agent handles errors autonomously, returns structured result
- Files are persistent - Agent writes directly, files survive context limits
Fallback: Manual Execution
If delegation fails, you can manually execute Phase 3 by:
- Reading spec files (PM.md, UX.md, TECH.md, QA.md)
- Creating OVERVIEW.md with the template from breakdown-writer agent
- Creating BREAKDOWN files for each module
- Running
agent-foreman statusto verify index update
Phase 4: Module Breakdown (User-Driven)
After spec generation, guide the user to process all BREAKDOWN tasks.
Next Steps Output (CONSOLE ONLY - NOT IN OVERVIEW.md)
⚠️ IMPORTANT: This output is displayed to the user in the console/terminal. It is NOT written to any file.
Display the following guidance to the user:
## Next Steps
To process all BREAKDOWN tasks and create fine-grained implementation tasks:
/agent-foreman:run
Alternatively, to process a specific module:
/agent-foreman:run {module}.BREAKDOWN
What Happens During Run
The /agent-foreman:run command uses the standard Bash workflow for each task:
# For each BREAKDOWN task, executes:
agent-foreman next <task_id> # 1. Get task details
# ... implement task ... # 2. Create implementation tasks
agent-foreman check <task_id> # 3. Verify
agent-foreman done <task_id> # 4. Complete + commit
# Loop to next BREAKDOWN
For each BREAKDOWN task, the AI will:
- Run
agent-foreman nextto get task details and spec context - Read all spec documents from
ai/tasks/spec/(PM.md, UX.md, TECH.md, QA.md, OVERVIEW.md) - Create fine-grained implementation tasks in
ai/tasks/{module}/ - Run
agent-foreman checkandagent-foreman doneto verify and complete - Automatically continue to the next BREAKDOWN
Phase 5: Validation
Note: The
donecommand automatically triggers validation instructions when all BREAKDOWNs complete.
After all BREAKDOWN tasks are complete, run validation:
agent-foreman validate
This spawns 4 validators in parallel to check task quality.
Task Output Conventions
All generated tasks MUST follow agent-foreman format.
Task ID Patterns
- BREAKDOWN tasks:
{module}.BREAKDOWN(e.g.,auth.BREAKDOWN) - Implementation tasks:
{module}.{task-name}(e.g.,auth.oauth-google)
Task Markdown Format
---
id: module.task-name
module: module-name
priority: N
status: failing
version: 1
origin: spec-workflow
dependsOn: []
tags: []
testRequirements:
unit:
required: false
pattern: "tests/{module}/**/*.test.*"
---
# Task Title
## Context
[Brief context from spec documents]
## Acceptance Criteria
1. [Specific, testable criterion]
2. [Specific, testable criterion]
3. [Error handling criterion]
## Technical Notes
- Reference: [From spec/OVERVIEW.md]
- UX: [From spec/UX.md]
- Test: [From spec/QA.md]
Markdown Formatting Rules
CRITICAL: Always include blank lines:
- Before EVERY
##heading (blank line required) - After EVERY
##heading (blank line required) - Between list items and headings
Granularity
Break into SMALLEST implementable units. Each task should be:
- Atomic: One focused piece of work
- Independent: Can be implemented without waiting (except explicit deps)
- Testable: Has clear, verifiable acceptance criteria
- Completable: 1-3 hours of work
Rules
- Agents write their own files - Each agent writes directly to
ai/tasks/spec/{ROLE}.md - Agents read previous files - UX reads PM.md, Tech reads PM.md+UX.md, QA reads all
- No conversation context reliance - Always read files explicitly
- Research first - Every agent conducts web research before analysis
- Mode first - Ask user to choose Quick/Deep mode
- Bookend modules - Always create
devops(first) andintegration(last) - OVERVIEW is summary only - Don't duplicate detailed analysis in OVERVIEW.md
- Questions output separately - Agents write analysis to file, but output questions directly using
---QUESTIONS FOR USER---format - Q&A timing differs by mode:
- Quick Mode: Collect all questions after all agents complete, merge duplicates, ask once
- Deep Mode: Ask questions IMMEDIATELY after each agent completes (PM→Q&A→UX→Q&A→Tech→Q&A→QA→Q&A), so subsequent agents can use answers
- Deep Mode sequential dependency - In Deep Mode, NEVER launch the next agent until the previous agent's Q&A is complete and written to file
- No "Next Steps" in OVERVIEW.md - OVERVIEW.md is a reference document that ends with "Module Roadmap". The "Next Steps" guidance is console output ONLY (Phase 4), never written to OVERVIEW.md or any spec file
Research Best Practices
Effective Search Queries
Use specific, targeted queries:
| Agent | Good Query Examples |
|---|---|
| PM | "[industry] product metrics KPIs 2024", "[product type] market size trends" |
| UX | "[component] UX pattern best practices", "WCAG 2.2 [element] accessibility" |
| Tech | "[framework] architecture patterns", "OWASP [vulnerability] prevention" |
| QA | "[framework] testing best practices", "[tool] performance benchmarks" |
Research Synthesis
Each agent should:
- Conduct 2-4 targeted web searches
- Extract key findings with sources
- Apply findings to the specific requirement
- Include citations in the Research Findings section
When to Research More
- New/unfamiliar domain → More PM research
- Complex UI requirements → More UX research
- Novel tech stack → More Tech research
- High-risk project → More QA research