aw-ecc 1.4.21

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 (764) hide show
  1. package/.agents/skills/api-design/SKILL.md +523 -0
  2. package/.agents/skills/api-design/agents/openai.yaml +7 -0
  3. package/.agents/skills/article-writing/SKILL.md +85 -0
  4. package/.agents/skills/article-writing/agents/openai.yaml +7 -0
  5. package/.agents/skills/backend-patterns/SKILL.md +598 -0
  6. package/.agents/skills/backend-patterns/agents/openai.yaml +7 -0
  7. package/.agents/skills/bun-runtime/SKILL.md +84 -0
  8. package/.agents/skills/bun-runtime/agents/openai.yaml +7 -0
  9. package/.agents/skills/claude-api/SKILL.md +337 -0
  10. package/.agents/skills/claude-api/agents/openai.yaml +7 -0
  11. package/.agents/skills/coding-standards/SKILL.md +530 -0
  12. package/.agents/skills/coding-standards/agents/openai.yaml +7 -0
  13. package/.agents/skills/content-engine/SKILL.md +88 -0
  14. package/.agents/skills/content-engine/agents/openai.yaml +7 -0
  15. package/.agents/skills/crosspost/SKILL.md +188 -0
  16. package/.agents/skills/crosspost/agents/openai.yaml +7 -0
  17. package/.agents/skills/deep-research/SKILL.md +155 -0
  18. package/.agents/skills/deep-research/agents/openai.yaml +7 -0
  19. package/.agents/skills/dmux-workflows/SKILL.md +144 -0
  20. package/.agents/skills/dmux-workflows/agents/openai.yaml +7 -0
  21. package/.agents/skills/documentation-lookup/SKILL.md +90 -0
  22. package/.agents/skills/documentation-lookup/agents/openai.yaml +7 -0
  23. package/.agents/skills/e2e-testing/SKILL.md +326 -0
  24. package/.agents/skills/e2e-testing/agents/openai.yaml +7 -0
  25. package/.agents/skills/eval-harness/SKILL.md +236 -0
  26. package/.agents/skills/eval-harness/agents/openai.yaml +7 -0
  27. package/.agents/skills/everything-claude-code/SKILL.md +442 -0
  28. package/.agents/skills/everything-claude-code/agents/openai.yaml +6 -0
  29. package/.agents/skills/exa-search/SKILL.md +170 -0
  30. package/.agents/skills/exa-search/agents/openai.yaml +7 -0
  31. package/.agents/skills/fal-ai-media/SKILL.md +277 -0
  32. package/.agents/skills/fal-ai-media/agents/openai.yaml +7 -0
  33. package/.agents/skills/frontend-patterns/SKILL.md +642 -0
  34. package/.agents/skills/frontend-patterns/agents/openai.yaml +7 -0
  35. package/.agents/skills/frontend-slides/SKILL.md +184 -0
  36. package/.agents/skills/frontend-slides/STYLE_PRESETS.md +330 -0
  37. package/.agents/skills/frontend-slides/agents/openai.yaml +7 -0
  38. package/.agents/skills/investor-materials/SKILL.md +96 -0
  39. package/.agents/skills/investor-materials/agents/openai.yaml +7 -0
  40. package/.agents/skills/investor-outreach/SKILL.md +76 -0
  41. package/.agents/skills/investor-outreach/agents/openai.yaml +7 -0
  42. package/.agents/skills/market-research/SKILL.md +75 -0
  43. package/.agents/skills/market-research/agents/openai.yaml +7 -0
  44. package/.agents/skills/mcp-server-patterns/SKILL.md +67 -0
  45. package/.agents/skills/nextjs-turbopack/SKILL.md +44 -0
  46. package/.agents/skills/nextjs-turbopack/agents/openai.yaml +7 -0
  47. package/.agents/skills/security-review/SKILL.md +495 -0
  48. package/.agents/skills/security-review/agents/openai.yaml +7 -0
  49. package/.agents/skills/strategic-compact/SKILL.md +103 -0
  50. package/.agents/skills/strategic-compact/agents/openai.yaml +7 -0
  51. package/.agents/skills/tdd-workflow/SKILL.md +410 -0
  52. package/.agents/skills/tdd-workflow/agents/openai.yaml +7 -0
  53. package/.agents/skills/verification-loop/SKILL.md +126 -0
  54. package/.agents/skills/verification-loop/agents/openai.yaml +7 -0
  55. package/.agents/skills/video-editing/SKILL.md +308 -0
  56. package/.agents/skills/video-editing/agents/openai.yaml +7 -0
  57. package/.agents/skills/x-api/SKILL.md +214 -0
  58. package/.agents/skills/x-api/agents/openai.yaml +7 -0
  59. package/.claude-plugin/README.md +17 -0
  60. package/.claude-plugin/plugin.json +24 -0
  61. package/.codex/AGENTS.md +93 -0
  62. package/.codex/INSTALL.md +64 -0
  63. package/.codex/agents/docs-researcher.toml +9 -0
  64. package/.codex/agents/explorer.toml +9 -0
  65. package/.codex/agents/reviewer.toml +9 -0
  66. package/.codex/config.toml +108 -0
  67. package/.codex/hooks/aw-post-tool-use.sh +5 -0
  68. package/.codex/hooks/aw-pre-tool-use.sh +5 -0
  69. package/.codex/hooks/aw-session-start.sh +21 -0
  70. package/.codex/hooks/aw-stop.sh +5 -0
  71. package/.codex/hooks/aw-user-prompt-submit.sh +9 -0
  72. package/.codex/hooks.json +62 -0
  73. package/.cursor/INSTALL.md +40 -0
  74. package/.cursor/hooks/adapter.js +120 -0
  75. package/.cursor/hooks/after-file-edit.js +11 -0
  76. package/.cursor/hooks/after-mcp-execution.js +11 -0
  77. package/.cursor/hooks/after-shell-execution.js +11 -0
  78. package/.cursor/hooks/after-tab-file-edit.js +12 -0
  79. package/.cursor/hooks/aw-phase-adapter.js +43 -0
  80. package/.cursor/hooks/before-mcp-execution.js +11 -0
  81. package/.cursor/hooks/before-read-file.js +13 -0
  82. package/.cursor/hooks/before-shell-execution.js +11 -0
  83. package/.cursor/hooks/before-submit-prompt.js +41 -0
  84. package/.cursor/hooks/before-tab-file-read.js +13 -0
  85. package/.cursor/hooks/pre-compact.js +11 -0
  86. package/.cursor/hooks/session-end.js +11 -0
  87. package/.cursor/hooks/session-start.js +11 -0
  88. package/.cursor/hooks/shared/aw-phase-definitions.js +190 -0
  89. package/.cursor/hooks/shared/aw-phase-runner.js +61 -0
  90. package/.cursor/hooks/shared/session-start.sh +20 -0
  91. package/.cursor/hooks/shared/user-prompt-submit.sh +155 -0
  92. package/.cursor/hooks/stop.js +11 -0
  93. package/.cursor/hooks/subagent-start.js +10 -0
  94. package/.cursor/hooks/subagent-stop.js +10 -0
  95. package/.cursor/hooks.json +115 -0
  96. package/.cursor/rules/common-agents.md +53 -0
  97. package/.cursor/rules/common-coding-style.md +52 -0
  98. package/.cursor/rules/common-development-workflow.md +33 -0
  99. package/.cursor/rules/common-git-workflow.md +28 -0
  100. package/.cursor/rules/common-hooks.md +34 -0
  101. package/.cursor/rules/common-patterns.md +35 -0
  102. package/.cursor/rules/common-performance.md +59 -0
  103. package/.cursor/rules/common-security.md +33 -0
  104. package/.cursor/rules/common-testing.md +33 -0
  105. package/.cursor/rules/golang-coding-style.md +31 -0
  106. package/.cursor/rules/golang-hooks.md +16 -0
  107. package/.cursor/rules/golang-patterns.md +44 -0
  108. package/.cursor/rules/golang-security.md +33 -0
  109. package/.cursor/rules/golang-testing.md +30 -0
  110. package/.cursor/rules/kotlin-coding-style.md +39 -0
  111. package/.cursor/rules/kotlin-hooks.md +16 -0
  112. package/.cursor/rules/kotlin-patterns.md +50 -0
  113. package/.cursor/rules/kotlin-security.md +58 -0
  114. package/.cursor/rules/kotlin-testing.md +38 -0
  115. package/.cursor/rules/php-coding-style.md +25 -0
  116. package/.cursor/rules/php-hooks.md +21 -0
  117. package/.cursor/rules/php-patterns.md +23 -0
  118. package/.cursor/rules/php-security.md +24 -0
  119. package/.cursor/rules/php-testing.md +26 -0
  120. package/.cursor/rules/python-coding-style.md +42 -0
  121. package/.cursor/rules/python-hooks.md +19 -0
  122. package/.cursor/rules/python-patterns.md +39 -0
  123. package/.cursor/rules/python-security.md +30 -0
  124. package/.cursor/rules/python-testing.md +38 -0
  125. package/.cursor/rules/swift-coding-style.md +47 -0
  126. package/.cursor/rules/swift-hooks.md +20 -0
  127. package/.cursor/rules/swift-patterns.md +66 -0
  128. package/.cursor/rules/swift-security.md +33 -0
  129. package/.cursor/rules/swift-testing.md +45 -0
  130. package/.cursor/rules/typescript-coding-style.md +63 -0
  131. package/.cursor/rules/typescript-hooks.md +20 -0
  132. package/.cursor/rules/typescript-patterns.md +50 -0
  133. package/.cursor/rules/typescript-security.md +26 -0
  134. package/.cursor/rules/typescript-testing.md +16 -0
  135. package/.cursor/skills/article-writing/SKILL.md +85 -0
  136. package/.cursor/skills/bun-runtime/SKILL.md +84 -0
  137. package/.cursor/skills/content-engine/SKILL.md +88 -0
  138. package/.cursor/skills/documentation-lookup/SKILL.md +90 -0
  139. package/.cursor/skills/frontend-slides/SKILL.md +184 -0
  140. package/.cursor/skills/frontend-slides/STYLE_PRESETS.md +330 -0
  141. package/.cursor/skills/investor-materials/SKILL.md +96 -0
  142. package/.cursor/skills/investor-outreach/SKILL.md +76 -0
  143. package/.cursor/skills/market-research/SKILL.md +75 -0
  144. package/.cursor/skills/mcp-server-patterns/SKILL.md +67 -0
  145. package/.cursor/skills/nextjs-turbopack/SKILL.md +44 -0
  146. package/.opencode/MIGRATION.md +368 -0
  147. package/.opencode/README.md +204 -0
  148. package/.opencode/commands/build-fix.md +56 -0
  149. package/.opencode/commands/checkpoint.md +67 -0
  150. package/.opencode/commands/code-review.md +68 -0
  151. package/.opencode/commands/e2e.md +105 -0
  152. package/.opencode/commands/eval.md +88 -0
  153. package/.opencode/commands/evolve.md +36 -0
  154. package/.opencode/commands/go-build.md +87 -0
  155. package/.opencode/commands/go-review.md +71 -0
  156. package/.opencode/commands/go-test.md +131 -0
  157. package/.opencode/commands/harness-audit.md +71 -0
  158. package/.opencode/commands/instinct-export.md +93 -0
  159. package/.opencode/commands/instinct-import.md +88 -0
  160. package/.opencode/commands/instinct-status.md +29 -0
  161. package/.opencode/commands/learn.md +61 -0
  162. package/.opencode/commands/loop-start.md +32 -0
  163. package/.opencode/commands/loop-status.md +24 -0
  164. package/.opencode/commands/model-route.md +26 -0
  165. package/.opencode/commands/orchestrate.md +88 -0
  166. package/.opencode/commands/plan.md +49 -0
  167. package/.opencode/commands/projects.md +23 -0
  168. package/.opencode/commands/promote.md +23 -0
  169. package/.opencode/commands/quality-gate.md +29 -0
  170. package/.opencode/commands/refactor-clean.md +102 -0
  171. package/.opencode/commands/rust-build.md +78 -0
  172. package/.opencode/commands/rust-review.md +65 -0
  173. package/.opencode/commands/rust-test.md +104 -0
  174. package/.opencode/commands/security.md +89 -0
  175. package/.opencode/commands/setup-pm.md +67 -0
  176. package/.opencode/commands/skill-create.md +117 -0
  177. package/.opencode/commands/tdd.md +66 -0
  178. package/.opencode/commands/test-coverage.md +80 -0
  179. package/.opencode/commands/update-codemaps.md +81 -0
  180. package/.opencode/commands/update-docs.md +67 -0
  181. package/.opencode/commands/verify.md +67 -0
  182. package/.opencode/index.ts +79 -0
  183. package/.opencode/instructions/INSTRUCTIONS.md +337 -0
  184. package/.opencode/opencode.json +319 -0
  185. package/.opencode/package.json +70 -0
  186. package/.opencode/plugins/ecc-hooks.ts +455 -0
  187. package/.opencode/plugins/index.ts +12 -0
  188. package/.opencode/prompts/agents/architect.txt +175 -0
  189. package/.opencode/prompts/agents/build-error-resolver.txt +233 -0
  190. package/.opencode/prompts/agents/code-reviewer.txt +103 -0
  191. package/.opencode/prompts/agents/database-reviewer.txt +247 -0
  192. package/.opencode/prompts/agents/doc-updater.txt +192 -0
  193. package/.opencode/prompts/agents/e2e-runner.txt +305 -0
  194. package/.opencode/prompts/agents/go-build-resolver.txt +325 -0
  195. package/.opencode/prompts/agents/go-reviewer.txt +241 -0
  196. package/.opencode/prompts/agents/planner.txt +112 -0
  197. package/.opencode/prompts/agents/refactor-cleaner.txt +241 -0
  198. package/.opencode/prompts/agents/rust-build-resolver.txt +93 -0
  199. package/.opencode/prompts/agents/rust-reviewer.txt +61 -0
  200. package/.opencode/prompts/agents/security-reviewer.txt +207 -0
  201. package/.opencode/prompts/agents/tdd-guide.txt +211 -0
  202. package/.opencode/tools/check-coverage.ts +170 -0
  203. package/.opencode/tools/format-code.ts +68 -0
  204. package/.opencode/tools/git-summary.ts +54 -0
  205. package/.opencode/tools/index.ts +13 -0
  206. package/.opencode/tools/lint-check.ts +85 -0
  207. package/.opencode/tools/run-tests.ts +139 -0
  208. package/.opencode/tools/security-audit.ts +277 -0
  209. package/.opencode/tsconfig.json +29 -0
  210. package/AGENTS.md +124 -0
  211. package/LICENSE +21 -0
  212. package/README.md +146 -0
  213. package/README.zh-CN.md +552 -0
  214. package/agents/architect.md +211 -0
  215. package/agents/build-error-resolver.md +114 -0
  216. package/agents/chief-of-staff.md +151 -0
  217. package/agents/code-reviewer.md +237 -0
  218. package/agents/cpp-build-resolver.md +90 -0
  219. package/agents/cpp-reviewer.md +72 -0
  220. package/agents/database-reviewer.md +91 -0
  221. package/agents/doc-updater.md +107 -0
  222. package/agents/docs-lookup.md +68 -0
  223. package/agents/e2e-runner.md +107 -0
  224. package/agents/evals/code-reviewer-scenarios.json +23 -0
  225. package/agents/flutter-reviewer.md +243 -0
  226. package/agents/go-build-resolver.md +94 -0
  227. package/agents/go-reviewer.md +76 -0
  228. package/agents/harness-optimizer.md +35 -0
  229. package/agents/java-build-resolver.md +153 -0
  230. package/agents/java-reviewer.md +92 -0
  231. package/agents/kotlin-build-resolver.md +118 -0
  232. package/agents/kotlin-reviewer.md +159 -0
  233. package/agents/loop-operator.md +36 -0
  234. package/agents/planner.md +212 -0
  235. package/agents/python-reviewer.md +98 -0
  236. package/agents/pytorch-build-resolver.md +120 -0
  237. package/agents/refactor-cleaner.md +85 -0
  238. package/agents/rust-build-resolver.md +148 -0
  239. package/agents/rust-reviewer.md +94 -0
  240. package/agents/security-reviewer.md +108 -0
  241. package/agents/tdd-guide.md +91 -0
  242. package/agents/typescript-reviewer.md +112 -0
  243. package/commands/aside.md +164 -0
  244. package/commands/brainstorm.md +16 -0
  245. package/commands/build-fix.md +70 -0
  246. package/commands/build.md +91 -0
  247. package/commands/checkpoint.md +74 -0
  248. package/commands/claw.md +51 -0
  249. package/commands/code-review.md +24 -0
  250. package/commands/context-budget.md +29 -0
  251. package/commands/cpp-build.md +174 -0
  252. package/commands/cpp-review.md +132 -0
  253. package/commands/cpp-test.md +252 -0
  254. package/commands/deploy.md +75 -0
  255. package/commands/devfleet.md +92 -0
  256. package/commands/docs.md +31 -0
  257. package/commands/e2e.md +373 -0
  258. package/commands/eval.md +120 -0
  259. package/commands/evolve.md +178 -0
  260. package/commands/execute.md +51 -0
  261. package/commands/finish.md +22 -0
  262. package/commands/go-build.md +184 -0
  263. package/commands/go-review.md +148 -0
  264. package/commands/go-test.md +269 -0
  265. package/commands/gradle-build.md +70 -0
  266. package/commands/harness-audit.md +71 -0
  267. package/commands/instinct-export.md +66 -0
  268. package/commands/instinct-import.md +114 -0
  269. package/commands/instinct-status.md +59 -0
  270. package/commands/investigate.md +63 -0
  271. package/commands/kotlin-build.md +175 -0
  272. package/commands/kotlin-review.md +140 -0
  273. package/commands/kotlin-test.md +313 -0
  274. package/commands/learn-eval.md +116 -0
  275. package/commands/learn.md +70 -0
  276. package/commands/loop-start.md +32 -0
  277. package/commands/loop-status.md +24 -0
  278. package/commands/model-route.md +26 -0
  279. package/commands/multi-backend.md +166 -0
  280. package/commands/multi-execute.md +324 -0
  281. package/commands/multi-frontend.md +165 -0
  282. package/commands/multi-plan.md +277 -0
  283. package/commands/multi-workflow.md +200 -0
  284. package/commands/orchestrate.md +240 -0
  285. package/commands/plan.md +130 -0
  286. package/commands/pm2.md +272 -0
  287. package/commands/projects.md +39 -0
  288. package/commands/promote.md +41 -0
  289. package/commands/prompt-optimize.md +38 -0
  290. package/commands/prune.md +31 -0
  291. package/commands/python-review.md +297 -0
  292. package/commands/quality-gate.md +29 -0
  293. package/commands/refactor-clean.md +89 -0
  294. package/commands/resume-session.md +155 -0
  295. package/commands/review.md +64 -0
  296. package/commands/rules-distill.md +11 -0
  297. package/commands/rust-build.md +188 -0
  298. package/commands/rust-review.md +142 -0
  299. package/commands/rust-test.md +309 -0
  300. package/commands/save-session.md +275 -0
  301. package/commands/sessions.md +333 -0
  302. package/commands/setup-pm.md +80 -0
  303. package/commands/ship.md +77 -0
  304. package/commands/skill-create.md +174 -0
  305. package/commands/skill-health.md +54 -0
  306. package/commands/tdd.md +20 -0
  307. package/commands/test-coverage.md +77 -0
  308. package/commands/test.md +64 -0
  309. package/commands/update-codemaps.md +72 -0
  310. package/commands/update-docs.md +84 -0
  311. package/commands/verify.md +55 -0
  312. package/contexts/dev.md +20 -0
  313. package/contexts/research.md +26 -0
  314. package/contexts/review.md +22 -0
  315. package/examples/CLAUDE.md +100 -0
  316. package/examples/statusline.json +19 -0
  317. package/examples/user-CLAUDE.md +109 -0
  318. package/hooks/README.md +219 -0
  319. package/hooks/hooks.json +320 -0
  320. package/hooks/run-hook.cmd +31 -0
  321. package/hooks/session-start +6 -0
  322. package/install.ps1 +38 -0
  323. package/install.sh +17 -0
  324. package/manifests/install-components.json +415 -0
  325. package/manifests/install-modules.json +500 -0
  326. package/manifests/install-profiles.json +80 -0
  327. package/mcp-configs/mcp-servers.json +153 -0
  328. package/package.json +131 -0
  329. package/plugins/README.md +85 -0
  330. package/rules/README.md +106 -0
  331. package/rules/common/agents.md +50 -0
  332. package/rules/common/coding-style.md +48 -0
  333. package/rules/common/development-workflow.md +38 -0
  334. package/rules/common/git-workflow.md +24 -0
  335. package/rules/common/hooks.md +30 -0
  336. package/rules/common/patterns.md +31 -0
  337. package/rules/common/performance.md +55 -0
  338. package/rules/common/security.md +29 -0
  339. package/rules/common/testing.md +29 -0
  340. package/rules/cpp/coding-style.md +44 -0
  341. package/rules/cpp/hooks.md +39 -0
  342. package/rules/cpp/patterns.md +51 -0
  343. package/rules/cpp/security.md +51 -0
  344. package/rules/cpp/testing.md +44 -0
  345. package/rules/csharp/coding-style.md +72 -0
  346. package/rules/csharp/hooks.md +25 -0
  347. package/rules/csharp/patterns.md +50 -0
  348. package/rules/csharp/security.md +58 -0
  349. package/rules/csharp/testing.md +46 -0
  350. package/rules/golang/coding-style.md +32 -0
  351. package/rules/golang/hooks.md +17 -0
  352. package/rules/golang/patterns.md +45 -0
  353. package/rules/golang/security.md +34 -0
  354. package/rules/golang/testing.md +31 -0
  355. package/rules/java/coding-style.md +114 -0
  356. package/rules/java/hooks.md +18 -0
  357. package/rules/java/patterns.md +146 -0
  358. package/rules/java/security.md +100 -0
  359. package/rules/java/testing.md +131 -0
  360. package/rules/kotlin/coding-style.md +86 -0
  361. package/rules/kotlin/hooks.md +17 -0
  362. package/rules/kotlin/patterns.md +146 -0
  363. package/rules/kotlin/security.md +82 -0
  364. package/rules/kotlin/testing.md +128 -0
  365. package/rules/perl/coding-style.md +46 -0
  366. package/rules/perl/hooks.md +22 -0
  367. package/rules/perl/patterns.md +76 -0
  368. package/rules/perl/security.md +69 -0
  369. package/rules/perl/testing.md +54 -0
  370. package/rules/php/coding-style.md +40 -0
  371. package/rules/php/hooks.md +24 -0
  372. package/rules/php/patterns.md +33 -0
  373. package/rules/php/security.md +37 -0
  374. package/rules/php/testing.md +39 -0
  375. package/rules/python/coding-style.md +42 -0
  376. package/rules/python/hooks.md +19 -0
  377. package/rules/python/patterns.md +39 -0
  378. package/rules/python/security.md +30 -0
  379. package/rules/python/testing.md +38 -0
  380. package/rules/rust/coding-style.md +151 -0
  381. package/rules/rust/hooks.md +16 -0
  382. package/rules/rust/patterns.md +168 -0
  383. package/rules/rust/security.md +141 -0
  384. package/rules/rust/testing.md +154 -0
  385. package/rules/swift/coding-style.md +47 -0
  386. package/rules/swift/hooks.md +20 -0
  387. package/rules/swift/patterns.md +66 -0
  388. package/rules/swift/security.md +33 -0
  389. package/rules/swift/testing.md +45 -0
  390. package/rules/typescript/coding-style.md +199 -0
  391. package/rules/typescript/hooks.md +22 -0
  392. package/rules/typescript/patterns.md +52 -0
  393. package/rules/typescript/security.md +28 -0
  394. package/rules/typescript/testing.md +18 -0
  395. package/schemas/ecc-install-config.schema.json +58 -0
  396. package/schemas/hooks.schema.json +197 -0
  397. package/schemas/install-components.schema.json +58 -0
  398. package/schemas/install-modules.schema.json +105 -0
  399. package/schemas/install-profiles.schema.json +45 -0
  400. package/schemas/install-state.schema.json +210 -0
  401. package/schemas/package-manager.schema.json +23 -0
  402. package/schemas/plugin.schema.json +58 -0
  403. package/schemas/provenance.schema.json +31 -0
  404. package/schemas/state-store.schema.json +316 -0
  405. package/scripts/ci/catalog.js +245 -0
  406. package/scripts/ci/validate-agents.js +81 -0
  407. package/scripts/ci/validate-commands.js +136 -0
  408. package/scripts/ci/validate-hooks.js +239 -0
  409. package/scripts/ci/validate-install-manifests.js +214 -0
  410. package/scripts/ci/validate-no-personal-paths.js +63 -0
  411. package/scripts/ci/validate-rules.js +81 -0
  412. package/scripts/ci/validate-skills.js +56 -0
  413. package/scripts/claw.js +473 -0
  414. package/scripts/codex/merge-mcp-config.js +304 -0
  415. package/scripts/cursor-aw-home/hooks.json +115 -0
  416. package/scripts/cursor-aw-hooks/adapter.js +120 -0
  417. package/scripts/cursor-aw-hooks/after-file-edit.js +11 -0
  418. package/scripts/cursor-aw-hooks/after-mcp-execution.js +11 -0
  419. package/scripts/cursor-aw-hooks/after-shell-execution.js +11 -0
  420. package/scripts/cursor-aw-hooks/aw-phase-adapter.js +43 -0
  421. package/scripts/cursor-aw-hooks/before-mcp-execution.js +11 -0
  422. package/scripts/cursor-aw-hooks/before-shell-execution.js +11 -0
  423. package/scripts/cursor-aw-hooks/before-submit-prompt.js +41 -0
  424. package/scripts/cursor-aw-hooks/pre-compact.js +11 -0
  425. package/scripts/cursor-aw-hooks/session-end.js +11 -0
  426. package/scripts/cursor-aw-hooks/session-start.js +11 -0
  427. package/scripts/cursor-aw-hooks/stop.js +11 -0
  428. package/scripts/doctor.js +110 -0
  429. package/scripts/ecc.js +208 -0
  430. package/scripts/generate-aw-hooks.js +110 -0
  431. package/scripts/harness-audit.js +512 -0
  432. package/scripts/hooks/auto-tmux-dev.js +88 -0
  433. package/scripts/hooks/check-console-log.js +71 -0
  434. package/scripts/hooks/check-hook-enabled.js +12 -0
  435. package/scripts/hooks/config-protection.js +125 -0
  436. package/scripts/hooks/cost-tracker.js +78 -0
  437. package/scripts/hooks/doc-file-warning.js +63 -0
  438. package/scripts/hooks/evaluate-session.js +100 -0
  439. package/scripts/hooks/governance-capture.js +280 -0
  440. package/scripts/hooks/insaits-security-monitor.py +269 -0
  441. package/scripts/hooks/insaits-security-wrapper.js +88 -0
  442. package/scripts/hooks/mcp-health-check.js +588 -0
  443. package/scripts/hooks/post-bash-build-complete.js +27 -0
  444. package/scripts/hooks/post-bash-pr-created.js +37 -0
  445. package/scripts/hooks/post-edit-console-warn.js +54 -0
  446. package/scripts/hooks/post-edit-format.js +109 -0
  447. package/scripts/hooks/post-edit-typecheck.js +96 -0
  448. package/scripts/hooks/post-mcp-log.js +27 -0
  449. package/scripts/hooks/pre-bash-dev-server-block.js +187 -0
  450. package/scripts/hooks/pre-bash-git-push-reminder.js +28 -0
  451. package/scripts/hooks/pre-bash-tmux-reminder.js +33 -0
  452. package/scripts/hooks/pre-compact.js +48 -0
  453. package/scripts/hooks/pre-mcp-log.js +26 -0
  454. package/scripts/hooks/pre-write-doc-warn.js +9 -0
  455. package/scripts/hooks/quality-gate.js +168 -0
  456. package/scripts/hooks/run-with-flags-shell.sh +32 -0
  457. package/scripts/hooks/run-with-flags.js +120 -0
  458. package/scripts/hooks/session-end-marker.js +29 -0
  459. package/scripts/hooks/session-end.js +301 -0
  460. package/scripts/hooks/session-start-rules-context.sh +5 -0
  461. package/scripts/hooks/session-start.js +98 -0
  462. package/scripts/hooks/shared/aw-phase-definitions.js +190 -0
  463. package/scripts/hooks/shared/aw-phase-runner.js +61 -0
  464. package/scripts/hooks/shared/session-start.sh +20 -0
  465. package/scripts/hooks/shared/user-prompt-submit.sh +155 -0
  466. package/scripts/hooks/suggest-compact.js +80 -0
  467. package/scripts/install-apply.js +140 -0
  468. package/scripts/install-plan.js +254 -0
  469. package/scripts/lib/agent-compress.js +244 -0
  470. package/scripts/lib/aw-harness-registry.js +122 -0
  471. package/scripts/lib/aw-hook-contract.js +86 -0
  472. package/scripts/lib/claude-aw-hook-files.js +28 -0
  473. package/scripts/lib/claude-hook-config.js +76 -0
  474. package/scripts/lib/codex-aw-hook-files.js +38 -0
  475. package/scripts/lib/codex-hook-config.js +88 -0
  476. package/scripts/lib/cursor-aw-hook-files.js +62 -0
  477. package/scripts/lib/cursor-hook-config.js +148 -0
  478. package/scripts/lib/hook-flags.js +74 -0
  479. package/scripts/lib/inspection.js +212 -0
  480. package/scripts/lib/install/apply.js +23 -0
  481. package/scripts/lib/install/config.js +82 -0
  482. package/scripts/lib/install/request.js +120 -0
  483. package/scripts/lib/install/runtime.js +54 -0
  484. package/scripts/lib/install-executor.js +778 -0
  485. package/scripts/lib/install-lifecycle.js +1311 -0
  486. package/scripts/lib/install-manifests.js +448 -0
  487. package/scripts/lib/install-state.js +313 -0
  488. package/scripts/lib/install-targets/antigravity-project.js +69 -0
  489. package/scripts/lib/install-targets/claude-home.js +54 -0
  490. package/scripts/lib/install-targets/codex-home.js +62 -0
  491. package/scripts/lib/install-targets/cursor-project.js +80 -0
  492. package/scripts/lib/install-targets/helpers.js +307 -0
  493. package/scripts/lib/install-targets/opencode-home.js +10 -0
  494. package/scripts/lib/install-targets/registry.js +66 -0
  495. package/scripts/lib/orchestration-session.js +299 -0
  496. package/scripts/lib/package-manager.d.ts +119 -0
  497. package/scripts/lib/package-manager.js +431 -0
  498. package/scripts/lib/project-detect.js +428 -0
  499. package/scripts/lib/resolve-ecc-root.js +89 -0
  500. package/scripts/lib/resolve-formatter.js +185 -0
  501. package/scripts/lib/session-adapters/canonical-session.js +531 -0
  502. package/scripts/lib/session-adapters/claude-history.js +160 -0
  503. package/scripts/lib/session-adapters/dmux-tmux.js +90 -0
  504. package/scripts/lib/session-adapters/registry.js +127 -0
  505. package/scripts/lib/session-aliases.d.ts +136 -0
  506. package/scripts/lib/session-aliases.js +481 -0
  507. package/scripts/lib/session-manager.d.ts +131 -0
  508. package/scripts/lib/session-manager.js +464 -0
  509. package/scripts/lib/shell-split.js +86 -0
  510. package/scripts/lib/skill-evolution/dashboard.js +401 -0
  511. package/scripts/lib/skill-evolution/health.js +263 -0
  512. package/scripts/lib/skill-evolution/index.js +20 -0
  513. package/scripts/lib/skill-evolution/provenance.js +187 -0
  514. package/scripts/lib/skill-evolution/tracker.js +146 -0
  515. package/scripts/lib/skill-evolution/versioning.js +237 -0
  516. package/scripts/lib/skill-improvement/amendify.js +89 -0
  517. package/scripts/lib/skill-improvement/evaluate.js +59 -0
  518. package/scripts/lib/skill-improvement/health.js +118 -0
  519. package/scripts/lib/skill-improvement/observations.js +108 -0
  520. package/scripts/lib/state-store/index.js +191 -0
  521. package/scripts/lib/state-store/migrations.js +178 -0
  522. package/scripts/lib/state-store/queries.js +697 -0
  523. package/scripts/lib/state-store/schema.js +92 -0
  524. package/scripts/lib/tmux-worktree-orchestrator.js +475 -0
  525. package/scripts/lib/utils.d.ts +183 -0
  526. package/scripts/lib/utils.js +564 -0
  527. package/scripts/list-installed.js +90 -0
  528. package/scripts/orchestrate-codex-worker.sh +107 -0
  529. package/scripts/orchestrate-worktrees.js +40 -0
  530. package/scripts/orchestration-status.js +82 -0
  531. package/scripts/repair.js +97 -0
  532. package/scripts/session-inspect.js +150 -0
  533. package/scripts/sessions-cli.js +177 -0
  534. package/scripts/setup-package-manager.js +204 -0
  535. package/scripts/skill-create-output.js +244 -0
  536. package/scripts/status.js +176 -0
  537. package/scripts/uninstall.js +96 -0
  538. package/skills/agent-eval/SKILL.md +145 -0
  539. package/skills/agent-harness-construction/SKILL.md +73 -0
  540. package/skills/agentic-engineering/SKILL.md +63 -0
  541. package/skills/ai-first-engineering/SKILL.md +51 -0
  542. package/skills/ai-regression-testing/SKILL.md +385 -0
  543. package/skills/android-clean-architecture/SKILL.md +339 -0
  544. package/skills/api-and-interface-design/SKILL.md +75 -0
  545. package/skills/api-design/SKILL.md +523 -0
  546. package/skills/architecture-decision-records/SKILL.md +179 -0
  547. package/skills/article-writing/SKILL.md +85 -0
  548. package/skills/autonomous-loops/SKILL.md +610 -0
  549. package/skills/aw-brainstorm/SKILL.md +115 -0
  550. package/skills/aw-build/SKILL.md +189 -0
  551. package/skills/aw-build/evals/build-stage-cases.json +28 -0
  552. package/skills/aw-debug/SKILL.md +49 -0
  553. package/skills/aw-deploy/SKILL.md +101 -0
  554. package/skills/aw-deploy/evals/deploy-stage-cases.json +32 -0
  555. package/skills/aw-execute/SKILL.md +47 -0
  556. package/skills/aw-execute/references/mode-code.md +47 -0
  557. package/skills/aw-execute/references/mode-docs.md +28 -0
  558. package/skills/aw-execute/references/mode-infra.md +44 -0
  559. package/skills/aw-execute/references/mode-migration.md +58 -0
  560. package/skills/aw-execute/references/worker-implementer.md +26 -0
  561. package/skills/aw-execute/references/worker-parallel-worker.md +23 -0
  562. package/skills/aw-execute/references/worker-quality-reviewer.md +23 -0
  563. package/skills/aw-execute/references/worker-spec-reviewer.md +23 -0
  564. package/skills/aw-execute/scripts/build-worker-bundle.js +229 -0
  565. package/skills/aw-finish/SKILL.md +111 -0
  566. package/skills/aw-investigate/SKILL.md +109 -0
  567. package/skills/aw-plan/SKILL.md +399 -0
  568. package/skills/aw-prepare/SKILL.md +118 -0
  569. package/skills/aw-review/SKILL.md +123 -0
  570. package/skills/aw-rules/SKILL.md +129 -0
  571. package/skills/aw-rules/references/known-hallucinations.md +43 -0
  572. package/skills/aw-rules/references/verification-sources.md +50 -0
  573. package/skills/aw-ship/SKILL.md +115 -0
  574. package/skills/aw-spec/SKILL.md +128 -0
  575. package/skills/aw-tasks/SKILL.md +155 -0
  576. package/skills/aw-test/SKILL.md +118 -0
  577. package/skills/aw-verify/SKILL.md +51 -0
  578. package/skills/aw-yolo/SKILL.md +111 -0
  579. package/skills/backend-patterns/SKILL.md +598 -0
  580. package/skills/benchmark/SKILL.md +87 -0
  581. package/skills/blueprint/SKILL.md +105 -0
  582. package/skills/browser-qa/SKILL.md +81 -0
  583. package/skills/browser-testing-with-devtools/SKILL.md +81 -0
  584. package/skills/bun-runtime/SKILL.md +84 -0
  585. package/skills/canary-watch/SKILL.md +93 -0
  586. package/skills/carrier-relationship-management/SKILL.md +212 -0
  587. package/skills/ci-cd-and-automation/SKILL.md +71 -0
  588. package/skills/claude-api/SKILL.md +337 -0
  589. package/skills/claude-devfleet/SKILL.md +103 -0
  590. package/skills/click-path-audit/SKILL.md +244 -0
  591. package/skills/clickhouse-io/SKILL.md +439 -0
  592. package/skills/code-simplification/SKILL.md +74 -0
  593. package/skills/codebase-onboarding/SKILL.md +233 -0
  594. package/skills/coding-standards/SKILL.md +530 -0
  595. package/skills/compose-multiplatform-patterns/SKILL.md +299 -0
  596. package/skills/configure-ecc/SKILL.md +367 -0
  597. package/skills/content-engine/SKILL.md +88 -0
  598. package/skills/content-hash-cache-pattern/SKILL.md +161 -0
  599. package/skills/context-budget/SKILL.md +135 -0
  600. package/skills/context-engineering/SKILL.md +74 -0
  601. package/skills/continuous-agent-loop/SKILL.md +45 -0
  602. package/skills/continuous-learning/SKILL.md +119 -0
  603. package/skills/continuous-learning/config.json +18 -0
  604. package/skills/continuous-learning/evaluate-session.sh +69 -0
  605. package/skills/continuous-learning-v2/SKILL.md +365 -0
  606. package/skills/continuous-learning-v2/agents/observer-loop.sh +191 -0
  607. package/skills/continuous-learning-v2/agents/observer.md +198 -0
  608. package/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
  609. package/skills/continuous-learning-v2/agents/start-observer.sh +240 -0
  610. package/skills/continuous-learning-v2/config.json +8 -0
  611. package/skills/continuous-learning-v2/hooks/observe.sh +412 -0
  612. package/skills/continuous-learning-v2/scripts/detect-project.sh +228 -0
  613. package/skills/continuous-learning-v2/scripts/instinct-cli.py +1426 -0
  614. package/skills/continuous-learning-v2/scripts/test_parse_instinct.py +984 -0
  615. package/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
  616. package/skills/cpp-coding-standards/SKILL.md +723 -0
  617. package/skills/cpp-testing/SKILL.md +324 -0
  618. package/skills/crosspost/SKILL.md +190 -0
  619. package/skills/customs-trade-compliance/SKILL.md +263 -0
  620. package/skills/data-scraper-agent/SKILL.md +764 -0
  621. package/skills/database-migrations/SKILL.md +429 -0
  622. package/skills/deep-research/SKILL.md +155 -0
  623. package/skills/deployment-patterns/SKILL.md +427 -0
  624. package/skills/deprecation-and-migration/SKILL.md +75 -0
  625. package/skills/design-system/SKILL.md +76 -0
  626. package/skills/django-patterns/SKILL.md +734 -0
  627. package/skills/django-security/SKILL.md +593 -0
  628. package/skills/django-tdd/SKILL.md +729 -0
  629. package/skills/django-verification/SKILL.md +469 -0
  630. package/skills/dmux-workflows/SKILL.md +191 -0
  631. package/skills/docker-patterns/SKILL.md +364 -0
  632. package/skills/documentation-and-adrs/SKILL.md +75 -0
  633. package/skills/documentation-lookup/SKILL.md +90 -0
  634. package/skills/e2e-testing/SKILL.md +326 -0
  635. package/skills/energy-procurement/SKILL.md +228 -0
  636. package/skills/enterprise-agent-ops/SKILL.md +50 -0
  637. package/skills/eval-harness/SKILL.md +270 -0
  638. package/skills/exa-search/SKILL.md +103 -0
  639. package/skills/fal-ai-media/SKILL.md +284 -0
  640. package/skills/flutter-dart-code-review/SKILL.md +435 -0
  641. package/skills/foundation-models-on-device/SKILL.md +243 -0
  642. package/skills/frontend-patterns/SKILL.md +642 -0
  643. package/skills/frontend-slides/SKILL.md +184 -0
  644. package/skills/frontend-slides/STYLE_PRESETS.md +330 -0
  645. package/skills/frontend-ui-engineering/SKILL.md +68 -0
  646. package/skills/git-workflow-and-versioning/SKILL.md +75 -0
  647. package/skills/golang-patterns/SKILL.md +674 -0
  648. package/skills/golang-testing/SKILL.md +720 -0
  649. package/skills/idea-refine/SKILL.md +84 -0
  650. package/skills/incremental-implementation/SKILL.md +86 -0
  651. package/skills/inventory-demand-planning/SKILL.md +247 -0
  652. package/skills/investor-materials/SKILL.md +96 -0
  653. package/skills/investor-outreach/SKILL.md +76 -0
  654. package/skills/iterative-retrieval/SKILL.md +211 -0
  655. package/skills/java-coding-standards/SKILL.md +147 -0
  656. package/skills/jpa-patterns/SKILL.md +151 -0
  657. package/skills/kotlin-coroutines-flows/SKILL.md +284 -0
  658. package/skills/kotlin-exposed-patterns/SKILL.md +719 -0
  659. package/skills/kotlin-ktor-patterns/SKILL.md +689 -0
  660. package/skills/kotlin-patterns/SKILL.md +711 -0
  661. package/skills/kotlin-testing/SKILL.md +824 -0
  662. package/skills/laravel-patterns/SKILL.md +415 -0
  663. package/skills/laravel-security/SKILL.md +285 -0
  664. package/skills/laravel-tdd/SKILL.md +283 -0
  665. package/skills/laravel-verification/SKILL.md +179 -0
  666. package/skills/liquid-glass-design/SKILL.md +279 -0
  667. package/skills/logistics-exception-management/SKILL.md +222 -0
  668. package/skills/market-research/SKILL.md +75 -0
  669. package/skills/mcp-server-patterns/SKILL.md +67 -0
  670. package/skills/nanoclaw-repl/SKILL.md +33 -0
  671. package/skills/nextjs-turbopack/SKILL.md +44 -0
  672. package/skills/nutrient-document-processing/SKILL.md +167 -0
  673. package/skills/nuxt4-patterns/SKILL.md +100 -0
  674. package/skills/performance-optimization/SKILL.md +77 -0
  675. package/skills/perl-patterns/SKILL.md +504 -0
  676. package/skills/perl-security/SKILL.md +503 -0
  677. package/skills/perl-testing/SKILL.md +475 -0
  678. package/skills/plankton-code-quality/SKILL.md +236 -0
  679. package/skills/postgres-patterns/SKILL.md +147 -0
  680. package/skills/product-lens/SKILL.md +79 -0
  681. package/skills/production-scheduling/SKILL.md +238 -0
  682. package/skills/project-guidelines-example/SKILL.md +349 -0
  683. package/skills/prompt-optimizer/SKILL.md +397 -0
  684. package/skills/python-patterns/SKILL.md +750 -0
  685. package/skills/python-testing/SKILL.md +816 -0
  686. package/skills/pytorch-patterns/SKILL.md +396 -0
  687. package/skills/quality-nonconformance/SKILL.md +260 -0
  688. package/skills/ralphinho-rfc-pipeline/SKILL.md +67 -0
  689. package/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
  690. package/skills/returns-reverse-logistics/SKILL.md +240 -0
  691. package/skills/rules-distill/SKILL.md +264 -0
  692. package/skills/rules-distill/scripts/scan-rules.sh +58 -0
  693. package/skills/rules-distill/scripts/scan-skills.sh +129 -0
  694. package/skills/rust-patterns/SKILL.md +499 -0
  695. package/skills/rust-testing/SKILL.md +500 -0
  696. package/skills/safety-guard/SKILL.md +69 -0
  697. package/skills/santa-method/SKILL.md +306 -0
  698. package/skills/search-first/SKILL.md +161 -0
  699. package/skills/security-and-hardening/SKILL.md +70 -0
  700. package/skills/security-review/SKILL.md +495 -0
  701. package/skills/security-review/cloud-infrastructure-security.md +361 -0
  702. package/skills/security-scan/SKILL.md +165 -0
  703. package/skills/skill-comply/SKILL.md +58 -0
  704. package/skills/skill-comply/fixtures/compliant_trace.jsonl +5 -0
  705. package/skills/skill-comply/fixtures/noncompliant_trace.jsonl +3 -0
  706. package/skills/skill-comply/fixtures/tdd_spec.yaml +44 -0
  707. package/skills/skill-comply/prompts/classifier.md +24 -0
  708. package/skills/skill-comply/prompts/scenario_generator.md +62 -0
  709. package/skills/skill-comply/prompts/spec_generator.md +42 -0
  710. package/skills/skill-comply/pyproject.toml +15 -0
  711. package/skills/skill-comply/scripts/__init__.py +0 -0
  712. package/skills/skill-comply/scripts/classifier.py +85 -0
  713. package/skills/skill-comply/scripts/grader.py +122 -0
  714. package/skills/skill-comply/scripts/parser.py +107 -0
  715. package/skills/skill-comply/scripts/report.py +170 -0
  716. package/skills/skill-comply/scripts/run.py +127 -0
  717. package/skills/skill-comply/scripts/runner.py +161 -0
  718. package/skills/skill-comply/scripts/scenario_generator.py +70 -0
  719. package/skills/skill-comply/scripts/spec_generator.py +72 -0
  720. package/skills/skill-comply/scripts/utils.py +13 -0
  721. package/skills/skill-comply/tests/test_grader.py +137 -0
  722. package/skills/skill-comply/tests/test_parser.py +90 -0
  723. package/skills/skill-quality-review/SKILL.md +102 -0
  724. package/skills/skill-quality-review/references/review-rubric.md +112 -0
  725. package/skills/skill-stocktake/SKILL.md +197 -0
  726. package/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
  727. package/skills/skill-stocktake/scripts/save-results.sh +56 -0
  728. package/skills/skill-stocktake/scripts/scan.sh +170 -0
  729. package/skills/springboot-patterns/SKILL.md +314 -0
  730. package/skills/springboot-security/SKILL.md +272 -0
  731. package/skills/springboot-tdd/SKILL.md +158 -0
  732. package/skills/springboot-verification/SKILL.md +231 -0
  733. package/skills/strategic-compact/SKILL.md +131 -0
  734. package/skills/strategic-compact/suggest-compact.sh +54 -0
  735. package/skills/swift-actor-persistence/SKILL.md +143 -0
  736. package/skills/swift-concurrency-6-2/SKILL.md +216 -0
  737. package/skills/swift-protocol-di-testing/SKILL.md +190 -0
  738. package/skills/swiftui-patterns/SKILL.md +259 -0
  739. package/skills/tdd-workflow/SKILL.md +145 -0
  740. package/skills/team-builder/SKILL.md +161 -0
  741. package/skills/using-aw-skills/SKILL.md +290 -0
  742. package/skills/using-aw-skills/evals/skill-trigger-cases.tsv +25 -0
  743. package/skills/using-aw-skills/evals/test-skill-triggers.sh +171 -0
  744. package/skills/using-aw-skills/hooks/hooks.json +9 -0
  745. package/skills/using-aw-skills/hooks/session-start.sh +188 -0
  746. package/skills/using-platform-skills/SKILL.md +163 -0
  747. package/skills/using-platform-skills/evals/platform-selection-cases.json +52 -0
  748. package/skills/verification-loop/SKILL.md +126 -0
  749. package/skills/video-editing/SKILL.md +310 -0
  750. package/skills/videodb/SKILL.md +374 -0
  751. package/skills/videodb/reference/api-reference.md +550 -0
  752. package/skills/videodb/reference/capture-reference.md +407 -0
  753. package/skills/videodb/reference/capture.md +101 -0
  754. package/skills/videodb/reference/editor.md +443 -0
  755. package/skills/videodb/reference/generative.md +331 -0
  756. package/skills/videodb/reference/rtstream-reference.md +564 -0
  757. package/skills/videodb/reference/rtstream.md +65 -0
  758. package/skills/videodb/reference/search.md +230 -0
  759. package/skills/videodb/reference/streaming.md +406 -0
  760. package/skills/videodb/reference/use-cases.md +118 -0
  761. package/skills/videodb/scripts/ws_listener.py +282 -0
  762. package/skills/visa-doc-translate/README.md +86 -0
  763. package/skills/visa-doc-translate/SKILL.md +117 -0
  764. package/skills/x-api/SKILL.md +208 -0
