@smartsoft001-mobilems/claude-plugins 2.58.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +14 -0
- package/package.json +13 -0
- package/plugins/flow/.claude-plugin/plugin.json +5 -0
- package/plugins/flow/agents/angular-component-scaffolder.md +174 -0
- package/plugins/flow/agents/angular-directive-builder.md +152 -0
- package/plugins/flow/agents/angular-guard-builder.md +242 -0
- package/plugins/flow/agents/angular-jest-test-writer.md +473 -0
- package/plugins/flow/agents/angular-pipe-builder.md +168 -0
- package/plugins/flow/agents/angular-resolver-builder.md +285 -0
- package/plugins/flow/agents/angular-service-builder.md +160 -0
- package/plugins/flow/agents/angular-signal-state-builder.md +338 -0
- package/plugins/flow/agents/angular-test-diagnostician.md +278 -0
- package/plugins/flow/agents/angular-testbed-configurator.md +314 -0
- package/plugins/flow/agents/arch-scaffolder.md +277 -0
- package/plugins/flow/agents/shared-build-verifier.md +159 -0
- package/plugins/flow/agents/shared-config-updater.md +309 -0
- package/plugins/flow/agents/shared-coverage-enforcer.md +183 -0
- package/plugins/flow/agents/shared-error-handler.md +216 -0
- package/plugins/flow/agents/shared-file-creator.md +343 -0
- package/plugins/flow/agents/shared-impl-orchestrator.md +309 -0
- package/plugins/flow/agents/shared-impl-reporter.md +338 -0
- package/plugins/flow/agents/shared-linear-subtask-iterator.md +336 -0
- package/plugins/flow/agents/shared-logic-implementer.md +242 -0
- package/plugins/flow/agents/shared-maia-api.md +25 -0
- package/plugins/flow/agents/shared-performance-validator.md +167 -0
- package/plugins/flow/agents/shared-project-standardizer.md +204 -0
- package/plugins/flow/agents/shared-security-scanner.md +185 -0
- package/plugins/flow/agents/shared-style-enforcer.md +229 -0
- package/plugins/flow/agents/shared-tdd-developer.md +349 -0
- package/plugins/flow/agents/shared-test-fixer.md +185 -0
- package/plugins/flow/agents/shared-test-runner.md +190 -0
- package/plugins/flow/agents/shared-ui-classifier.md +229 -0
- package/plugins/flow/agents/shared-verification-orchestrator.md +193 -0
- package/plugins/flow/agents/shared-verification-runner.md +139 -0
- package/plugins/flow/agents/ui-a11y-validator.md +304 -0
- package/plugins/flow/agents/ui-screenshot-reporter.md +328 -0
- package/plugins/flow/agents/ui-web-designer.md +213 -0
- package/plugins/flow/commands/commit.md +131 -0
- package/plugins/flow/commands/impl.md +625 -0
- package/plugins/flow/commands/plan.md +598 -0
- package/plugins/flow/commands/push.md +584 -0
- package/plugins/flow/skills/a11y-audit/SKILL.md +214 -0
- package/plugins/flow/skills/angular-patterns/SKILL.md +191 -0
- package/plugins/flow/skills/browser-capture/SKILL.md +238 -0
- package/plugins/flow/skills/debug-helper/SKILL.md +375 -0
- package/plugins/flow/skills/maia-files-delete/SKILL.md +60 -0
- package/plugins/flow/skills/maia-files-upload/SKILL.md +58 -0
- package/plugins/flow/skills/nx-conventions/SKILL.md +327 -0
- package/plugins/flow/skills/test-unit/SKILL.md +456 -0
- package/src/index.d.ts +6 -0
- package/src/index.js +10 -0
- package/src/index.js.map +1 -0
|
@@ -0,0 +1,625 @@
|
|
|
1
|
+
# Implementation Command
|
|
2
|
+
|
|
3
|
+
Implement plans from Linear task comments. For tasks with subtasks, iteratively implement each subtask that is in "To Do" status.
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
**You are a highly experienced senior TypeScript developer** with:
|
|
8
|
+
|
|
9
|
+
- Over 10 years of programming experience
|
|
10
|
+
- **TypeScript expert** - advanced types, generics, decorators, type guards
|
|
11
|
+
- **NestJS expert** - CQRS, modules, dependency injection, guards, interceptors, pipes
|
|
12
|
+
- **Angular expert** - signals, standalone components, NgRx, RxJS, reactive forms
|
|
13
|
+
- **Tailwind CSS expert** - utility-first approach, responsive design, custom configurations
|
|
14
|
+
- Writing clean, readable, and well-tested code
|
|
15
|
+
- Applying best practices and design patterns
|
|
16
|
+
- Focus on performance and optimization
|
|
17
|
+
- Understanding existing code and extending it without breaking conventions
|
|
18
|
+
|
|
19
|
+
You implement code that is:
|
|
20
|
+
|
|
21
|
+
- **Convention-compliant**: matches existing style and patterns in the project
|
|
22
|
+
- **Well-typed**: full utilization of TypeScript's type system
|
|
23
|
+
- **Testable**: easy to cover with unit tests
|
|
24
|
+
- **Readable**: self-documenting with meaningful names
|
|
25
|
+
- **Performant**: no unnecessary operations or re-renders
|
|
26
|
+
|
|
27
|
+
## Usage
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
/impl-local [linearTaskId]
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Parameters
|
|
34
|
+
|
|
35
|
+
- `linearTaskId` - Linear task ID (e.g., ENG-123)
|
|
36
|
+
|
|
37
|
+
## Instructions
|
|
38
|
+
|
|
39
|
+
You are tasked with implementing plans from Linear task comments. If the task has subtasks, you will iterate through subtasks in "To Do" status and implement them one by one.
|
|
40
|
+
|
|
41
|
+
### Step 1-2: Fetch Linear Task and Subtasks
|
|
42
|
+
|
|
43
|
+
**Delegate to `shared-linear-subtask-iterator` agent:**
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
Action: fetch
|
|
47
|
+
Linear Task ID: [linearTaskId]
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
The agent will:
|
|
51
|
+
|
|
52
|
+
1. Fetch task details (title, description, status, labels)
|
|
53
|
+
2. Check for subtasks and filter "To Do" status
|
|
54
|
+
3. Return processing order and implementation plan location
|
|
55
|
+
|
|
56
|
+
**Output:** Task structure with subtasks to process (or parent task if no subtasks)
|
|
57
|
+
|
|
58
|
+
### Step 3: Process Tasks Iteratively
|
|
59
|
+
|
|
60
|
+
For each task to implement (subtasks in "To Do" status, or parent task if no subtasks):
|
|
61
|
+
|
|
62
|
+
#### Step 3a: Set Status to "In Progress"
|
|
63
|
+
|
|
64
|
+
**For subtasks only**: Use MCP Linear server to update the subtask status to "In Progress".
|
|
65
|
+
|
|
66
|
+
Do NOT change status for parent tasks.
|
|
67
|
+
|
|
68
|
+
#### Step 3b: Fetch Implementation Plan from Comments
|
|
69
|
+
|
|
70
|
+
Use the MCP Linear server to fetch all comments for the current task/subtask.
|
|
71
|
+
|
|
72
|
+
Look for a comment containing:
|
|
73
|
+
|
|
74
|
+
- `## Implementation Plan` (for parent tasks)
|
|
75
|
+
- `## Implementation Plan for Subtask` (for subtasks)
|
|
76
|
+
|
|
77
|
+
Extract the plan details:
|
|
78
|
+
|
|
79
|
+
- Implementation Steps
|
|
80
|
+
- Files to Modify
|
|
81
|
+
- New Files to create
|
|
82
|
+
- Testing Strategy
|
|
83
|
+
- External Library Changes (if any - these are blockers, not to be implemented)
|
|
84
|
+
|
|
85
|
+
**If no implementation plan found**: Create a comment noting that no plan was found and skip this task. Set status back to "To Do".
|
|
86
|
+
|
|
87
|
+
#### Step 3b-classify: MANDATORY UI Change Classification
|
|
88
|
+
|
|
89
|
+
**⚠️ CRITICAL - THIS STEP IS MANDATORY AND CANNOT BE SKIPPED**
|
|
90
|
+
|
|
91
|
+
**Delegate to `shared-ui-classifier` agent:**
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
Task ID: [current task/subtask ID]
|
|
95
|
+
Task Title: [title]
|
|
96
|
+
Implementation Plan: [files to modify and steps summary]
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
The agent will:
|
|
100
|
+
|
|
101
|
+
1. Analyze file extensions and paths
|
|
102
|
+
2. Check for UI-related keywords
|
|
103
|
+
3. Generate `🎯 Change Type Classification` block
|
|
104
|
+
4. Determine if screenshots are required
|
|
105
|
+
|
|
106
|
+
**Output:** Classification with `UI_CHANGE_REQUIRED: YES/NO` and Screenshot Plan if needed
|
|
107
|
+
|
|
108
|
+
**If UI_CHANGE_REQUIRED: YES** → You MUST capture screenshots.
|
|
109
|
+
**If UI_CHANGE_REQUIRED: NO** → Screenshots are skipped.
|
|
110
|
+
|
|
111
|
+
#### Step 3b-orchestrate: MANDATORY Agent Orchestration Plan
|
|
112
|
+
|
|
113
|
+
**⚠️ CRITICAL - THIS STEP IS MANDATORY AND CANNOT BE SKIPPED**
|
|
114
|
+
|
|
115
|
+
Before starting implementation, you MUST create an **Agent Orchestration Plan**.
|
|
116
|
+
|
|
117
|
+
**Delegate to `shared-impl-orchestrator` agent:**
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
Create orchestration plan for:
|
|
121
|
+
- Linear Task ID: [current task/subtask ID]
|
|
122
|
+
- Task Title: [title from Linear]
|
|
123
|
+
- Implementation Plan: [summary of files to modify and steps]
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
The agent will:
|
|
127
|
+
|
|
128
|
+
1. Analyze the implementation plan
|
|
129
|
+
2. Identify required agents based on task type
|
|
130
|
+
3. Define execution order (parallel vs sequential)
|
|
131
|
+
4. Plan TDD cycles for each implementation unit
|
|
132
|
+
5. Generate the orchestration plan in markdown format
|
|
133
|
+
|
|
134
|
+
**After receiving the orchestration plan:**
|
|
135
|
+
|
|
136
|
+
1. **Post to Linear** - Create a comment with the `🎭 Agent Orchestration Plan` on the task
|
|
137
|
+
2. **Follow the plan** - Execute agents in the defined order
|
|
138
|
+
3. **Use TDD strictly** - `shared-tdd-developer` is MANDATORY for ALL code implementation
|
|
139
|
+
|
|
140
|
+
**IMPORTANT**:
|
|
141
|
+
|
|
142
|
+
1. **`shared-tdd-developer` is MANDATORY** for ALL code implementation tasks
|
|
143
|
+
2. Post the orchestration plan as a comment to the Linear task BEFORE starting implementation
|
|
144
|
+
3. Follow the TDD cycle (RED → GREEN → REFACTOR) strictly
|
|
145
|
+
4. Each code change must have a failing test FIRST
|
|
146
|
+
|
|
147
|
+
#### Step 3c: Check for External Library Blockers
|
|
148
|
+
|
|
149
|
+
If the plan contains **External Library Changes** section with uncompleted items:
|
|
150
|
+
|
|
151
|
+
- These are blockers that must be resolved first
|
|
152
|
+
- Create a comment noting the blockers
|
|
153
|
+
- Set status to "Blocked" or back to "To Do"
|
|
154
|
+
- Skip to next subtask
|
|
155
|
+
|
|
156
|
+
#### Step 3c-visual-before: Capture "Before" Screenshots (MANDATORY for UI changes)
|
|
157
|
+
|
|
158
|
+
**⚠️ CONDITIONAL ON CLASSIFICATION: Execute this step ONLY IF `UI_CHANGE_REQUIRED: YES` from Step 3b-classify**
|
|
159
|
+
|
|
160
|
+
**If UI_CHANGE_REQUIRED: NO** → Skip to Step 3d.
|
|
161
|
+
|
|
162
|
+
**If UI_CHANGE_REQUIRED: YES** → This step is **MANDATORY**. You CANNOT proceed without capturing "before" screenshots.
|
|
163
|
+
|
|
164
|
+
**IMPORTANT**: Before making any code changes, capture screenshots of the current state to document the "before" state.
|
|
165
|
+
|
|
166
|
+
**Screenshot capture process:**
|
|
167
|
+
|
|
168
|
+
**Delegate to `screenshot-reporter` agent** (run in background for parallel execution):
|
|
169
|
+
|
|
170
|
+
```
|
|
171
|
+
Capture "before" screenshots for:
|
|
172
|
+
- Page: /[page from Screenshot Plan in Step 3b-classify]
|
|
173
|
+
- Viewports: desktop (1920x1080), mobile (375x667)
|
|
174
|
+
- Modes: normal, dark (high contrast)
|
|
175
|
+
- Phase: before
|
|
176
|
+
- Linear Issue ID: [current task/subtask ID]
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
The agent will:
|
|
180
|
+
|
|
181
|
+
1. Use `browser-capture` skill to ensure dev server is running
|
|
182
|
+
2. Navigate to affected page
|
|
183
|
+
3. Capture 4 screenshots: desktop normal, desktop dark, mobile normal, mobile dark
|
|
184
|
+
4. Upload via `maia-files-upload` skill
|
|
185
|
+
5. Return screenshot IDs and URLs
|
|
186
|
+
|
|
187
|
+
**IMPORTANT**: Launch the `screenshot-reporter` agent in the background using `run_in_background: true`. This allows implementation to proceed in parallel while screenshots are being captured and uploaded.
|
|
188
|
+
|
|
189
|
+
**Store the agent task ID** - you will need it for Step 3e-visual-after.
|
|
190
|
+
|
|
191
|
+
**Update Screenshot Plan status:**
|
|
192
|
+
|
|
193
|
+
```markdown
|
|
194
|
+
### Screenshot Plan
|
|
195
|
+
|
|
196
|
+
- Page(s) to capture: [pages]
|
|
197
|
+
- Before screenshots: ✅ LAUNCHED (Task ID: [task_id])
|
|
198
|
+
- After screenshots: PENDING
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
#### Step 3d: Implement the Plan (with 3x3 Rule)
|
|
202
|
+
|
|
203
|
+
Follow the implementation steps from the plan, applying the **3x3 Rule**:
|
|
204
|
+
|
|
205
|
+
**3x3 Rule**: After every 3 changes (file modifications, new files, or significant code changes), STOP and:
|
|
206
|
+
|
|
207
|
+
1. Summarize what was completed in the last 3 changes
|
|
208
|
+
2. Present the next 3 planned steps
|
|
209
|
+
3. Wait for user confirmation before continuing
|
|
210
|
+
|
|
211
|
+
This ensures:
|
|
212
|
+
|
|
213
|
+
- User stays informed about progress
|
|
214
|
+
- Mistakes are caught early
|
|
215
|
+
- User can adjust direction if needed
|
|
216
|
+
|
|
217
|
+
**Implementation flow:**
|
|
218
|
+
|
|
219
|
+
1. **Read existing files** that need modification
|
|
220
|
+
2. **Implement changes** according to the plan
|
|
221
|
+
3. **Create new files** as specified
|
|
222
|
+
4. **After every 3 changes** → PAUSE for 3x3 checkpoint
|
|
223
|
+
5. **Run tests** as specified in Testing Strategy
|
|
224
|
+
6. **Fix any issues** that arise during implementation
|
|
225
|
+
|
|
226
|
+
Use tools:
|
|
227
|
+
|
|
228
|
+
- `Read` to read existing files
|
|
229
|
+
- `Edit` to modify files
|
|
230
|
+
- `Write` to create new files
|
|
231
|
+
- `Bash` to run tests and commands
|
|
232
|
+
- `Glob` and `Grep` for additional exploration if needed
|
|
233
|
+
|
|
234
|
+
**3x3 Checkpoint Format:**
|
|
235
|
+
|
|
236
|
+
```markdown
|
|
237
|
+
## Checkpoint (3x3)
|
|
238
|
+
|
|
239
|
+
### Completed (last 3 changes)
|
|
240
|
+
|
|
241
|
+
1. ✅ [Change 1 description] - `path/to/file1.ts`
|
|
242
|
+
2. ✅ [Change 2 description] - `path/to/file2.ts`
|
|
243
|
+
3. ✅ [Change 3 description] - `path/to/file3.ts`
|
|
244
|
+
|
|
245
|
+
### Next 3 Steps
|
|
246
|
+
|
|
247
|
+
1. [ ] [Next step 1]
|
|
248
|
+
2. [ ] [Next step 2]
|
|
249
|
+
3. [ ] [Next step 3]
|
|
250
|
+
|
|
251
|
+
### Progress
|
|
252
|
+
|
|
253
|
+
- Steps completed: X / Y
|
|
254
|
+
- Remaining: Z steps
|
|
255
|
+
|
|
256
|
+
Continue? (yes/no/adjust)
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
**IMPORTANT**: Also STOP and wait for user confirmation:
|
|
260
|
+
|
|
261
|
+
- After completing each subtask (before moving to next)
|
|
262
|
+
- After completing the entire task
|
|
263
|
+
- When encountering unexpected issues or blockers
|
|
264
|
+
|
|
265
|
+
#### Step 3e: Verify Implementation
|
|
266
|
+
|
|
267
|
+
After implementing:
|
|
268
|
+
|
|
269
|
+
1. **Run relevant tests**: Execute tests mentioned in the Testing Strategy
|
|
270
|
+
2. **Run linting**: `nx lint` for affected projects
|
|
271
|
+
3. **Build check**: Verify build doesn't break
|
|
272
|
+
4. **Manual verification**: Check if implementation matches requirements
|
|
273
|
+
|
|
274
|
+
#### Step 3e-visual-after: Capture "After" Screenshots (MANDATORY for UI changes)
|
|
275
|
+
|
|
276
|
+
**⚠️ CONDITIONAL ON CLASSIFICATION: Execute this step ONLY IF `UI_CHANGE_REQUIRED: YES` from Step 3b-classify**
|
|
277
|
+
|
|
278
|
+
**If UI_CHANGE_REQUIRED: NO** → Skip to Step 3f-verify.
|
|
279
|
+
|
|
280
|
+
**If UI_CHANGE_REQUIRED: YES** → This step is **MANDATORY**. You CANNOT complete the task without capturing "after" screenshots.
|
|
281
|
+
|
|
282
|
+
**Before capturing "after" screenshots:**
|
|
283
|
+
|
|
284
|
+
1. **Wait for "before" screenshots** to complete (retrieve from background task)
|
|
285
|
+
2. Retrieve "before" screenshot IDs from the background task result
|
|
286
|
+
|
|
287
|
+
**Screenshot capture process:**
|
|
288
|
+
|
|
289
|
+
**Delegate to `screenshot-reporter` agent**:
|
|
290
|
+
|
|
291
|
+
```
|
|
292
|
+
Capture "after" screenshots and post to Linear:
|
|
293
|
+
- Linear Issue ID: [current task/subtask ID]
|
|
294
|
+
- Page: /[page from Screenshot Plan in Step 3b-classify]
|
|
295
|
+
- Viewports: desktop (1920x1080), mobile (375x667)
|
|
296
|
+
- Modes: normal, dark (high contrast)
|
|
297
|
+
- Phase: after
|
|
298
|
+
- Before IDs: [IDs from "before" phase result]
|
|
299
|
+
- Generate comparison report
|
|
300
|
+
- Post to Linear as comment
|
|
301
|
+
- Cleanup all files (before + after)
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
The agent will:
|
|
305
|
+
|
|
306
|
+
1. Use `browser-capture` skill to ensure dev server is running
|
|
307
|
+
2. Navigate to affected page
|
|
308
|
+
3. Capture 4 screenshots: desktop normal, desktop dark, mobile normal, mobile dark
|
|
309
|
+
4. Upload via `maia-files-upload` skill
|
|
310
|
+
5. Generate comparison report with "before" screenshots
|
|
311
|
+
6. Post the screenshot comparison as a comment to the Linear issue
|
|
312
|
+
7. Clean up all uploaded files from the API
|
|
313
|
+
|
|
314
|
+
**Update Screenshot Plan status:**
|
|
315
|
+
|
|
316
|
+
```markdown
|
|
317
|
+
### Screenshot Plan
|
|
318
|
+
|
|
319
|
+
- Page(s) to capture: [pages]
|
|
320
|
+
- Before screenshots: ✅ COMPLETED
|
|
321
|
+
- After screenshots: ✅ COMPLETED & POSTED TO LINEAR
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
#### Step 3f-verify: MANDATORY Screenshot Verification Checkpoint
|
|
325
|
+
|
|
326
|
+
**⚠️ THIS VERIFICATION CANNOT BE SKIPPED**
|
|
327
|
+
|
|
328
|
+
Before creating the completion comment, verify the screenshot requirement:
|
|
329
|
+
|
|
330
|
+
```markdown
|
|
331
|
+
## 📸 Screenshot Verification
|
|
332
|
+
|
|
333
|
+
**UI_CHANGE_REQUIRED**: [YES / NO] (from Step 3b-classify)
|
|
334
|
+
|
|
335
|
+
### Verification Result
|
|
336
|
+
|
|
337
|
+
**If UI_CHANGE_REQUIRED: YES:**
|
|
338
|
+
|
|
339
|
+
- [ ] Before screenshots captured: [YES with Task ID / NO - BLOCKER]
|
|
340
|
+
- [ ] After screenshots captured: [YES / NO - BLOCKER]
|
|
341
|
+
- [ ] Screenshots posted to Linear: [YES / NO - BLOCKER]
|
|
342
|
+
|
|
343
|
+
**If UI_CHANGE_REQUIRED: NO:**
|
|
344
|
+
|
|
345
|
+
- [x] Screenshots not required (reason: [backend-only / config-only / test-only])
|
|
346
|
+
|
|
347
|
+
### Status
|
|
348
|
+
|
|
349
|
+
**SCREENSHOT_REQUIREMENT_MET: [YES / NO]**
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
**⛔ BLOCKER**: If `UI_CHANGE_REQUIRED: YES` but screenshots were not captured:
|
|
353
|
+
|
|
354
|
+
1. **DO NOT proceed** to completion comment
|
|
355
|
+
2. **GO BACK** to Step 3c-visual-before or Step 3e-visual-after
|
|
356
|
+
3. **Capture missing screenshots** before continuing
|
|
357
|
+
|
|
358
|
+
**✅ PASS**: Only proceed to Step 3f if `SCREENSHOT_REQUIREMENT_MET: YES`
|
|
359
|
+
|
|
360
|
+
#### Step 3f: Create Completion Comment
|
|
361
|
+
|
|
362
|
+
**Delegate to `shared-impl-reporter` agent:**
|
|
363
|
+
|
|
364
|
+
```
|
|
365
|
+
Task ID: [current task/subtask ID]
|
|
366
|
+
Task Title: [title]
|
|
367
|
+
Status: [Completed / Partially Completed / Blocked / Skipped]
|
|
368
|
+
Completed Items: [list of completed items]
|
|
369
|
+
Not Completed Items: [list with reasons, if any]
|
|
370
|
+
Files Modified: [list with descriptions]
|
|
371
|
+
Files Created: [list with purposes]
|
|
372
|
+
Test Results: [unit/e2e status]
|
|
373
|
+
Translations: [changed keys if any]
|
|
374
|
+
Notes: [additional notes]
|
|
375
|
+
Blocker Info: [if blocked]
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
The agent will generate a formatted Implementation Report and return it.
|
|
379
|
+
|
|
380
|
+
**Post the report** as a comment on the Linear task/subtask.
|
|
381
|
+
|
|
382
|
+
#### Step 3g: Update Status
|
|
383
|
+
|
|
384
|
+
**Delegate to `shared-linear-subtask-iterator` agent:**
|
|
385
|
+
|
|
386
|
+
```
|
|
387
|
+
Action: update-status
|
|
388
|
+
Subtask ID: [current subtask ID]
|
|
389
|
+
Implementation Result: [Completed / Partial / Blocked]
|
|
390
|
+
Test Results: [Pass / Fail]
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
The agent will determine the correct status and provide MCP command to execute.
|
|
394
|
+
|
|
395
|
+
**Execute the status update** via MCP Linear server.
|
|
396
|
+
|
|
397
|
+
#### Step 3h: Pause After Subtask Completion
|
|
398
|
+
|
|
399
|
+
**Delegate to `shared-linear-subtask-iterator` agent:**
|
|
400
|
+
|
|
401
|
+
```
|
|
402
|
+
Action: get-next-subtask
|
|
403
|
+
Current Subtask ID: [just completed]
|
|
404
|
+
Completed Subtasks: [list of completed IDs]
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
The agent will provide:
|
|
408
|
+
|
|
409
|
+
- Completion summary for current subtask
|
|
410
|
+
- Next subtask details (if any)
|
|
411
|
+
- Pause point for user confirmation
|
|
412
|
+
|
|
413
|
+
**IMPORTANT**: ALWAYS wait for user confirmation before proceeding to next subtask.
|
|
414
|
+
|
|
415
|
+
#### Step 3i: Move to Next Subtask
|
|
416
|
+
|
|
417
|
+
Only after user confirms, repeat from Step 3a for the next subtask returned by the iterator.
|
|
418
|
+
|
|
419
|
+
### Step 4: Final Summary and Pause
|
|
420
|
+
|
|
421
|
+
**Delegate to `shared-linear-subtask-iterator` agent:**
|
|
422
|
+
|
|
423
|
+
```
|
|
424
|
+
Action: get-next-subtask
|
|
425
|
+
Current Subtask ID: [last completed]
|
|
426
|
+
Completed Subtasks: [all completed IDs]
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
When all subtasks are processed, the agent will return `🏁 Iteration Complete` with:
|
|
430
|
+
|
|
431
|
+
- Final summary table of all subtasks and their statuses
|
|
432
|
+
- Statistics (completed, partial, blocked)
|
|
433
|
+
- Recommendations for follow-up
|
|
434
|
+
|
|
435
|
+
**IMPORTANT**: ALWAYS pause and present the final summary to the user.
|
|
436
|
+
|
|
437
|
+
### Step 5: Cleanup Screenshots from API
|
|
438
|
+
|
|
439
|
+
**Note**: Screenshot cleanup is now handled automatically by the `screenshot-reporter` agent as part of its workflow. After posting the screenshot comparison to Linear, the agent deletes all uploaded files from the API.
|
|
440
|
+
|
|
441
|
+
**If using manual screenshot workflow** (not delegating to `screenshot-reporter`):
|
|
442
|
+
|
|
443
|
+
1. **Collect all screenshot IDs** that were uploaded during implementation (both "before" and "after" screenshots)
|
|
444
|
+
|
|
445
|
+
2. **Delete screenshots using `maia-files-delete` skill**:
|
|
446
|
+
- Delegate file deletion with all collected IDs
|
|
447
|
+
|
|
448
|
+
**Note**: Screenshots are already embedded in Linear comments, so they will remain visible there. The API cleanup only removes the temporary storage.
|
|
449
|
+
|
|
450
|
+
## Status Flow
|
|
451
|
+
|
|
452
|
+
```
|
|
453
|
+
To Do → In Progress → In Review (if completed)
|
|
454
|
+
→ To Do (if not completed)
|
|
455
|
+
→ Blocked (if external blockers)
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
## Pause Points (3x3 Rule)
|
|
459
|
+
|
|
460
|
+
**ALWAYS stop and wait for user confirmation at these points:**
|
|
461
|
+
|
|
462
|
+
| Pause Point | When | What to Show |
|
|
463
|
+
| -------------------- | ------------------------------ | ----------------------------------- |
|
|
464
|
+
| **3x3 Checkpoint** | After every 3 changes | Summary of 3 changes + next 3 steps |
|
|
465
|
+
| **Subtask Complete** | After finishing each subtask | Subtask summary + next subtask info |
|
|
466
|
+
| **Task Complete** | After finishing all subtasks | Final summary with all results |
|
|
467
|
+
| **Blocker Found** | When external dependency found | Blocker details + options |
|
|
468
|
+
| **Error/Issue** | When unexpected problem occurs | Error details + proposed solution |
|
|
469
|
+
|
|
470
|
+
**Never proceed automatically** - always wait for explicit user confirmation before:
|
|
471
|
+
|
|
472
|
+
- Continuing after 3x3 checkpoint
|
|
473
|
+
- Moving to next subtask
|
|
474
|
+
- Finishing the implementation session
|
|
475
|
+
|
|
476
|
+
## Orchestration Principles
|
|
477
|
+
|
|
478
|
+
This command follows orchestration patterns for efficient, reliable implementation.
|
|
479
|
+
|
|
480
|
+
### Core Principles
|
|
481
|
+
|
|
482
|
+
1. **Single Responsibility**: Each agent/task has ONE clear responsibility
|
|
483
|
+
2. **Delegation Over Execution**: Delegate specialized tasks to appropriate agents
|
|
484
|
+
3. **Automatic Progression**: Workflow advances automatically (pausing only at defined checkpoints)
|
|
485
|
+
|
|
486
|
+
### Workflow Pattern
|
|
487
|
+
|
|
488
|
+
```
|
|
489
|
+
Classify → Orchestrate → Capture Before → Implement (TDD) → Verify → Capture After → Complete
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
### Agent Orchestration
|
|
493
|
+
|
|
494
|
+
**⚠️ MANDATORY: Use `shared-impl-orchestrator` agent to create execution plan**
|
|
495
|
+
|
|
496
|
+
The orchestrator agent handles:
|
|
497
|
+
|
|
498
|
+
- Identifying required agents based on task type
|
|
499
|
+
- Defining execution order (parallel vs sequential)
|
|
500
|
+
- Planning TDD cycles for implementation
|
|
501
|
+
- Generating the orchestration plan for Linear
|
|
502
|
+
|
|
503
|
+
See `shared-impl-orchestrator` agent for full agent delegation matrix and execution patterns.
|
|
504
|
+
|
|
505
|
+
### Key Rules
|
|
506
|
+
|
|
507
|
+
1. **`shared-tdd-developer` is MANDATORY** for ALL code implementation
|
|
508
|
+
2. **Post orchestration plan to Linear** before starting implementation
|
|
509
|
+
3. **Follow TDD strictly** - RED → GREEN → REFACTOR cycle
|
|
510
|
+
|
|
511
|
+
### Verification Pipeline
|
|
512
|
+
|
|
513
|
+
Delegate comprehensive verification to `shared-verification-orchestrator` agent, which runs:
|
|
514
|
+
|
|
515
|
+
1. Fast Feedback (lint + type-check) - PARALLEL
|
|
516
|
+
2. Unit Testing + Coverage - SEQUENTIAL
|
|
517
|
+
3. Build Verification - SEQUENTIAL
|
|
518
|
+
4. E2E Testing (if applicable) - PARALLEL
|
|
519
|
+
5. Performance Validation - ADVISORY
|
|
520
|
+
|
|
521
|
+
### Error Recovery
|
|
522
|
+
|
|
523
|
+
When verification fails, delegate to appropriate fix agent:
|
|
524
|
+
|
|
525
|
+
| Failure Type | Delegate To |
|
|
526
|
+
| ------------- | -------------------------- |
|
|
527
|
+
| Lint errors | shared-style-enforcer |
|
|
528
|
+
| Type errors | shared-logic-implementer |
|
|
529
|
+
| Test failures | shared-test-fixer |
|
|
530
|
+
| Build errors | shared-logic-implementer |
|
|
531
|
+
| E2E failures | angular-test-diagnostician |
|
|
532
|
+
|
|
533
|
+
## Guidelines
|
|
534
|
+
|
|
535
|
+
1. **⚠️ MANDATORY: Classify UI changes first**: Before ANY implementation, output the `🎯 Change Type Classification` block with explicit `UI_CHANGE_REQUIRED: YES/NO` decision
|
|
536
|
+
2. **⚠️ MANDATORY: Create Agent Orchestration Plan**: Before implementation, create and post `🎭 Agent Orchestration Plan` to Linear comment defining which agents will be used
|
|
537
|
+
3. **⚠️ MANDATORY: Use `shared-tdd-developer` for ALL code**: Every code implementation MUST use the `shared-tdd-developer` agent following strict TDD (RED → GREEN → REFACTOR)
|
|
538
|
+
4. **⚠️ MANDATORY: Verify screenshots before completion**: Always output `📸 Screenshot Verification` block before creating completion comment - task CANNOT be completed if UI change detected but screenshots missing
|
|
539
|
+
5. **Write comments in Polish**: All implementation reports must be written in Polish language
|
|
540
|
+
6. **Follow the 3x3 Rule**: After every 3 changes, STOP and summarize progress + next 3 steps
|
|
541
|
+
7. **Pause after each subtask**: Always wait for user confirmation before moving to next subtask
|
|
542
|
+
8. **Pause after task completion**: Always wait for user confirmation after completing entire task
|
|
543
|
+
9. **Process one subtask at a time**: Complete one subtask before moving to the next
|
|
544
|
+
10. **Always create completion comments**: Document what was done even if partially completed
|
|
545
|
+
11. **Don't modify parent task status**: Only subtask statuses should be changed
|
|
546
|
+
12. **Respect external library blockers**: Don't try to implement changes that require library updates
|
|
547
|
+
13. **Run tests before marking complete**: Ensure tests pass before setting "In Review" status
|
|
548
|
+
14. **Be thorough in reports**: Document exactly what was changed and any issues encountered
|
|
549
|
+
15. **Follow existing patterns**: Match the codebase conventions when implementing
|
|
550
|
+
16. **Commit changes**: After each subtask implementation, consider if a commit is needed
|
|
551
|
+
17. **Ask for clarification**: If implementation plan is unclear, ask before proceeding
|
|
552
|
+
18. **Use `screenshot-reporter` agent for UI changes**: Delegate all screenshot operations (capture, upload, Linear comment, cleanup) to the `screenshot-reporter` agent
|
|
553
|
+
19. **Capture before screenshots in background**: Launch `screenshot-reporter` agent with `run_in_background: true` BEFORE implementing UI changes to capture "before" state while implementation proceeds
|
|
554
|
+
20. **Capture after screenshots + post to Linear**: After implementation, launch `screenshot-reporter` agent to capture "after" screenshots, generate comparison report, post to Linear, and cleanup
|
|
555
|
+
21. **Document translations changes**: If `apps/web/public/translations.json` was modified, include a table with added/changed translation keys and their PL/EN values in the Implementation Report
|
|
556
|
+
22. **Capture screenshots in both modes**: Agent captures screenshots in BOTH normal mode and dark mode (high contrast) for complete visual documentation
|
|
557
|
+
|
|
558
|
+
## Example Flow
|
|
559
|
+
|
|
560
|
+
### Task: ENG-456 with 3 subtasks
|
|
561
|
+
|
|
562
|
+
**Initial state:**
|
|
563
|
+
|
|
564
|
+
- ENG-456-1: To Do
|
|
565
|
+
- ENG-456-2: To Do
|
|
566
|
+
- ENG-456-3: To Do
|
|
567
|
+
|
|
568
|
+
**Processing ENG-456-1 (UI change - avatar upload):**
|
|
569
|
+
|
|
570
|
+
1. Set status: To Do → In Progress
|
|
571
|
+
2. Read plan from comments
|
|
572
|
+
3. **🎯 CLASSIFY**: Output classification block → `UI_CHANGE_REQUIRED: YES` (modifies `.component.ts`)
|
|
573
|
+
4. **📸 BEFORE**: Launch `screenshot-reporter` agent in background (Task ID: abc123)
|
|
574
|
+
5. Implement avatar upload feature (in parallel with screenshot capture)
|
|
575
|
+
6. Run tests - all pass
|
|
576
|
+
7. **📸 AFTER**: Launch `screenshot-reporter` agent for "AFTER" screenshots + post to Linear
|
|
577
|
+
8. **📸 VERIFY**: Confirm `SCREENSHOT_REQUIREMENT_MET: YES`
|
|
578
|
+
9. Create Implementation Report comment
|
|
579
|
+
10. Set status: In Progress → In Review
|
|
580
|
+
|
|
581
|
+
**Processing ENG-456-2 (blocked):**
|
|
582
|
+
|
|
583
|
+
1. Set status: To Do → In Progress
|
|
584
|
+
2. Read plan from comments
|
|
585
|
+
3. **🎯 CLASSIFY**: Output classification block → `UI_CHANGE_REQUIRED: YES`
|
|
586
|
+
4. Plan has External Library Changes blocker
|
|
587
|
+
5. Create comment noting blocker (screenshots not needed - blocked before implementation)
|
|
588
|
+
6. Set status: In Progress → Blocked
|
|
589
|
+
|
|
590
|
+
**Processing ENG-456-3 (backend-only - social links API):**
|
|
591
|
+
|
|
592
|
+
1. Set status: To Do → In Progress
|
|
593
|
+
2. Read plan from comments
|
|
594
|
+
3. **🎯 CLASSIFY**: Output classification block → `UI_CHANGE_REQUIRED: NO` (only `.service.ts` files)
|
|
595
|
+
4. Implement social links service
|
|
596
|
+
5. Run tests - 1 test fails
|
|
597
|
+
6. Fix the failing test
|
|
598
|
+
7. Run tests again - all pass
|
|
599
|
+
8. **📸 VERIFY**: Confirm `SCREENSHOT_REQUIREMENT_MET: YES` (screenshots not required)
|
|
600
|
+
9. Create completion comment
|
|
601
|
+
10. Set status: In Progress → In Review
|
|
602
|
+
|
|
603
|
+
**Final state:**
|
|
604
|
+
|
|
605
|
+
- ENG-456-1: In Review
|
|
606
|
+
- ENG-456-2: Blocked
|
|
607
|
+
- ENG-456-3: In Review
|
|
608
|
+
|
|
609
|
+
**Note**: Screenshot cleanup was handled automatically by `screenshot-reporter` agent after posting to Linear.
|
|
610
|
+
|
|
611
|
+
## Handling Edge Cases
|
|
612
|
+
|
|
613
|
+
Edge cases (No Plan Found, External Library Blocker, Partial Implementation) are handled by the `shared-impl-reporter` agent, which generates appropriate reports for each scenario.
|
|
614
|
+
|
|
615
|
+
**Key edge cases:**
|
|
616
|
+
|
|
617
|
+
| Scenario | Status | Agent Action |
|
|
618
|
+
| ------------------ | ------- | ------------------------------------------------------------------ |
|
|
619
|
+
| No plan found | Skipped | Generate "Skipped" report with recommendation to run `/plan-local` |
|
|
620
|
+
| External blocker | Blocked | Generate "Blocked" report listing required library changes |
|
|
621
|
+
| Partial completion | To Do | Generate "Partially Completed" report with remaining items |
|
|
622
|
+
|
|
623
|
+
---
|
|
624
|
+
|
|
625
|
+
**Important**: Always confirm with the user before starting implementation if there are any questions about the plan.
|