@mrciphersmith/keryx 0.2.163 → 0.3.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 (100) hide show
  1. package/dist/cli.js +87904 -56917
  2. package/dist/core.js +28418 -18708
  3. package/package.json +2 -2
  4. package/src/gdgraph/affected-report.ts +141 -0
  5. package/src/gdgraph/build.ts +170 -23
  6. package/src/gdgraph/service.ts +6 -0
  7. package/src/gdgraph/staleness.ts +253 -45
  8. package/src/gdskills/bundled/agents/codebase-navigator.md +55 -0
  9. package/src/gdskills/bundled/agents/design-advisor.md +64 -0
  10. package/src/gdskills/bundled/agents/docs-maintainer.md +56 -0
  11. package/src/gdskills/bundled/agents/end-to-end-tester.md +56 -0
  12. package/src/gdskills/bundled/agents/error-path-auditor.md +57 -0
  13. package/src/gdskills/bundled/agents/go-build-fixer.md +52 -0
  14. package/src/gdskills/bundled/agents/go-code-auditor.md +49 -0
  15. package/src/gdskills/bundled/agents/performance-auditor.md +63 -0
  16. package/src/gdskills/bundled/agents/python-build-fixer.md +52 -0
  17. package/src/gdskills/bundled/agents/python-code-auditor.md +49 -0
  18. package/src/gdskills/bundled/agents/refactoring-steward.md +61 -0
  19. package/src/gdskills/bundled/agents/security-auditor.md +62 -0
  20. package/src/gdskills/bundled/agents/test-first-driver.md +61 -0
  21. package/src/gdskills/bundled/agents/work-planner.md +62 -0
  22. package/src/gdskills/bundled/install-manifest.json +530 -0
  23. package/src/gdskills/bundled/rules/core/skill-lifecycle.mdc +29 -1
  24. package/src/gdskills/bundled/rules/core/skills-storage-workflow.mdc +2 -2
  25. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.md +1 -1
  26. package/src/gdskills/bundled/skills/review/review-orchestrator/SKILL.md +74 -246
  27. package/src/gdskills/bundled/skills/review/review-orchestrator/output-contract.schema.json +19 -0
  28. package/src/gdskills/bundled/skills/review/review-orchestrator/reviewer-finding.schema.json +10 -0
  29. package/src/gdskills/bundled/skills/review/review-orchestrator/reviewer-input.schema.json +5 -0
  30. package/src/gdskills/bundled/skills/review/review-orchestrator/templates/pr-comment-backend.md +50 -0
  31. package/src/gdskills/bundled/skills/review/review-orchestrator/templates/pr-comment-frontend.md +52 -0
  32. package/src/gdskills/bundled/skills/review/review-orchestrator/templates/review-report.md +143 -0
  33. package/src/gdskills/bundled/stacks/go/agent-refs.json +3 -0
  34. package/src/gdskills/bundled/stacks/go/governance/eval.json +1745 -0
  35. package/src/gdskills/bundled/stacks/go/governance/scout.json +31 -0
  36. package/src/gdskills/bundled/stacks/go/pack.json +41 -0
  37. package/src/gdskills/bundled/stacks/go/rules/coding-style.mdc +85 -0
  38. package/src/gdskills/bundled/stacks/go/rules/patterns.mdc +65 -0
  39. package/src/gdskills/bundled/stacks/go/rules/security.mdc +73 -0
  40. package/src/gdskills/bundled/stacks/go/rules/testing.mdc +68 -0
  41. package/src/gdskills/bundled/stacks/go/skills/go-build-fix/SKILL.md +138 -0
  42. package/src/gdskills/bundled/stacks/go/skills/go-build-fix/evals.json +75 -0
  43. package/src/gdskills/bundled/stacks/go/skills/go-code-review/SKILL.md +121 -0
  44. package/src/gdskills/bundled/stacks/go/skills/go-code-review/evals.json +72 -0
  45. package/src/gdskills/bundled/stacks/go/skills/go-implementation/SKILL.md +122 -0
  46. package/src/gdskills/bundled/stacks/go/skills/go-implementation/evals.json +76 -0
  47. package/src/gdskills/bundled/stacks/go/skills/go-testing/SKILL.md +126 -0
  48. package/src/gdskills/bundled/stacks/go/skills/go-testing/evals.json +73 -0
  49. package/src/gdskills/bundled/stacks/python/agent-refs.json +3 -0
  50. package/src/gdskills/bundled/stacks/python/governance/eval.json +1758 -0
  51. package/src/gdskills/bundled/stacks/python/governance/scout.json +34 -0
  52. package/src/gdskills/bundled/stacks/python/pack.json +41 -0
  53. package/src/gdskills/bundled/stacks/python/rules/coding-style.mdc +63 -0
  54. package/src/gdskills/bundled/stacks/python/rules/patterns.mdc +88 -0
  55. package/src/gdskills/bundled/stacks/python/rules/security.mdc +84 -0
  56. package/src/gdskills/bundled/stacks/python/rules/testing.mdc +77 -0
  57. package/src/gdskills/bundled/stacks/python/skills/python-build-fix/SKILL.md +144 -0
  58. package/src/gdskills/bundled/stacks/python/skills/python-build-fix/evals.json +74 -0
  59. package/src/gdskills/bundled/stacks/python/skills/python-code-review/SKILL.md +155 -0
  60. package/src/gdskills/bundled/stacks/python/skills/python-code-review/evals.json +72 -0
  61. package/src/gdskills/bundled/stacks/python/skills/python-implementation/SKILL.md +143 -0
  62. package/src/gdskills/bundled/stacks/python/skills/python-implementation/evals.json +78 -0
  63. package/src/gdskills/bundled/stacks/python/skills/python-testing/SKILL.md +132 -0
  64. package/src/gdskills/bundled/stacks/python/skills/python-testing/evals.json +73 -0
  65. package/src/gdskills/bundled/stacks/react/agent-refs.json +4 -0
  66. package/src/gdskills/bundled/stacks/react/governance/eval.json +2188 -0
  67. package/src/gdskills/bundled/stacks/react/governance/scout.json +40 -0
  68. package/src/gdskills/bundled/stacks/react/pack.json +42 -0
  69. package/src/gdskills/bundled/stacks/react/rules/coding-style.mdc +58 -0
  70. package/src/gdskills/bundled/stacks/react/rules/patterns.mdc +79 -0
  71. package/src/gdskills/bundled/stacks/react/rules/security.mdc +70 -0
  72. package/src/gdskills/bundled/stacks/react/rules/testing.mdc +60 -0
  73. package/src/gdskills/bundled/stacks/react/skills/react-build-fix/SKILL.md +139 -0
  74. package/src/gdskills/bundled/stacks/react/skills/react-build-fix/evals.json +72 -0
  75. package/src/gdskills/bundled/stacks/react/skills/react-code-review/SKILL.md +148 -0
  76. package/src/gdskills/bundled/stacks/react/skills/react-code-review/evals.json +74 -0
  77. package/src/gdskills/bundled/stacks/react/skills/react-implementation/SKILL.md +140 -0
  78. package/src/gdskills/bundled/stacks/react/skills/react-implementation/evals.json +74 -0
  79. package/src/gdskills/bundled/stacks/react/skills/react-testing/SKILL.md +142 -0
  80. package/src/gdskills/bundled/stacks/react/skills/react-testing/evals.json +83 -0
  81. package/src/gdskills/bundled/stacks/react/skills/react-upgrade-migration/SKILL.md +155 -0
  82. package/src/gdskills/bundled/stacks/react/skills/react-upgrade-migration/evals.json +74 -0
  83. package/src/gdskills/bundled/stacks/ts-js-node/agent-refs.json +4 -0
  84. package/src/gdskills/bundled/stacks/ts-js-node/governance/eval.json +2155 -0
  85. package/src/gdskills/bundled/stacks/ts-js-node/governance/scout.json +40 -0
  86. package/src/gdskills/bundled/stacks/ts-js-node/pack.json +41 -0
  87. package/src/gdskills/bundled/stacks/ts-js-node/rules/coding-style.mdc +73 -0
  88. package/src/gdskills/bundled/stacks/ts-js-node/rules/patterns.mdc +61 -0
  89. package/src/gdskills/bundled/stacks/ts-js-node/rules/security.mdc +71 -0
  90. package/src/gdskills/bundled/stacks/ts-js-node/rules/testing.mdc +63 -0
  91. package/src/gdskills/bundled/stacks/ts-js-node/skills/nodejs-build-fix/SKILL.md +137 -0
  92. package/src/gdskills/bundled/stacks/ts-js-node/skills/nodejs-build-fix/evals.json +73 -0
  93. package/src/gdskills/bundled/stacks/ts-js-node/skills/nodejs-code-review/SKILL.md +124 -0
  94. package/src/gdskills/bundled/stacks/ts-js-node/skills/nodejs-code-review/evals.json +74 -0
  95. package/src/gdskills/bundled/stacks/ts-js-node/skills/nodejs-esm-migration/SKILL.md +152 -0
  96. package/src/gdskills/bundled/stacks/ts-js-node/skills/nodejs-esm-migration/evals.json +71 -0
  97. package/src/gdskills/bundled/stacks/ts-js-node/skills/nodejs-implementation/SKILL.md +127 -0
  98. package/src/gdskills/bundled/stacks/ts-js-node/skills/nodejs-implementation/evals.json +72 -0
  99. package/src/gdskills/bundled/stacks/ts-js-node/skills/nodejs-testing/SKILL.md +134 -0
  100. package/src/gdskills/bundled/stacks/ts-js-node/skills/nodejs-testing/evals.json +70 -0
