microsoft/hve-core
Publicmirrored fromhttps://github.com/microsoft/hve-coreAvailable
docs/rpi/task-implementor.md
189lines · modecode
| 1 | --- |
| 2 | title: Task Implementor Guide |
| 3 | description: Use the Task Implementor custom agent to execute implementation plans with precision and tracking |
| 4 | author: Microsoft |
| 5 | ms.date: 2026-01-24 |
| 6 | ms.topic: tutorial |
| 7 | keywords: |
| 8 | - task implementor |
| 9 | - rpi workflow |
| 10 | - implementation phase |
| 11 | - github copilot |
| 12 | estimated_reading_time: 4 |
| 13 | --- |
| 14 | |
| 15 | The Task Implementor custom agent transforms planning files into working code. It executes plans task by task, tracks all changes, and supports stop controls for review between phases. |
| 16 | |
| 17 | ## When to Use Task Implementor |
| 18 | |
| 19 | Use Task Implementor after completing planning when you need: |
| 20 | |
| 21 | * ⚡ **Precise execution** following the plan exactly |
| 22 | * 📝 **Change tracking** documenting all modifications |
| 23 | * ⏸️ **Stop controls** for review between phases |
| 24 | * ✅ **Verification** that success criteria are met |
| 25 | |
| 26 | ## What Task Implementor Does |
| 27 | |
| 28 | 1. **Reads** the plan phase by phase, task by task |
| 29 | 2. **Loads** only needed details using line ranges |
| 30 | 3. **Implements** code following workspace conventions |
| 31 | 4. **Tracks** changes in a changes log |
| 32 | 5. **Verifies** success criteria before marking complete |
| 33 | 6. **Pauses** at stop points for your review |
| 34 | |
| 35 | > [!NOTE] |
| 36 | > **Why the constraint matters:** Task Implementor has one job: execute the plan using patterns documented in research. No time wasted rediscovering conventions, no "creative" decisions that break existing patterns—just verified facts applied methodically. |
| 37 | |
| 38 | ## Output Artifacts |
| 39 | |
| 40 | Task Implementor creates working code and a changes log: |
| 41 | |
| 42 | ```text |
| 43 | .copilot-tracking/ |
| 44 | └── changes/ |
| 45 | └── {{YYYY-MM-DD}}-<topic>-changes.md # Log of all changes made |
| 46 | ``` |
| 47 | |
| 48 | Plus all the actual code files created or modified during implementation. |
| 49 | |
| 50 | ## How to Use Task Implementor |
| 51 | |
| 52 | ### Step 1: Clear Context and Open the Plan |
| 53 | |
| 54 | 🔴 **Start with `/clear` or a new chat** after Task Planner completes. |
| 55 | |
| 56 | After clearing, open your plan file (`.copilot-tracking/plans/<topic>-plan.instructions.md`) in the editor before invoking Task Implementor. This ensures the agent can locate and follow the plan without relying on chat history. |
| 57 | |
| 58 | > [!TIP] |
| 59 | > Context management is an engineering practice, not a ritual. Clearing context removes accumulated tokens that cause the model to ignore its instructions. See [Context Engineering](context-engineering.md) for the full explanation. |
| 60 | |
| 61 | ### Step 2: Select the Custom Agent |
| 62 | |
| 63 | 1. Open GitHub Copilot Chat (`Ctrl+Alt+I`) |
| 64 | 2. Click the agent picker dropdown |
| 65 | 3. Select **Task Implementor** |
| 66 | |
| 67 | ### Step 3: Reference Your Plan |
| 68 | |
| 69 | Use `/task-implement` to start execution. The prompt automatically locates the plan and switches to Task Implementor. Alternatively, provide the path to your plan file directly. |
| 70 | |
| 71 | ### Step 4: Set Stop Controls |
| 72 | |
| 73 | Choose your review cadence: |
| 74 | |
| 75 | * `phaseStop=true` (default): Pause after each phase |
| 76 | * `taskStop=true`: Pause after each task |
| 77 | * Both false: Run to completion |
| 78 | |
| 79 | ### Step 5: Review and Continue |
| 80 | |
| 81 | At each stop point: |
| 82 | |
| 83 | 1. Review the changes made |
| 84 | 2. Verify code compiles and lints |
| 85 | 3. Approve or request adjustments |
| 86 | 4. Continue to next phase/task |
| 87 | |
| 88 | ## Example Prompt |
| 89 | |
| 90 | ```text |
| 91 | /task-implement |
| 92 | ``` |
| 93 | |
| 94 | Or reference a specific generated prompt: |
| 95 | |
| 96 | ```text |
| 97 | /implement-blob-storage |
| 98 | ``` |
| 99 | |
| 100 | ## Understanding Stop Controls |
| 101 | |
| 102 | ### Phase Stop (Default: true) |
| 103 | |
| 104 | Pauses after completing all tasks in a phase: |
| 105 | |
| 106 | ```text |
| 107 | Phase 1: [x] Task 1.1, [x] Task 1.2 → STOP for review |
| 108 | Phase 2: [ ] Task 2.1, [ ] Task 2.2 |
| 109 | ``` |
| 110 | |
| 111 | ### Task Stop (Default: false) |
| 112 | |
| 113 | Pauses after each individual task: |
| 114 | |
| 115 | ```text |
| 116 | Phase 1: [x] Task 1.1 → STOP |
| 117 | [ ] Task 1.2 |
| 118 | ``` |
| 119 | |
| 120 | ## Tips for Better Implementation |
| 121 | |
| 122 | ✅ **Do:** |
| 123 | |
| 124 | * Review changes at each stop point |
| 125 | * Run linters and validators |
| 126 | * Check that success criteria are met |
| 127 | * Ask for adjustments before continuing |
| 128 | |
| 129 | ❌ **Don't:** |
| 130 | |
| 131 | * Skip reviewing changes |
| 132 | * Ignore failing tests or lints |
| 133 | * Rush through all phases without checking |
| 134 | |
| 135 | ## The Changes Log |
| 136 | |
| 137 | Task Implementor maintains a changes log with sections: |
| 138 | |
| 139 | ```markdown |
| 140 | ## Changes |
| 141 | |
| 142 | ### Added |
| 143 | * src/storage/blob_client.py - Azure Blob Storage client class |
| 144 | |
| 145 | ### Modified |
| 146 | * src/pipeline/config.py - Added blob storage configuration |
| 147 | |
| 148 | ### Removed |
| 149 | * (none this implementation) |
| 150 | ``` |
| 151 | |
| 152 | ## At Completion |
| 153 | |
| 154 | When all phases are complete, Task Implementor provides: |
| 155 | |
| 156 | 1. **Summary** of all changes from the changes log |
| 157 | 2. **Links** to planning files for reference |
| 158 | 3. **Recommendation** to proceed to review |
| 159 | |
| 160 | ## Common Pitfalls |
| 161 | |
| 162 | | Pitfall | Solution | |
| 163 | |-------------------------|---------------------------------------------------------------------------------| |
| 164 | | Plan not found | Complete Task Planner first | |
| 165 | | Skipping reviews | Use phaseStop=true for important changes | |
| 166 | | Not running validations | Check lint/test after each phase | |
| 167 | | Context issues | Use `/clear` before starting; see [Context Engineering](context-engineering.md) | |
| 168 | |
| 169 | ## Next Steps |
| 170 | |
| 171 | After Task Implementor completes: |
| 172 | |
| 173 | 1. **Clear context** using `/clear` or starting a new chat |
| 174 | 2. **Review** using `/task-review` to switch to [Task Reviewer](task-reviewer.md) |
| 175 | 3. **Address findings** from the review before committing |
| 176 | 4. **Commit** your changes with a descriptive message |
| 177 | 5. **Clean up** planning files if no longer needed |
| 178 | |
| 179 | > [!TIP] |
| 180 | > Use the **✅ Review** handoff button when available to transition directly to Task Reviewer with context. |
| 181 | |
| 182 | For your next task, you can start the RPI workflow again with Task Researcher. |
| 183 | |
| 184 | --- |
| 185 | |
| 186 | <!-- markdownlint-disable MD036 --> |
| 187 | *🤖 Crafted with precision by ✨Copilot following brilliant human instruction, |
| 188 | then carefully refined by our team of discerning human reviewers.* |
| 189 | <!-- markdownlint-enable MD036 --> |