diff --git a/src/bmm/workflows/4-implementation/dev-story/workflow.md b/src/bmm/workflows/4-implementation/dev-story/workflow.md
index c2200d398..bfb4e3770 100644
--- a/src/bmm/workflows/4-implementation/dev-story/workflow.md
+++ b/src/bmm/workflows/4-implementation/dev-story/workflow.md
@@ -41,6 +41,10 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
- `project_context` = `**/project-context.md` (load if exists)
+### Capabilities
+
+- `capabilities` = Load from `{project-root}/_bmad/_config/ides/*.yaml` → `capabilities` block
+
---
## EXECUTION
@@ -265,26 +269,70 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
Set {{current_sprint_status}} = "no-sprint-tracking"
+
+
+
+ For each unchecked [ ] task and subtask in the story's Tasks/Subtasks section:
+ - Register with the IDE's task tracking tool using the task description and pending status
+ - Store the mapping between story checkbox items and tracked task IDs
+
+ If review_continuation == true, also register unchecked review follow-up items
+ Throughout steps 5-8, update task status to in_progress when starting and completed when marking [x]
+
FOLLOW THE STORY FILE TASKS/SUBTASKS SEQUENCE EXACTLY AS WRITTEN - NO DEVIATION
+ If {capabilities.sub_agents} is available, the main session is the ORCHESTRATOR - delegate actual implementation to agents, do not implement directly. Otherwise, implement directly in the main session.
Review the current task/subtask from the story file - this is your authoritative implementation guide
- Plan implementation following red-green-refactor cycle
-
- Write FAILING tests first for the task/subtask functionality
- Confirm tests fail before implementation - this validates test correctness
+
+
+
+ Identify target file types and task domain for the current task/subtask
+ Check for a specialized agent in .claude/agents/ (or IDE equivalent) whose description matches the target file types and task domain
+ If no specialized agent matches, use a general-purpose agent as fallback
-
- Implement MINIMAL code to make tests pass
- Run tests to confirm they now pass
- Handle error conditions and edge cases as specified in task/subtask
+
+
+ Set the current task to in_progress in the IDE's task tracking tool
+
-
- Improve code structure while keeping tests green
- Ensure code follows architecture patterns and coding standards from Dev Notes
+
+ Launch the selected agent with a detailed prompt containing:
+ - Task description and acceptance criteria from the story file
+ - Target file paths and expected changes
+ - Red-green-refactor instructions: write failing tests first, implement minimal code to pass, then refactor
+ - Architecture patterns and coding standards from Dev Notes
+ - Project conventions from {project_context}
+
+
+
+ When the agent completes, verify:
+ - Implementation matches the task/subtask specification exactly
+ - Tests exist and pass for the implemented functionality
+ - Code follows architecture patterns and coding standards from Dev Notes
+
+
+
+
+
+ Plan implementation following red-green-refactor cycle
+
+
+ Write FAILING tests first for the task/subtask functionality
+ Confirm tests fail before implementation - this validates test correctness
+
+
+ Implement MINIMAL code to make tests pass
+ Run tests to confirm they now pass
+ Handle error conditions and edge cases as specified in task/subtask
+
+
+ Improve code structure while keeping tests green
+ Ensure code follows architecture patterns and coding standards from Dev Notes
+
Document technical approach and decisions in Dev Agent Record → Implementation Plan
diff --git a/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md b/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md
index 81be97fba..98deb7c0a 100644
--- a/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md
+++ b/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md
@@ -29,31 +29,73 @@ From context:
---
+## LOAD CAPABILITIES
+
+Load platform capabilities from `{project-root}/_bmad/_config/ides/*.yaml`. Read the `capabilities` block to determine available features. Store as `{capabilities}` for use in subsequent sections.
+
+Relevant flags:
+
+- `{capabilities.sub_agents}` - Can the IDE launch sub-agents for delegated work?
+- `{capabilities.task_tracking}` - Does the IDE have built-in task management tools?
+- `{capabilities.structured_ask}` - Does the IDE have a dedicated tool for prompting users?
+
+---
+
+## REGISTER TASKS
+
+If `{capabilities.task_tracking}` available: Register all identified tasks for structured progress tracking. For Mode A, use tasks from the tech-spec. For Mode B, use tasks from the mental plan. For each task, call TaskCreate with a description and `pending` status. Throughout execution, call TaskUpdate to set `in_progress` when starting and `completed` when done.
+
+Otherwise: Track progress by marking checkboxes in the document as tasks are completed.
+
+---
+
## EXECUTION LOOP
+If `{capabilities.sub_agents}` available, the main session acts as **orchestrator** -- delegate actual implementation to agents, do not implement directly. If not available, implement directly in the main session.
+
For each task:
-### 1. Load Context
+### 1. Select Agent (when sub_agents available)
+
+- Identify target file types and task nature
+- Check for a specialized agent whose description matches (scan both global and project-level `.claude/agents/` directories or equivalent)
+- If a specialized agent matches, use it
+- If no match, use a general-purpose agent
+
+### 2. Update Tracking
+
+- If `{capabilities.task_tracking}` available: Call TaskUpdate to set `in_progress`
+- Otherwise: Note task start
+
+### 3. Delegate / Implement
+
+**If sub_agents available:** Launch agent with a detailed prompt containing:
+
+- Exact task description and acceptance criteria
+- Target file paths
+- Relevant patterns from project-context
+- Project conventions (CLAUDE.md, etc.)
+- Instruction to write tests and confirm they pass
+
+**If sub_agents not available:** Implement directly:
- Read files relevant to this task
-- Review patterns from project-context or observed code
-- Understand dependencies
+- Follow existing patterns and conventions
+- Write code, handle errors appropriately
+- Add comments where non-obvious
+- Write tests if appropriate for the change
-### 2. Implement
-
-- Write code following existing patterns
-- Handle errors appropriately
-- Follow conventions observed in codebase
-- Add appropriate comments where non-obvious
-
-### 3. Test
+### 4. Test
- Write tests if appropriate for the change
- Run existing tests to catch regressions
- Verify the specific AC for this task
-### 4. Mark Complete
+### 5. Validate and Mark Complete
+- If sub_agents available: Verify agent's result matches the task spec and tests pass
+- Confirm all tests pass (new and existing)
+- If `{capabilities.task_tracking}` available: Call TaskUpdate to set `completed`
- Check off task: `- [x] Task N`
- Continue to next task immediately
@@ -101,6 +143,8 @@ When ALL tasks are complete (or halted on blocker), read fully and follow: `{pro
- Tests written where appropriate
- Tests passing
- No unnecessary halts
+- If sub_agents available: All tasks delegated to appropriate agents (specialized when matching, general-purpose otherwise)
+- If task_tracking available: All tasks registered, updated through lifecycle, and marked completed
## FAILURE MODES
@@ -109,3 +153,6 @@ When ALL tasks are complete (or halted on blocker), read fully and follow: `{pro
- Not running tests after changes
- Giving up after first failure
- Not following project-context rules (if exists)
+- Implementing directly when sub_agents are available (orchestrator should delegate)
+- Delegating without verifying agent results match task spec
+- Not registering or updating task status when task_tracking is available
diff --git a/tools/cli/installers/lib/core/ide-config-manager.js b/tools/cli/installers/lib/core/ide-config-manager.js
index c00c00d48..339fe27a1 100644
--- a/tools/cli/installers/lib/core/ide-config-manager.js
+++ b/tools/cli/installers/lib/core/ide-config-manager.js
@@ -34,8 +34,9 @@ class IdeConfigManager {
* @param {string} bmadDir - BMAD installation directory
* @param {string} ideName - IDE name
* @param {Object} configuration - IDE-specific configuration object
+ * @param {Object} [capabilities] - Platform capability flags (sub_agents, task_tracking, structured_ask)
*/
- async saveIdeConfig(bmadDir, ideName, configuration) {
+ async saveIdeConfig(bmadDir, ideName, configuration, capabilities) {
const configDir = this.getIdeConfigDir(bmadDir);
await fs.ensureDir(configDir);
@@ -59,6 +60,7 @@ class IdeConfigManager {
ide: ideName,
configured_date: configuredDate,
last_updated: now,
+ ...(capabilities && Object.keys(capabilities).length > 0 ? { capabilities } : {}),
configuration: configuration || {},
};
diff --git a/tools/cli/installers/lib/core/installer.js b/tools/cli/installers/lib/core/installer.js
index c9ea83182..eb15ac73c 100644
--- a/tools/cli/installers/lib/core/installer.js
+++ b/tools/cli/installers/lib/core/installer.js
@@ -1233,7 +1233,9 @@ class Installer {
});
if (ideConfigurations[ide] && !ideConfigurations[ide]._alreadyConfigured) {
- await this.ideConfigManager.saveIdeConfig(bmadDir, ide, ideConfigurations[ide]);
+ const handler = this.ideManager.handlers.get(ide);
+ const capabilities = handler?.platformConfig?.capabilities;
+ await this.ideConfigManager.saveIdeConfig(bmadDir, ide, ideConfigurations[ide], capabilities);
}
if (setupResult.success) {
diff --git a/tools/cli/installers/lib/ide/platform-codes.yaml b/tools/cli/installers/lib/ide/platform-codes.yaml
index 9d5f171f1..241c5255a 100644
--- a/tools/cli/installers/lib/ide/platform-codes.yaml
+++ b/tools/cli/installers/lib/ide/platform-codes.yaml
@@ -19,6 +19,10 @@ platforms:
preferred: false
category: ide
description: "Google's AI development environment"
+ capabilities:
+ sub_agents: false
+ task_tracking: false
+ structured_ask: false
installer:
legacy_targets:
- .agent/workflows
@@ -31,6 +35,10 @@ platforms:
preferred: false
category: cli
description: "AI development tool"
+ capabilities:
+ sub_agents: false
+ task_tracking: false
+ structured_ask: false
installer:
legacy_targets:
- .augment/commands
@@ -43,6 +51,10 @@ platforms:
preferred: true
category: cli
description: "Anthropic's official CLI for Claude"
+ capabilities:
+ sub_agents: true
+ task_tracking: true
+ structured_ask: true
installer:
legacy_targets:
- .claude/commands
@@ -56,6 +68,10 @@ platforms:
preferred: false
category: ide
description: "AI coding assistant"
+ capabilities:
+ sub_agents: false
+ task_tracking: false
+ structured_ask: false
installer:
legacy_targets:
- .clinerules/workflows
@@ -68,6 +84,10 @@ platforms:
preferred: false
category: cli
description: "OpenAI Codex integration"
+ capabilities:
+ sub_agents: false
+ task_tracking: false
+ structured_ask: false
installer:
legacy_targets:
- .codex/prompts
@@ -83,6 +103,10 @@ platforms:
preferred: false
category: ide
description: "Tencent Cloud Code Assistant - AI-powered coding companion"
+ capabilities:
+ sub_agents: false
+ task_tracking: false
+ structured_ask: false
installer:
legacy_targets:
- .codebuddy/commands
@@ -95,6 +119,10 @@ platforms:
preferred: false
category: ide
description: "AI development assistant"
+ capabilities:
+ sub_agents: false
+ task_tracking: false
+ structured_ask: false
installer:
legacy_targets:
- .crush/commands
@@ -107,6 +135,10 @@ platforms:
preferred: true
category: ide
description: "AI-first code editor"
+ capabilities:
+ sub_agents: false
+ task_tracking: false
+ structured_ask: false
installer:
legacy_targets:
- .cursor/commands
@@ -119,6 +151,10 @@ platforms:
preferred: false
category: cli
description: "Google's CLI for Gemini"
+ capabilities:
+ sub_agents: false
+ task_tracking: false
+ structured_ask: false
installer:
legacy_targets:
- .gemini/commands
@@ -131,6 +167,10 @@ platforms:
preferred: false
category: ide
description: "GitHub's AI pair programmer"
+ capabilities:
+ sub_agents: false
+ task_tracking: false
+ structured_ask: false
installer:
legacy_targets:
- .github/agents
@@ -144,6 +184,10 @@ platforms:
preferred: false
category: ide
description: "AI workflow automation"
+ capabilities:
+ sub_agents: false
+ task_tracking: false
+ structured_ask: false
installer:
legacy_targets:
- .iflow/commands
@@ -157,6 +201,10 @@ platforms:
category: ide
description: "AI coding platform"
suspended: "Kilo Code does not yet support the Agent Skills standard. Support is paused until they implement it. See https://github.com/kilocode/kilo-code/issues for updates."
+ capabilities:
+ sub_agents: false
+ task_tracking: false
+ structured_ask: false
installer:
legacy_targets:
- .kilocode/workflows
@@ -169,6 +217,10 @@ platforms:
preferred: false
category: ide
description: "Amazon's AI-powered IDE"
+ capabilities:
+ sub_agents: false
+ task_tracking: false
+ structured_ask: false
installer:
legacy_targets:
- .kiro/steering
@@ -181,6 +233,10 @@ platforms:
preferred: false
category: ide
description: "OpenCode terminal coding assistant"
+ capabilities:
+ sub_agents: false
+ task_tracking: false
+ structured_ask: false
installer:
legacy_targets:
- .opencode/agents
@@ -197,6 +253,10 @@ platforms:
preferred: false
category: cli
description: "Provider-agnostic terminal-native AI coding agent"
+ capabilities:
+ sub_agents: false
+ task_tracking: false
+ structured_ask: false
installer:
target_dir: .pi/skills
template_type: default
@@ -207,6 +267,10 @@ platforms:
preferred: false
category: ide
description: "Qwen AI coding assistant"
+ capabilities:
+ sub_agents: false
+ task_tracking: false
+ structured_ask: false
installer:
legacy_targets:
- .qwen/commands
@@ -219,6 +283,10 @@ platforms:
preferred: false
category: ide
description: "Enhanced Cline fork"
+ capabilities:
+ sub_agents: false
+ task_tracking: false
+ structured_ask: false
installer:
legacy_targets:
- .roo/commands
@@ -231,6 +299,10 @@ platforms:
preferred: false
category: ide
description: "Atlassian's Rovo development environment"
+ capabilities:
+ sub_agents: false
+ task_tracking: false
+ structured_ask: false
installer:
legacy_targets:
- .rovodev/workflows
@@ -243,6 +315,10 @@ platforms:
preferred: false
category: ide
description: "AI coding tool"
+ capabilities:
+ sub_agents: false
+ task_tracking: false
+ structured_ask: false
installer:
legacy_targets:
- .trae/rules
@@ -255,6 +331,10 @@ platforms:
preferred: false
category: ide
description: "AI-powered IDE with cascade flows"
+ capabilities:
+ sub_agents: false
+ task_tracking: false
+ structured_ask: false
installer:
legacy_targets:
- .windsurf/workflows
@@ -262,6 +342,21 @@ platforms:
template_type: windsurf
skill_format: true
+# ============================================================================
+# Capabilities Schema
+# ============================================================================
+#
+# capabilities:
+# sub_agents: boolean # IDE supports launching sub-agents for delegated implementation
+# task_tracking: boolean # IDE has built-in task management tools (create/update/list)
+# structured_ask: boolean # IDE has a dedicated tool for prompting the user (vs inline text)
+#
+# Capabilities are written to _config/ides/{platform}.yaml at install time.
+# Workflows use these flags to adapt behavior — e.g., delegating to sub-agents
+# when available, or implementing directly when not.
+#
+# Default all to false for new platforms. Set true only when verified.
+
# ============================================================================
# Installer Config Schema
# ============================================================================