@@ -0,0 +1,530 @@
1
+ {
2
+ "schemaVersion": "1.0.0",
3
+ "profiles": {
4
+ "minimal": {
5
+ "description": "Bare minimum: the stack-agnostic core rules plus skill-lifecycle governance. No orchestration/review/quality skills, no stack components.",
6
+ "modules": [
7
+ "core-common-rules",
8
+ "skill-lifecycle"
9
+ ],
10
+ "components": []
11
+ },
12
+ "core": {
13
+ "description": "Today's curated subset made explicit: common rules plus orchestration, quality, and generic review skill modules. No stack-specific components.",
14
+ "modules": [
15
+ "core-common-rules",
16
+ "skill-lifecycle",
17
+ "orchestration-skills",
18
+ "quality-skills",
19
+ "review-core-skills"
20
+ ],
21
+ "components": []
22
+ },
23
+ "ts-js-node": {
24
+ "description": "Common rules plus the TypeScript/JavaScript (Node.js) stack pack component (`ts-js-node-rules` + `ts-js-node-skills`, from src/gdskills/bundled/stacks/ts-js-node/), installed when `keryx stack detect` finds a matching tag.",
25
+ "modules": [
26
+ "core-common-rules",
27
+ "skill-lifecycle"
28
+ ],
29
+ "components": [
30
+ "lang:ts-js-node"
31
+ ],
32
+ "stackDetectionAware": true
33
+ },
34
+ "react": {
35
+ "description": "Common rules plus the React/MobX-aware review component set, installed when `keryx stack detect` finds a matching tag (fail open when detection is unavailable or uncertain).",
36
+ "modules": [
37
+ "core-common-rules",
38
+ "skill-lifecycle"
39
+ ],
40
+ "components": [
41
+ "capability:mobx",
42
+ "framework:react",
43
+ "lang:ts-js-node"
44
+ ],
45
+ "stackDetectionAware": true
46
+ },
47
+ "go": {
48
+ "description": "Common rules plus the Go stack pack component (`go-rules` + `go-skills`, from src/gdskills/bundled/stacks/go/), installed when `keryx stack detect` finds a matching tag.",
49
+ "modules": [
50
+ "core-common-rules",
51
+ "skill-lifecycle"
52
+ ],
53
+ "components": [
54
+ "lang:go"
55
+ ],
56
+ "stackDetectionAware": true
57
+ },
58
+ "nestjs": {
59
+ "description": "Common rules plus the NestJS-aware review component set, installed when `keryx stack detect` finds a matching tag (fail open when detection is unavailable or uncertain).",
60
+ "modules": [
61
+ "core-common-rules",
62
+ "skill-lifecycle"
63
+ ],
64
+ "components": [
65
+ "framework:nestjs",
66
+ "lang:ts-js-node"
67
+ ],
68
+ "stackDetectionAware": true
69
+ },
70
+ "python": {
71
+ "description": "Common rules plus the Python stack pack component (`python-rules` + `python-skills`, from src/gdskills/bundled/stacks/python/), installed when `keryx stack detect` finds a matching tag.",
72
+ "modules": [
73
+ "core-common-rules",
74
+ "skill-lifecycle"
75
+ ],
76
+ "components": [
77
+ "lang:python"
78
+ ],
79
+ "stackDetectionAware": true
80
+ },
81
+ "full": {
82
+ "description": "Every registered module and component, unconditionally.",
83
+ "modules": [
84
+ "core-common-rules",
85
+ "skill-lifecycle",
86
+ "orchestration-skills",
87
+ "quality-skills",
88
+ "review-core-skills",
89
+ "react-review-skills",
90
+ "mobx-review-skill",
91
+ "mobx-store-template-rule",
92
+ "nestjs-review-skill",
93
+ "nestjs-dto-rule",
94
+ "python-rules",
95
+ "python-skills",
96
+ "ts-js-node-rules",
97
+ "ts-js-node-skills",
98
+ "react-rules",
99
+ "react-skills",
100
+ "go-rules",
101
+ "go-skills"
102
+ ],
103
+ "components": [
104
+ "lang:ts-js-node",
105
+ "framework:react",
106
+ "capability:mobx",
107
+ "framework:nestjs",
108
+ "lang:python",
109
+ "lang:go"
110
+ ]
111
+ }
112
+ },
113
+ "modules": {
114
+ "core-common-rules": {
115
+ "kind": "rule",
116
+ "description": "Stack-agnostic core rules (coding standards, process, review baselines) shared by every profile.",
117
+ "paths": [
118
+ "src/gdskills/bundled/rules/core/api-contracts.mdc",
119
+ "src/gdskills/bundled/rules/core/async-patterns.mdc",
120
+ "src/gdskills/bundled/rules/core/clean-architecture.mdc",
121
+ "src/gdskills/bundled/rules/core/cli-interface-design.mdc",
122
+ "src/gdskills/bundled/rules/core/code-review-ai-assistant.mdc",
123
+ "src/gdskills/bundled/rules/core/code-review-learned-profile.mdc",
124
+ "src/gdskills/bundled/rules/core/code-style-patterns.mdc",
125
+ "src/gdskills/bundled/rules/core/commit-message-formatting.mdc",
126
+ "src/gdskills/bundled/rules/core/database-patterns.mdc",
127
+ "src/gdskills/bundled/rules/core/definition-of-done.mdc",
128
+ "src/gdskills/bundled/rules/core/documentation-management.mdc",
129
+ "src/gdskills/bundled/rules/core/error-handling.mdc",
130
+ "src/gdskills/bundled/rules/core/execution-metrics.md",
131
+ "src/gdskills/bundled/rules/core/frontend-assistant.mdc",
132
+ "src/gdskills/bundled/rules/core/git-concurrency.mdc",
133
+ "src/gdskills/bundled/rules/core/git-rules.mdc",
134
+ "src/gdskills/bundled/rules/core/gproject-contracts.mdc",
135
+ "src/gdskills/bundled/rules/core/implementation-doc-mandate.mdc",
136
+ "src/gdskills/bundled/rules/core/implementation-plans.mdc",
137
+ "src/gdskills/bundled/rules/core/jobs-documentation.mdc",
138
+ "src/gdskills/bundled/rules/core/model-selection.mdc",
139
+ "src/gdskills/bundled/rules/core/playwright-testing.mdc",
140
+ "src/gdskills/bundled/rules/core/requirements-management.mdc",
141
+ "src/gdskills/bundled/rules/core/requirements-package-standard.mdc",
142
+ "src/gdskills/bundled/rules/core/rule-management-workflow.mdc",
143
+ "src/gdskills/bundled/rules/core/security-baseline.mdc",
144
+ "src/gdskills/bundled/rules/core/session-plan-bridge.mdc",
145
+ "src/gdskills/bundled/rules/core/shared-definitions.mdc",
146
+ "src/gdskills/bundled/rules/core/skills-storage-workflow.mdc",
147
+ "src/gdskills/bundled/rules/core/solid-principles.mdc",
148
+ "src/gdskills/bundled/rules/core/storybook-guidelines.mdc",
149
+ "src/gdskills/bundled/rules/core/subagent-context-construction.md",
150
+ "src/gdskills/bundled/rules/core/subagent-status-protocol.md",
151
+ "src/gdskills/bundled/rules/core/tdd-workflow.mdc"
152
+ ],
153
+ "targets": [
154
+ "claude",
155
+ "keryx-shell"
156
+ ],
157
+ "dependencies": [],
158
+ "defaultInstall": true,
159
+ "cost": "medium",
160
+ "stability": "stable"
161
+ },
162
+ "skill-lifecycle": {
163
+ "kind": "rule",
164
+ "description": "Skill freshness verification and drift-triggered learn proposals.",
165
+ "paths": [
166
+ "src/gdskills/bundled/rules/core/skill-lifecycle.mdc"
167
+ ],
168
+ "targets": [
169
+ "claude",
170
+ "keryx-shell"
171
+ ],
172
+ "dependencies": [],
173
+ "defaultInstall": true,
174
+ "cost": "light",
175
+ "stability": "stable"
176
+ },
177
+ "orchestration-skills": {
178
+ "kind": "skill",
179
+ "description": "Orchestration skills: job/flow/context/task/code-verifier and analyzer pipelines.",
180
+ "paths": [
181
+ "src/gdskills/bundled/skills/orchestration/**"
182
+ ],
183
+ "targets": [
184
+ "claude",
185
+ "keryx-shell"
186
+ ],
187
+ "dependencies": [],
188
+ "defaultInstall": true,
189
+ "cost": "heavy",
190
+ "stability": "stable"
191
+ },
192
+ "quality-skills": {
193
+ "kind": "skill",
194
+ "description": "Quality skills: security, perf, root-cause, testing, commit/push/pr, dependency and migration workflows.",
195
+ "paths": [
196
+ "src/gdskills/bundled/skills/quality/**"
197
+ ],
198
+ "targets": [
199
+ "claude",
200
+ "keryx-shell"
201
+ ],
202
+ "dependencies": [],
203
+ "defaultInstall": true,
204
+ "cost": "heavy",
205
+ "stability": "stable"
206
+ },
207
+ "review-core-skills": {
208
+ "kind": "skill",
209
+ "description": "Generic (non-stack-specific) review skills: orchestrator, logic, architecture, security, performance, clean-code, highload, regression, core-boundaries, flow-graph, layout, style, testing-practices, verifier, pr-feedback, and the legacy AI/learned/style review profiles.",
210
+ "paths": [
211
+ "src/gdskills/bundled/skills/review/review-orchestrator/**",
212
+ "src/gdskills/bundled/skills/review/review-logic/**",
213
+ "src/gdskills/bundled/skills/review/review-architecture/**",
214
+ "src/gdskills/bundled/skills/review/review-security-code/**",
215
+ "src/gdskills/bundled/skills/review/review-performance/**",
216
+ "src/gdskills/bundled/skills/review/review-clean-code/**",
217
+ "src/gdskills/bundled/skills/review/review-highload/**",
218
+ "src/gdskills/bundled/skills/review/review-regression/**",
219
+ "src/gdskills/bundled/skills/review/review-core-boundaries/**",
220
+ "src/gdskills/bundled/skills/review/review-flow-graph/**",
221
+ "src/gdskills/bundled/skills/review/review-layout/**",
222
+ "src/gdskills/bundled/skills/review/review-style/**",
223
+ "src/gdskills/bundled/skills/review/review-testing-practices/**",
224
+ "src/gdskills/bundled/skills/review/review-verifier/**",
225
+ "src/gdskills/bundled/skills/review/review-pr-feedback/**",
226
+ "src/gdskills/bundled/skills/review/code-ai-review/**",
227
+ "src/gdskills/bundled/skills/review/code-learned-review/**",
228
+ "src/gdskills/bundled/skills/review/code-style-review/**"
229
+ ],
230
+ "targets": [
231
+ "claude",
232
+ "keryx-shell"
233
+ ],
234
+ "dependencies": [],
235
+ "defaultInstall": true,
236
+ "cost": "heavy",
237
+ "stability": "stable"
238
+ },
239
+ "react-review-skills": {
240
+ "kind": "skill",
241
+ "description": "React/frontend review skills: review-frontend and review-frontend-conventions.",
242
+ "paths": [
243
+ "src/gdskills/bundled/skills/review/review-frontend/**",
244
+ "src/gdskills/bundled/skills/review/review-frontend-conventions/**"
245
+ ],
246
+ "targets": [
247
+ "claude",
248
+ "keryx-shell"
249
+ ],
250
+ "dependencies": [
251
+ "core-common-rules"
252
+ ],
253
+ "defaultInstall": true,
254
+ "cost": "medium",
255
+ "stability": "stable"
256
+ },
257
+ "mobx-review-skill": {
258
+ "kind": "skill",
259
+ "description": "Focused MobX store/state-logic review skill.",
260
+ "paths": [
261
+ "src/gdskills/bundled/skills/review/code-mobx-store-review/**"
262
+ ],
263
+ "targets": [
264
+ "claude",
265
+ "keryx-shell"
266
+ ],
267
+ "dependencies": [
268
+ "core-common-rules"
269
+ ],
270
+ "defaultInstall": true,
271
+ "cost": "light",
272
+ "stability": "stable"
273
+ },
274
+ "mobx-store-template-rule": {
275
+ "kind": "rule",
276
+ "description": "MobX store authoring template/rule.",
277
+ "paths": [
278
+ "src/gdskills/bundled/rules/core/mobx-store-template.mdc"
279
+ ],
280
+ "targets": [
281
+ "claude",
282
+ "keryx-shell"
283
+ ],
284
+ "dependencies": [],
285
+ "defaultInstall": true,
286
+ "cost": "light",
287
+ "stability": "stable"
288
+ },
289
+ "nestjs-review-skill": {
290
+ "kind": "skill",
291
+ "description": "Backend (NestJS/Prisma) review skill.",
292
+ "paths": [
293
+ "src/gdskills/bundled/skills/review/review-backend/**"
294
+ ],
295
+ "targets": [
296
+ "claude",
297
+ "keryx-shell"
298
+ ],
299
+ "dependencies": [
300
+ "core-common-rules"
301
+ ],
302
+ "defaultInstall": true,
303
+ "cost": "medium",
304
+ "stability": "stable"
305
+ },
306
+ "nestjs-dto-rule": {
307
+ "kind": "rule",
308
+ "description": "NestJS DTO authoring/validation rule.",
309
+ "paths": [
310
+ "src/gdskills/bundled/rules/core/nestjs-dto.mdc"
311
+ ],
312
+ "targets": [
313
+ "claude",
314
+ "keryx-shell"
315
+ ],
316
+ "dependencies": [],
317
+ "defaultInstall": true,
318
+ "cost": "light",
319
+ "stability": "stable"
320
+ },
321
+ "python-rules": {
322
+ "kind": "rule",
323
+ "description": "Python stack pack rules (coding-style, patterns, security, testing; scoped to *.py/*.pyi) from src/gdskills/bundled/stacks/python/rules/.",
324
+ "paths": [
325
+ "src/gdskills/bundled/stacks/python/rules/*.mdc"
326
+ ],
327
+ "targets": [
328
+ "claude",
329
+ "keryx-shell"
330
+ ],
331
+ "dependencies": [],
332
+ "defaultInstall": true,
333
+ "cost": "light",
334
+ "stability": "stable"
335
+ },
336
+ "python-skills": {
337
+ "kind": "skill",
338
+ "description": "Python stack pack skills (implementation, testing, code review, build-fix) from src/gdskills/bundled/stacks/python/skills/.",
339
+ "paths": [
340
+ "src/gdskills/bundled/stacks/python/skills/**"
341
+ ],
342
+ "targets": [
343
+ "claude",
344
+ "keryx-shell"
345
+ ],
346
+ "dependencies": [],
347
+ "defaultInstall": true,
348
+ "cost": "medium",
349
+ "stability": "stable"
350
+ },
351
+ "ts-js-node-rules": {
352
+ "kind": "rule",
353
+ "description": "TypeScript/JavaScript (Node.js) stack pack rules (coding-style, patterns, security, testing; scoped to *.ts/*.js/*.mjs/*.cjs) from src/gdskills/bundled/stacks/ts-js-node/rules/.",
354
+ "paths": [
355
+ "src/gdskills/bundled/stacks/ts-js-node/rules/*.mdc"
356
+ ],
357
+ "targets": [
358
+ "claude",
359
+ "keryx-shell"
360
+ ],
361
+ "dependencies": [],
362
+ "defaultInstall": true,
363
+ "cost": "light",
364
+ "stability": "experimental"
365
+ },
366
+ "ts-js-node-skills": {
367
+ "kind": "skill",
368
+ "description": "TypeScript/JavaScript (Node.js) stack pack skills (implementation, testing, code review, build-fix, ESM migration) from src/gdskills/bundled/stacks/ts-js-node/skills/.",
369
+ "paths": [
370
+ "src/gdskills/bundled/stacks/ts-js-node/skills/**"
371
+ ],
372
+ "targets": [
373
+ "claude",
374
+ "keryx-shell"
375
+ ],
376
+ "dependencies": [],
377
+ "defaultInstall": true,
378
+ "cost": "medium",
379
+ "stability": "experimental"
380
+ },
381
+ "react-rules": {
382
+ "kind": "rule",
383
+ "description": "React stack pack rules (coding-style, patterns, security, testing; scoped to *.tsx/*.jsx) from src/gdskills/bundled/stacks/react/rules/.",
384
+ "paths": [
385
+ "src/gdskills/bundled/stacks/react/rules/*.mdc"
386
+ ],
387
+ "targets": [
388
+ "claude",
389
+ "keryx-shell"
390
+ ],
391
+ "dependencies": [
392
+ "ts-js-node-rules"
393
+ ],
394
+ "defaultInstall": true,
395
+ "cost": "light",
396
+ "stability": "experimental"
397
+ },
398
+ "react-skills": {
399
+ "kind": "skill",
400
+ "description": "React stack pack skills (implementation, testing, code review, build-fix, upgrade migration) from src/gdskills/bundled/stacks/react/skills/.",
401
+ "paths": [
402
+ "src/gdskills/bundled/stacks/react/skills/**"
403
+ ],
404
+ "targets": [
405
+ "claude",
406
+ "keryx-shell"
407
+ ],
408
+ "dependencies": [
409
+ "ts-js-node-skills"
410
+ ],
411
+ "defaultInstall": true,
412
+ "cost": "medium",
413
+ "stability": "experimental"
414
+ },
415
+ "go-rules": {
416
+ "kind": "rule",
417
+ "description": "Go stack pack rules (coding-style, patterns, security, testing; scoped to *.go) from src/gdskills/bundled/stacks/go/rules/.",
418
+ "paths": [
419
+ "src/gdskills/bundled/stacks/go/rules/*.mdc"
420
+ ],
421
+ "targets": [
422
+ "claude",
423
+ "keryx-shell"
424
+ ],
425
+ "dependencies": [],
426
+ "defaultInstall": true,
427
+ "cost": "light",
428
+ "stability": "stable"
429
+ },
430
+ "go-skills": {
431
+ "kind": "skill",
432
+ "description": "Go stack pack skills (implementation, testing, code review, build-fix) from src/gdskills/bundled/stacks/go/skills/.",
433
+ "paths": [
434
+ "src/gdskills/bundled/stacks/go/skills/**"
435
+ ],
436
+ "targets": [
437
+ "claude",
438
+ "keryx-shell"
439
+ ],
440
+ "dependencies": [],
441
+ "defaultInstall": true,
442
+ "cost": "medium",
443
+ "stability": "stable"
444
+ }
445
+ },
446
+ "components": {
447
+ "lang:ts-js-node": {
448
+ "family": "language",
449
+ "modules": [
450
+ "core-common-rules",
451
+ "ts-js-node-rules",
452
+ "ts-js-node-skills"
453
+ ],
454
+ "detectionMarkers": [
455
+ "typescript",
456
+ "javascript",
457
+ "node"
458
+ ],
459
+ "provenance": {
460
+ "origin": "authored"
461
+ }
462
+ },
463
+ "framework:react": {
464
+ "family": "framework",
465
+ "modules": [
466
+ "react-review-skills",
467
+ "react-rules",
468
+ "react-skills"
469
+ ],
470
+ "detectionMarkers": [
471
+ "react"
472
+ ],
473
+ "provenance": {
474
+ "origin": "authored"
475
+ }
476
+ },
477
+ "capability:mobx": {
478
+ "family": "capability",
479
+ "modules": [
480
+ "mobx-review-skill",
481
+ "mobx-store-template-rule"
482
+ ],
483
+ "detectionMarkers": [
484
+ "mobx"
485
+ ],
486
+ "provenance": {
487
+ "origin": "authored"
488
+ }
489
+ },
490
+ "framework:nestjs": {
491
+ "family": "framework",
492
+ "modules": [
493
+ "nestjs-review-skill",
494
+ "nestjs-dto-rule"
495
+ ],
496
+ "detectionMarkers": [
497
+ "nestjs"
498
+ ],
499
+ "provenance": {
500
+ "origin": "authored"
501
+ }
502
+ },
503
+ "lang:python": {
504
+ "family": "language",
505
+ "modules": [
506
+ "python-rules",
507
+ "python-skills"
508
+ ],
509
+ "detectionMarkers": [
510
+ "python"
511
+ ],
512
+ "provenance": {
513
+ "origin": "authored"
514
+ }
515
+ },
516
+ "lang:go": {
517
+ "family": "language",
518
+ "modules": [
519
+ "go-rules",
520
+ "go-skills"
521
+ ],
522
+ "detectionMarkers": [
523
+ "go"
524
+ ],
525
+ "provenance": {
526
+ "origin": "authored"
527
+ }
528
+ }
529
+ }
530
+ }
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  description: "When and how agents verify and re-learn project-skills during implementation and review. Verify/learn live in the agent loop, not in git hooks."
3
3
  alwaysApply: false
