diff --git a/profiles/default/agents/implementation-verifier.md b/profiles/default/agents/implementation-verifier.md index ddf1e60d..3acec7ce 100644 --- a/profiles/default/agents/implementation-verifier.md +++ b/profiles/default/agents/implementation-verifier.md @@ -1,7 +1,6 @@ --- name: implementation-verifier description: Use proactively to verify the end-to-end implementation of a spec -tools: Write, Read, Bash, WebFetch, Playwright color: green model: inherit --- diff --git a/profiles/default/agents/implementer.md b/profiles/default/agents/implementer.md index 0a2e413a..dda9768c 100644 --- a/profiles/default/agents/implementer.md +++ b/profiles/default/agents/implementer.md @@ -1,7 +1,6 @@ --- name: implementer description: Use proactively to implement a feature by following a given tasks.md for a spec. -tools: Write, Read, Bash, WebFetch, Playwright, Skill color: red model: inherit --- diff --git a/profiles/default/agents/product-planner.md b/profiles/default/agents/product-planner.md index 12c52f74..43ab6f65 100644 --- a/profiles/default/agents/product-planner.md +++ b/profiles/default/agents/product-planner.md @@ -1,7 +1,6 @@ --- name: product-planner description: Use proactively to create product documentation including mission, and roadmap -tools: Write, Read, Bash, WebFetch color: cyan model: inherit --- diff --git a/profiles/default/agents/spec-initializer.md b/profiles/default/agents/spec-initializer.md index ac8ec04b..37712761 100644 --- a/profiles/default/agents/spec-initializer.md +++ b/profiles/default/agents/spec-initializer.md @@ -1,7 +1,6 @@ --- name: spec-initializer description: Use proactively to initialize spec folder and save raw idea -tools: Write, Bash color: green model: sonnet --- diff --git a/profiles/default/agents/spec-shaper.md b/profiles/default/agents/spec-shaper.md index 451490db..2c58927c 100644 --- a/profiles/default/agents/spec-shaper.md +++ b/profiles/default/agents/spec-shaper.md @@ -1,7 +1,6 @@ --- name: spec-shaper description: Use proactively to gather detailed requirements through targeted questions and visual analysis -tools: Write, Read, Bash, WebFetch, Skill color: blue model: inherit --- diff --git a/profiles/default/agents/spec-verifier.md b/profiles/default/agents/spec-verifier.md index 1e6117a8..4af9addc 100644 --- a/profiles/default/agents/spec-verifier.md +++ b/profiles/default/agents/spec-verifier.md @@ -1,7 +1,6 @@ --- name: spec-verifier description: Use proactively to verify the spec and tasks list -tools: Write, Read, Bash, WebFetch, Skill color: pink model: sonnet --- diff --git a/profiles/default/agents/spec-writer.md b/profiles/default/agents/spec-writer.md index f0ebf8c7..465798d8 100644 --- a/profiles/default/agents/spec-writer.md +++ b/profiles/default/agents/spec-writer.md @@ -1,7 +1,6 @@ --- name: spec-writer description: Use proactively to create a detailed specification document for development -tools: Write, Read, Bash, WebFetch, Skill color: purple model: inherit --- diff --git a/profiles/default/agents/tasks-list-creator.md b/profiles/default/agents/tasks-list-creator.md index d007507f..378e573e 100644 --- a/profiles/default/agents/tasks-list-creator.md +++ b/profiles/default/agents/tasks-list-creator.md @@ -1,7 +1,6 @@ --- name: task-list-creator description: Use proactively to create a detailed and strategic tasks list for development of a spec -tools: Write, Read, Bash, WebFetch, Skill color: orange model: inherit --- diff --git a/profiles/default/commands/implement-tasks/multi-agent/implement-tasks.md b/profiles/default/commands/implement-tasks/multi-agent/implement-tasks.md index f5db2775..e74d454d 100644 --- a/profiles/default/commands/implement-tasks/multi-agent/implement-tasks.md +++ b/profiles/default/commands/implement-tasks/multi-agent/implement-tasks.md @@ -3,7 +3,7 @@ Now that we have a spec and tasks list ready for implementation, we will proceed with implementation of this spec by following this multi-phase process: PHASE 1: Determine which task group(s) from tasks.md should be implemented -PHASE 2: Delegate implementation to the implementer subagent +PHASE 2: Delegate implementation to implementer subagents (one per task group) PHASE 3: After ALL task groups have been implemented, delegate to implementation-verifier to produce the final verification report. Follow each of these phases and their individual workflows IN SEQUENCE: @@ -14,7 +14,7 @@ Follow each of these phases and their individual workflows IN SEQUENCE: First, check if the user has already provided instructions about which task group(s) to implement. -**If the user HAS provided instructions:** Proceed to PHASE 2 to delegate implementation of those specified task group(s) to the **implementer** subagent. +**If the user HAS provided instructions:** Proceed to PHASE 2 to delegate implementation of those specified task group(s) to **implementer** subagents (one per task group). **If the user has NOT provided instructions:** @@ -26,22 +26,39 @@ Should we proceed with implementation of all task groups in tasks.md? If not, then please specify which task(s) to implement. ``` -### PHASE 2: Delegate implementation to the implementer subagent +### PHASE 2: Delegate implementation to implementer subagents -Delegate to the **implementer** subagent to implement the specified task group(s): +**CRITICAL: Spawn a SEPARATE implementer subagent for EACH task group.** Each subagent gets its own context window, enabling focused and effective implementation. -Provide to the subagent: -- The specific task group(s) from `agent-os/specs/[this-spec]/tasks.md` including the parent task, all sub-tasks, and any sub-bullet points +**Execution strategy based on task group dependencies:** + +1. **Analyze dependencies** - Check for "Dependencies:" annotations in tasks.md for each task group +2. **Independent task groups** (no dependencies, or all dependencies already completed): Launch their implementer subagents **IN PARALLEL** by issuing multiple Task tool calls in a single message +3. **Dependent task groups**: Wait for the required dependency to complete before launching + +**For EACH task group, spawn a dedicated implementer subagent providing:** + +- **ONE specific task group** from `agent-os/specs/[this-spec]/tasks.md` (including the parent task, all sub-tasks, and any sub-bullet points) - The path to this spec's documentation: `agent-os/specs/[this-spec]/spec.md` - The path to this spec's requirements: `agent-os/specs/[this-spec]/planning/requirements.md` - The path to this spec's visuals (if any): `agent-os/specs/[this-spec]/planning/visuals` -Instruct the subagent to: +Instruct each subagent to: 1. Analyze the provided spec.md, requirements.md, and visuals (if any) 2. Analyze patterns in the codebase according to its built-in workflow 3. Implement the assigned task group according to requirements and standards 4. Update `agent-os/specs/[this-spec]/tasks.md` to mark completed tasks with `- [x]` +**Example: Parallel execution** +If Task Group 1 and Task Group 2 have no dependencies on each other, launch both implementer subagents in a single message: +- Task tool call #1: implementer for Task Group 1 +- Task tool call #2: implementer for Task Group 2 + +**Example: Sequential execution** +If Task Group 3 depends on Task Group 1: +1. Wait for Task Group 1 implementer to complete +2. Then launch Task Group 3 implementer + ### PHASE 3: Produce the final verification report IF ALL task groups in tasks.md are marked complete with `- [x]`, then proceed with this step. Otherwise, return to PHASE 1. diff --git a/profiles/default/workflows/implementation/implement-tasks.md b/profiles/default/workflows/implementation/implement-tasks.md index 048741e2..f0925ff6 100644 --- a/profiles/default/workflows/implementation/implement-tasks.md +++ b/profiles/default/workflows/implementation/implement-tasks.md @@ -11,6 +11,8 @@ Implement all tasks assigned to you and ONLY those task(s) that have been assign - **The existing patterns** that you've found and analyzed in the codebase. - **Specific notes provided in requirements.md, spec.md AND/OR tasks.md** - **Visuals provided (if any)** which would be located in `agent-os/specs/[this-spec]/planning/visuals/` +- **CLAUDE.md** in the project root (if exists) - contains project-specific rules, conventions, and requirements that you MUST follow. +- **Available Skills** - check available skills in your system context (listed in `` section). Use the `Skill(skill_name)` tool to invoke relevant skills for your task (e.g., testing skills when writing tests). Skills contain important requirements you MUST follow. - **User Standards & Preferences** which are defined below. ## Self-verify and test your work by: @@ -18,3 +20,44 @@ Implement all tasks assigned to you and ONLY those task(s) that have been assign - IF your task involves user-facing UI, and IF you have access to browser testing tools, open a browser and use the feature you've implemented as if you are a user to ensure a user can use the feature in the intended way. - Take screenshots of the views and UI elements you've tested and store those in `agent-os/specs/[this-spec]/verification/screenshots/`. Do not store screenshots anywhere else in the codebase other than this location. - Analyze the screenshot(s) you've taken to check them against your current requirements. + +## CRITICAL: Task Completion Rules + +### Rule 1: A Task Is Complete ONLY When Actually Executed +- If a task says "Run tests" - you MUST execute the tests and see the output +- If a task says "Verify X works" - you MUST actually verify it +- Do NOT mark tasks as complete based on intent or assumption +- "I wrote the code" ≠ "task complete" - you must perform the actual action described + +### Rule 2: Handle Missing Prerequisites +- If a task requires a running service (dev server, database) that is not running: + - Start the service yourself (safe for parallel execution in isolated environments) +- If a task requires dependencies that are not installed: + - Do NOT install them yourself (may conflict with parallel agents) + - Report the blocker and keep task as `[ ]` + - Dependency installation is the responsibility of planning/setup phase +- If you cannot determine how to proceed, ask the user for guidance + +### Rule 3: Parent Tasks Require All Subtasks Complete +- A parent task (e.g., "5.0 Complete verification") can ONLY be marked `[x]` when ALL its subtasks are `[x]` +- If subtasks 5.2, 5.3, 5.4 are `[ ]`, then 5.0 MUST remain `[ ]` +- Never mark a parent task complete while leaving subtasks incomplete + +### Rule 4: TDD Phases Require Actual Test Execution +- If tasks.md specifies TDD workflow: + - RED phase: Tests must be written AND executed to verify they fail + - GREEN phase: Tests must be executed AND pass +- Do NOT mark TDD phases complete without actual test execution output + +### Rule 5: Verification Tasks Require Evidence +- If a task says "Manual verification" or "Verify in browser": + - Actually perform the verification using available tools + - Take screenshots as evidence when possible + - Store evidence in the designated location (e.g., verification/screenshots/) +- Do NOT mark verification tasks complete without performing verification + +### Rule 6: Incomplete Tasks Must Stay Incomplete +- If you cannot complete a task after attempting to resolve blockers: + - Keep the task marked as `[ ]` (incomplete) + - Add a comment in tasks.md explaining what you tried and what blocked you + - NEVER mark a task `[x]` if you did not actually complete it