Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion profiles/default/agents/implementation-verifier.md
Original file line number Diff line number Diff line change
@@ -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
---
Expand Down
1 change: 0 additions & 1 deletion profiles/default/agents/implementer.md
Original file line number Diff line number Diff line change
@@ -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
---
Expand Down
1 change: 0 additions & 1 deletion profiles/default/agents/product-planner.md
Original file line number Diff line number Diff line change
@@ -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
---
Expand Down
1 change: 0 additions & 1 deletion profiles/default/agents/spec-initializer.md
Original file line number Diff line number Diff line change
@@ -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
---
Expand Down
1 change: 0 additions & 1 deletion profiles/default/agents/spec-shaper.md
Original file line number Diff line number Diff line change
@@ -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
---
Expand Down
1 change: 0 additions & 1 deletion profiles/default/agents/spec-verifier.md
Original file line number Diff line number Diff line change
@@ -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
---
Expand Down
1 change: 0 additions & 1 deletion profiles/default/agents/spec-writer.md
Original file line number Diff line number Diff line change
@@ -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
---
Expand Down
1 change: 0 additions & 1 deletion profiles/default/agents/tasks-list-creator.md
Original file line number Diff line number Diff line change
@@ -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
---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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:**

Expand All @@ -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.
Expand Down
43 changes: 43 additions & 0 deletions profiles/default/workflows/implementation/implement-tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,53 @@ 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 `<available_skills>` 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:
- Running ONLY the tests you've written (if any) and ensuring those tests pass.
- 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