@@ -0,0 +1,71 @@
1
+ # Harness Audit Command
2
+
3
+ Run a deterministic repository harness audit and return a prioritized scorecard.
4
+
5
+ ## Usage
6
+
7
+ `/harness-audit [scope] [--format text|json]`
8
+
9
+ - `scope` (optional): `repo` (default), `hooks`, `skills`, `commands`, `agents`
10
+ - `--format`: output style (`text` default, `json` for automation)
11
+
12
+ ## Deterministic Engine
13
+
14
+ Always run:
15
+
16
+ ```bash
17
+ node scripts/harness-audit.js <scope> --format <text|json>
18
+ ```
19
+
20
+ This script is the source of truth for scoring and checks. Do not invent additional dimensions or ad-hoc points.
21
+
22
+ Rubric version: `2026-03-16`.
23
+
24
+ The script computes 7 fixed categories (`0-10` normalized each):
25
+
26
+ 1. Tool Coverage
27
+ 2. Context Efficiency
28
+ 3. Quality Gates
29
+ 4. Memory Persistence
30
+ 5. Eval Coverage
31
+ 6. Security Guardrails
32
+ 7. Cost Efficiency
33
+
34
+ Scores are derived from explicit file/rule checks and are reproducible for the same commit.
35
+
36
+ ## Output Contract
37
+
38
+ Return:
39
+
40
+ 1. `overall_score` out of `max_score` (70 for `repo`; smaller for scoped audits)
41
+ 2. Category scores and concrete findings
42
+ 3. Failed checks with exact file paths
43
+ 4. Top 3 actions from the deterministic output (`top_actions`)
44
+ 5. Suggested ECC skills to apply next
45
+
46
+ ## Checklist
47
+
48
+ - Use script output directly; do not rescore manually.
49
+ - If `--format json` is requested, return the script JSON unchanged.
50
+ - If text is requested, summarize failing checks and top actions.
51
+ - Include exact file paths from `checks[]` and `top_actions[]`.
52
+
53
+ ## Example Result
54
+
55
+ ```text
56
+ Harness Audit (repo): 66/70
57
+ - Tool Coverage: 10/10 (10/10 pts)
58
+ - Context Efficiency: 9/10 (9/10 pts)
59
+ - Quality Gates: 10/10 (10/10 pts)
60
+
61
+ Top 3 Actions:
62
+ 1) [Security Guardrails] Add prompt/tool preflight security guards in hooks/hooks.json. (hooks/hooks.json)
63
+ 2) [Tool Coverage] Sync commands/harness-audit.md and .opencode/commands/harness-audit.md. (.opencode/commands/harness-audit.md)
64
+ 3) [Eval Coverage] Increase automated test coverage across scripts/hooks/lib. (tests/)
65
+ ```
66
+
67
+ ## Arguments
68
+
69
+ $ARGUMENTS:
70
+ - `repo|hooks|skills|commands|agents` (optional scope)
71
+ - `--format text|json` (optional output format)
@@ -0,0 +1,66 @@
1
+ ---
2
+ name: instinct-export
3
+ description: Export instincts from project/global scope to a file
4
+ command: /instinct-export
5
+ ---
6
+
7
+ # Instinct Export Command
8
+
9
+ Exports instincts to a shareable format. Perfect for:
10
+ - Sharing with teammates
11
+ - Transferring to a new machine
12
+ - Contributing to project conventions
13
+
14
+ ## Usage
15
+
16
+ ```
17
+ /instinct-export # Export all personal instincts
18
+ /instinct-export --domain testing # Export only testing instincts
19
+ /instinct-export --min-confidence 0.7 # Only export high-confidence instincts
20
+ /instinct-export --output team-instincts.yaml
21
+ /instinct-export --scope project --output project-instincts.yaml
22
+ ```
23
+
24
+ ## What to Do
25
+
26
+ 1. Detect current project context
27
+ 2. Load instincts by selected scope:
28
+ - `project`: current project only
29
+ - `global`: global only
30
+ - `all`: project + global merged (default)
31
+ 3. Apply filters (`--domain`, `--min-confidence`)
32
+ 4. Write YAML-style export to file (or stdout if no output path provided)
33
+
34
+ ## Output Format
35
+
36
+ Creates a YAML file:
37
+
38
+ ```yaml
39
+ # Instincts Export
40
+ # Generated: 2025-01-22
41
+ # Source: personal
42
+ # Count: 12 instincts
43
+
44
+ ---
45
+ id: prefer-functional-style
46
+ trigger: "when writing new functions"
47
+ confidence: 0.8
48
+ domain: code-style
49
+ source: session-observation
50
+ scope: project
51
+ project_id: a1b2c3d4e5f6
52
+ project_name: my-app
53
+ ---
54
+
55
+ # Prefer Functional Style
56
+
57
+ ## Action
58
+ Use functional patterns over classes.
59
+ ```
60
+
61
+ ## Flags
62
+
63
+ - `--domain <name>`: Export only specified domain
64
+ - `--min-confidence <n>`: Minimum confidence threshold
65
+ - `--output <file>`: Output file path (prints to stdout when omitted)
66
+ - `--scope <project|global|all>`: Export scope (default: `all`)
@@ -0,0 +1,114 @@
1
+ ---
2
+ name: instinct-import
3
+ description: Import instincts from file or URL into project/global scope
4
+ command: true
5
+ ---
6
+
7
+ # Instinct Import Command
8
+
9
+ ## Implementation
10
+
11
+ Run the instinct CLI using the plugin root path:
12
+
13
+ ```bash
14
+ python3 "${CLAUDE_PLUGIN_ROOT}/skills/continuous-learning-v2/scripts/instinct-cli.py" import <file-or-url> [--dry-run] [--force] [--min-confidence 0.7] [--scope project|global]
15
+ ```
16
+
17
+ Or if `CLAUDE_PLUGIN_ROOT` is not set (manual installation):
18
+
19
+ ```bash
20
+ python3 ~/.claude/skills/continuous-learning-v2/scripts/instinct-cli.py import <file-or-url>
21
+ ```
22
+
23
+ Import instincts from local file paths or HTTP(S) URLs.
24
+
25
+ ## Usage
26
+
27
+ ```
28
+ /instinct-import team-instincts.yaml
29
+ /instinct-import https://github.com/org/repo/instincts.yaml
30
+ /instinct-import team-instincts.yaml --dry-run
31
+ /instinct-import team-instincts.yaml --scope global --force
32
+ ```
33
+
34
+ ## What to Do
35
+
36
+ 1. Fetch the instinct file (local path or URL)
37
+ 2. Parse and validate the format
38
+ 3. Check for duplicates with existing instincts
39
+ 4. Merge or add new instincts
40
+ 5. Save to inherited instincts directory:
41
+ - Project scope: `~/.claude/homunculus/projects/<project-id>/instincts/inherited/`
42
+ - Global scope: `~/.claude/homunculus/instincts/inherited/`
43
+
44
+ ## Import Process
45
+
46
+ ```
47
+ 📥 Importing instincts from: team-instincts.yaml
48
+ ================================================
49
+
50
+ Found 12 instincts to import.
51
+
52
+ Analyzing conflicts...
53
+
54
+ ## New Instincts (8)
55
+ These will be added:
56
+ ✓ use-zod-validation (confidence: 0.7)
57
+ ✓ prefer-named-exports (confidence: 0.65)
58
+ ✓ test-async-functions (confidence: 0.8)
59
+ ...
60
+
61
+ ## Duplicate Instincts (3)
62
+ Already have similar instincts:
63
+ ⚠️ prefer-functional-style
64
+ Local: 0.8 confidence, 12 observations
65
+ Import: 0.7 confidence
66
+ → Keep local (higher confidence)
67
+
68
+ ⚠️ test-first-workflow
69
+ Local: 0.75 confidence
70
+ Import: 0.9 confidence
71
+ → Update to import (higher confidence)
72
+
73
+ Import 8 new, update 1?
74
+ ```
75
+
76
+ ## Merge Behavior
77
+
78
+ When importing an instinct with an existing ID:
79
+ - Higher-confidence import becomes an update candidate
80
+ - Equal/lower-confidence import is skipped
81
+ - User confirms unless `--force` is used
82
+
83
+ ## Source Tracking
84
+
85
+ Imported instincts are marked with:
86
+ ```yaml
87
+ source: inherited
88
+ scope: project
89
+ imported_from: "team-instincts.yaml"
90
+ project_id: "a1b2c3d4e5f6"
91
+ project_name: "my-project"
92
+ ```
93
+
94
+ ## Flags
95
+
96
+ - `--dry-run`: Preview without importing
97
+ - `--force`: Skip confirmation prompt
98
+ - `--min-confidence <n>`: Only import instincts above threshold
99
+ - `--scope <project|global>`: Select target scope (default: `project`)
100
+
101
+ ## Output
102
+
103
+ After import:
104
+ ```
105
+ ✅ Import complete!
106
+
107
+ Added: 8 instincts
108
+ Updated: 1 instinct
109
+ Skipped: 3 instincts (equal/higher confidence already exists)
110
+
111
+ New instincts saved to: ~/.claude/homunculus/instincts/inherited/
112
+
113
+ Run /aw:instinct-status to see all instincts.
114
+ ```
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: instinct-status
3
+ description: Show learned instincts (project + global) with confidence
4
+ command: true
5
+ ---
6
+
7
+ # Instinct Status Command
8
+
9
+ Shows learned instincts for the current project plus global instincts, grouped by domain.
10
+
11
+ ## Implementation
12
+
13
+ Run the instinct CLI using the plugin root path:
14
+
15
+ ```bash
16
+ python3 "${CLAUDE_PLUGIN_ROOT}/skills/continuous-learning-v2/scripts/instinct-cli.py" status
17
+ ```
18
+
19
+ Or if `CLAUDE_PLUGIN_ROOT` is not set (manual installation), use:
20
+
21
+ ```bash
22
+ python3 ~/.claude/skills/continuous-learning-v2/scripts/instinct-cli.py status
23
+ ```
24
+
25
+ ## Usage
26
+
27
+ ```
28
+ /instinct-status
29
+ ```
30
+
31
+ ## What to Do
32
+
33
+ 1. Detect current project context (git remote/path hash)
34
+ 2. Read project instincts from `~/.claude/homunculus/projects/<project-id>/instincts/`
35
+ 3. Read global instincts from `~/.claude/homunculus/instincts/`
36
+ 4. Merge with precedence rules (project overrides global when IDs collide)
37
+ 5. Display grouped by domain with confidence bars and observation stats
38
+
39
+ ## Output Format
40
+
41
+ ```
42
+ ============================================================
43
+ INSTINCT STATUS - 12 total
44
+ ============================================================
45
+
46
+ Project: my-app (a1b2c3d4e5f6)
47
+ Project instincts: 8
48
+ Global instincts: 4
49
+
50
+ ## PROJECT-SCOPED (my-app)
51
+ ### WORKFLOW (3)
52
+ ███████░░░ 70% grep-before-edit [project]
53
+ trigger: when modifying code
54
+
55
+ ## GLOBAL (apply to all projects)
56
+ ### SECURITY (2)
57
+ █████████░ 85% validate-user-input [global]
58
+ trigger: when handling user input
59
+ ```
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: aw:investigate
3
+ description: Reproduce, localize, and confirm bugs, alerts, and failing behavior before broad fixes are attempted.
4
+ argument-hint: "<bug, alert, failing behavior, log signal, or incident scope>"
5
+ status: active
6
+ stage: investigate
7
+ internal_skill: aw-investigate
8
+ ---
9
+
10
+ # Investigate
11
+
12
+ Use `/aw:investigate` when the problem is real but the cause is not yet clear.
13
+
14
+ ## Role
15
+
16
+ Turn vague breakage into a concrete reproduction, localized fault surface, and next-action recommendation.
17
+
18
+ ## Modes
19
+
20
+ | Mode | Use when | Primary outputs |
21
+ |---|---|---|
22
+ | `bug` | product behavior is wrong | `investigation.md`, `state.json`, repro and fault-surface notes |
23
+ | `alert` | monitoring or runtime alert fired | `investigation.md`, `state.json`, signal triage and likely cause |
24
+ | `regression` | a previously working flow broke | `investigation.md`, `state.json`, diff and regression notes |
25
+ | `incident` | failure may span services or environments | `investigation.md`, `state.json`, scoped blast-radius and next probes |
26
+
27
+ ## Outputs
28
+
29
+ - `.aw_docs/features/<feature_slug>/investigation.md`
30
+ - updated `.aw_docs/features/<feature_slug>/state.json`
31
+ - reproduction, expected-vs-actual, hypothesis, and next probe or build handoff
32
+
33
+ ## Investigation Rules
34
+
35
+ 1. Reproduce first.
36
+ 2. Capture expected vs actual behavior.
37
+ 3. Use the smallest confirming probe before patching.
38
+ 4. Load org-standard observability and platform playbooks when the baseline requires them.
39
+ 5. For frontend issues, include runtime and responsive evidence when relevant.
40
+ 6. Name the exact next probe or next command before stopping.
41
+ 7. Do not broaden into implementation until the fault surface is concrete enough.
42
+
43
+ ## Must Not Do
44
+
45
+ - must not guess through an unclear root cause
46
+ - must not stack speculative fixes without new evidence
47
+ - must not claim a fix without handing off to `/aw:build` or proving it directly
48
+
49
+ ## Recommended Next Commands
50
+
51
+ - `/aw:build`
52
+ - `/aw:test`
53
+
54
+ ## Final Output Shape
55
+
56
+ Always end with:
57
+
58
+ - `Mode`
59
+ - `Reproduction`
60
+ - `Expected vs Actual`
61
+ - `Evidence`
62
+ - `Likely Fault Surface`
63
+ - `Next`
@@ -0,0 +1,175 @@
1
+ ---
2
+ description: Fix Kotlin/Gradle build errors, compiler warnings, and dependency issues incrementally. Invokes the kotlin-build-resolver agent for minimal, surgical fixes.
3
+ ---
4
+
5
+ # Kotlin Build and Fix
6
+
7
+ This command invokes the **kotlin-build-resolver** agent to incrementally fix Kotlin build errors with minimal changes.
8
+
9
+ ## What This Command Does
10
+
11
+ 1. **Run Diagnostics**: Execute `./gradlew build`, `detekt`, `ktlintCheck`
12
+ 2. **Parse Errors**: Group by file and sort by severity
13
+ 3. **Fix Incrementally**: One error at a time
14
+ 4. **Verify Each Fix**: Re-run build after each change
15
+ 5. **Report Summary**: Show what was fixed and what remains
16
+
17
+ ## When to Use
18
+
19
+ Use `/aw:kotlin-build` when:
20
+ - `./gradlew build` fails with errors
21
+ - Kotlin compiler reports errors
22
+ - `./gradlew detekt` reports violations
23
+ - Gradle dependency resolution fails
24
+ - After pulling changes that break the build
25
+
26
+ ## Diagnostic Commands Run
27
+
28
+ ```bash
29
+ # Primary build check
30
+ ./gradlew build 2>&1
31
+
32
+ # Static analysis
33
+ ./gradlew detekt 2>&1 || echo "detekt not configured"
34
+ ./gradlew ktlintCheck 2>&1 || echo "ktlint not configured"
35
+
36
+ # Dependency issues
37
+ ./gradlew dependencies --configuration runtimeClasspath 2>&1 | head -100
38
+
39
+ # Optional deep refresh when caches or dependency metadata are suspect
40
+ ./gradlew build --refresh-dependencies
41
+ ```
42
+
43
+ ## Example Session
44
+
45
+ ````text
46
+ User: /aw:kotlin-build
47
+
48
+ Agent:
49
+ # Kotlin Build Resolution
50
+
51
+ ## Initial Diagnostics
52
+
53
+ ```bash
54
+ $ ./gradlew build
55
+ e: src/main/kotlin/com/example/service/UserService.kt:25:15 Unresolved reference: UserRepository
56
+ e: src/main/kotlin/com/example/routes/UserRoutes.kt:42:9 Type mismatch: inferred type is String but Int was expected
57
+ e: src/main/kotlin/com/example/routes/UserRoutes.kt:58:5 'when' expression must be exhaustive
58
+ ```
59
+
60
+ Errors found: 3
61
+
62
+ ## Fix 1: Unresolved Reference
63
+
64
+ File: src/main/kotlin/com/example/service/UserService.kt:25
65
+ Error: Unresolved reference: UserRepository
66
+ Cause: Missing import
67
+
68
+ ```kotlin
69
+ // Added import
70
+ import com.example.repository.UserRepository
71
+ ```
72
+
73
+ ```bash
74
+ $ ./gradlew build
75
+ # 2 errors remaining
76
+ ```
77
+
78
+ ## Fix 2: Type Mismatch
79
+
80
+ File: src/main/kotlin/com/example/routes/UserRoutes.kt:42
81
+ Error: Type mismatch: inferred type is String but Int was expected
82
+
83
+ ```kotlin
84
+ // Changed
85
+ val count = call.parameters["count"]
86
+ // To
87
+ val count = call.parameters["count"]?.toIntOrNull()
88
+ ?: return@get call.respond(HttpStatusCode.BadRequest, "Invalid count")
89
+ ```
90
+
91
+ ```bash
92
+ $ ./gradlew build
93
+ # 1 error remaining
94
+ ```
95
+
96
+ ## Fix 3: Non-Exhaustive When
97
+
98
+ File: src/main/kotlin/com/example/routes/UserRoutes.kt:58
99
+ Error: 'when' expression must be exhaustive
100
+
101
+ ```kotlin
102
+ // Added missing branch
103
+ when (user.role) {
104
+ Role.ADMIN -> handleAdmin(user)
105
+ Role.USER -> handleUser(user)
106
+ Role.MODERATOR -> handleModerator(user) // Added
107
+ }
108
+ ```
109
+
110
+ ```bash
111
+ $ ./gradlew build
112
+ # Build successful!
113
+ ```
114
+
115
+ ## Final Verification
116
+
117
+ ```bash
118
+ $ ./gradlew detekt
119
+ # No issues
120
+
121
+ $ ./gradlew test
122
+ # All tests passed
123
+ ```
124
+
125
+ ## Summary
126
+
127
+ | Metric | Count |
128
+ |--------|-------|
129
+ | Build errors fixed | 3 |
130
+ | Detekt issues fixed | 0 |
131
+ | Files modified | 2 |
132
+ | Remaining issues | 0 |
133
+
134
+ Build Status: ✅ SUCCESS
135
+ ````
136
+
137
+ ## Common Errors Fixed
138
+
139
+ | Error | Typical Fix |
140
+ |-------|-------------|
141
+ | `Unresolved reference: X` | Add import or dependency |
142
+ | `Type mismatch` | Fix type conversion or assignment |
143
+ | `'when' must be exhaustive` | Add missing sealed class branches |
144
+ | `Suspend function can only be called from coroutine` | Add `suspend` modifier |
145
+ | `Smart cast impossible` | Use local `val` or `let` |
146
+ | `None of the following candidates is applicable` | Fix argument types |
147
+ | `Could not resolve dependency` | Fix version or add repository |
148
+
149
+ ## Fix Strategy
150
+
151
+ 1. **Build errors first** - Code must compile
152
+ 2. **Detekt violations second** - Fix code quality issues
153
+ 3. **ktlint warnings third** - Fix formatting
154
+ 4. **One fix at a time** - Verify each change
155
+ 5. **Minimal changes** - Don't refactor, just fix
156
+
157
+ ## Stop Conditions
158
+
159
+ The agent will stop and report if:
160
+ - Same error persists after 3 attempts
161
+ - Fix introduces more errors
162
+ - Requires architectural changes
163
+ - Missing external dependencies
164
+
165
+ ## Related Commands
166
+
167
+ - `/aw:kotlin-test` - Run tests after build succeeds
168
+ - `/aw:kotlin-review` - Review code quality
169
+ - `/aw:test` - Run targeted QA and proof
170
+ - `/aw:review` - Run readiness and findings review
171
+
172
+ ## Related
173
+
174
+ - Agent: `agents/kotlin-build-resolver.md`
175
+ - Skill: `skills/kotlin-patterns/`
@@ -0,0 +1,140 @@
1
+ ---
2
+ description: Comprehensive Kotlin code review for idiomatic patterns, null safety, coroutine safety, and security. Invokes the kotlin-reviewer agent.
3
+ ---
4
+
5
+ # Kotlin Code Review
6
+
7
+ This command invokes the **kotlin-reviewer** agent for comprehensive Kotlin-specific code review.
8
+
9
+ ## What This Command Does
10
+
11
+ 1. **Identify Kotlin Changes**: Find modified `.kt` and `.kts` files via `git diff`
12
+ 2. **Run Build & Static Analysis**: Execute `./gradlew build`, `detekt`, `ktlintCheck`
13
+ 3. **Security Scan**: Check for SQL injection, command injection, hardcoded secrets
14
+ 4. **Null Safety Review**: Analyze `!!` usage, platform type handling, unsafe casts
15
+ 5. **Coroutine Review**: Check structured concurrency, dispatcher usage, cancellation
16
+ 6. **Generate Report**: Categorize issues by severity
17
+
18
+ ## When to Use
19
+
20
+ Use `/aw:kotlin-review` when:
21
+ - After writing or modifying Kotlin code
22
+ - Before committing Kotlin changes
23
+ - Reviewing pull requests with Kotlin code
24
+ - Onboarding to a new Kotlin codebase
25
+ - Learning idiomatic Kotlin patterns
26
+
27
+ ## Review Categories
28
+
29
+ ### CRITICAL (Must Fix)
30
+ - SQL/Command injection vulnerabilities
31
+ - Force-unwrap `!!` without justification
32
+ - Platform type null safety violations
33
+ - GlobalScope usage (structured concurrency violation)
34
+ - Hardcoded credentials
35
+ - Unsafe deserialization
36
+
37
+ ### HIGH (Should Fix)
38
+ - Mutable state where immutable suffices
39
+ - Blocking calls inside coroutine context
40
+ - Missing cancellation checks in long loops
41
+ - Non-exhaustive `when` on sealed types
42
+ - Large functions (>50 lines)
43
+ - Deep nesting (>4 levels)
44
+
45
+ ### MEDIUM (Consider)
46
+ - Non-idiomatic Kotlin (Java-style patterns)
47
+ - Missing trailing commas
48
+ - Scope function misuse or nesting
49
+ - Missing sequence for large collection chains
50
+ - Redundant explicit types
51
+
52
+ ## Automated Checks Run
53
+
54
+ ```bash
55
+ # Build check
56
+ ./gradlew build
57
+
58
+ # Static analysis
59
+ ./gradlew detekt
60
+
61
+ # Formatting check
62
+ ./gradlew ktlintCheck
63
+
64
+ # Tests
65
+ ./gradlew test
66
+ ```
67
+
68
+ ## Example Usage
69
+
70
+ ````text
71
+ User: /aw:kotlin-review
72
+
73
+ Agent:
74
+ # Kotlin Code Review Report
75
+
76
+ ## Files Reviewed
77
+ - src/main/kotlin/com/example/service/UserService.kt (modified)
78
+ - src/main/kotlin/com/example/routes/UserRoutes.kt (modified)
79
+
80
+ ## Static Analysis Results
81
+ ✓ Build: Successful
82
+ ✓ detekt: No issues
83
+ ⚠ ktlint: 2 formatting warnings
84
+
85
+ ## Issues Found
86
+
87
+ [CRITICAL] Force-Unwrap Null Safety
88
+ File: src/main/kotlin/com/example/service/UserService.kt:28
89
+ Issue: Using !! on nullable repository result
90
+ ```kotlin
91
+ val user = repository.findById(id)!! // NPE risk
92
+ ```
93
+ Fix: Use safe call with error handling
94
+ ```kotlin
95
+ val user = repository.findById(id)
96
+ ?: throw UserNotFoundException("User $id not found")
97
+ ```
98
+
99
+ [HIGH] GlobalScope Usage
100
+ File: src/main/kotlin/com/example/routes/UserRoutes.kt:45
101
+ Issue: Using GlobalScope breaks structured concurrency
102
+ ```kotlin
103
+ GlobalScope.launch {
104
+ notificationService.sendWelcome(user)
105
+ }
106
+ ```
107
+ Fix: Use the call's coroutine scope
108
+ ```kotlin
109
+ launch {
110
+ notificationService.sendWelcome(user)
111
+ }
112
+ ```
113
+
114
+ ## Summary
115
+ - CRITICAL: 1
116
+ - HIGH: 1
117
+ - MEDIUM: 0
118
+
119
+ Recommendation: ❌ Block merge until CRITICAL issue is fixed
120
+ ````
121
+
122
+ ## Approval Criteria
123
+
124
+ | Status | Condition |
125
+ |--------|-----------|
126
+ | ✅ Approve | No CRITICAL or HIGH issues |
127
+ | ⚠️ Warning | Only MEDIUM issues (merge with caution) |
128
+ | ❌ Block | CRITICAL or HIGH issues found |
129
+
130
+ ## Integration with Other Commands
131
+
132
+ - Use `/aw:kotlin-test` first to ensure tests pass
133
+ - Use `/aw:kotlin-build` if build errors occur
134
+ - Use `/aw:kotlin-review` before committing
135
+ - Use `/aw:code-review` for non-Kotlin-specific concerns
136
+
137
+ ## Related
138
+
139
+ - Agent: `agents/kotlin-reviewer.md`
140
+ - Skills: `skills/kotlin-patterns/`, `skills/kotlin-testing/`