moicle 1.7.0 → 2.0.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 (37) hide show
  1. package/README.md +72 -29
  2. package/assets/skills/docs/content/SKILL.md +269 -0
  3. package/assets/skills/{logo-design → docs/logo}/SKILL.md +31 -16
  4. package/assets/skills/{sync-docs → docs/sync}/SKILL.md +31 -1
  5. package/assets/skills/{video-content → docs/video}/SKILL.md +32 -17
  6. package/assets/skills/docs/write/SKILL.md +371 -0
  7. package/assets/skills/feature/api/SKILL.md +277 -0
  8. package/assets/skills/feature/deprecate/SKILL.md +276 -0
  9. package/assets/skills/{new-feature → feature/new}/SKILL.md +28 -12
  10. package/assets/skills/{refactor → feature/refactor}/SKILL.md +24 -12
  11. package/assets/skills/{hotfix → fix/hotfix}/SKILL.md +32 -30
  12. package/assets/skills/fix/incident/SKILL.md +272 -0
  13. package/assets/skills/{fix-pr-comment → fix/pr-comment}/SKILL.md +30 -1
  14. package/assets/skills/fix/root-cause/SKILL.md +219 -0
  15. package/assets/skills/{onboarding → research/onboarding}/SKILL.md +32 -31
  16. package/assets/skills/{spike → research/spike}/SKILL.md +33 -32
  17. package/assets/skills/research/web/SKILL.md +163 -0
  18. package/assets/skills/{architect-review → review/architect}/SKILL.md +37 -7
  19. package/assets/skills/{review-changes → review/branch}/SKILL.md +27 -7
  20. package/assets/skills/{pr-review → review/pr}/SKILL.md +31 -30
  21. package/assets/skills/review/tdd/SKILL.md +206 -0
  22. package/dist/commands/list.d.ts.map +1 -1
  23. package/dist/commands/list.js +2 -2
  24. package/dist/commands/list.js.map +1 -1
  25. package/dist/utils/symlink.d.ts +7 -0
  26. package/dist/utils/symlink.d.ts.map +1 -1
  27. package/dist/utils/symlink.js +82 -0
  28. package/dist/utils/symlink.js.map +1 -1
  29. package/package.json +1 -1
  30. package/assets/skills/api-integration/SKILL.md +0 -883
  31. package/assets/skills/content-writer/SKILL.md +0 -721
  32. package/assets/skills/deep-debug/SKILL.md +0 -114
  33. package/assets/skills/deprecation/SKILL.md +0 -923
  34. package/assets/skills/documentation/SKILL.md +0 -1333
  35. package/assets/skills/incident-response/SKILL.md +0 -946
  36. package/assets/skills/research/SKILL.md +0 -124
  37. package/assets/skills/tdd/SKILL.md +0 -828
