moicle 1.6.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.
- package/README.md +82 -32
- package/assets/skills/docs/content/SKILL.md +269 -0
- package/assets/skills/{logo-design → docs/logo}/SKILL.md +31 -16
- package/assets/skills/{sync-docs → docs/sync}/SKILL.md +31 -1
- package/assets/skills/{video-content → docs/video}/SKILL.md +32 -17
- package/assets/skills/docs/write/SKILL.md +371 -0
- package/assets/skills/feature/api/SKILL.md +277 -0
- package/assets/skills/feature/deprecate/SKILL.md +276 -0
- package/assets/skills/{new-feature → feature/new}/SKILL.md +28 -12
- package/assets/skills/{refactor → feature/refactor}/SKILL.md +24 -12
- package/assets/skills/{hotfix → fix/hotfix}/SKILL.md +32 -30
- package/assets/skills/fix/incident/SKILL.md +272 -0
- package/assets/skills/{fix-pr-comment → fix/pr-comment}/SKILL.md +30 -1
- package/assets/skills/fix/root-cause/SKILL.md +219 -0
- package/assets/skills/{onboarding → research/onboarding}/SKILL.md +32 -31
- package/assets/skills/{spike → research/spike}/SKILL.md +33 -32
- package/assets/skills/research/web/SKILL.md +163 -0
- package/assets/skills/{architect-review → review/architect}/SKILL.md +37 -7
- package/assets/skills/{review-changes → review/branch}/SKILL.md +27 -7
- package/assets/skills/{pr-review → review/pr}/SKILL.md +31 -30
- package/assets/skills/review/tdd/SKILL.md +206 -0
- package/bin/cli.js +12 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +219 -38
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +42 -2
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/postinstall.d.ts.map +1 -1
- package/dist/commands/postinstall.js +2 -0
- package/dist/commands/postinstall.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +31 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +93 -38
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/upgrade.d.ts +7 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +165 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/symlink.d.ts +8 -0
- package/dist/utils/symlink.d.ts.map +1 -1
- package/dist/utils/symlink.js +100 -0
- package/dist/utils/symlink.js.map +1 -1
- package/package.json +3 -1
- package/assets/skills/api-integration/SKILL.md +0 -883
- package/assets/skills/content-writer/SKILL.md +0 -721
- package/assets/skills/deep-debug/SKILL.md +0 -114
- package/assets/skills/deprecation/SKILL.md +0 -923
- package/assets/skills/documentation/SKILL.md +0 -1333
- package/assets/skills/incident-response/SKILL.md +0 -946
- package/assets/skills/research/SKILL.md +0 -124
- 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
|
|
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
|
-
##
|
|
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
|
-
|
|
22
|
+
## Read Architecture First
|
|
16
23
|
|
|
17
|
-
|
|
18
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
##
|
|
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
|
-
|
|
22
|
+
## Read Architecture First
|
|
16
23
|
|
|
17
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
##
|
|
10
|
+
## When to use this skill
|
|
11
11
|
|
|
12
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 |
|