@smartsoft001/pro-claude-plugins 0.2.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.
Files changed (198) hide show
  1. package/.claude-plugin/marketplace.json +26 -0
  2. package/README.md +56 -0
  3. package/package.json +14 -0
  4. package/plugins/flow/.claude-plugin/README.md +91 -0
  5. package/plugins/flow/.claude-plugin/merge-permissions.js +115 -0
  6. package/plugins/flow/.claude-plugin/plugin.json +5 -0
  7. package/plugins/flow/.claude-plugin/settings.template.json +86 -0
  8. package/plugins/flow/agents/angular-component-scaffolder.md +176 -0
  9. package/plugins/flow/agents/angular-directive-builder.md +154 -0
  10. package/plugins/flow/agents/angular-guard-builder.md +244 -0
  11. package/plugins/flow/agents/angular-jest-test-writer.md +475 -0
  12. package/plugins/flow/agents/angular-pipe-builder.md +170 -0
  13. package/plugins/flow/agents/angular-resolver-builder.md +287 -0
  14. package/plugins/flow/agents/angular-service-builder.md +162 -0
  15. package/plugins/flow/agents/angular-signal-state-builder.md +340 -0
  16. package/plugins/flow/agents/angular-test-diagnostician.md +279 -0
  17. package/plugins/flow/agents/angular-testbed-configurator.md +315 -0
  18. package/plugins/flow/agents/arch-scaffolder.md +278 -0
  19. package/plugins/flow/agents/e2e-data-testid-injector.md +195 -0
  20. package/plugins/flow/agents/e2e-project-scaffolder.md +194 -0
  21. package/plugins/flow/agents/e2e-test-writer.md +357 -0
  22. package/plugins/flow/agents/shared-agent-evolver.md +294 -0
  23. package/plugins/flow/agents/shared-build-verifier.md +160 -0
  24. package/plugins/flow/agents/shared-config-updater.md +310 -0
  25. package/plugins/flow/agents/shared-coverage-enforcer.md +184 -0
  26. package/plugins/flow/agents/shared-error-handler.md +217 -0
  27. package/plugins/flow/agents/shared-file-creator.md +344 -0
  28. package/plugins/flow/agents/shared-impl-orchestrator.md +312 -0
  29. package/plugins/flow/agents/shared-impl-reporter.md +368 -0
  30. package/plugins/flow/agents/shared-impl-teammate.md +201 -0
  31. package/plugins/flow/agents/shared-linear-subtask-iterator.md +337 -0
  32. package/plugins/flow/agents/shared-logic-implementer.md +244 -0
  33. package/plugins/flow/agents/shared-maia-api.md +26 -0
  34. package/plugins/flow/agents/shared-parallelization-analyzer.md +343 -0
  35. package/plugins/flow/agents/shared-performance-validator.md +168 -0
  36. package/plugins/flow/agents/shared-plan-perspective.md +271 -0
  37. package/plugins/flow/agents/shared-project-standardizer.md +205 -0
  38. package/plugins/flow/agents/shared-report-synthesizer.md +188 -0
  39. package/plugins/flow/agents/shared-review-teammate.md +189 -0
  40. package/plugins/flow/agents/shared-security-scanner.md +186 -0
  41. package/plugins/flow/agents/shared-style-enforcer.md +230 -0
  42. package/plugins/flow/agents/shared-subtask-dependency-analyzer.md +189 -0
  43. package/plugins/flow/agents/shared-tdd-developer.md +350 -0
  44. package/plugins/flow/agents/shared-team-coordinator.md +192 -0
  45. package/plugins/flow/agents/shared-test-fixer.md +186 -0
  46. package/plugins/flow/agents/shared-test-runner.md +191 -0
  47. package/plugins/flow/agents/shared-ui-classifier.md +263 -0
  48. package/plugins/flow/agents/shared-verification-orchestrator.md +194 -0
  49. package/plugins/flow/agents/shared-verification-runner.md +140 -0
  50. package/plugins/flow/agents/ui-a11y-validator.md +305 -0
  51. package/plugins/flow/agents/ui-screenshot-reporter.md +329 -0
  52. package/plugins/flow/agents/ui-web-designer.md +214 -0
  53. package/plugins/flow/scripts/compute-session-tokens.sh +39 -0
  54. package/plugins/flow/skills/a11y-audit/SKILL.md +214 -0
  55. package/plugins/flow/skills/angular-patterns/SKILL.md +191 -0
  56. package/plugins/flow/skills/browser-capture/SKILL.md +238 -0
  57. package/plugins/flow/skills/commit/SKILL.md +259 -0
  58. package/plugins/flow/skills/debug-helper/SKILL.md +375 -0
  59. package/plugins/flow/skills/impl/SKILL.md +992 -0
  60. package/plugins/flow/skills/karpathy-guidelines/SKILL.md +72 -0
  61. package/plugins/flow/skills/linear-suggestion/SKILL.md +132 -0
  62. package/plugins/flow/skills/maia-files-delete/SKILL.md +59 -0
  63. package/plugins/flow/skills/maia-files-upload/SKILL.md +57 -0
  64. package/plugins/flow/skills/nx-conventions/SKILL.md +326 -0
  65. package/plugins/flow/skills/plan/SKILL.md +1033 -0
  66. package/plugins/flow/skills/push/SKILL.md +759 -0
  67. package/plugins/flow/skills/review/SKILL.md +443 -0
  68. package/plugins/flow/skills/test-e2e/SKILL.md +164 -0
  69. package/plugins/flow/skills/test-unit/SKILL.md +456 -0
  70. package/plugins/flow-external/.claude-plugin/README.md +146 -0
  71. package/plugins/flow-external/.claude-plugin/merge-permissions.js +94 -0
  72. package/plugins/flow-external/.claude-plugin/plugin.json +5 -0
  73. package/plugins/flow-external/.claude-plugin/settings.template.json +78 -0
  74. package/plugins/flow-external/agents/angular-component-scaffolder.md +271 -0
  75. package/plugins/flow-external/agents/angular-directive-builder.md +134 -0
  76. package/plugins/flow-external/agents/angular-guard-builder.md +73 -0
  77. package/plugins/flow-external/agents/angular-pipe-builder.md +90 -0
  78. package/plugins/flow-external/agents/angular-resolver-builder.md +79 -0
  79. package/plugins/flow-external/agents/angular-service-builder.md +168 -0
  80. package/plugins/flow-external/agents/angular-state-builder.md +263 -0
  81. package/plugins/flow-external/agents/shared-build-verifier.md +67 -0
  82. package/plugins/flow-external/agents/shared-impl-orchestrator.md +90 -0
  83. package/plugins/flow-external/agents/shared-impl-reporter.md +135 -0
  84. package/plugins/flow-external/agents/shared-linear-subtask-iterator.md +70 -0
  85. package/plugins/flow-external/agents/shared-ui-classifier.md +38 -0
  86. package/plugins/flow-external/agents/ui-web-designer.md +203 -0
  87. package/plugins/flow-external/scripts/compute-session-tokens.sh +39 -0
  88. package/plugins/flow-external/skills/a11y-audit/SKILL.md +97 -0
  89. package/plugins/flow-external/skills/angular-cli-conventions/SKILL.md +268 -0
  90. package/plugins/flow-external/skills/angular-patterns/SKILL.md +182 -0
  91. package/plugins/flow-external/skills/browser-capture/SKILL.md +74 -0
  92. package/plugins/flow-external/skills/commit/SKILL.md +114 -0
  93. package/plugins/flow-external/skills/debug-helper/SKILL.md +135 -0
  94. package/plugins/flow-external/skills/impl/SKILL.md +218 -0
  95. package/plugins/flow-external/skills/karpathy-guidelines/SKILL.md +72 -0
  96. package/plugins/flow-external/skills/linear-suggestion/SKILL.md +62 -0
  97. package/plugins/flow-external/skills/maia-files-delete/SKILL.md +34 -0
  98. package/plugins/flow-external/skills/maia-files-upload/SKILL.md +41 -0
  99. package/plugins/flow-external/skills/plan/SKILL.md +334 -0
  100. package/plugins/flow-external/skills/push/SKILL.md +232 -0
  101. package/plugins/flow-legacy/.claude-plugin/README.md +143 -0
  102. package/plugins/flow-legacy/.claude-plugin/merge-permissions.js +94 -0
  103. package/plugins/flow-legacy/.claude-plugin/plugin.json +5 -0
  104. package/plugins/flow-legacy/.claude-plugin/settings.template.json +79 -0
  105. package/plugins/flow-legacy/agents/angular-component-scaffolder.md +327 -0
  106. package/plugins/flow-legacy/agents/angular-directive-builder.md +253 -0
  107. package/plugins/flow-legacy/agents/angular-guard-builder.md +326 -0
  108. package/plugins/flow-legacy/agents/angular-pipe-builder.md +238 -0
  109. package/plugins/flow-legacy/agents/angular-resolver-builder.md +339 -0
  110. package/plugins/flow-legacy/agents/angular-service-builder.md +271 -0
  111. package/plugins/flow-legacy/agents/angular-state-builder.md +480 -0
  112. package/plugins/flow-legacy/agents/shared-impl-orchestrator.md +174 -0
  113. package/plugins/flow-legacy/agents/shared-impl-reporter.md +232 -0
  114. package/plugins/flow-legacy/agents/shared-linear-subtask-iterator.md +198 -0
  115. package/plugins/flow-legacy/agents/shared-tdd-developer.md +307 -0
  116. package/plugins/flow-legacy/agents/shared-test-runner.md +133 -0
  117. package/plugins/flow-legacy/agents/shared-ui-classifier.md +145 -0
  118. package/plugins/flow-legacy/scripts/compute-session-tokens.sh +39 -0
  119. package/plugins/flow-legacy/skills/a11y-audit/SKILL.md +214 -0
  120. package/plugins/flow-legacy/skills/angular-patterns/SKILL.md +346 -0
  121. package/plugins/flow-legacy/skills/browser-capture/SKILL.md +238 -0
  122. package/plugins/flow-legacy/skills/commit/SKILL.md +215 -0
  123. package/plugins/flow-legacy/skills/debug-helper/SKILL.md +395 -0
  124. package/plugins/flow-legacy/skills/impl/SKILL.md +710 -0
  125. package/plugins/flow-legacy/skills/karpathy-guidelines/SKILL.md +72 -0
  126. package/plugins/flow-legacy/skills/linear-suggestion/SKILL.md +132 -0
  127. package/plugins/flow-legacy/skills/maia-files-delete/SKILL.md +59 -0
  128. package/plugins/flow-legacy/skills/maia-files-upload/SKILL.md +57 -0
  129. package/plugins/flow-legacy/skills/nx-conventions/SKILL.md +368 -0
  130. package/plugins/flow-legacy/skills/plan/SKILL.md +742 -0
  131. package/plugins/flow-legacy/skills/push/SKILL.md +645 -0
  132. package/plugins/flow-legacy/skills/test-unit/SKILL.md +500 -0
  133. package/plugins/smart-pro/.claude-plugin/README.md +115 -0
  134. package/plugins/smart-pro/.claude-plugin/merge-permissions.js +129 -0
  135. package/plugins/smart-pro/.claude-plugin/plugin.json +5 -0
  136. package/plugins/smart-pro/.claude-plugin/settings.template.json +94 -0
  137. package/plugins/smart-pro/agents/angular-components/AGENT.md +214 -0
  138. package/plugins/smart-pro/hooks/CONFIG.md +198 -0
  139. package/plugins/smart-pro/hooks/README.md +139 -0
  140. package/plugins/smart-pro/hooks/audit_logger.py +107 -0
  141. package/plugins/smart-pro/hooks/auto_format.sh +11 -0
  142. package/plugins/smart-pro/hooks/hooks.json +79 -0
  143. package/plugins/smart-pro/hooks/safety_validator.py +129 -0
  144. package/plugins/smart-pro/hooks/sensitive_file_blocker.py +58 -0
  145. package/plugins/smart-pro/hooks/skill_validator.py +220 -0
  146. package/plugins/smart-pro/skills/angular-components-action-panel/SKILL.md +159 -0
  147. package/plugins/smart-pro/skills/angular-components-avatar/SKILL.md +142 -0
  148. package/plugins/smart-pro/skills/angular-components-badge/SKILL.md +110 -0
  149. package/plugins/smart-pro/skills/angular-components-breadcrumbs/SKILL.md +91 -0
  150. package/plugins/smart-pro/skills/angular-components-button/SKILL.md +146 -0
  151. package/plugins/smart-pro/skills/angular-components-button-group/SKILL.md +121 -0
  152. package/plugins/smart-pro/skills/angular-components-calendar/SKILL.md +78 -0
  153. package/plugins/smart-pro/skills/angular-components-card/SKILL.md +110 -0
  154. package/plugins/smart-pro/skills/angular-components-card-heading/SKILL.md +105 -0
  155. package/plugins/smart-pro/skills/angular-components-command-palette/SKILL.md +168 -0
  156. package/plugins/smart-pro/skills/angular-components-container/SKILL.md +93 -0
  157. package/plugins/smart-pro/skills/angular-components-description-list/SKILL.md +102 -0
  158. package/plugins/smart-pro/skills/angular-components-details/SKILL.md +70 -0
  159. package/plugins/smart-pro/skills/angular-components-divider/SKILL.md +110 -0
  160. package/plugins/smart-pro/skills/angular-components-drawer/SKILL.md +136 -0
  161. package/plugins/smart-pro/skills/angular-components-dropdown/SKILL.md +131 -0
  162. package/plugins/smart-pro/skills/angular-components-empty-state/SKILL.md +103 -0
  163. package/plugins/smart-pro/skills/angular-components-feed/SKILL.md +110 -0
  164. package/plugins/smart-pro/skills/angular-components-form/SKILL.md +77 -0
  165. package/plugins/smart-pro/skills/angular-components-grid-list/SKILL.md +91 -0
  166. package/plugins/smart-pro/skills/angular-components-input/SKILL.md +118 -0
  167. package/plugins/smart-pro/skills/angular-components-list/SKILL.md +75 -0
  168. package/plugins/smart-pro/skills/angular-components-list-container/SKILL.md +106 -0
  169. package/plugins/smart-pro/skills/angular-components-media-object/SKILL.md +133 -0
  170. package/plugins/smart-pro/skills/angular-components-modal/SKILL.md +159 -0
  171. package/plugins/smart-pro/skills/angular-components-multi-column-layout/SKILL.md +84 -0
  172. package/plugins/smart-pro/skills/angular-components-navbar/SKILL.md +93 -0
  173. package/plugins/smart-pro/skills/angular-components-notification/SKILL.md +147 -0
  174. package/plugins/smart-pro/skills/angular-components-page/SKILL.md +162 -0
  175. package/plugins/smart-pro/skills/angular-components-page-heading/SKILL.md +96 -0
  176. package/plugins/smart-pro/skills/angular-components-paging/SKILL.md +86 -0
  177. package/plugins/smart-pro/skills/angular-components-progress-bars/SKILL.md +94 -0
  178. package/plugins/smart-pro/skills/angular-components-searchbar/SKILL.md +113 -0
  179. package/plugins/smart-pro/skills/angular-components-section-heading/SKILL.md +156 -0
  180. package/plugins/smart-pro/skills/angular-components-select-menu/SKILL.md +101 -0
  181. package/plugins/smart-pro/skills/angular-components-sidebar-layout/SKILL.md +121 -0
  182. package/plugins/smart-pro/skills/angular-components-sidebar-navigation/SKILL.md +80 -0
  183. package/plugins/smart-pro/skills/angular-components-sign-in-form/SKILL.md +91 -0
  184. package/plugins/smart-pro/skills/angular-components-stacked-layout/SKILL.md +114 -0
  185. package/plugins/smart-pro/skills/angular-components-stacked-list/SKILL.md +93 -0
  186. package/plugins/smart-pro/skills/angular-components-stats/SKILL.md +87 -0
  187. package/plugins/smart-pro/skills/angular-components-table/SKILL.md +98 -0
  188. package/plugins/smart-pro/skills/angular-components-tabs/SKILL.md +99 -0
  189. package/plugins/smart-pro/skills/angular-components-textarea/SKILL.md +111 -0
  190. package/plugins/smart-pro/skills/angular-components-toggle/SKILL.md +109 -0
  191. package/plugins/smart-pro/skills/angular-components-vertical-navigation/SKILL.md +139 -0
  192. package/plugins/smart-pro/skills/audit-log/SKILL.md +82 -0
  193. package/plugins/smart-pro/skills/format-code/SKILL.md +46 -0
  194. package/plugins/smart-pro/skills/project-conventions/SKILL.md +90 -0
  195. package/plugins/smart-pro/skills/safety-check/SKILL.md +0 -0
  196. package/src/index.d.ts +6 -0
  197. package/src/index.js +7 -0
  198. package/src/index.js.map +1 -0