@@ -0,0 +1,276 @@
1
+ ---
2
+ name: feature-deprecate
3
+ description: Deprecation workflow for safely removing features or code. Use when deprecating, removing features, sunsetting functionality, or when user says "deprecate", "remove feature", "sunset", "phase out", "delete feature".
4
+ ---
5
+
6
+ # Deprecation Workflow
7
+
8
+ Safely sunset a feature, API, or module without breaking users. Built around a **timeline** (T-90 → T+30) and the principle that **announce → warn → migrate → remove → monitor**.
9
+
10
+ ## When to use this skill
11
+
12
+ - ✅ Sunsetting a public API endpoint, SDK method, or user-facing feature
13
+ - ✅ Removing an internal module that other domains depend on
14
+ - ✅ Migrating consumers from v1 → v2 of anything
15
+ - ❌ Just deleting unused dead code (no consumers) → just delete in PR with explanation
16
+ - ❌ Renaming an internal helper → just rename, no deprecation needed
17
+ - ❌ Removing a feature behind a flag with 0 users → just remove the flag
18
+
19
+ ---
20
+
21
+ ## Workflow
22
+
23
+ ```
24
+ IDENTIFY → PLAN → MIGRATE → REMOVE → VERIFY
25
+ ↓ ↓ ↓ ↓ ↓
26
+ announce warn migrate remove monitor
27
+ (T-90) (T-60) (T-30) (T-0) (T+30)
28
+ ```
29
+
30
+ ## Read Architecture First
31
+
32
+ Read `~/.claude/architecture/ddd-architecture.md` + stack doc to understand layer impact before any deprecation.
33
+
34
+ ---
35
+
36
+ ## Deprecation Strategy
37
+
38
+ | Strategy | When | Timeline |
39
+ |----------|------|----------|
40
+ | **Soft** | Internal API, replacement available, low usage | Announce → warn → migrate → remove (1–3 months) |
41
+ | **Hard** | Security issue, breaking infra change | Announce + remove fast (days to weeks, with mitigation) |
42
+ | **Versioned** | Public API, breaking change | Run v1 + v2 side-by-side, sunset v1 over months/years |
43
+
44
+ ---
45
+
46
+ ## Phase 1: IDENTIFY
47
+
48
+ **Goal:** know what you're removing and who depends on it.
49
+
50
+ ### Actions
51
+ 1. Define the target: feature / endpoint / module / class / method
52
+ 2. Find ALL usages:
53
+ ```bash
54
+ # adapt per stack
55
+ grep -rn "{symbol}" --include="*.{ext}" .
56
+ # for APIs, check access logs:
57
+ {log_query for endpoint hits over last 30/90 days}
58
+ ```
59
+ 3. Identify consumers:
60
+ - Internal teams / services
61
+ - External users / SDK consumers
62
+ - Third-party integrations
63
+ - Docs and tutorials that reference it
64
+ 4. Assess impact (per architecture layer):
65
+ - Which layers reference it (domain / application / infra)?
66
+ - Cross-domain consumers?
67
+ - Breaking change severity?
68
+ 5. Find replacement (or document "no replacement, here's the workaround")
69
+
70
+ ### Output
71
+
72
+ ```markdown
73
+ ## Deprecation Analysis: {target}
74
+
75
+ ### What
76
+ - Type: {feature / API / class / method / module}
77
+ - Location: {file:line(s)}
78
+ - Reason: {security / consolidation / better alternative / cost / etc.}
79
+
80
+ ### Replacement
81
+ - {New API / pattern, with migration mapping}
82
+ - OR: {no replacement — rationale}
83
+
84
+ ### Usage
85
+ - Internal callers: {list with team contacts}
86
+ - External callers (last 30d): {N requests / N unique tokens}
87
+ - Docs referencing it: {list}
88
+
89
+ ### Impact
90
+ - Layers affected: {domain / application / infra}
91
+ - Severity: {breaking / non-breaking}
92
+ - Estimated migration effort per consumer: {hours}
93
+ ```
94
+
95
+ ### Gate
96
+ - [ ] All usages found (internal + external)
97
+ - [ ] Stakeholders listed with contacts
98
+ - [ ] Replacement defined (or explicit "no replacement")
99
+ - [ ] Impact severity assessed
100
+
101
+ ---
102
+
103
+ ## Phase 2: PLAN
104
+
105
+ **Goal:** lock the timeline and the communication plan.
106
+
107
+ ### Timeline template
108
+
109
+ | Phase | Date | Action |
110
+ |-------|------|--------|
111
+ | T-90 | {date} | Announce deprecation (changelog + email + docs banner) |
112
+ | T-60 | {date} | Add runtime warning (log / response header) |
113
+ | T-30 | {date} | Hard warning (UI banner / error in non-prod) |
114
+ | T-0 | {date} | Remove. Return 410 Gone for APIs |
115
+ | T+30 | {date} | Remove deprecation code itself, archive docs |
116
+
117
+ **Adjust** based on strategy: hard = days, public API = months/quarters.
118
+
119
+ ### Comms checklist
120
+ - [ ] CHANGELOG entry
121
+ - [ ] Release notes
122
+ - [ ] Email to known consumers
123
+ - [ ] Docs banner on the deprecated feature page
124
+ - [ ] Migration guide written (with code diff before/after)
125
+ - [ ] Slack / forum announcement
126
+ - [ ] Updated SDK (if applicable) with deprecation in code
127
+
128
+ ### Gate
129
+ - [ ] Timeline locked with dates
130
+ - [ ] Migration guide drafted
131
+ - [ ] Comms plan signed off by stakeholders
132
+ - [ ] Replacement available and documented
133
+
134
+ ---
135
+
136
+ ## Phase 3: MIGRATE
137
+
138
+ **Goal:** make consumers stop using the deprecated thing.
139
+
140
+ ### Add deprecation markers (in code)
141
+
142
+ Pick the language idiom — show **what** is deprecated, **when** it goes away, and **what to use instead**.
143
+
144
+ ```ts
145
+ /** @deprecated Removed on {date}. Use `newFunction()`. See {link}. */
146
+ export function oldFunction() { ... }
147
+ ```
148
+
149
+ ```go
150
+ // Deprecated: removed on {date}. Use NewFunction instead. See {link}.
151
+ func OldFunction() { ... }
152
+ ```
153
+
154
+ ```php
155
+ /**
156
+ * @deprecated since 2.0.0, removed in 3.0.0. Use newMethod(). See {link}.
157
+ */
158
+ public function oldMethod() { ... }
159
+ ```
160
+
161
+ ```dart
162
+ @Deprecated('Removed on {date}. Use newWidget(). See {link}.')
163
+ class OldWidget { ... }
164
+ ```
165
+
166
+ ### Add runtime signal (for APIs)
167
+ - Response header: `Deprecation: true` + `Sunset: {RFC 3339 date}` + `Link: <docs>; rel="deprecation"`
168
+ - Server log: `deprecated.endpoint.called` with caller identity
169
+ - Metric: counter of deprecated calls, broken down by consumer
170
+
171
+ ### Migrate internal consumers proactively
172
+ - Open PRs against internal consumers yourself when possible
173
+ - Track migration progress (% consumers migrated)
174
+
175
+ ### Gate
176
+ - [ ] Deprecation markers in code
177
+ - [ ] Runtime signals in place (headers, logs, metrics)
178
+ - [ ] Internal usage trending down (verify weekly)
179
+ - [ ] Migration guide proven by ≥1 consumer
180
+
181
+ ---
182
+
183
+ ## Phase 4: REMOVE
184
+
185
+ **Goal:** delete the deprecated thing safely.
186
+
187
+ ### Pre-removal checks
188
+ - [ ] Today's date ≥ T-0
189
+ - [ ] Usage metric shows 0 calls (or only known stragglers with explicit waiver)
190
+ - [ ] Final removal warning sent to remaining consumers
191
+ - [ ] Replacement still works and is documented
192
+
193
+ ### Removal steps
194
+ 1. Delete the code + tests + docs
195
+ 2. For APIs: return `410 Gone` (NOT 404 — different meaning) with migration link in body
196
+ 3. Remove DB columns / tables in a follow-up migration (NOT same PR — keep removal reversible)
197
+ 4. Update CHANGELOG: "Removed: {thing}. See migration guide {link}."
198
+ 5. Deploy through normal pipeline
199
+
200
+ ### Gate
201
+ - [ ] Code, tests, docs removed
202
+ - [ ] API returns 410 (if applicable)
203
+ - [ ] CHANGELOG entry
204
+ - [ ] Deployed to all environments
205
+
206
+ ---
207
+
208
+ ## Phase 5: VERIFY (T+30)
209
+
210
+ **Goal:** confirm clean removal.
211
+
212
+ ### Checks
213
+ - [ ] No errors related to the removed code in monitoring
214
+ - [ ] No customer support tickets about the missing feature
215
+ - [ ] No leftover references in code (grep for the symbol)
216
+ - [ ] Deprecation infra (warning headers, log alerts) cleaned up
217
+ - [ ] DB cleanup migration applied (if any)
218
+
219
+ ### Final report
220
+
221
+ ```markdown
222
+ ## Deprecation Complete: {target}
223
+
224
+ ### Timeline
225
+ - Announced: {date}
226
+ - Removed: {date}
227
+ - Verified: {date}
228
+
229
+ ### Outcome
230
+ - Consumers migrated: {N/N}
231
+ - Errors post-removal: {0 / N — explanation}
232
+ - Replacement adoption: {%}
233
+
234
+ ### Cleanup
235
+ - [x] Code removed
236
+ - [x] Tests removed
237
+ - [x] Docs removed
238
+ - [x] DB columns dropped (in {migration})
239
+ - [x] Deprecation infra cleaned
240
+ ```
241
+
242
+ ---
243
+
244
+ ## Anti-Patterns
245
+
246
+ - **Silent removal** — removing without warning. Always announce first.
247
+ - **Vague deprecation** — `@deprecated` with no date and no replacement. Always include both.
248
+ - **Forever-deprecation** — marking deprecated and never removing. Set the date.
249
+ - **Returning 404 instead of 410** — 404 = "doesn't exist", 410 = "intentionally gone". Use 410.
250
+ - **Same-PR removal of API + DB columns** — keep removal reversible; drop columns in a follow-up.
251
+
252
+ ---
253
+
254
+ ## Related Skills
255
+
256
+ | When | Use |
257
+ |------|-----|
258
+ | Adding the replacement first | `/feature:new` |
259
+ | Restructuring the code that uses the deprecated thing | `refactor` |
260
+ | Documenting the migration guide | `/docs:write` |
261
+ | Reviewing the removal PR | `/review:pr` |
262
+
263
+ ---
264
+
265
+ ## Recommended Agents
266
+
267
+ | Phase | Agent | Purpose |
268
+ |-------|-------|---------|
269
+ | IDENTIFY | `@refactor` | Dependency analysis |
270
+ | IDENTIFY | `@code-reviewer` | Find all usages |
271
+ | PLAN | `@clean-architect` | Migration strategy |
272
+ | PLAN | `@api-designer` | API versioning |
273
+ | PLAN | `@docs-writer` | Deprecation notice + migration guide |
274
+ | MIGRATE | Stack-specific dev agent | Code changes |
275
+ | VERIFY | `@test-writer` | Migration tests |
276
+ | VERIFY | `@code-reviewer` | Final review |
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: new-feature
2
+ name: feature-new
3
3
  description: DDD feature development workflow with phase-based checks and review loop. Use when implementing new features, building functionality, or when user says "implement feature", "add feature", "build feature", "create feature", "new feature".