4
+ version: 0.2.0
4
5
  ---
5
6
 
6
7
  # Skill Lifecycle — verify & learn in the loop
@@ -52,8 +53,35 @@ a different `review tier` invocation (e.g. `--scope narrow`, which resolves
52
53
  heavier than `light`).** The flagship's only job here is to review the
53
54
  proposal before apply.
54
55
 
56
+ ### Passive observation is not mutation
57
+
58
+ A hook registered under the shell hook runtime may append an
59
+ **observation event** to `.metaproject/data/learning/observations/` — the
60
+ shipped `keryx.learning-observer` hook does exactly this, on
61
+ `tool-start`/`tool-complete`/`tool-failed`/`user-prompt`/`session-start`/
62
+ `turn-stop`/`session-end`. This is explicitly permitted from a hook, unlike
63
+ every other write this rule governs, because it changes no skill, rule,
64
+ agent, or memory entry — it only accumulates evidence (redacted, digest-only)
65
+ that a human will later decide about.
66
+
67
+ `keryx learn extract`, which turns accumulated observations into a
68
+ `status: candidate` `learned-pattern` record under
69
+ `.metaproject/data/learning/candidates/`, is a separate, **command- or
70
+ schedule-triggered** step — never run inside a hook. It still produces no
71
+ `accepted` state and mutates no skill/rule/agent/memory file by itself.
72
+
73
+ Everything from `keryx learn accept` onward — Accept, project-skill Apply,
74
+ reviewer-profile Apply, Promote, Graduate apply — remains agent-loop,
75
+ human-triggered work under the rule above, with the same "dispatch as a
76
+ light-tier subagent, review before apply" discipline already specified for
77
+ `skills learn apply`. Each of accept/promote/graduate-apply additionally
78
+ refuses outright outside a real interactive terminal (no bypass flag).
79
+
55
80
  ## Never