@@ -0,0 +1,992 @@
1
+ ---
2
+ name: impl
3
+ description: Implement plans from `plan.md` attachments on Linear issues. Iteratively processes subtasks with TDD, UI classification, agent orchestration (saved as `orchestration.md` attachment), screenshot capture, and 3x3 rule checkpoints.
4
+ allowed-tools:
5
+ - Bash
6
+ - Read
7
+ - Edit
8
+ - Write
9
+ - Glob
10
+ - Grep
11
+ - AskUserQuestion
12
+ - Task
13
+ - TaskCreate
14
+ - TaskUpdate
15
+ - TaskList
16
+ - TaskGet
17
+ - mcp__linear__get_issue
18
+ - mcp__linear__list_issues
19
+ - mcp__linear__list_comments
20
+ - mcp__linear__save_comment
21
+ - mcp__linear__save_issue
22
+ - mcp__linear__list_issue_statuses
23
+ - mcp__linear__create_attachment
24
+ - mcp__linear__get_attachment
25
+ - mcp__linear__delete_attachment
26
+ ---
27
+
28
+ # Implementation Skill
29
+
30
+ Implement plans from `plan.md` attachments on Linear issues. For tasks with subtasks, iteratively implement each subtask that is in "To Do" status. The agent orchestration plan is saved as an `orchestration.md` attachment on each task being implemented.
31
+
32
+ ## 🚨 Hard Rules — read before doing anything
33
+
34
+ These rules override ANY other instruction, ANY surrounding example, and ANY default habit. Violating them is a skill failure.
35
+
36
+ 1. **Read `plan.md` ONLY via `mcp__linear__get_attachment({ id: <attachmentId> })`.** Do NOT use `WebFetch`, `Bash(curl ...)`, or any HTTP fetch on the attachment's `url`. The URL points to Linear-internal storage and may require auth — `get_attachment` is the only correct path. If you find yourself reaching for `curl` or `WebFetch` on a `https://uploads.linear.app/...` (or similar Linear) URL — STOP and use `get_attachment` with the attachment `id` instead.
37
+
38
+ 2. **`orchestration.md` is saved via `mcp__linear__create_attachment`, not as a comment.** Same rule as `/plan`: comments are NEVER used for plan/orchestration body content.
39
+
40
+ 3. **Find attachments via `mcp__linear__get_issue` (returns `attachments[]`).** Capture each attachment's `id` and `title`. There is no `list_attachments` tool — do not look for one.
41
+
42
+ 4. **Replace, don't duplicate.** Before creating a new `orchestration.md` attachment, delete the existing one (if any) via `mcp__linear__delete_attachment`. Same for re-running `/plan` (handled by `/plan` skill).
43
+
44
+ If any of these would be violated, stop and ask the user instead.
45
+
46
+ ## Execution Checklist
47
+
48
+ Execute each step in order. Do not skip any step marked as MANDATORY.
49
+
50
+ ### Initial Setup
51
+
52
+ - [ ] **1. Fetch task and subtasks** — delegate to `shared-linear-subtask-iterator` agent
53
+
54
+ ### Per Subtask (repeat for each "To Do" subtask)
55
+
56
+ - [ ] **2. Set status to "In Progress"** — update subtask status via MCP (subtasks only, not parent)
57
+ - [ ] **3. Fetch implementation plan** — `mcp__linear__get_issue` to find `plan.md` attachment id, then `mcp__linear__get_attachment({ id })` to read content. **Do NOT use `WebFetch`/`curl` on the attachment URL.**
58
+ - [ ] **4. MANDATORY: UI change classification** — delegate to `shared-ui-classifier` agent, output `UI_CHANGE_REQUIRED: YES/NO`
59
+ - [ ] **5. MANDATORY: Agent orchestration plan** — delegate to `shared-impl-orchestrator`, save result as `orchestration.md` attachment via `mcp__linear__create_attachment` (replace any existing one). **Calling `mcp__linear__save_comment` with the orchestration body is FORBIDDEN.**
60
+ - [ ] **6. Check external library blockers** — if blockers found, set status to Blocked and skip
61
+ - [ ] **7. Capture "before" screenshots** — if `UI_CHANGE_REQUIRED: YES`, launch `screenshot-reporter` in background
62
+ - [ ] **8. MANDATORY: Implement with 3x3 rule** — pause every 3 changes (skip pause in `--auto`, log checkpoint as Linear comment instead), use `shared-tdd-developer` for ALL code (RED → GREEN → REFACTOR)
63
+ - [ ] **9. Verify implementation** — run tests, lint, build check
64
+ - [ ] **9.5. E2E tests (conditional)** — if `E2E_TESTS_RECOMMENDED: YES`, delegate to `test-e2e` skill
65
+ - [ ] **10. Capture "after" screenshots** — if `UI_CHANGE_REQUIRED: YES`, capture + post comparison to Linear + cleanup
66
+ - [ ] **11. MANDATORY: Screenshot verification** — output `SCREENSHOT_REQUIREMENT_MET: YES/NO`, block if missing
67
+ - [ ] **12. Create completion comment** — delegate to `shared-impl-reporter`, post to Linear
68
+ - [ ] **13. MANDATORY: Write reports in Polish** — all Linear comments must be in Polish language
69
+ - [ ] **14. Update status** — delegate to `shared-linear-subtask-iterator` for status determination
70
+ - [ ] **15. Agent evolution** — if user confirmed feedback, delegate to `shared-agent-evolver`
71
+ - [ ] **16. Pause for user confirmation** — wait before proceeding to next subtask (skipped in `--auto`; post completion comment and continue)
72
+
73
+ ### Finalization
74
+
75
+ - [ ] **17. Final summary** — present summary of all subtasks with statuses
76
+ - [ ] **18. Session-wide evolution** — analyze all feedback across session
77
+ - [ ] **19. ALWAYS pause** — wait for user confirmation at end (skipped in `--auto`; post final summary comment and exit)
78
+
79
+ ### Task Progress Tracking
80
+
81
+ **MANDATORY**: Use Claude Code's built-in task tracking to provide real-time progress visibility.
82
+
83
+ **Task naming convention**: Every task subject MUST be prefixed with the Linear task ID (parent or subtask):
84
+
85
+ ```
86
+ <linearTaskId> <step description>
87
+ ```
88
+
89
+ **At skill start**: Create tasks for the initial setup using `TaskCreate`:
90
+
91
+ ```
92
+ TaskCreate({
93
+ subject: "MM-123 Fetch task and subtasks",
94
+ description: "Delegate to shared-linear-subtask-iterator agent",
95
+ activeForm: "MM-123 Fetching task and subtasks"
96
+ })
97
+ ```
98
+
99
+ **Per subtask**: Create a parent task for the subtask, then child tasks for each step — all prefixed with the subtask ID:
100
+
101
+ ```
102
+ TaskCreate({
103
+ subject: "MM-123-1 Implement subtask",
104
+ description: "Full implementation cycle: classify → orchestrate → implement → verify",
105
+ activeForm: "MM-123-1 Implementing subtask"
106
+ })
107
+ TaskCreate({
108
+ subject: "MM-123-1 UI change classification",
109
+ description: "Delegate to shared-ui-classifier agent",
110
+ activeForm: "MM-123-1 Classifying UI changes"
111
+ })
112
+ TaskCreate({
113
+ subject: "MM-123-1 Verify implementation",
114
+ description: "Run tests, lint, build check",
115
+ activeForm: "MM-123-1 Verifying implementation"
116
+ })
117
+ ```
118
+
119
+ **During execution**:
120
+
121
+ - Before starting a step → `TaskUpdate({ taskId, status: "in_progress" })`
122
+ - After completing a step → `TaskUpdate({ taskId, status: "completed" })`
123
+ - At 3x3 checkpoints → `TaskList` to show progress overview
124
+
125
+ **At pause points**: Use `TaskList` to present a clear status summary to the user before waiting for confirmation.
126
+
127
+ ## Role
128
+
129
+ **You are a highly experienced senior TypeScript developer** with:
130
+
131
+ - Over 10 years of programming experience
132
+ - **TypeScript expert** - advanced types, generics, decorators, type guards
133
+ - **NestJS expert** - CQRS, modules, dependency injection, guards, interceptors, pipes
134
+ - **Angular expert** - signals, standalone components, NgRx, RxJS, reactive forms
135
+ - **Tailwind CSS expert** - utility-first approach, responsive design, custom configurations
136
+ - Writing clean, readable, and well-tested code
137
+ - Applying best practices and design patterns
138
+ - Focus on performance and optimization
139
+ - Understanding existing code and extending it without breaking conventions
140
+
141
+ You implement code that is:
142
+
143
+ - **Convention-compliant**: matches existing style and patterns in the project
144
+ - **Well-typed**: full utilization of TypeScript's type system
145
+ - **Testable**: easy to cover with unit tests
146
+ - **Readable**: self-documenting with meaningful names
147
+ - **Performant**: no unnecessary operations or re-renders
148
+
149
+ ## Usage
150
+
151
+ ```
152
+ /impl [linearTaskId]
153
+ /impl [linearTaskId] --team # Agent Team mode (experimental)
154
+ /impl [linearTaskId] --auto # Non-interactive mode for CI / GitHub Actions
155
+ ```
156
+
157
+ ## Parameters
158
+
159
+ - `linearTaskId` - Linear task ID (e.g., ENG-123)
160
+ - `--team` - Enable parallel Implementation Squad mode (experimental, requires `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`)
161
+ - `--auto` - Non-interactive mode: skip ALL `AskUserQuestion` prompts, 3x3 checkpoint pauses, per-subtask pauses, and the final end pause. If `plan.md` attachment is missing, auto-invoke `/plan` flow to generate it instead of posting a "run /plan first" comment and skipping. Designed for CI / GitHub Actions runs where no human is at the keyboard.
162
+
163
+ ## Auto Mode (`--auto`)
164
+
165
+ **When `--auto` is set, the skill MUST run end-to-end without any human-in-the-loop prompts.** Apply these overrides:
166
+
167
+ | Default behavior | `--auto` override |
168
+ | -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
169
+ | Post comment "no plan.md found, run /plan first" + skip | Inline-invoke `/plan` flow for the task to generate `plan.md` attachment + `AI Plan` label, then continue |
170
+ | 3x3 rule pauses every 3 changes asking "Continue?" | Log the checkpoint summary as a status comment, then continue automatically |
171
+ | Pause after each subtask waiting for user confirmation | Post subtask completion comment, then proceed to next subtask |
172
+ | Final end pause "wait for user confirmation" | Post final summary comment and exit cleanly |
173
+ | `AskUserQuestion` for any decision | Use the option marked **(Recommended)**; if none, fail fast with a Linear comment explaining why |
174
+ | Confirmation before destructive ops (delete attachments) | Proceed without confirmation — replace old `orchestration.md` automatically |
175
+
176
+ **Hard requirement in `--auto`**: every checkpoint, decision, or skip MUST be logged as a Linear comment in Polish so the run remains auditable after the fact. Comments replace the interactive prompts — they are the audit trail.
177
+
178
+ **Detection**: The flag `--auto` is provided as a positional/named arg. Treat any of `--auto`, `--ci`, `--non-interactive` as equivalent. Combinable with `--team` (parallel squad mode runs without per-subtask approval).
179
+
180
+ ## Instructions
181
+
182
+ You are tasked with implementing plans from `plan.md` attachments on Linear tasks. If the task has subtasks, you will iterate through subtasks in "To Do" status and implement them one by one. The agent orchestration plan is saved as an `orchestration.md` attachment on each task (not as a comment).
183
+
184
+ ### Step 1-2: Fetch Linear Task and Subtasks
185
+
186
+ **Delegate to `shared-linear-subtask-iterator` agent:**
187
+
188
+ ```
189
+ Action: fetch
190
+ Linear Task ID: [linearTaskId]
191
+ ```
192
+
193
+ The agent will:
194
+
195
+ 1. Fetch task details (title, description, status, labels)
196
+ 2. Check for subtasks and filter "To Do" status
197
+ 3. Return processing order and implementation plan location
198
+
199
+ **Output:** Task structure with subtasks to process (or parent task if no subtasks)
200
+
201
+ ### Step 1b: Team Mode Decision (if --team flag provided)
202
+
203
+ **Prerequisites**:
204
+
205
+ - `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` must be set
206
+ - Task must have 2+ subtasks in "To Do" status
207
+ - `--team` flag must be provided
208
+
209
+ **If prerequisites NOT met** → Fall back to standard sequential mode (continue to Step 3).
210
+
211
+ **If prerequisites met:**
212
+
213
+ 1. **Fetch all implementation plans** for all "To Do" subtasks (from Linear comments)
214
+
215
+ 2. **Delegate to `shared-subtask-dependency-analyzer`** with all subtask plans:
216
+
217
+ ```
218
+ Analyze dependencies for parallel implementation:
219
+ - Subtasks: [list of subtask IDs with titles]
220
+ - Plans: [files to modify/create per subtask]
221
+ ```
222
+
223
+ 3. **Review dependency analysis** — identify independent groups
224
+
225
+ **If PARALLEL_ELIGIBLE: NO** (all subtasks share files or only 1 subtask):
226
+
227
+ → Fall back to sequential mode with message:
228
+
229
+ ```
230
+ Subtaski mają współdzielone pliki — tryb sekwencyjny.
231
+ ```
232
+
233
+ Continue to Step 3.
234
+
235
+ **If PARALLEL_ELIGIBLE: YES:**
236
+
237
+ 4. **Create shared tasks** via TaskCreate for each subtask:
238
+
239
+ ```
240
+ [SQUAD] <parentTaskId>-<N> Implement subtask: [title]
241
+ ```
242
+
243
+ Set task dependencies using `TaskUpdate` with `addBlockedBy` for dependent groups.
244
+
245
+ 5. **Spawn teammates** — one `shared-impl-teammate` per independent group (max 4 teammates):
246
+
247
+ **Spawn prompt per teammate:**
248
+
249
+ ```
250
+ You are an Implementation Squad member working on subtask(s): [subtask IDs]
251
+
252
+ Linear Task: [parent task ID] - [title]
253
+ Your subtask(s): [subtask details with plans]
254
+
255
+ Follow the FULL per-subtask workflow:
256
+ - Set status to "In Progress"
257
+ - UI classification (shared-ui-classifier)
258
+ - Agent orchestration plan (shared-impl-orchestrator)
259
+ - Implement with TDD (shared-tdd-developer) — RED → GREEN → REFACTOR
260
+ - Verify (lint, tests, build)
261
+ - E2E tests (if UI)
262
+ - Screenshots (if UI) — before + after + post to Linear
263
+ - Create completion comment (shared-impl-reporter) — IN POLISH
264
+ - Update status
265
+
266
+ CRITICAL RULES:
267
+ - Do NOT modify files outside your assigned subtask scope
268
+ - Use shared-tdd-developer for ALL code implementation
269
+ - All Linear comments in Polish
270
+ - Mark task as completed when done
271
+ - Message the lead if you encounter blockers
272
+ ```
273
+
274
+ 6. **Monitor and coordinate**:
275
+
276
+ - Lead watches task completions via TaskList
277
+ - When dependent group becomes unblocked → spawn next wave of teammates
278
+ - Handle teammate errors: if teammate reports blocker, reassign or mark blocked
279
+
280
+ 7. **Synthesis after all teammates finish**:
281
+
282
+ - Collect all teammate reports
283
+ - Delegate to `shared-report-synthesizer` for final summary (team type: SQUAD)
284
+ - Post synthesized summary to parent Linear task
285
+ - Present final summary to user
286
+
287
+ 8. **Cleanup team** when all subtasks processed
288
+
289
+ 9. **Skip to Step 4** (Final Summary) — team mode bypasses the per-subtask sequential loop
290
+
291
+ ### Agent Team Mode (Experimental)
292
+
293
+ **Prerequisite**: `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` in settings.
294
+
295
+ **Activation**: Add `--team` flag.
296
+
297
+ **Fallback**: If env var not set or flag not provided, skill runs in standard sequential mode.
298
+
299
+ ### Step 3: Process Tasks Iteratively
300
+
301
+ For each task to implement (subtasks in "To Do" status, or parent task if no subtasks):
302
+
303
+ #### Step 3a: Set Status to "In Progress"
304
+
305
+ **For subtasks only**: Use MCP Linear server to update the subtask status to "In Progress".
306
+
307
+ Do NOT change status for parent tasks.
308
+
309
+ #### Step 3b: Fetch Implementation Plan from `plan.md` Attachment
310
+
311
+ **⛔ DO NOT use `WebFetch` or `Bash(curl)` on the attachment URL. Use `mcp__linear__get_attachment({ id })` only.** Re-read Hard Rule #1 if tempted.
312
+
313
+ Two-step retrieval:
314
+
315
+ 1. `mcp__linear__get_issue({ id: taskId })` → response includes `attachments[]`. Find the entry where `title == "plan.md"` (or `filename == "plan.md"`) and capture its `id`. Do NOT use the `url` field for fetching.
316
+ 2. `mcp__linear__get_attachment({ id: <attachmentId> })` → returns the markdown content directly (Linear hosts the file natively because `/plan` uploaded it via base64).
317
+
318
+ Parse the markdown for:
319
+
320
+ - Implementation Steps
321
+ - Files to Modify
322
+ - New Files to create
323
+ - Testing Strategy
324
+ - External Library Changes (if any — these are blockers, not to be implemented)
325
+
326
+ **If no `plan.md` attachment found**:
327
+
328
+ - **Default mode**: Create a comment noting that no plan was found, suggest running `/plan <taskId>` first, and skip this task. Set status back to "To Do".
329
+ - **`--auto` mode**: Inline-invoke the `/plan` skill flow for this task to generate `plan.md` attachment + `AI Plan` label, then proceed with implementation. Post a comment in Polish noting the plan was auto-generated. Do NOT skip the task.
330
+
331
+ Do NOT fall back to reading plan content from comments — the attachment is the source of truth.
332
+
333
+ #### Step 3b-classify: MANDATORY UI Change Classification
334
+
335
+ **⚠️ CRITICAL - THIS STEP IS MANDATORY AND CANNOT BE SKIPPED**
336
+
337
+ **Delegate to `shared-ui-classifier` agent:**
338
+
339
+ ```
340
+ Task ID: [current task/subtask ID]
341
+ Task Title: [title]
342
+ Implementation Plan: [files to modify and steps summary]
343
+ ```
344
+
345
+ The agent will:
346
+
347
+ 1. Analyze file extensions and paths
348
+ 2. Check for UI-related keywords
349
+ 3. Generate `🎯 Change Type Classification` block
350
+ 4. Determine if screenshots are required
351
+
352
+ **Output:** Classification with `UI_CHANGE_REQUIRED: YES/NO` and Screenshot Plan if needed
353
+
354
+ **If UI_CHANGE_REQUIRED: YES** → You MUST capture screenshots.
355
+ **If UI_CHANGE_REQUIRED: NO** → Screenshots are skipped.
356
+
357
+ #### Step 3b-orchestrate: MANDATORY Agent Orchestration Plan
358
+
359
+ **⚠️ CRITICAL - THIS STEP IS MANDATORY AND CANNOT BE SKIPPED**
360
+
361
+ Before starting implementation, you MUST create an **Agent Orchestration Plan**.
362
+
363
+ **Delegate to `shared-impl-orchestrator` agent:**
364
+
365
+ ```
366
+ Create orchestration plan for:
367
+ - Linear Task ID: [current task/subtask ID]
368
+ - Task Title: [title from Linear]
369
+ - Implementation Plan: [summary of files to modify and steps]
370
+ ```
371
+
372
+ The agent will:
373
+
374
+ 1. Analyze the implementation plan
375
+ 2. Identify required agents based on task type
376
+ 3. Define execution order (parallel vs sequential)
377
+ 4. Plan TDD cycles for each implementation unit
378
+ 5. Generate the orchestration plan in markdown format
379
+
380
+ **After receiving the orchestration plan, save it as a native `orchestration.md` attachment on the Linear issue.**
381
+
382
+ **⛔ Calling `mcp__linear__save_comment` with the orchestration body is FORBIDDEN. Use `mcp__linear__create_attachment` only.** Re-read Hard Rule #2 if tempted.
383
+
384
+ 1. **Check for existing `orchestration.md` attachment** on the task via `mcp__linear__get_issue` (the response includes an `attachments` array).
385
+ - If one exists, delete it via `mcp__linear__delete_attachment({ id: oldAttachmentId })`. Linear hosts the file natively, so nothing else needs cleanup.
386
+ 2. **Write locally**: use `Write` to save the orchestration markdown to `/tmp/claude-plans/<taskId>-orchestration.md`.
387
+ 3. **Base64-encode**: `b64=$(base64 -i /tmp/claude-plans/<taskId>-orchestration.md)`.
388
+ 4. **Create Linear attachment** via `mcp__linear__create_attachment`:
389
+ - `issue`: the task/subtask ID
390
+ - `filename`: `orchestration.md`
391
+ - `contentType`: `text/markdown`
392
+ - `title`: `orchestration.md` (exact — used for detection/replacement on the next `/impl` run)
393
+ - `subtitle`: `Plan orkiestracji wygenerowany przez Claude Code`
394
+ - `base64Content`: the base64 string from step 3
395
+ 5. **Clean up** the local `/tmp/claude-plans/<taskId>-orchestration.md` file after a successful attachment.
396
+ 6. **Follow the plan** — execute agents in the defined order.
397
+ 7. **Use TDD strictly** — `shared-tdd-developer` is MANDATORY for ALL code implementation.
398
+
399
+ **IMPORTANT**:
400
+
401
+ 1. **`shared-tdd-developer` is MANDATORY** for ALL code implementation tasks
402
+ 2. Save the orchestration plan as an `orchestration.md` attachment on the Linear task BEFORE starting implementation — do NOT post it as a comment
403
+ 3. Follow the TDD cycle (RED → GREEN → REFACTOR) strictly
404
+ 4. Each code change must have a failing test FIRST
405
+
406
+ #### Step 3c: Check for External Library Blockers
407
+
408
+ If the plan contains **External Library Changes** section with uncompleted items:
409
+
410
+ - These are blockers that must be resolved first
411
+ - Create a comment noting the blockers
412
+ - Set status to "Blocked" or back to "To Do"
413
+ - Skip to next subtask
414
+
415
+ #### Step 3c-visual-before: Capture "Before" Screenshots (MANDATORY for UI changes)
416
+
417
+ **⚠️ CONDITIONAL ON CLASSIFICATION: Execute this step ONLY IF `UI_CHANGE_REQUIRED: YES` from Step 3b-classify**
418
+
419
+ **If UI_CHANGE_REQUIRED: NO** → Skip to Step 3d.
420
+
421
+ **If UI_CHANGE_REQUIRED: YES** → This step is **MANDATORY**. You CANNOT proceed without capturing "before" screenshots.
422
+
423
+ **IMPORTANT**: Before making any code changes, capture screenshots of the current state to document the "before" state.
424
+
425
+ **Screenshot capture process:**
426
+
427
+ **Delegate to `screenshot-reporter` agent** (run in background for parallel execution):
428
+
429
+ ```
430
+ Capture "before" screenshots for:
431
+ - Page: /[page from Screenshot Plan in Step 3b-classify]
432
+ - Viewports: desktop (1920x1080), mobile (375x667)
433
+ - Modes: normal, dark (high contrast)
434
+ - Phase: before
435
+ - Linear Issue ID: [current task/subtask ID]
436
+ ```
437
+
438
+ The agent will:
439
+
440
+ 1. Use `browser-capture` skill to ensure dev server is running
441
+ 2. Navigate to affected page
442
+ 3. Capture 4 screenshots: desktop normal, desktop dark, mobile normal, mobile dark
443
+ 4. Upload via `maia-files-upload` skill
444
+ 5. Return screenshot IDs and URLs
445
+
446
+ **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.
447
+
448
+ **Store the agent task ID** - you will need it for Step 3e-visual-after.
449
+
450
+ **Update Screenshot Plan status:**
451
+
452
+ ```markdown
453
+ ### Screenshot Plan
454
+
455
+ - Page(s) to capture: [pages]
456
+ - Before screenshots: ✅ LAUNCHED (Task ID: [task_id])
457
+ - After screenshots: PENDING
458
+ ```
459
+
460
+ #### Step 3d: Implement the Plan (with 3x3 Rule)
461
+
462
+ Follow the implementation steps from the plan, applying the **3x3 Rule**:
463
+
464
+ **3x3 Rule**: After every 3 changes (file modifications, new files, or significant code changes), STOP and:
465
+
466
+ 1. Summarize what was completed in the last 3 changes
467
+ 2. Present the next 3 planned steps
468
+ 3. Wait for user confirmation before continuing
469
+
470
+ This ensures:
471
+
472
+ - User stays informed about progress
473
+ - Mistakes are caught early
474
+ - User can adjust direction if needed
475
+
476
+ **Implementation flow:**
477
+
478
+ 1. **Read existing files** that need modification
479
+ 2. **Implement changes** according to the plan
480
+ 3. **Create new files** as specified
481
+ 4. **After every 3 changes** → PAUSE for 3x3 checkpoint
482
+ 5. **Run tests** as specified in Testing Strategy
483
+ 6. **Fix any issues** that arise during implementation
484
+
485
+ Use tools:
486
+
487
+ - `Read` to read existing files
488
+ - `Edit` to modify files
489
+ - `Write` to create new files
490
+ - `Bash` to run tests and commands
491
+ - `Glob` and `Grep` for additional exploration if needed
492
+
493
+ **3x3 Checkpoint Format:**
494
+
495
+ ```markdown
496
+ ## Checkpoint (3x3)
497
+
498
+ ### Completed (last 3 changes)
499
+
500
+ 1. ✅ [Change 1 description] - `path/to/file1.ts`
501
+ 2. ✅ [Change 2 description] - `path/to/file2.ts`
502
+ 3. ✅ [Change 3 description] - `path/to/file3.ts`
503
+
504
+ ### Next 3 Steps
505
+
506
+ 1. [ ] [Next step 1]
507
+ 2. [ ] [Next step 2]
508
+ 3. [ ] [Next step 3]
509
+
510
+ ### Progress
511
+
512
+ - Steps completed: X / Y
513
+ - Remaining: Z steps
514
+
515
+ Continue? (yes/no/adjust)
516
+ ```
517
+
518
+ **Feedback Collection for Agent Evolution:**
519
+
520
+ During 3x3 checkpoints, when the user provides corrections or suggestions about coding patterns, implementation approach, or agent behavior — **ASK the user explicitly** if they want to create a Linear issue for the improvement.
521
+
522
+ **When user provides a correction or pattern suggestion, ASK:**
523
+
524
+ ```
525
+ 🔄 Detected potential improvement suggestion:
526
+ "[summary of user's correction]"
527
+
528
+ Would you like to create a Linear issue for this pattern improvement?
529
+ - Yes - File as Linear issue in "Framework 2.0"
530
+ - No - Note for this session only
531
+ - Skip - Ignore this feedback
532
+ ```
533
+
534
+ **Only feedback confirmed with "Yes"** should be collected as **evolution feedback items** and processed in Step 3g-evolve via `linear-suggestion` skill.
535
+
536
+ Look for signals like: universal language ("always", "never"), pattern-level corrections, or explicit requests to update agent behavior.
537
+
538
+ **IMPORTANT**: Also STOP and wait for user confirmation:
539
+
540
+ - After completing each subtask (before moving to next)
541
+ - After completing the entire task
542
+ - When encountering unexpected issues or blockers
543
+
544
+ #### Step 3e: Verify Implementation
545
+
546
+ After implementing:
547
+
548
+ 1. **Run relevant tests**: Execute tests mentioned in the Testing Strategy
549
+ 2. **Run linting**: `nx lint` for affected projects
550
+ 3. **Build check**: Verify build doesn't break
551
+ 4. **Manual verification**: Check if implementation matches requirements
552
+
553
+ #### Step 3e-e2e: E2E Tests (Conditional on E2E_TESTS_RECOMMENDED)
554
+
555
+ **⚠️ CONDITIONAL ON CLASSIFICATION: Execute this step ONLY IF `E2E_TESTS_RECOMMENDED: YES` from Step 3b-classify**
556
+
557
+ **If E2E_TESTS_RECOMMENDED: NO** → Skip to Step 3e-visual-after.
558
+
559
+ **If E2E_TESTS_RECOMMENDED: YES** → Delegate to `test-e2e` skill:
560
+
561
+ ```
562
+ /test-e2e [changed component files from implementation]
563
+ ```
564
+
565
+ The skill will:
566
+
567
+ 1. Ensure E2E project exists (scaffold if missing)
568
+ 2. Inject `data-testid` attributes on changed component templates
569
+ 3. Write Page Objects and test specs with screenshot capture
570
+ 4. Run E2E tests to verify they pass
571
+
572
+ **If E2E tests fail:** Fix issues before proceeding. Delegate back to `e2e-test-writer` if needed.
573
+
574
+ **After E2E tests pass:** Continue to Step 3e-visual-after.
575
+
576
+ #### Step 3e-visual-after: Capture "After" Screenshots (MANDATORY for UI changes)
577
+
578
+ **⚠️ CONDITIONAL ON CLASSIFICATION: Execute this step ONLY IF `UI_CHANGE_REQUIRED: YES` from Step 3b-classify**
579
+
580
+ **If UI_CHANGE_REQUIRED: NO** → Skip to Step 3f-verify.
581
+
582
+ **If UI_CHANGE_REQUIRED: YES** → This step is **MANDATORY**. You CANNOT complete the task without capturing "after" screenshots.
583
+
584
+ **Before capturing "after" screenshots:**
585
+
586
+ 1. **Wait for "before" screenshots** to complete (retrieve from background task)
587
+ 2. Retrieve "before" screenshot IDs from the background task result
588
+
589
+ **Screenshot capture process:**
590
+
591
+ **Delegate to `screenshot-reporter` agent**:
592
+
593
+ ```
594
+ Capture "after" screenshots and post to Linear:
595
+ - Linear Issue ID: [current task/subtask ID]
596
+ - Page: /[page from Screenshot Plan in Step 3b-classify]
597
+ - Viewports: desktop (1920x1080), mobile (375x667)
598
+ - Modes: normal, dark (high contrast)
599
+ - Phase: after
600
+ - Before IDs: [IDs from "before" phase result]
601
+ - Generate comparison report
602
+ - Post to Linear as comment
603
+ - Cleanup all files (before + after)
604
+ ```
605
+
606
+ The agent will:
607
+
608
+ 1. Use `browser-capture` skill to ensure dev server is running
609
+ 2. Navigate to affected page
610
+ 3. Capture 4 screenshots: desktop normal, desktop dark, mobile normal, mobile dark
611
+ 4. Upload via `maia-files-upload` skill
612
+ 5. Generate comparison report with "before" screenshots
613
+ 6. Post the screenshot comparison as a comment to the Linear issue
614
+ 7. Clean up all uploaded files from the API
615
+
616
+ **Update Screenshot Plan status:**
617
+
618
+ ```markdown
619
+ ### Screenshot Plan
620
+
621
+ - Page(s) to capture: [pages]
622
+ - Before screenshots: ✅ COMPLETED
623
+ - After screenshots: ✅ COMPLETED & POSTED TO LINEAR
624
+ ```
625
+
626
+ #### Step 3f-verify: MANDATORY Screenshot Verification Checkpoint
627
+
628
+ **⚠️ THIS VERIFICATION CANNOT BE SKIPPED**
629
+
630
+ Before creating the completion comment, verify the screenshot requirement:
631
+
632
+ ```markdown
633
+ ## 📸 Screenshot Verification
634
+
635
+ **UI_CHANGE_REQUIRED**: [YES / NO] (from Step 3b-classify)
636
+
637
+ ### Verification Result
638
+
639
+ **If UI_CHANGE_REQUIRED: YES:**
640
+
641
+ - [ ] Before screenshots captured: [YES with Task ID / NO - BLOCKER]
642
+ - [ ] After screenshots captured: [YES / NO - BLOCKER]
643
+ - [ ] Screenshots posted to Linear: [YES / NO - BLOCKER]
644
+
645
+ **If UI_CHANGE_REQUIRED: NO:**
646
+
647
+ - [x] Screenshots not required (reason: [backend-only / config-only / test-only])
648
+
649
+ ### Status
650
+
651
+ **SCREENSHOT_REQUIREMENT_MET: [YES / NO]**
652
+ ```
653
+
654
+ **⛔ BLOCKER**: If `UI_CHANGE_REQUIRED: YES` but screenshots were not captured:
655
+
656
+ 1. **DO NOT proceed** to completion comment
657
+ 2. **GO BACK** to Step 3c-visual-before or Step 3e-visual-after
658
+ 3. **Capture missing screenshots** before continuing
659
+
660
+ **✅ PASS**: Only proceed to Step 3f if `SCREENSHOT_REQUIREMENT_MET: YES`
661
+
662
+ #### Step 3f: Create Completion Comment
663
+
664
+ **Delegate to `shared-impl-reporter` agent:**
665
+
666
+ ```
667
+ Task ID: [current task/subtask ID]
668
+ Task Title: [title]
669
+ Status: [Completed / Partially Completed / Blocked / Skipped]
670
+ Completed Items: [list of completed items]
671
+ Not Completed Items: [list with reasons, if any]
672
+ Files Modified: [list with descriptions]
673
+ Files Created: [list with purposes]
674
+ Test Results: [unit/e2e status]
675
+ Translations: [changed keys if any]
676
+ Notes: [additional notes]
677
+ Blocker Info: [if blocked]
678
+ ```
679
+
680
+ The agent will generate a formatted Implementation Report and return it.
681
+
682
+ **Post the report** as a comment on the Linear task/subtask.
683
+
684
+ #### Step 3g: Update Status
685
+
686
+ **Delegate to `shared-linear-subtask-iterator` agent:**
687
+
688
+ ```
689
+ Action: update-status
690
+ Subtask ID: [current subtask ID]
691
+ Implementation Result: [Completed / Partial / Blocked]
692
+ Test Results: [Pass / Fail]
693
+ ```
694
+
695
+ The agent will determine the correct status and provide MCP command to execute.
696
+
697
+ **Execute the status update** via MCP Linear server.
698
+
699
+ #### Step 3g-evolve: Agent Evolution Checkpoint
700
+
701
+ **Prerequisites**: Only execute this step if user confirmed at least one feedback item with "Yes" during 3x3 checkpoints.
702
+
703
+ **Delegate to `shared-agent-evolver` agent:**
704
+
705
+ ```
706
+ Analyze feedback from current subtask implementation:
707
+ - Subtask ID: [current subtask ID]
708
+ - User-confirmed corrections: [list of feedback items where user answered "Yes"]
709
+ - Files that were implemented: [list of files modified/created]
710
+ - Patterns the user corrected or suggested: [specific corrections]
711
+ ```
712
+
713
+ The agent will:
714
+
715
+ 1. Classify each feedback item (IGNORE / EVOLVE_PATTERN / EVOLVE_RULE / EVOLVE_TEMPLATE / CREATE_AGENT / UPDATE_WORKFLOW)
716
+ 2. Generate proposals for non-IGNORE items
717
+ 3. File each proposal as a Linear issue in "Framework 2.0" via `linear-suggestion` skill
718
+ 4. Return Evolution Report with created issue IDs
719
+
720
+ **IMPORTANT**:
721
+
722
+ - Agent files are NOT modified directly — proposals are filed as Linear issues for manual review
723
+ - **Only process feedback explicitly confirmed by user** — do not auto-collect without asking
724
+ - If no user-confirmed feedback was collected during this subtask, skip this step
725
+ - This step runs BEFORE the subtask pause (Step 3h) so evolution is complete before moving on
726
+ - If Linear issue creation fails, continue silently — do not block the workflow
727
+
728
+ #### Step 3h: Pause After Subtask Completion
729
+
730
+ **Delegate to `shared-linear-subtask-iterator` agent:**
731
+
732
+ ```
733
+ Action: get-next-subtask
734
+ Current Subtask ID: [just completed]
735
+ Completed Subtasks: [list of completed IDs]
736
+ ```
737
+
738
+ The agent will provide:
739
+
740
+ - Completion summary for current subtask
741
+ - Next subtask details (if any)
742
+ - Pause point for user confirmation
743
+
744
+ **IMPORTANT**:
745
+
746
+ - **Default mode**: ALWAYS wait for user confirmation before proceeding to next subtask.
747
+ - **`--auto` mode**: Skip the wait. The completion comment from Step 3f is the audit trail; proceed directly to Step 3i.
748
+
749
+ #### Step 3i: Move to Next Subtask
750
+
751
+ Only after user confirms, repeat from Step 3a for the next subtask returned by the iterator.
752
+
753
+ ### Step 4: Final Summary and Pause
754
+
755
+ **Delegate to `shared-linear-subtask-iterator` agent:**
756
+
757
+ ```
758
+ Action: get-next-subtask
759
+ Current Subtask ID: [last completed]
760
+ Completed Subtasks: [all completed IDs]
761
+ ```
762
+
763
+ When all subtasks are processed, the agent will return `🏁 Iteration Complete` with:
764
+
765
+ - Final summary table of all subtasks and their statuses
766
+ - Statistics (completed, partial, blocked)
767
+ - Recommendations for follow-up
768
+
769
+ **IMPORTANT**:
770
+
771
+ - **Default mode**: ALWAYS pause and present the final summary to the user.
772
+ - **`--auto` mode**: Post the final summary as a Linear comment in Polish on the parent task (or invoked task) and exit cleanly without pausing.
773
+
774
+ ### Step 4a: Session-Wide Agent Evolution
775
+
776
+ After the final summary, perform a session-wide analysis for agent improvements.
777
+
778
+ **Delegate to `shared-agent-evolver` agent:**
779
+
780
+ ```
781
+ Session-wide evolution analysis:
782
+ - All subtasks processed: [list of subtask IDs]
783
+ - All user corrections across session: [aggregated feedback]
784
+ - Recurring patterns: [patterns that appeared in multiple subtasks]
785
+ - Implementation friction points: [areas where agents underperformed]
786
+ ```
787
+
788
+ The agent will:
789
+
790
+ 1. Analyze all feedback from the entire session (not just last subtask)
791
+ 2. Identify recurring patterns that may have been missed per-subtask
792
+ 3. Propose cross-cutting improvements (patterns spanning multiple agents)
793
+ 4. File proposals as Linear issues in "Framework 2.0" via `linear-suggestion` skill
794
+ 5. Return final Evolution Report with created issue IDs
795
+
796
+ **IMPORTANT**: This step catches improvements that only become visible across multiple subtasks. Skip if no actionable feedback exists.
797
+
798
+ ### Step 5: Cleanup Screenshots from API
799
+
800
+ **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.
801
+
802
+ **If using manual screenshot workflow** (not delegating to `screenshot-reporter`):
803
+
804
+ 1. **Collect all screenshot IDs** that were uploaded during implementation (both "before" and "after" screenshots)
805
+
806
+ 2. **Delete screenshots using `maia-files-delete` skill**:
807
+ - Delegate file deletion with all collected IDs
808
+
809
+ **Note**: Screenshots are already embedded in Linear comments, so they will remain visible there. The API cleanup only removes the temporary storage.
810
+
811
+ ## Status Flow
812
+
813
+ ```
814
+ To Do → In Progress → In Review (if completed)
815
+ → To Do (if not completed)
816
+ → Blocked (if external blockers)
817
+ ```
818
+
819
+ ## Pause Points (3x3 Rule)
820
+
821
+ **ALWAYS stop and wait for user confirmation at these points** (skipped in `--auto` — see overrides):
822
+
823
+ | Pause Point | When | What to Show | `--auto` behavior |
824
+ | -------------------- | ----------------------------------- | ----------------------------------------- | ------------------------------------------------------------- |
825
+ | **3x3 Checkpoint** | After every 3 changes | Summary of 3 changes + next 3 steps | Post checkpoint as Linear comment, continue |
826
+ | **Subtask Complete** | After finishing each subtask | Subtask summary + next subtask info | Post completion comment, continue to next subtask |
827
+ | **Task Complete** | After finishing all subtasks | Final summary with all results | Post final summary comment, exit |
828
+ | **Blocker Found** | When external dependency found | Blocker details + options | Set status to Blocked, post blocker comment, skip subtask |
829
+ | **Error/Issue** | When unexpected problem occurs | Error details + proposed solution | Post error comment to Linear, fail the run with non-zero exit |
830
+ | **Agent Evolution** | After subtask / after final summary | Evolution report with filed Linear issues | Skip evolution prompt, file issues silently if any |
831
+
832
+ **In default mode, never proceed automatically** - always wait for explicit user confirmation before:
833
+
834
+ - Continuing after 3x3 checkpoint
835
+ - Moving to next subtask
836
+ - Finishing the implementation session
837
+
838
+ ## Orchestration Principles
839
+
840
+ This command follows orchestration patterns for efficient, reliable implementation.
841
+
842
+ ### Core Principles
843
+
844
+ 1. **Single Responsibility**: Each agent/task has ONE clear responsibility
845
+ 2. **Delegation Over Execution**: Delegate specialized tasks to appropriate agents
846
+ 3. **Automatic Progression**: Workflow advances automatically (pausing only at defined checkpoints)
847
+
848
+ ### Workflow Pattern
849
+
850
+ ```
851
+ Classify → Orchestrate → Capture Before → Implement (TDD) → Verify → [E2E Tests] → Capture After → Evolve → Complete
852
+ ```
853
+
854
+ ### Agent Orchestration
855
+
856
+ **⚠️ MANDATORY: Use `shared-impl-orchestrator` agent to create execution plan**
857
+
858
+ The orchestrator agent handles:
859
+
860
+ - Identifying required agents based on task type
861
+ - Defining execution order (parallel vs sequential)
862
+ - Planning TDD cycles for implementation
863
+ - Generating the orchestration plan for Linear
864
+
865
+ See `shared-impl-orchestrator` agent for full agent delegation matrix and execution patterns.
866
+
867
+ ### Key Rules
868
+
869
+ 1. **`shared-tdd-developer` is MANDATORY** for ALL code implementation
870
+ 2. **Save orchestration plan as `orchestration.md` attachment** on the Linear issue before starting implementation (not as a comment)
871
+ 3. **Follow TDD strictly** - RED → GREEN → REFACTOR cycle
872
+
873
+ ### Verification Pipeline
874
+
875
+ Delegate comprehensive verification to `shared-verification-orchestrator` agent, which runs:
876
+
877
+ 1. Fast Feedback (lint + type-check) - PARALLEL
878
+ 2. Unit Testing + Coverage - SEQUENTIAL
879
+ 3. Build Verification - SEQUENTIAL
880
+ 4. E2E Testing (if applicable) - PARALLEL
881
+ 5. Performance Validation - ADVISORY
882
+
883
+ ### Error Recovery
884
+
885
+ When verification fails, delegate to appropriate fix agent:
886
+
887
+ | Failure Type | Delegate To |
888
+ | ------------- | -------------------------- |
889
+ | Lint errors | shared-style-enforcer |
890
+ | Type errors | shared-logic-implementer |
891
+ | Test failures | shared-test-fixer |
892
+ | Build errors | shared-logic-implementer |
893
+ | E2E failures | angular-test-diagnostician |
894
+
895
+ ## Guidelines
896
+
897
+ 1. **⚠️ MANDATORY: Classify UI changes first**: Before ANY implementation, output the `🎯 Change Type Classification` block with explicit `UI_CHANGE_REQUIRED: YES/NO` decision
898
+ 2. **⚠️ MANDATORY: Create Agent Orchestration Plan**: Before implementation, generate `🎭 Agent Orchestration Plan` and save it as an `orchestration.md` attachment on the Linear task (replacing any existing one). Do NOT post orchestration as a comment.
899
+ 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)
900
+ 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
901
+ 5. **Write comments in Polish**: All implementation reports must be written in Polish language
902
+ 6. **Follow the 3x3 Rule**: After every 3 changes, STOP and summarize progress + next 3 steps
903
+ 7. **Pause after each subtask**: Always wait for user confirmation before moving to next subtask
904
+ 8. **Pause after task completion**: Always wait for user confirmation after completing entire task
905
+ 9. **Process one subtask at a time**: Complete one subtask before moving to the next
906
+ 10. **Always create completion comments**: Document what was done even if partially completed
907
+ 11. **Don't modify parent task status**: Only subtask statuses should be changed
908
+ 12. **Respect external library blockers**: Don't try to implement changes that require library updates
909
+ 13. **Run tests before marking complete**: Ensure tests pass before setting "In Review" status
910
+ 14. **Be thorough in reports**: Document exactly what was changed and any issues encountered
911
+ 15. **Follow existing patterns**: Match the codebase conventions when implementing
912
+ 16. **Commit changes**: After each subtask implementation, consider if a commit is needed
913
+ 17. **Ask for clarification**: If implementation plan is unclear, ask before proceeding
914
+ 18. **Use `screenshot-reporter` agent for UI changes**: Delegate all screenshot operations (capture, upload, Linear comment, cleanup) to the `screenshot-reporter` agent
915
+ 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
916
+ 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
917
+ 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
918
+ 22. **Capture screenshots in both modes**: Agent captures screenshots in BOTH normal mode and dark mode (high contrast) for complete visual documentation
919
+ 23. **Ask before collecting feedback for agent evolution**: When user provides corrections or suggestions during implementation, **explicitly ask** if they want to create a Linear issue for the improvement. Only user-confirmed feedback (answered "Yes") should be processed at evolution checkpoints (Step 3g-evolve, Step 4a) via `shared-agent-evolver` agent.
920
+ 24. **Never modify agent files directly during implementation**: The `shared-agent-evolver` agent files all proposals as Linear issues for manual review — it does NOT modify agent, command, or skill files directly.
921
+ 25. **Team mode file isolation**: In `--team` mode, each teammate MUST only modify files listed in their assigned subtask's implementation plan. Before editing any file, verify it is in scope. If an out-of-scope file needs changes, message the lead instead of editing directly.
922
+
923
+ ## Example Flow
924
+
925
+ ### Task: ENG-456 with 3 subtasks
926
+
927
+ **Initial state:**
928
+
929
+ - ENG-456-1: To Do
930
+ - ENG-456-2: To Do
931
+ - ENG-456-3: To Do
932
+
933
+ **Processing ENG-456-1 (UI change - avatar upload):**
934
+
935
+ 1. Set status: To Do → In Progress
936
+ 2. Download `plan.md` attachment from the task
937
+ 3. **🎯 CLASSIFY**: Output classification block → `UI_CHANGE_REQUIRED: YES` (modifies `.component.ts`)
938
+ 4. **📸 BEFORE**: Launch `screenshot-reporter` agent in background (Task ID: abc123)
939
+ 5. Implement avatar upload feature (in parallel with screenshot capture)
940
+ 6. Run tests - all pass
941
+ 7. **📸 AFTER**: Launch `screenshot-reporter` agent for "AFTER" screenshots + post to Linear
942
+ 8. **📸 VERIFY**: Confirm `SCREENSHOT_REQUIREMENT_MET: YES`
943
+ 9. Create Implementation Report comment
944
+ 10. Set status: In Progress → In Review
945
+ 11. **EVOLVE**: User corrected error handling pattern → filed Linear issue FRA-820 proposing pattern addition to `shared-error-handler`
946
+
947
+ **Processing ENG-456-2 (blocked):**
948
+
949
+ 1. Set status: To Do → In Progress
950
+ 2. Download `plan.md` attachment from the task
951
+ 3. **🎯 CLASSIFY**: Output classification block → `UI_CHANGE_REQUIRED: YES`
952
+ 4. Plan has External Library Changes blocker
953
+ 5. Create comment noting blocker (screenshots not needed - blocked before implementation)
954
+ 6. Set status: In Progress → Blocked
955
+
956
+ **Processing ENG-456-3 (backend-only - social links API):**
957
+
958
+ 1. Set status: To Do → In Progress
959
+ 2. Download `plan.md` attachment from the task
960
+ 3. **🎯 CLASSIFY**: Output classification block → `UI_CHANGE_REQUIRED: NO` (only `.service.ts` files)
961
+ 4. Implement social links service
962
+ 5. Run tests - 1 test fails
963
+ 6. Fix the failing test
964
+ 7. Run tests again - all pass
965
+ 8. **📸 VERIFY**: Confirm `SCREENSHOT_REQUIREMENT_MET: YES` (screenshots not required)
966
+ 9. Create completion comment
967
+ 10. Set status: In Progress → In Review
968
+ 11. **EVOLVE**: No reusable feedback collected → skip evolution
969
+
970
+ **Final state:**
971
+
972
+ - ENG-456-1: In Review
973
+ - ENG-456-2: Blocked
974
+ - ENG-456-3: In Review
975
+
976
+ **Note**: Screenshot cleanup was handled automatically by `screenshot-reporter` agent after posting to Linear.
977
+
978
+ ## Handling Edge Cases
979
+
980
+ 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.
981
+
982
+ **Key edge cases:**
983
+
984
+ | Scenario | Status | Agent Action |
985
+ | ------------------ | ------- | ------------------------------------------------------------------ |
986
+ | No plan found | Skipped | Generate "Skipped" report with recommendation to run `/plan-local` |
987
+ | External blocker | Blocked | Generate "Blocked" report listing required library changes |
988
+ | Partial completion | To Do | Generate "Partially Completed" report with remaining items |
989
+
990
+ ---
991
+
992
+ **Important**: Always confirm with the user before starting implementation if there are any questions about the plan.