4
4
  args: "[DOMAIN] [FEATURE]"
5
5
  ---
@@ -10,27 +10,32 @@ Build a new feature following DDD architecture, with automated checks after each
10
10
 
11
11
  **ARGUMENTS:** `<domain> <feature>` — e.g., `wallet savings`, `notification broadcast`, `catalog products`
12
12
 
13
- ## Read Architecture First
13
+ ## When to use this skill
14
+
15
+ - ✅ Building a feature that spans multiple DDD layers (domain + app + infra)
16
+ - ✅ The feature is well-understood (no major research / prototype needed)
17
+ - ✅ You want automated architecture review at the end
18
+ - ❌ Quick bug fix → use `/fix:hotfix`
19
+ - ❌ Don't know the right approach yet → use `/research:web` or `/research:spike` first
20
+ - ❌ Restructuring existing code → use `refactor`
14
21
 
15
- **Before starting, MUST read TWO files:**
22
+ ## Read Architecture First
16
23
 
17
- 1. **Core DDD spec**: `.claude/architecture/ddd-architecture.md`
18
- 2. **Stack-specific doc**: detect stack → read the corresponding architecture doc
24
+ Before starting, read:
25
+ 1. `ddd-architecture.md` (core DDD spec)
26
+ 2. Stack-specific doc based on detected stack
19
27
 
