@phuc1403/musketeer 0.8.0 → 0.9.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 (76) hide show
  1. package/README.md +49 -49
  2. package/manifest.json +333 -301
  3. package/package.json +1 -1
  4. package/template/.claude/agents/code-reviewer.md +182 -166
  5. package/template/.claude/hooks/git-skill-reminder.cjs +53 -0
  6. package/template/.claude/hooks/lib/colors.cjs +180 -122
  7. package/template/.claude/hooks/lib/transcript-parser.cjs +300 -277
  8. package/template/.claude/skills/code-review/SKILL.md +201 -54
  9. package/template/.claude/skills/code-review/references/checklist-workflow.md +96 -0
  10. package/template/.claude/skills/code-review/references/checklists/api.md +52 -52
  11. package/template/.claude/skills/code-review/references/checklists/base.md +100 -100
  12. package/template/.claude/skills/code-review/references/checklists/web-app.md +54 -54
  13. package/template/.claude/skills/code-review/references/code-review-reception.md +113 -0
  14. package/template/.claude/skills/code-review/references/codebase-scan-workflow.md +30 -0
  15. package/template/.claude/skills/code-review/references/edge-case-scouting.md +119 -0
  16. package/template/.claude/skills/code-review/references/input-mode-resolution.md +135 -0
  17. package/template/.claude/skills/code-review/references/parallel-review-workflow.md +76 -0
  18. package/template/.claude/skills/code-review/references/requesting-code-review.md +116 -0
  19. package/template/.claude/skills/code-review/references/spec-compliance-review.md +43 -0
  20. package/template/.claude/skills/code-review/references/task-management-reviews.md +140 -0
  21. package/template/.claude/skills/code-review/references/verification-before-completion.md +139 -0
  22. package/template/.claude/skills/git/SKILL.md +131 -115
  23. package/template/.claude/skills/git/references/branch-management.md +88 -88
  24. package/template/.claude/skills/git/references/commit-standards.md +46 -46
  25. package/template/.claude/skills/git/references/context-efficiency.md +54 -0
  26. package/template/.claude/skills/git/references/gh-cli-guide.md +109 -109
  27. package/template/.claude/skills/git/references/safety-protocols.md +69 -69
  28. package/template/.claude/skills/git/references/workflow-commit.md +58 -58
  29. package/template/.claude/skills/git/references/workflow-merge-pr.md +136 -0
  30. package/template/.claude/skills/git/references/workflow-merge.md +48 -48
  31. package/template/.claude/skills/git/references/workflow-pr.md +58 -58
  32. package/template/.claude/skills/git/references/workflow-push.md +52 -52
  33. package/template/.claude/skills/skill-creator/LICENSE.txt +201 -201
  34. package/template/.claude/skills/skill-creator/SKILL.md +154 -149
  35. package/template/.claude/skills/skill-creator/agents/analyzer.md +274 -274
  36. package/template/.claude/skills/skill-creator/agents/comparator.md +202 -202
  37. package/template/.claude/skills/skill-creator/agents/grader.md +223 -223
  38. package/template/.claude/skills/skill-creator/assets/eval_review.html +146 -146
  39. package/template/.claude/skills/skill-creator/eval-viewer/generate_review.py +471 -471
  40. package/template/.claude/skills/skill-creator/eval-viewer/viewer.html +1325 -1325
  41. package/template/.claude/skills/skill-creator/references/benchmark-optimization-guide.md +86 -86
  42. package/template/.claude/skills/skill-creator/references/distribution-guide.md +79 -79
  43. package/template/.claude/skills/skill-creator/references/eval-infrastructure-guide.md +129 -129
  44. package/template/.claude/skills/skill-creator/references/eval-schemas.md +121 -121
  45. package/template/.claude/skills/skill-creator/references/mcp-skills-integration.md +71 -71
  46. package/template/.claude/skills/skill-creator/references/metadata-quality-criteria.md +94 -94
  47. package/template/.claude/skills/skill-creator/references/plugin-marketplace-hosting.md +104 -104
  48. package/template/.claude/skills/skill-creator/references/plugin-marketplace-overview.md +89 -89
  49. package/template/.claude/skills/skill-creator/references/plugin-marketplace-schema.md +93 -93
  50. package/template/.claude/skills/skill-creator/references/plugin-marketplace-sources.md +103 -103
  51. package/template/.claude/skills/skill-creator/references/plugin-marketplace-troubleshooting.md +76 -76
  52. package/template/.claude/skills/skill-creator/references/script-quality-criteria.md +106 -106
  53. package/template/.claude/skills/skill-creator/references/skill-anatomy-and-requirements.md +77 -77
  54. package/template/.claude/skills/skill-creator/references/skill-creation-workflow.md +152 -151
  55. package/template/.claude/skills/skill-creator/references/skill-design-patterns.md +75 -75
  56. package/template/.claude/skills/skill-creator/references/skillmark-benchmark-criteria.md +102 -102
  57. package/template/.claude/skills/skill-creator/references/structure-organization-criteria.md +114 -114
  58. package/template/.claude/skills/skill-creator/references/testing-and-iteration.md +78 -78
  59. package/template/.claude/skills/skill-creator/references/token-efficiency-criteria.md +74 -74
  60. package/template/.claude/skills/skill-creator/references/troubleshooting-guide.md +81 -81
  61. package/template/.claude/skills/skill-creator/references/validation-checklist.md +83 -83
  62. package/template/.claude/skills/skill-creator/references/writing-effective-instructions.md +88 -88
  63. package/template/.claude/skills/skill-creator/references/yaml-frontmatter-reference.md +92 -92
  64. package/template/.claude/skills/skill-creator/scripts/aggregate_benchmark.py +401 -401
  65. package/template/.claude/skills/skill-creator/scripts/encoding_utils.py +36 -36
  66. package/template/.claude/skills/skill-creator/scripts/generate_report.py +326 -326
  67. package/template/.claude/skills/skill-creator/scripts/improve_description.py +248 -248
  68. package/template/.claude/skills/skill-creator/scripts/init_skill.py +360 -360
  69. package/template/.claude/skills/skill-creator/scripts/package_skill.py +143 -143
  70. package/template/.claude/skills/skill-creator/scripts/quick_validate.py +110 -110
  71. package/template/.claude/skills/skill-creator/scripts/run_eval.py +310 -310
  72. package/template/.claude/skills/skill-creator/scripts/run_loop.py +332 -332
  73. package/template/.claude/skills/skill-creator/scripts/utils.py +47 -47
  74. package/template/.claude/statusline.cjs +0 -0
  75. package/template/.claude/skills/code-review/references/adversarial-review.md +0 -223
  76. /package/template/.claude/hooks/{usage-context-awareness.cjs → usage-quota-cache-refresh.cjs} +0 -0