56
81
 
57
- - Do not put `learn` (or any mutation) in a hook.
82
+ - Do not put `learn` (or any mutation) in a hook — **passive observation is
83
+ the single exception** (see above): a hook may append an observation event,
84
+ nothing more. `keryx learn extract` also never runs inside a hook, even
85
+ though it produces no `accepted` state.
58
86
  - Do not `apply` a proposal without reading it.
59
87
  - Do not trust a `stale` / `needs-review` skill as ground truth.
@@ -66,8 +66,8 @@ gets reconciled.
66
66
 
67
67
  `SKILL.md` frontmatter follows the published Agent Skills specification
68
68
  (agentskills.io — the format Zed adopted when it dropped its own Rules
69
- Library), with two deliberate additions. Flow 203 removed two accidental
70
- divergences that had crept in; keep both fixes intact when authoring or
69
+ Library), with two deliberate additions. Two earlier accidental divergences
70
+ have since been removed; keep both fixes intact when authoring or
71
71
  editing a skill:
72
72
 
73
73
  - **`version` lives in `metadata.version` only.** The spec has no top-level
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: code-style-review
3
- description: "Use when the legacy code style and architecture review profile (code-style-patterns.mdc) is asked for by name — naming, organization, patterns, and TypeScript usage on the current branch. NOT for: a general style review (review-style) or an architecture review (review-architecture)."
3
+ description: "Use when a caller wants the style/architecture checklist in code-style-patterns.mdc applied by its own name — checks naming, module and file layout, and TypeScript usage patterns against that specific ruleset, over this branch's diff. Narrower than a general style pass, and separate from the correctness-and-security AI review baseline. NOT for: a general style review (review-style) or an architecture review (review-architecture)."
4
4
  triggers:
5
5
  - "code-style-review"
6
6
  - "architecture style"