20
28
  ### Stack Detection
21
29
  | File | Stack Doc |
22
30
  |------|-----------|
23
31
  | `go.mod` | `go-backend.md` |
32
+ | `package.json` + NestJS dep | `nodejs-nestjs.md` |
24
33
  | `package.json` + `vite.config.*` | `react-frontend.md` |
25
34
  | `pubspec.yaml` | `flutter-mobile.md` |
26
35
  | `composer.json` | `laravel-backend.md` |
27
36
  | `remix.config.*` | `remix-fullstack.md` |
28
37
 
29
- ### Architecture Files Location
30
- ```
31
- .claude/architecture/{name}.md # Project-specific (priority)
32
- ~/.claude/architecture/{name}.md # Global
33
- ```
38
+ Architecture files location: `.claude/architecture/{name}.md` (project) → `~/.claude/architecture/{name}.md` (global).
34
39
 
35
40
  ---
36
41
 
@@ -43,7 +48,7 @@ PHASE 1: Analyze & Plan
43
48
  → PHASE 4: Build Application Layer
44
49
  → PHASE 5: Registration & Wiring
45
50
  → PHASE 6: Domain Tests
46
- → REVIEW LOOP (run /architect-review, fix issues, repeat until clean)
51
+ → REVIEW LOOP (run /review:architect, fix issues, repeat until clean)
47
52
  ```
48
53
 
49
54
  ---
@@ -236,7 +241,7 @@ After all phases complete, run the architecture review. **Keep looping until ALL
236
241
 
237
242
  ```
238
243
  LOOP:
239
- 1. Run /architect-review {stack} {domain}
244
+ 1. Run /review:architect {stack} {domain}
240
245
  2. Collect violations
241
246
  3. IF violations with severity >= MEDIUM:
242
247
  a. Fix all violations
@@ -284,6 +289,17 @@ When review loop passes:
284
289
 
285
290
  ---
286
291
 
292
+ ## Related Skills
293
+
294
+ | When | Use |
295
+ |------|-----|
296
+ | Don't know approach yet | `/research:web` → then this skill |
297
+ | Want to validate approach with prototype first | `/research:spike` → then this skill |
298
+ | Adding only an endpoint, not a whole feature | `/feature:api` |
299
+ | Restructuring existing module to DDD | `refactor` |
300
+ | Final architecture check (called automatically in Phase 7) | `/review:architect` |
301
+ | Write tests inline during build | `/review:tdd` |
302
+
287
303
  ## Recommended Agents
288
304
 
289
305
  | Phase | Agent | Purpose |
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: refactor
2
+ name: feature-refactor
3
3
  description: DDD refactoring workflow with phase-based checks and review loop. Refactor existing code to DDD architecture or improve existing DDD structure. Use when user says "refactor", "clean up", "improve code", "restructure", "migrate to ddd", "refactor ddd".
4
4
  args: "[MODULE] [DOMAIN]"
5
5
  ---
@@ -10,27 +10,30 @@ Refactor existing code into DDD architecture, or improve existing DDD structure.
10
10
 
11
11
  **ARGUMENTS:** `<module> <domain>` — e.g., `marketing notification`, `users identity`, `products catalog`
12
12
 
13
- ## Read Architecture First
13
+ ## When to use this skill
14
+
15
+ - ✅ Migrating a legacy module into DDD layers
16
+ - ✅ Existing DDD module has drifted (fat controller, anemic entity, mixed concerns)
17
+ - ✅ Splitting one domain into multiple bounded contexts
18
+ - ❌ Building a brand-new feature → use `/feature:new`
19
+ - ❌ Just renaming files / variables → just do it, no skill needed
20
+ - ❌ Fixing a bug → use `/fix:hotfix` or `/fix:root-cause`
14
21
 
15
- **Before starting, MUST read TWO files:**
22
+ ## Read Architecture First
16
23
 
17
- 1. **Core DDD spec**: `.claude/architecture/ddd-architecture.md`
18
- 2. **Stack-specific doc**: detect stack → read the corresponding architecture doc
24
+ Read `ddd-architecture.md` + stack-specific doc.
19
25
 
20
26
  ### Stack Detection
21
27
  | File | Stack Doc |
22
28
  |------|-----------|
23
29
  | `go.mod` | `go-backend.md` |
30
+ | `package.json` + NestJS dep | `nodejs-nestjs.md` |
24
31
  | `package.json` + `vite.config.*` | `react-frontend.md` |
25
32
  | `pubspec.yaml` | `flutter-mobile.md` |
26
33
  | `composer.json` | `laravel-backend.md` |
27
34
  | `remix.config.*` | `remix-fullstack.md` |
28
35
 
29
- ### Architecture Files Location
30
- ```
31
- .claude/architecture/{name}.md # Project-specific (priority)
32
- ~/.claude/architecture/{name}.md # Global
33
- ```
36
+ Architecture files: `.claude/architecture/{name}.md` (project) → `~/.claude/architecture/{name}.md` (global).
34
37
 
35
38
  ---
36
39
 
@@ -44,7 +47,7 @@ PHASE 0: Foundation Check
44
47
  → PHASE 4: Build Application Layer
45
48
  → PHASE 5: Domain Tests
46
49
  → PHASE 6: Integration & Cleanup
47
- → REVIEW LOOP (run /architect-review, fix, repeat until clean)
50
+ → REVIEW LOOP (run /review:architect, fix, repeat until clean)
48
51
  ```
49
52
 
50
53
  Each phase has a Rule Check. DO NOT skip any phase.
@@ -258,7 +261,7 @@ After all phases complete, run the full architecture review. **Keep looping unti
258
261
 
259
262
  ```
260
263
  LOOP:
261
- 1. Run /architect-review {stack} {domain}
264
+ 1. Run /review:architect {stack} {domain}
262
265
  2. Collect violations
263
266
  3. IF violations with severity >= MEDIUM:
264
267
  a. Fix all violations