package/manifest.json CHANGED
@@ -1,301 +1,333 @@
1
- {
2
- "version": 1,
3
- "musketeers": {
4
- "core": {
5
- "label": "core",
6
- "description": "Always-on foundation: research, handoff, skill-creator, git (+ git-manager) + statusline, usage-context & format-json hooks.",
7
- "locked": true,
8
- "deps": [],
9
- "files": [
10
- "skills/research/**",
11
- "skills/handoff/**",
12
- "skills/skill-creator/**",
13
- "skills/git/**",
14
- "skills/install.ps1",
15
- "skills/install.sh",
16
- "agents/researcher.md",
17
- "agents/git-manager.md",
18
- "statusline.cjs",
19
- "hooks/usage-context-awareness.cjs",
20
- "hooks/lib/**",
21
- "hooks/format-json-hook.js"
22
- ],
23
- "settings": [
24
- {
25
- "event": "statusLine",
26
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/statusline.cjs\"",
27
- "padding": 0
28
- },
29
- {
30
- "event": "UserPromptSubmit",
31
- "matcher": null,
32
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/usage-context-awareness.cjs\"",
33
- "order": 1
34
- },
35
- {
36
- "event": "PostToolUse",
37
- "matcher": null,
38
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/usage-context-awareness.cjs\"",
39
- "order": 1
40
- },
41
- {
42
- "event": "PostToolUse",
43
- "matcher": "Write|Edit|MultiEdit",
44
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/format-json-hook.js\"",
45
- "order": 2
46
- }
47
- ],
48
- "prereqs": ["node", "git", "gh", "python", "venv-anthropic", "claude-cli"]
49
- },
50
- "architecture": {
51
- "label": "architecture",
52
- "description": "DDD architecture authoring: adr-writer, architecture-characteristic-writer, context-map (CML) + validation hook.",
53
- "locked": false,
54
- "deps": [],
55
- "files": [
56
- "skills/adr-writer/**",
57
- "skills/architecture-characteristic-writer/**",
58
- "skills/context-map/**",
59
- "hooks/validate-cml-hook.js",
60
- "hooks/validate-characteristics-hook.cjs",
61
- "hooks/lib/characteristics/**",
62
- "hooks/lib/adr/**",
63
- "hooks/sync-adr-toc.cjs",
64
- "hooks/warn-missing-characteristics.cjs",
65
- "hooks/block-unsafe-adr-title.cjs",
66
- "hooks/init-adr-dir.cjs",
67
- "hooks/inject-adr-flags.cjs"
68
- ],
69
- "settings": [
70
- {
71
- "event": "PostToolUse",
72
- "matcher": "Write|Edit|MultiEdit",
73
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/validate-cml-hook.js\"",
74
- "order": 1
75
- },
76
- {
77
- "event": "PostToolUse",
78
- "matcher": "Write|Edit|MultiEdit",
79
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/validate-characteristics-hook.cjs\"",
80
- "order": 2,
81
- "statusMessage": "Checking architecture characteristics"
82
- },
83
- {
84
- "event": "PostToolUse",
85
- "matcher": "Bash",
86
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/sync-adr-toc.cjs\"",
87
- "order": 2,
88
- "statusMessage": "Syncing ADR index"
89
- },
90
- {
91
- "event": "PreToolUse",
92
- "matcher": "Bash",
93
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/inject-adr-flags.cjs\"",
94
- "order": 3,
95
- "statusMessage": "Adding -q to adr new"
96
- },
97
- {
98
- "event": "PreToolUse",
99
- "matcher": "Bash",
100
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/warn-missing-characteristics.cjs\"",
101
- "order": 4
102
- },
103
- {
104
- "event": "PreToolUse",
105
- "matcher": "Bash",
106
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/block-unsafe-adr-title.cjs\"",
107
- "order": 5,
108
- "statusMessage": "Checking ADR title safety"
109
- },
110
- {
111
- "event": "PreToolUse",
112
- "matcher": "Bash",
113
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/init-adr-dir.cjs\"",
114
- "order": 6,
115
- "statusMessage": "Checking ADR directory setup"
116
- }
117
- ],
118
- "prereqs": ["java", "cm-cli", "adr-tools"]
119
- },
120
- "hallmark": {
121
- "label": "hallmark",
122
- "description": "Hallmark design system: hallmark rubric, hallmark-explore, hallmark-loop + auditor/explorer agents.",
123
- "locked": false,
124
- "deps": [],
125
- "files": [
126
- "skills/hallmark/**",
127
- "skills/hallmark-explore/**",
128
- "skills/hallmark-loop/**",
129
- "agents/hallmark-auditor.md",
130
- "agents/hallmark-explorer.md"
131
- ],
132
- "settings": [],
133
- "prereqs": ["python", "playwright-mcp"]
134
- },
135
- "code-review": {
136
- "label": "code-review",
137
- "description": "Adversarial code review skill + code-reviewer agent (commit / pending / PR modes).",
138
- "locked": false,
139
- "deps": [],
140
- "files": [
141
- "skills/code-review/**",
142
- "agents/code-reviewer.md"
143
- ],
144
- "settings": [],
145
- "prereqs": ["git", "gh"]
146
- },
147
- "dotnet": {
148
- "label": "dotnet",
149
- "description": ".NET extras: tdd, knowledge-crunching + EF migration-guard & ubiquitous-language auto-load hooks. Muster also always merges 4 quality-gate MSBuild properties into root Directory.Build.props (any dotnet-selected project, set MUSKETEER_SKIP_DOTNET_PROPS=1 to skip) and scaffolds a generic src/tests Clean Architecture skeleton when the project is genuinely blank.",
150
- "locked": false,
151
- "deps": [],
152
- "files": [
153
- "skills/tdd/**",
154
- "skills/knowledge-crunching/**",
155
- "hooks/block-migration-edits.cjs",
156
- "hooks/inject-ubiquitous-language.cjs"
157
- ],
158
- "settings": [
159
- {
160
- "event": "PreToolUse",
161
- "matcher": "Write|Edit|MultiEdit",
162
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/block-migration-edits.cjs\"",
163
- "order": 1,
164
- "statusMessage": "Checking for EF migration edits"
165
- },
166
- {
167
- "event": "SessionStart",
168
- "matcher": "startup|resume|clear|compact",
169
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/inject-ubiquitous-language.cjs\"",
170
- "order": 1,
171
- "statusMessage": "Loading ubiquitous language"
172
- }
173
- ],
174
- "prereqs": []
175
- },
176
- "design-docs": {
177
- "label": "design-docs",
178
- "description": "SessionStart hook that injects architecture/context-map/adr docs/ outputs into context.",
179
- "locked": false,
180
- "deps": [],
181
- "files": [
182
- "hooks/inject-design-docs.cjs"
183
- ],
184
- "settings": [
185
- {
186
- "event": "SessionStart",
187
- "matcher": "startup|resume|clear|compact",
188
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/inject-design-docs.cjs\"",
189
- "order": 1,
190
- "statusMessage": "Injecting design artifacts"
191
- }
192
- ],
193
- "prereqs": []
194
- }
195
- },
196
- "prereqs": {
197
- "node": {
198
- "detect": "node --version",
199
- "minVersion": "18",
200
- "kind": "package",
201
- "install": {
202
- "win": "winget install -e --id OpenJS.NodeJS.LTS",
203
- "mac": "brew install node",
204
- "linux": {
205
- "apt": "sudo apt-get install -y nodejs npm",
206
- "dnf": "sudo dnf install -y nodejs",
207
- "pacman": "sudo pacman -S --noconfirm nodejs npm"
208
- }
209
- }
210
- },
211
- "git": {
212
- "detect": "git --version",
213
- "kind": "package",
214
- "install": {
215
- "win": "winget install -e --id Git.Git",
216
- "mac": "brew install git",
217
- "linux": {
218
- "apt": "sudo apt-get install -y git",
219
- "dnf": "sudo dnf install -y git",
220
- "pacman": "sudo pacman -S --noconfirm git"
221
- }
222
- }
223
- },
224
- "python": {
225
- "detect": "python --version",
226
- "minVersion": "3.8",
227
- "kind": "package",
228
- "install": {
229
- "win": "winget install -e --id Python.Python.3.12",
230
- "mac": "brew install python@3.12",
231
- "linux": {
232
- "apt": "sudo apt-get install -y python3 python3-pip python3-venv",
233
- "dnf": "sudo dnf install -y python3 python3-pip",
234
- "pacman": "sudo pacman -S --noconfirm python python-pip"
235
- }
236
- }
237
- },
238
- "venv-anthropic": {
239
- "kind": "venv",
240
- "needs": ["python"]
241
- },
242
- "claude-cli": {
243
- "detect": "claude --version",
244
- "kind": "package",
245
- "install": {
246
- "win": "powershell -NoProfile -Command \"irm https://claude.ai/install.ps1 | iex\"",
247
- "mac": "brew install --cask claude-code",
248
- "linux": "curl -fsSL https://claude.ai/install.sh | bash"
249
- }
250
- },
251
- "java": {
252
- "detect": "java -version",
253
- "minVersion": "8",
254
- "kind": "package",
255
- "install": {
256
- "win": "winget install -e --id Microsoft.OpenJDK.17",
257
- "mac": "brew install --cask temurin",
258
- "linux": {
259
- "apt": "sudo apt-get install -y openjdk-17-jdk",
260
- "dnf": "sudo dnf install -y java-17-openjdk",
261
- "pacman": "sudo pacman -S --noconfirm jdk-openjdk"
262
- }
263
- }
264
- },
265
- "cm-cli": {
266
- "kind": "note",
267
- "needs": ["java"]
268
- },
269
- "adr-tools": {
270
- "detect": "adr --version",
271
- "minVersion": "2",
272
- "kind": "package",
273
- "install": {
274
- "win": "npm install -g @meza/adr-tools@2",
275
- "mac": "npm install -g @meza/adr-tools@2",
276
- "linux": "npm install -g @meza/adr-tools@2"
277
- }
278
- },
279
- "gh": {
280
- "detect": "gh --version",
281
- "kind": "package",
282
- "install": {
283
- "win": "winget install -e --id GitHub.cli",
284
- "mac": "brew install gh",
285
- "linux": {
286
- "apt": "sudo apt-get install -y gh",
287
- "dnf": "sudo dnf install -y gh",
288
- "pacman": "sudo pacman -S --noconfirm github-cli"
289
- }
290
- }
291
- },
292
- "playwright-mcp": {
293
- "kind": "mcp",
294
- "needs": ["node", "claude-cli"]
295
- },
296
- "anthropic-api-key": {
297
- "kind": "secret",
298
- "guideOnly": true
299
- }
300
- }
301
- }
1
+ {
2
+ "version": 1,
3
+ "musketeers": {
4
+ "core": {
5
+ "label": "core",
6
+ "description": "Always-on foundation: research, handoff, skill-creator, git (+ git-manager, auto-loaded on git commands) + statusline, usage-quota & format-json hooks.",
7
+ "locked": true,
8
+ "deps": [],
9
+ "files": [
10
+ "skills/research/**",
11
+ "skills/handoff/**",
12
+ "skills/skill-creator/**",
13
+ "skills/git/**",
14
+ "skills/install.ps1",
15
+ "skills/install.sh",
16
+ "agents/researcher.md",
17
+ "agents/git-manager.md",
18
+ "hooks/git-skill-reminder.cjs",
19
+ "statusline.cjs",
20
+ "hooks/usage-quota-cache-refresh.cjs",
21
+ "hooks/lib/**",
22
+ "hooks/format-json-hook.js"
23
+ ],
24
+ "settings": [
25
+ {
26
+ "event": "statusLine",
27
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/statusline.cjs\"",
28
+ "padding": 0
29
+ },
30
+ {
31
+ "event": "UserPromptSubmit",
32
+ "matcher": null,
33
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/usage-quota-cache-refresh.cjs\"",
34
+ "order": 1
35
+ },
36
+ {
37
+ "event": "PostToolUse",
38
+ "matcher": null,
39
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/usage-quota-cache-refresh.cjs\"",
40
+ "order": 1
41
+ },
42
+ {
43
+ "event": "PostToolUse",
44
+ "matcher": "Write|Edit|MultiEdit",
45
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/format-json-hook.js\"",
46
+ "order": 2
47
+ },
48
+ {
49
+ "event": "PreToolUse",
50
+ "matcher": "Bash",
51
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/git-skill-reminder.cjs\"",
52
+ "order": 1,
53
+ "statusMessage": "Loading git skill"
54
+ }
55
+ ],
56
+ "prereqs": [
57
+ "node",
58
+ "git",
59
+ "gh",
60
+ "python",
61
+ "venv-anthropic",
62
+ "claude-cli"
63
+ ]
64
+ },
65
+ "architecture": {
66
+ "label": "architecture",
67
+ "description": "DDD architecture authoring: adr-writer, architecture-characteristic-writer, context-map (CML) + validation hook.",
68
+ "locked": false,
69
+ "deps": [],
70
+ "files": [
71
+ "skills/adr-writer/**",
72
+ "skills/architecture-characteristic-writer/**",
73
+ "skills/context-map/**",
74
+ "hooks/validate-cml-hook.js",
75
+ "hooks/validate-characteristics-hook.cjs",
76
+ "hooks/lib/characteristics/**",
77
+ "hooks/lib/adr/**",
78
+ "hooks/sync-adr-toc.cjs",
79
+ "hooks/warn-missing-characteristics.cjs",
80
+ "hooks/block-unsafe-adr-title.cjs",
81
+ "hooks/init-adr-dir.cjs",
82
+ "hooks/inject-adr-flags.cjs"
83
+ ],
84
+ "settings": [
85
+ {
86
+ "event": "PostToolUse",
87
+ "matcher": "Write|Edit|MultiEdit",
88
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/validate-cml-hook.js\"",
89
+ "order": 1
90
+ },
91
+ {
92
+ "event": "PostToolUse",
93
+ "matcher": "Write|Edit|MultiEdit",
94
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/validate-characteristics-hook.cjs\"",
95
+ "order": 2,
96
+ "statusMessage": "Checking architecture characteristics"
97
+ },
98
+ {
99
+ "event": "PostToolUse",
100
+ "matcher": "Bash",
101
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/sync-adr-toc.cjs\"",
102
+ "order": 2,
103
+ "statusMessage": "Syncing ADR index"
104
+ },
105
+ {
106
+ "event": "PreToolUse",
107
+ "matcher": "Bash",
108
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/inject-adr-flags.cjs\"",
109
+ "order": 3,
110
+ "statusMessage": "Adding -q to adr new"
111
+ },
112
+ {
113
+ "event": "PreToolUse",
114
+ "matcher": "Bash",
115
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/warn-missing-characteristics.cjs\"",
116
+ "order": 4
117
+ },
118
+ {
119
+ "event": "PreToolUse",
120
+ "matcher": "Bash",
121
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/block-unsafe-adr-title.cjs\"",
122
+ "order": 5,
123
+ "statusMessage": "Checking ADR title safety"
124
+ },
125
+ {
126
+ "event": "PreToolUse",
127
+ "matcher": "Bash",
128
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/init-adr-dir.cjs\"",
129
+ "order": 6,
130
+ "statusMessage": "Checking ADR directory setup"
131
+ }
132
+ ],
133
+ "prereqs": [
134
+ "java",
135
+ "cm-cli",
136
+ "adr-tools"
137
+ ]
138
+ },
139
+ "hallmark": {
140
+ "label": "hallmark",
141
+ "description": "Hallmark design system: hallmark rubric, hallmark-explore, hallmark-loop + auditor/explorer agents.",
142
+ "locked": false,
143
+ "deps": [],
144
+ "files": [
145
+ "skills/hallmark/**",
146
+ "skills/hallmark-explore/**",
147
+ "skills/hallmark-loop/**",
148
+ "agents/hallmark-auditor.md",
149
+ "agents/hallmark-explorer.md"
150
+ ],
151
+ "settings": [],
152
+ "prereqs": [
153
+ "python",
154
+ "playwright-mcp"
155
+ ]
156
+ },
157
+ "code-review": {
158
+ "label": "code-review",
159
+ "description": "Evidence-based code review skill + code-reviewer agent (pending / commit / PR / codebase modes).",
160
+ "locked": false,
161
+ "deps": [],
162
+ "files": [
163
+ "skills/code-review/**",
164
+ "agents/code-reviewer.md"
165
+ ],
166
+ "settings": [],
167
+ "prereqs": [
168
+ "git",
169
+ "gh"
170
+ ]
171
+ },
172
+ "dotnet": {
173
+ "label": "dotnet",
174
+ "description": ".NET extras: tdd, knowledge-crunching + EF migration-guard & ubiquitous-language auto-load hooks. Muster also always merges 4 quality-gate MSBuild properties into root Directory.Build.props (any dotnet-selected project, set MUSKETEER_SKIP_DOTNET_PROPS=1 to skip) and scaffolds a generic src/tests Clean Architecture skeleton when the project is genuinely blank.",
175
+ "locked": false,
176
+ "deps": [],
177
+ "files": [
178
+ "skills/tdd/**",
179
+ "skills/knowledge-crunching/**",
180
+ "hooks/block-migration-edits.cjs",
181
+ "hooks/inject-ubiquitous-language.cjs"
182
+ ],
183
+ "settings": [
184
+ {
185
+ "event": "PreToolUse",
186
+ "matcher": "Write|Edit|MultiEdit",
187
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/block-migration-edits.cjs\"",
188
+ "order": 1,
189
+ "statusMessage": "Checking for EF migration edits"
190
+ },
191
+ {
192
+ "event": "SessionStart",
193
+ "matcher": "startup|resume|clear|compact",
194
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/inject-ubiquitous-language.cjs\"",
195
+ "order": 1,
196
+ "statusMessage": "Loading ubiquitous language"
197
+ }
198
+ ],
199
+ "prereqs": []
200
+ },
201
+ "design-docs": {
202
+ "label": "design-docs",
203
+ "description": "SessionStart hook that injects architecture/context-map/adr docs/ outputs into context.",
204
+ "locked": false,
205
+ "deps": [],
206
+ "files": [
207
+ "hooks/inject-design-docs.cjs"
208
+ ],
209
+ "settings": [
210
+ {
211
+ "event": "SessionStart",
212
+ "matcher": "startup|resume|clear|compact",
213
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/inject-design-docs.cjs\"",
214
+ "order": 1,
215
+ "statusMessage": "Injecting design artifacts"
216
+ }
217
+ ],
218
+ "prereqs": []
219
+ }
220
+ },
221
+ "prereqs": {
222
+ "node": {
223
+ "detect": "node --version",
224
+ "minVersion": "18",
225
+ "kind": "package",
226
+ "install": {
227
+ "win": "winget install -e --id OpenJS.NodeJS.LTS",
228
+ "mac": "brew install node",
229
+ "linux": {
230
+ "apt": "sudo apt-get install -y nodejs npm",
231
+ "dnf": "sudo dnf install -y nodejs",
232
+ "pacman": "sudo pacman -S --noconfirm nodejs npm"
233
+ }
234
+ }
235
+ },
236
+ "git": {
237
+ "detect": "git --version",
238
+ "kind": "package",
239
+ "install": {
240
+ "win": "winget install -e --id Git.Git",
241
+ "mac": "brew install git",
242
+ "linux": {
243
+ "apt": "sudo apt-get install -y git",
244
+ "dnf": "sudo dnf install -y git",
245
+ "pacman": "sudo pacman -S --noconfirm git"
246
+ }
247
+ }
248
+ },
249
+ "python": {
250
+ "detect": "python --version",
251
+ "minVersion": "3.8",
252
+ "kind": "package",
253
+ "install": {
254
+ "win": "winget install -e --id Python.Python.3.12",
255
+ "mac": "brew install python@3.12",
256
+ "linux": {
257
+ "apt": "sudo apt-get install -y python3 python3-pip python3-venv",
258
+ "dnf": "sudo dnf install -y python3 python3-pip",
259
+ "pacman": "sudo pacman -S --noconfirm python python-pip"
260
+ }
261
+ }
262
+ },
263
+ "venv-anthropic": {
264
+ "kind": "venv",
265
+ "needs": [
266
+ "python"
267
+ ]
268
+ },
269
+ "claude-cli": {
270
+ "detect": "claude --version",
271
+ "kind": "package",
272
+ "install": {
273
+ "win": "powershell -NoProfile -Command \"irm https://claude.ai/install.ps1 | iex\"",
274
+ "mac": "brew install --cask claude-code",
275
+ "linux": "curl -fsSL https://claude.ai/install.sh | bash"
276
+ }
277
+ },
278
+ "java": {
279
+ "detect": "java -version",
280
+ "minVersion": "8",
281
+ "kind": "package",
282
+ "install": {
283
+ "win": "winget install -e --id Microsoft.OpenJDK.17",
284
+ "mac": "brew install --cask temurin",
285
+ "linux": {
286
+ "apt": "sudo apt-get install -y openjdk-17-jdk",
287
+ "dnf": "sudo dnf install -y java-17-openjdk",
288
+ "pacman": "sudo pacman -S --noconfirm jdk-openjdk"
289
+ }
290
+ }
291
+ },
292
+ "cm-cli": {
293
+ "kind": "note",
294
+ "needs": [
295
+ "java"
296
+ ]
297
+ },
298
+ "adr-tools": {
299
+ "detect": "adr --version",
300
+ "minVersion": "2",
301
+ "kind": "package",
302
+ "install": {
303
+ "win": "npm install -g @meza/adr-tools@2",
304
+ "mac": "npm install -g @meza/adr-tools@2",
305
+ "linux": "npm install -g @meza/adr-tools@2"
306
+ }
307
+ },
308
+ "gh": {
309
+ "detect": "gh --version",
310
+ "kind": "package",
311
+ "install": {
312
+ "win": "winget install -e --id GitHub.cli",
313
+ "mac": "brew install gh",
314
+ "linux": {
315
+ "apt": "sudo apt-get install -y gh",
316
+ "dnf": "sudo dnf install -y gh",
317
+ "pacman": "sudo pacman -S --noconfirm github-cli"
318
+ }
319
+ }
320
+ },
321
+ "playwright-mcp": {
322
+ "kind": "mcp",
323
+ "needs": [
324
+ "node",
325
+ "claude-cli"
326
+ ]
327
+ },
328
+ "anthropic-api-key": {
329
+ "kind": "secret",
330
+ "guideOnly": true
331
+ }
332
+ }
333
+ }