@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,710 @@
1
+ ---
2
+ name: impl
3
+ description: Implement plans from `plan.md` attachments on Linear issues using Angular 14 legacy patterns. Iteratively processes subtasks with TDD, UI classification, agent orchestration (saved as `orchestration.md` attachment), 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 (not as a comment).
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 })`.** 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.
37
+ 2. **`orchestration.md` is saved via `mcp__linear__create_attachment`, not as a comment.** `save_comment` MUST NOT carry orchestration body content.
38
+ 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.
39
+ 4. **Replace, don't duplicate.** Before creating a new `orchestration.md` attachment, delete the existing one (if any) via `mcp__linear__delete_attachment`.
40
+
41
+ If any of these would be violated, stop and ask the user instead.
42
+
43
+ ## Execution Checklist
44
+
45
+ Execute each step in order. Do not skip any step marked as MANDATORY.
46
+
47
+ ### Initial Setup
48
+
49
+ - [ ] **1. Fetch task and subtasks** — delegate to `shared-linear-subtask-iterator` agent
50
+
51
+ ### Per Subtask (repeat for each "To Do" subtask)
52
+
53
+ - [ ] **2. Set status to "In Progress"** — update subtask status via MCP (subtasks only, not parent)
54
+ - [ ] **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.**
55
+ - [ ] **4. MANDATORY: UI change classification** — delegate to `shared-ui-classifier` agent, output `UI_CHANGE_REQUIRED: YES/NO`
56
+ - [ ] **5. MANDATORY: Agent orchestration plan** — delegate to `shared-impl-orchestrator` with `Angular Version: 14 (LEGACY)`, 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.**
57
+ - [ ] **6. Check external library blockers** — if blockers found, set status to Blocked and skip
58
+ - [ ] **7. Capture "before" screenshots** — if `UI_CHANGE_REQUIRED: YES`, launch `screenshot-reporter` in background
59
+ - [ ] **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)
60
+ - [ ] **9. MANDATORY: Use Angular 14 patterns** — `*ngIf`/`*ngFor`, constructor DI, `@Input()`/`@Output()`, BehaviorSubject — NEVER signals, `@if`/`@for`, `inject()`
61
+ - [ ] **10. Verify implementation** — run tests, lint, build check
62
+ - [ ] **11. Capture "after" screenshots** — if `UI_CHANGE_REQUIRED: YES`, capture + post comparison to Linear + cleanup
63
+ - [ ] **12. MANDATORY: Screenshot verification** — output `SCREENSHOT_REQUIREMENT_MET: YES/NO`, block if missing
64
+ - [ ] **13. Create completion comment** — delegate to `shared-impl-reporter`, post to Linear
65
+ - [ ] **14. MANDATORY: Write reports in Polish** — all Linear comments must be in Polish language
66
+ - [ ] **15. Update status** — delegate to `shared-linear-subtask-iterator` for status determination
67
+ - [ ] **16. Agent evolution** — if user confirmed feedback, delegate to `shared-agent-evolver`
68
+ - [ ] **17. Pause for user confirmation** — wait before proceeding to next subtask (skipped in `--auto`; post completion comment and continue)
69
+
70
+ ### Finalization
71
+
72
+ - [ ] **18. Final summary** — present summary of all subtasks with statuses
73
+ - [ ] **19. ALWAYS pause** — wait for user confirmation at end (skipped in `--auto`; post final summary comment and exit)
74
+
75
+ ### Task Progress Tracking
76
+
77
+ **MANDATORY**: Use Claude Code's built-in task tracking to provide real-time progress visibility.
78
+
79
+ **Task naming convention**: Every task subject MUST be prefixed with the Linear task ID (parent or subtask):
80
+
81
+ ```
82
+ <linearTaskId> <step description>
83
+ ```
84
+
85
+ **At skill start**: Create tasks for the initial setup using `TaskCreate`:
86
+
87
+ ```
88
+ TaskCreate({
89
+ subject: "MM-123 Fetch task and subtasks",
90
+ description: "Delegate to shared-linear-subtask-iterator agent",
91
+ activeForm: "MM-123 Fetching task and subtasks"
92
+ })
93
+ ```
94
+
95
+ **Per subtask**: Create a parent task for the subtask, then child tasks for each step — all prefixed with the subtask ID:
96
+
97
+ ```
98
+ TaskCreate({
99
+ subject: "MM-123-1 Implement subtask",
100
+ description: "Full implementation cycle: classify → orchestrate → implement → verify",
101
+ activeForm: "MM-123-1 Implementing subtask"
102
+ })
103
+ TaskCreate({
104
+ subject: "MM-123-1 UI change classification",
105
+ description: "Delegate to shared-ui-classifier agent",
106
+ activeForm: "MM-123-1 Classifying UI changes"
107
+ })
108
+ TaskCreate({
109
+ subject: "MM-123-1 Verify implementation",
110
+ description: "Run tests, lint, build check",
111
+ activeForm: "MM-123-1 Verifying implementation"
112
+ })
113
+ ```
114
+
115
+ **During execution**:
116
+
117
+ - Before starting a step → `TaskUpdate({ taskId, status: "in_progress" })`
118
+ - After completing a step → `TaskUpdate({ taskId, status: "completed" })`
119
+ - At 3x3 checkpoints → `TaskList` to show progress overview
120
+
121
+ **At pause points**: Use `TaskList` to present a clear status summary to the user before waiting for confirmation.
122
+
123
+ ## Role
124
+
125
+ **You are a highly experienced senior TypeScript developer** with:
126
+
127
+ - Over 10 years of programming experience
128
+ - **TypeScript expert** - advanced types, generics, decorators, type guards
129
+ - **NestJS expert** - CQRS, modules, dependency injection, guards, interceptors, pipes
130
+ - **Angular 14 expert** - NgModules, `*ngIf`/`*ngFor`, RxJS, reactive forms, constructor DI
131
+ - **Legacy Angular patterns** - NO signals, NO standalone components, NO `@if`/`@for`
132
+ - Writing clean, readable, and well-tested code
133
+ - Applying best practices and design patterns
134
+ - Focus on performance and optimization
135
+ - Understanding existing code and extending it without breaking conventions
136
+
137
+ You implement code that is:
138
+
139
+ - **Convention-compliant**: matches existing style and patterns in the project
140
+ - **Well-typed**: full utilization of TypeScript's type system
141
+ - **Testable**: easy to cover with unit tests
142
+ - **Readable**: self-documenting with meaningful names
143
+ - **Performant**: no unnecessary operations or re-renders
144
+ - **Legacy-compatible**: uses Angular 14 patterns (NO signals, NO `@if`/`@for`, NO `inject()`)
145
+
146
+ ## Angular 14 Legacy Patterns (MANDATORY)
147
+
148
+ **ALWAYS use these patterns in legacy projects:**
149
+
150
+ ### Components
151
+
152
+ ```typescript
153
+ // CORRECT (Angular 14)
154
+ @Component({
155
+ selector: 'app-example',
156
+ templateUrl: './example.component.html',
157
+ })
158
+ export class ExampleComponent implements OnInit {
159
+ @Input() item: Item;
160
+ @Output() itemSelected = new EventEmitter<Item>();
161
+
162
+ isLoading = false;
163
+ items: Item[] = [];
164
+
165
+ constructor(
166
+ private readonly dataService: DataService,
167
+ private readonly router: Router,
168
+ ) {}
169
+
170
+ ngOnInit(): void {
171
+ this.loadItems();
172
+ }
173
+ }
174
+
175
+ // WRONG (Angular 20+ - DO NOT USE)
176
+ // readonly item = input.required<Item>();
177
+ // readonly itemSelected = output<Item>();
178
+ // private readonly dataService = inject(DataService);
179
+ // readonly isLoading = signal(false);
180
+ ```
181
+
182
+ ### Templates
183
+
184
+ ```html
185
+ <!-- CORRECT (Angular 14) -->
186
+ <div *ngIf="isLoading">Loading...</div>
187
+ <ul *ngIf="items.length > 0">
188
+ <li *ngFor="let item of items; trackBy: trackByFn">{{ item.name }}</li>
189
+ </ul>
190
+
191
+ <!-- WRONG (Angular 20+ - DO NOT USE) -->
192
+ <!-- @if (isLoading()) { } -->
193
+ <!-- @for (item of items(); track item.id) { } -->
194
+ ```
195
+
196
+ ### Services
197
+
198
+ ```typescript
199
+ // CORRECT (Angular 14)
200
+ @Injectable({ providedIn: 'root' })
201
+ export class DataService {
202
+ private readonly _data$ = new BehaviorSubject<Data[]>([]);
203
+ readonly data$ = this._data$.asObservable();
204
+
205
+ constructor(private readonly http: HttpClient) {}
206
+
207
+ setData(data: Data[]): void {
208
+ this._data$.next(data);
209
+ }
210
+ }
211
+
212
+ // WRONG (Angular 20+ - DO NOT USE)
213
+ // private readonly _data = signal<Data[]>([]);
214
+ // readonly data = this._data.asReadonly();
215
+ ```
216
+
217
+ ## Usage
218
+
219
+ ```
220
+ /impl [linearTaskId]
221
+ /impl [linearTaskId] --auto # Non-interactive mode for CI / GitHub Actions
222
+ ```
223
+
224
+ ## Parameters
225
+
226
+ - `linearTaskId` - Linear task ID (e.g., ENG-123)
227
+ - `--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.
228
+
229
+ ## Auto Mode (`--auto`)
230
+
231
+ **When `--auto` is set, the skill MUST run end-to-end without any human-in-the-loop prompts.** Apply these overrides:
232
+
233
+ | Default behavior | `--auto` override |
234
+ | -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
235
+ | 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 |
236
+ | 3x3 rule pauses every 3 changes asking "Continue?" | Log the checkpoint summary as a status comment, then continue automatically |
237
+ | Pause after each subtask waiting for user confirmation | Post subtask completion comment, then proceed to next subtask |
238
+ | Final end pause "wait for user confirmation" | Post final summary comment and exit cleanly |
239
+ | `AskUserQuestion` for any decision | Use the option marked **(Recommended)**; if none, fail fast with a Linear comment explaining why |
240
+ | Confirmation before destructive ops (delete attachments) | Proceed without confirmation — replace old `orchestration.md` automatically |
241
+
242
+ **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.
243
+
244
+ **Detection**: The flag `--auto` is provided as a positional/named arg. Treat any of `--auto`, `--ci`, `--non-interactive` as equivalent.
245
+
246
+ ## Instructions
247
+
248
+ 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).
249
+
250
+ ### Step 1-2: Fetch Linear Task and Subtasks
251
+
252
+ **Delegate to `shared-linear-subtask-iterator` agent:**
253
+
254
+ ```
255
+ Action: fetch
256
+ Linear Task ID: [linearTaskId]
257
+ ```
258
+
259
+ The agent will:
260
+
261
+ 1. Fetch task details (title, description, status, labels)
262
+ 2. Check for subtasks and filter "To Do" status
263
+ 3. Return processing order and implementation plan location
264
+
265
+ **Output:** Task structure with subtasks to process (or parent task if no subtasks)
266
+
267
+ ### Step 3: Process Tasks Iteratively
268
+
269
+ For each task to implement (subtasks in "To Do" status, or parent task if no subtasks):
270
+
271
+ #### Step 3a: Set Status to "In Progress"
272
+
273
+ **For subtasks only**: Use MCP Linear server to update the subtask status to "In Progress".
274
+
275
+ Do NOT change status for parent tasks.
276
+
277
+ #### Step 3b: Fetch Implementation Plan from `plan.md` Attachment
278
+
279
+ **⛔ 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.
280
+
281
+ Two-step retrieval:
282
+
283
+ 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.
284
+ 2. `mcp__linear__get_attachment({ id: <attachmentId> })` → returns the markdown content directly (Linear hosts the file natively).
285
+
286
+ Parse the markdown for:
287
+
288
+ - Implementation Steps
289
+ - Files to Modify
290
+ - New Files to create
291
+ - Testing Strategy
292
+ - External Library Changes (blockers — not to be implemented)
293
+
294
+ **If no `plan.md` attachment found**:
295
+
296
+ - **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".
297
+ - **`--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.
298
+
299
+ Do NOT fall back to parsing plan content from comments — the attachment is the source of truth.
300
+
301
+ #### Step 3b-classify: MANDATORY UI Change Classification
302
+
303
+ **⚠️ CRITICAL - THIS STEP IS MANDATORY AND CANNOT BE SKIPPED**
304
+
305
+ **Delegate to `shared-ui-classifier` agent:**
306
+
307
+ ```
308
+ Task ID: [current task/subtask ID]
309
+ Task Title: [title]
310
+ Implementation Plan: [files to modify and steps summary]
311
+ ```
312
+
313
+ The agent will:
314
+
315
+ 1. Analyze file extensions and paths
316
+ 2. Check for UI-related keywords
317
+ 3. Generate `🎯 Change Type Classification` block
318
+ 4. Determine if screenshots are required
319
+
320
+ **Output:** Classification with `UI_CHANGE_REQUIRED: YES/NO` and Screenshot Plan if needed
321
+
322
+ **If UI_CHANGE_REQUIRED: YES** → You MUST capture screenshots.
323
+ **If UI_CHANGE_REQUIRED: NO** → Screenshots are skipped.
324
+
325
+ #### Step 3b-orchestrate: MANDATORY Agent Orchestration Plan
326
+
327
+ **⚠️ CRITICAL - THIS STEP IS MANDATORY AND CANNOT BE SKIPPED**
328
+
329
+ Before starting implementation, you MUST create an **Agent Orchestration Plan**.
330
+
331
+ **Delegate to `shared-impl-orchestrator` agent:**
332
+
333
+ ```
334
+ Create orchestration plan for:
335
+ - Linear Task ID: [current task/subtask ID]
336
+ - Task Title: [title from Linear]
337
+ - Implementation Plan: [summary of files to modify and steps]
338
+ - Angular Version: 14 (LEGACY - use *ngIf/*ngFor, constructor DI, @Input/@Output, BehaviorSubject)
339
+ ```
340
+
341
+ The agent will:
342
+
343
+ 1. Analyze the implementation plan
344
+ 2. Identify required agents based on task type (using legacy Angular agents)
345
+ 3. Define execution order (parallel vs sequential)
346
+ 4. Plan TDD cycles for each implementation unit
347
+ 5. Generate the orchestration plan in markdown format
348
+
349
+ **After receiving the orchestration plan, save it as a native `orchestration.md` attachment on the Linear issue.**
350
+
351
+ **⛔ Calling `mcp__linear__save_comment` with the orchestration body is FORBIDDEN. Use `mcp__linear__create_attachment` only.** Re-read Hard Rule #2 if tempted.
352
+
353
+ 1. **Check for existing `orchestration.md` attachment** on the task via `mcp__linear__get_issue` (response includes `attachments`).
354
+ - If one exists, delete it via `mcp__linear__delete_attachment({ id: oldAttachmentId })`. Linear hosts the file natively, so nothing else needs cleanup.
355
+ 2. **Write locally**: `Write` the orchestration markdown to `/tmp/claude-plans/<taskId>-orchestration.md`.
356
+ 3. **Base64-encode**: `b64=$(base64 -i /tmp/claude-plans/<taskId>-orchestration.md)`.
357
+ 4. **Create Linear attachment** via `mcp__linear__create_attachment`:
358
+ - `issue`: the task/subtask ID
359
+ - `filename`: `orchestration.md`
360
+ - `contentType`: `text/markdown`
361
+ - `title`: `orchestration.md` (exact — used for detection/replacement on the next `/impl` run)
362
+ - `subtitle`: `Plan orkiestracji wygenerowany przez Claude Code (legacy)`
363
+ - `base64Content`: the base64 string from step 3
364
+ 5. **Clean up** local `/tmp/claude-plans/<taskId>-orchestration.md`.
365
+ 6. **Follow the plan** — execute agents in the defined order.
366
+ 7. **Use TDD strictly** — `shared-tdd-developer` is MANDATORY for ALL code implementation.
367
+
368
+ **IMPORTANT**:
369
+
370
+ 1. **`shared-tdd-developer` is MANDATORY** for ALL code implementation tasks
371
+ 2. Save the orchestration plan as an `orchestration.md` attachment BEFORE starting implementation — do NOT post it as a comment
372
+ 3. Follow the TDD cycle (RED → GREEN → REFACTOR) strictly
373
+ 4. Each code change must have a failing test FIRST
374
+ 5. **Use Angular 14 patterns** - All agents must use legacy patterns
375
+
376
+ #### Step 3c: Check for External Library Blockers
377
+
378
+ If the plan contains **External Library Changes** section with uncompleted items:
379
+
380
+ - These are blockers that must be resolved first
381
+ - Create a comment noting the blockers
382
+ - Set status to "Blocked" or back to "To Do"
383
+ - Skip to next subtask
384
+
385
+ #### Step 3c-visual-before: Capture "Before" Screenshots (MANDATORY for UI changes)
386
+
387
+ **⚠️ CONDITIONAL ON CLASSIFICATION: Execute this step ONLY IF `UI_CHANGE_REQUIRED: YES` from Step 3b-classify**
388
+
389
+ **If UI_CHANGE_REQUIRED: NO** → Skip to Step 3d.
390
+
391
+ **If UI_CHANGE_REQUIRED: YES** → This step is **MANDATORY**. You CANNOT proceed without capturing "before" screenshots.
392
+
393
+ **IMPORTANT**: Before making any code changes, capture screenshots of the current state to document the "before" state.
394
+
395
+ **Screenshot capture process:**
396
+
397
+ **Delegate to `screenshot-reporter` agent** (run in background for parallel execution):
398
+
399
+ ```
400
+ Capture "before" screenshots for:
401
+ - Page: /[page from Screenshot Plan in Step 3b-classify]
402
+ - Viewports: desktop (1920x1080), mobile (375x667)
403
+ - Modes: normal, dark (high contrast)
404
+ - Phase: before
405
+ - Linear Issue ID: [current task/subtask ID]
406
+ ```
407
+
408
+ The agent will:
409
+
410
+ 1. Use `browser-capture` skill to ensure dev server is running
411
+ 2. Navigate to affected page
412
+ 3. Capture 4 screenshots: desktop normal, desktop dark, mobile normal, mobile dark
413
+ 4. Upload via `maia-files-upload` skill
414
+ 5. Return screenshot IDs and URLs
415
+
416
+ **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.
417
+
418
+ **Store the agent task ID** - you will need it for Step 3e-visual-after.
419
+
420
+ #### Step 3d: Implement the Plan (with 3x3 Rule)
421
+
422
+ Follow the implementation steps from the plan, applying the **3x3 Rule**:
423
+
424
+ **3x3 Rule**: After every 3 changes (file modifications, new files, or significant code changes), STOP and:
425
+
426
+ 1. Summarize what was completed in the last 3 changes
427
+ 2. Present the next 3 planned steps
428
+ 3. Wait for user confirmation before continuing
429
+
430
+ This ensures:
431
+
432
+ - User stays informed about progress
433
+ - Mistakes are caught early
434
+ - User can adjust direction if needed
435
+
436
+ **Implementation flow:**
437
+
438
+ 1. **Read existing files** that need modification
439
+ 2. **Implement changes** according to the plan - **USE ANGULAR 14 PATTERNS**
440
+ 3. **Create new files** as specified - **USE ANGULAR 14 PATTERNS**
441
+ 4. **After every 3 changes** → PAUSE for 3x3 checkpoint
442
+ 5. **Run tests** as specified in Testing Strategy
443
+ 6. **Fix any issues** that arise during implementation
444
+
445
+ Use tools:
446
+
447
+ - `Read` to read existing files
448
+ - `Edit` to modify files
449
+ - `Write` to create new files
450
+ - `Bash` to run tests and commands
451
+ - `Glob` and `Grep` for additional exploration if needed
452
+
453
+ **CRITICAL - Angular 14 Pattern Enforcement:**
454
+
455
+ - ALWAYS use `*ngIf`, `*ngFor` in templates
456
+ - ALWAYS use constructor injection
457
+ - ALWAYS use `@Input()`, `@Output()` decorators
458
+ - ALWAYS use `BehaviorSubject`, `Observable` for state
459
+ - NEVER use signals, `@if`, `@for`, `inject()`, `input()`, `output()`
460
+
461
+ **3x3 Checkpoint Format:**
462
+
463
+ ```markdown
464
+ ## Checkpoint (3x3)
465
+
466
+ ### Completed (last 3 changes)
467
+
468
+ 1. ✅ [Change 1 description] - `path/to/file1.ts`
469
+ 2. ✅ [Change 2 description] - `path/to/file2.ts`
470
+ 3. ✅ [Change 3 description] - `path/to/file3.ts`
471
+
472
+ ### Angular 14 Patterns Used
473
+
474
+ - Constructor DI: ✅
475
+ - *ngIf/*ngFor: ✅
476
+ - @Input/@Output: ✅
477
+ - BehaviorSubject: ✅
478
+
479
+ ### Next 3 Steps
480
+
481
+ 1. [ ] [Next step 1]
482
+ 2. [ ] [Next step 2]
483
+ 3. [ ] [Next step 3]
484
+
485
+ ### Progress
486
+
487
+ - Steps completed: X / Y
488
+ - Remaining: Z steps
489
+
490
+ Continue? (yes/no/adjust)
491
+ ```
492
+
493
+ **Feedback Collection for Agent Evolution:**
494
+
495
+ 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.
496
+
497
+ **When user provides a correction or pattern suggestion, ASK:**
498
+
499
+ ```
500
+ 🔄 Detected potential improvement suggestion:
501
+ "[summary of user's correction]"
502
+
503
+ Would you like to create a Linear issue for this pattern improvement?
504
+ - Yes - File as Linear issue in "Framework 2.0"
505
+ - No - Note for this session only
506
+ - Skip - Ignore this feedback
507
+ ```
508
+
509
+ **Only feedback confirmed with "Yes"** should be collected as **evolution feedback items** and processed in Step 3g-evolve via `linear-suggestion` skill.
510
+
511
+ Look for signals like: universal language ("always", "never"), pattern-level corrections, or explicit requests to update agent behavior.
512
+
513
+ #### Step 3e: Verify Implementation
514
+
515
+ After implementing:
516
+
517
+ 1. **Run relevant tests**: Execute tests mentioned in the Testing Strategy
518
+ 2. **Run linting**: `nx lint` for affected projects
519
+ 3. **Build check**: Verify build doesn't break
520
+ 4. **Manual verification**: Check if implementation matches requirements
521
+
522
+ #### Step 3e-visual-after: Capture "After" Screenshots (MANDATORY for UI changes)
523
+
524
+ **⚠️ CONDITIONAL ON CLASSIFICATION: Execute this step ONLY IF `UI_CHANGE_REQUIRED: YES` from Step 3b-classify**
525
+
526
+ **If UI_CHANGE_REQUIRED: NO** → Skip to Step 3f-verify.
527
+
528
+ **If UI_CHANGE_REQUIRED: YES** → This step is **MANDATORY**. You CANNOT complete the task without capturing "after" screenshots.
529
+
530
+ **Before capturing "after" screenshots:**
531
+
532
+ 1. **Wait for "before" screenshots** to complete (retrieve from background task)
533
+ 2. Retrieve "before" screenshot IDs from the background task result
534
+
535
+ **Screenshot capture process:**
536
+
537
+ **Delegate to `screenshot-reporter` agent**:
538
+
539
+ ```
540
+ Capture "after" screenshots and post to Linear:
541
+ - Linear Issue ID: [current task/subtask ID]
542
+ - Page: /[page from Screenshot Plan in Step 3b-classify]
543
+ - Viewports: desktop (1920x1080), mobile (375x667)
544
+ - Modes: normal, dark (high contrast)
545
+ - Phase: after
546
+ - Before IDs: [IDs from "before" phase result]
547
+ - Generate comparison report
548
+ - Post to Linear as comment
549
+ - Cleanup all files (before + after)
550
+ ```
551
+
552
+ #### Step 3f: Create Completion Comment
553
+
554
+ **Delegate to `shared-impl-reporter` agent:**
555
+
556
+ ```
557
+ Task ID: [current task/subtask ID]
558
+ Task Title: [title]
559
+ Status: [Completed / Partially Completed / Blocked / Skipped]
560
+ Completed Items: [list of completed items]
561
+ Not Completed Items: [list with reasons, if any]
562
+ Files Modified: [list with descriptions]
563
+ Files Created: [list with purposes]
564
+ Test Results: [unit/e2e status]
565
+ Angular Patterns: Angular 14 (legacy) - *ngIf/*ngFor, constructor DI, @Input/@Output
566
+ Notes: [additional notes]
567
+ Blocker Info: [if blocked]
568
+ ```
569
+
570
+ The agent will generate a formatted Implementation Report and return it.
571
+
572
+ **Post the report** as a comment on the Linear task/subtask.
573
+
574
+ #### Step 3g: Update Status
575
+
576
+ **Delegate to `shared-linear-subtask-iterator` agent:**
577
+
578
+ ```
579
+ Action: update-status
580
+ Subtask ID: [current subtask ID]
581
+ Implementation Result: [Completed / Partial / Blocked]
582
+ Test Results: [Pass / Fail]
583
+ ```
584
+
585
+ The agent will determine the correct status and provide MCP command to execute.
586
+
587
+ **Execute the status update** via MCP Linear server.
588
+
589
+ #### Step 3g-evolve: Agent Evolution Checkpoint
590
+
591
+ **Prerequisites**: Only execute this step if user confirmed at least one feedback item with "Yes" during 3x3 checkpoints.
592
+
593
+ **Delegate to `shared-agent-evolver` agent:**
594
+
595
+ ```
596
+ Analyze feedback from current subtask implementation:
597
+ - Subtask ID: [current subtask ID]
598
+ - User-confirmed corrections: [list of feedback items where user answered "Yes"]
599
+ - Files that were implemented: [list of files modified/created]
600
+ - Patterns the user corrected or suggested: [specific corrections]
601
+ ```
602
+
603
+ The agent will:
604
+
605
+ 1. Classify each feedback item (IGNORE / EVOLVE_PATTERN / EVOLVE_RULE / EVOLVE_TEMPLATE / CREATE_AGENT / UPDATE_WORKFLOW)
606
+ 2. Generate proposals for non-IGNORE items
607
+ 3. File each proposal as a Linear issue in "Framework 2.0" via `linear-suggestion` skill
608
+ 4. Return Evolution Report with created issue IDs
609
+
610
+ **IMPORTANT**:
611
+
612
+ - Agent files are NOT modified directly — proposals are filed as Linear issues for manual review
613
+ - **Only process feedback explicitly confirmed by user** — do not auto-collect without asking
614
+ - If no user-confirmed feedback was collected during this subtask, skip this step
615
+ - This step runs BEFORE the subtask pause (Step 3h) so evolution is complete before moving on
616
+ - If Linear issue creation fails, continue silently — do not block the workflow
617
+
618
+ #### Step 3h: Pause After Subtask Completion
619
+
620
+ **Delegate to `shared-linear-subtask-iterator` agent:**
621
+
622
+ ```
623
+ Action: get-next-subtask
624
+ Current Subtask ID: [just completed]
625
+ Completed Subtasks: [list of completed IDs]
626
+ ```
627
+
628
+ The agent will provide:
629
+
630
+ - Completion summary for current subtask
631
+ - Next subtask details (if any)
632
+ - Pause point for user confirmation
633
+
634
+ **IMPORTANT**:
635
+
636
+ - **Default mode**: ALWAYS wait for user confirmation before proceeding to next subtask.
637
+ - **`--auto` mode**: Skip the wait. The completion comment from Step 3f is the audit trail; proceed directly to Step 3i.
638
+
639
+ #### Step 3i: Move to Next Subtask
640
+
641
+ Only after user confirms, repeat from Step 3a for the next subtask returned by the iterator.
642
+
643
+ ### Step 4: Final Summary and Pause
644
+
645
+ **Delegate to `shared-linear-subtask-iterator` agent:**
646
+
647
+ ```
648
+ Action: get-next-subtask
649
+ Current Subtask ID: [last completed]
650
+ Completed Subtasks: [all completed IDs]
651
+ ```
652
+
653
+ When all subtasks are processed, the agent will return `🏁 Iteration Complete` with:
654
+
655
+ - Final summary table of all subtasks and their statuses
656
+ - Statistics (completed, partial, blocked)
657
+ - Recommendations for follow-up
658
+
659
+ **IMPORTANT**:
660
+
661
+ - **Default mode**: ALWAYS pause and present the final summary to the user.
662
+ - **`--auto` mode**: Post the final summary as a Linear comment in Polish on the parent task (or invoked task) and exit cleanly without pausing.
663
+
664
+ ## Status Flow
665
+
666
+ ```
667
+ To Do → In Progress → In Review (if completed)
668
+ → To Do (if not completed)
669
+ → Blocked (if external blockers)
670
+ ```
671
+
672
+ ## Pause Points (3x3 Rule)
673
+
674
+ **ALWAYS stop and wait for user confirmation at these points** (skipped in `--auto` — see overrides):
675
+
676
+ | Pause Point | When | What to Show | `--auto` behavior |
677
+ | -------------------- | ----------------------------------- | ----------------------------------------- | ------------------------------------------------------------- |
678
+ | **3x3 Checkpoint** | After every 3 changes | Summary of 3 changes + next 3 steps | Post checkpoint as Linear comment, continue |
679
+ | **Subtask Complete** | After finishing each subtask | Subtask summary + next subtask info | Post completion comment, continue to next subtask |
680
+ | **Task Complete** | After finishing all subtasks | Final summary with all results | Post final summary comment, exit |
681
+ | **Blocker Found** | When external dependency found | Blocker details + options | Set status to Blocked, post blocker comment, skip subtask |
682
+ | **Error/Issue** | When unexpected problem occurs | Error details + proposed solution | Post error comment to Linear, fail the run with non-zero exit |
683
+ | **Agent Evolution** | After subtask / after final summary | Evolution report with filed Linear issues | Skip evolution prompt, file issues silently if any |
684
+
685
+ **In default mode, never proceed automatically** - always wait for explicit user confirmation before:
686
+
687
+ - Continuing after 3x3 checkpoint
688
+ - Moving to next subtask
689
+ - Finishing the implementation session
690
+
691
+ ## Guidelines
692
+
693
+ 1. **⚠️ MANDATORY: Use Angular 14 patterns**: All code MUST use `*ngIf`/`*ngFor`, constructor DI, `@Input()`/`@Output()`, BehaviorSubject - NEVER signals, `@if`/`@for`, or `inject()`
694
+ 2. **⚠️ MANDATORY: Classify UI changes first**: Before ANY implementation, output the `🎯 Change Type Classification` block
695
+ 3. **⚠️ MANDATORY: Create Agent Orchestration Plan**: Before implementation, create and post `🎭 Agent Orchestration Plan` to Linear
696
+ 4. **⚠️ MANDATORY: Use `shared-tdd-developer` for ALL code**: Every code implementation MUST use the `shared-tdd-developer` agent
697
+ 5. **Write comments in Polish**: All implementation reports must be written in Polish language
698
+ 6. **Follow the 3x3 Rule**: After every 3 changes, STOP and summarize progress + next 3 steps
699
+ 7. **Pause after each subtask**: Always wait for user confirmation before moving to next subtask
700
+ 8. **Process one subtask at a time**: Complete one subtask before moving to the next
701
+ 9. **Always create completion comments**: Document what was done even if partially completed
702
+ 10. **Run tests before marking complete**: Ensure tests pass before setting "In Review" status
703
+ 11. **Follow existing patterns**: Match the codebase conventions when implementing
704
+ 12. **Commit changes**: After each subtask implementation, consider if a commit is needed
705
+ 13. **Ask for clarification**: If implementation plan is unclear, ask before proceeding
706
+ 14. **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) via `shared-agent-evolver` agent.
707
+
708
+ ---
709
+
710
+ **Important**: Always confirm with the user before starting implementation if there are any questions about the plan.