@@ -326,6 +329,15 @@ When review loop passes with score >= B:
326
329
 
327
330
  ---
328
331
 
332
+ ## Related Skills
333
+
334
+ | When | Use |
335
+ |------|-----|
336
+ | Building from scratch (no existing code) | `/feature:new` |
337
+ | Just adding tests to existing untested code | `/review:tdd` |
338
+ | Reviewing the refactor before merging | `/review:branch` |
339
+ | Final architecture compliance check (called in review loop) | `/review:architect` |
340
+
329
341
  ## Recommended Agents
330
342
 
331
343
  | Phase | Agent | Purpose |
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: hotfix
2
+ name: fix-hotfix
3
3
  description: Quick bug fix workflow with rollback plan. Use when fixing bugs, hotfixes, urgent issues, production bugs, or when user says "fix bug", "hotfix", "urgent fix", "production issue".
4
4
  ---
5
5
 
@@ -7,38 +7,18 @@ description: Quick bug fix workflow with rollback plan. Use when fixing bugs, ho
7
7
 
8
8
  Fast-track workflow for fixing bugs with safety rollback plan.
9
9
 
10
- ## IMPORTANT: Read Architecture First
10
+ ## When to use this skill
11
11
 
12
- **Before fixing, you MUST read the appropriate architecture reference:**
12
+ - Bug is reproducible and root cause is clear (or quickly identifiable)
13
+ - ✅ Need a fix shipped fast with a rollback plan
14
+ - ✅ Severity ranges from low (minor UI) to high (feature broken)
15
+ - ❌ Production is down right now → use `/fix:incident` first
16
+ - ❌ Bug has been "fixed" multiple times and keeps returning → use `/fix:root-cause`
17
+ - ❌ Building a new feature → use `/feature:new`
13
18
 
14
- ### Global Architecture Files
15
- ```
16
- ~/.claude/architecture/
17
- ├── clean-architecture.md # Core principles for all projects
18
- ├── flutter-mobile.md # Flutter + Riverpod
19
- ├── react-frontend.md # React + Vite + TypeScript
20
- ├── go-backend.md # Go + Gin
21
- ├── laravel-backend.md # Laravel + PHP
22
- ├── remix-fullstack.md # Remix fullstack
23
- └── monorepo.md # Monorepo structure
24
- ```
19
+ ## Read Architecture First
25
20
 
26
- ### Project-specific (if exists)
27
- ```
28
- .claude/architecture/ # Project overrides
29
- ```
30
-
31
- **Understand the codebase structure before making changes.**
32
-
33
- ## Recommended Agents
34
-
35
- | Phase | Agent | Purpose |
36
- |-------|-------|---------|
37
- | FIX | `@react-frontend-dev`, `@go-backend-dev`, `@laravel-backend-dev`, `@flutter-mobile-dev`, `@remix-fullstack-dev` | Stack-specific bug fix |
38
- | FIX | `@security-audit` | Security-related bugs |
39
- | VERIFY | `@test-writer` | Regression test |
40
- | VERIFY | `@code-reviewer` | Quick code review |
41
- | DEPLOY | `@devops` | CI/CD & deployment |
21
+ Read `ddd-architecture.md` + stack-specific doc to understand layer placement of the fix.
42
22
 
43
23
  ## Workflow Overview
44
24
 
@@ -395,3 +375,25 @@ On-call: [contact]
395
375
  Backend lead: [contact]
396
376
  DevOps: [contact]
397
377
  ```
378
+
379
+ ---
380
+
381
+ ## Related Skills
382
+
383
+ | When | Use |
384
+ |------|-----|
385
+ | Production is down right now | `/fix:incident` (then hotfix) |
386
+ | Bug keeps coming back after fixes | `/fix:root-cause` |
387
+ | Need to write regression test first | `/review:tdd` |
388
+ | Bug is on an open PR | `/fix:pr-comment` |
389
+ | After fix: reviewing own branch | `/review:branch` |
390
+
391
+ ## Recommended Agents
392
+
393
+ | Phase | Agent | Purpose |
394
+ |-------|-------|---------|
395
+ | FIX | Stack-specific dev agent | Bug fix |
396
+ | FIX | `@security-audit` | Security-related bugs |
397
+ | VERIFY | `@test-writer` | Regression test |
398
+ | VERIFY | `@code-reviewer` | Quick code review |
399
+ | DEPLOY | `@devops` | CI/CD + deployment |