compact-agent 1.10.1 → 1.11.1

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 (703) hide show
  1. package/bin/ecc-hooks.cjs +110 -0
  2. package/dist/config.js +9 -1
  3. package/dist/config.js.map +1 -1
  4. package/dist/ecc.d.ts +11 -0
  5. package/dist/ecc.js +142 -27
  6. package/dist/ecc.js.map +1 -1
  7. package/dist/index.js +47 -7
  8. package/dist/index.js.map +1 -1
  9. package/dist/query.js +26 -0
  10. package/dist/query.js.map +1 -1
  11. package/dist/theme.js +6 -2
  12. package/dist/theme.js.map +1 -1
  13. package/package.json +1 -1
  14. package/resources/ecc/agents/a11y-architect.md +149 -0
  15. package/resources/ecc/agents/architect.md +11 -3
  16. package/resources/ecc/agents/build-error-resolver.md +11 -4
  17. package/resources/ecc/agents/chief-of-staff.md +11 -4
  18. package/resources/ecc/agents/code-architect.md +80 -0
  19. package/resources/ecc/agents/code-explorer.md +78 -0
  20. package/resources/ecc/agents/code-reviewer.md +89 -4
  21. package/resources/ecc/agents/code-simplifier.md +56 -0
  22. package/resources/ecc/agents/comment-analyzer.md +54 -0
  23. package/resources/ecc/agents/conversation-analyzer.md +61 -0
  24. package/resources/ecc/agents/cpp-build-resolver.md +99 -0
  25. package/resources/ecc/agents/cpp-reviewer.md +81 -0
  26. package/resources/ecc/agents/csharp-reviewer.md +110 -0
  27. package/resources/ecc/agents/dart-build-resolver.md +210 -0
  28. package/resources/ecc/agents/database-reviewer.md +11 -3
  29. package/resources/ecc/agents/django-build-resolver.md +252 -0
  30. package/resources/ecc/agents/django-reviewer.md +169 -0
  31. package/resources/ecc/agents/doc-updater.md +11 -3
  32. package/resources/ecc/agents/docs-lookup.md +77 -0
  33. package/resources/ecc/agents/e2e-runner.md +11 -4
  34. package/resources/ecc/agents/fastapi-reviewer.md +79 -0
  35. package/resources/ecc/agents/flutter-reviewer.md +252 -0
  36. package/resources/ecc/agents/fsharp-reviewer.md +109 -0
  37. package/resources/ecc/agents/gan-evaluator.md +218 -0
  38. package/resources/ecc/agents/gan-generator.md +140 -0
  39. package/resources/ecc/agents/gan-planner.md +108 -0
  40. package/resources/ecc/agents/go-build-resolver.md +11 -4
  41. package/resources/ecc/agents/go-reviewer.md +11 -3
  42. package/resources/ecc/agents/harmonyos-app-resolver.md +182 -0
  43. package/resources/ecc/agents/harness-optimizer.md +12 -2
  44. package/resources/ecc/agents/healthcare-reviewer.md +92 -0
  45. package/resources/ecc/agents/homelab-architect.md +107 -0
  46. package/resources/ecc/agents/java-build-resolver.md +275 -0
  47. package/resources/ecc/agents/java-reviewer.md +190 -0
  48. package/resources/ecc/agents/kotlin-build-resolver.md +127 -0
  49. package/resources/ecc/agents/kotlin-reviewer.md +168 -0
  50. package/resources/ecc/agents/loop-operator.md +12 -3
  51. package/resources/ecc/agents/mle-reviewer.md +162 -0
  52. package/resources/ecc/agents/network-architect.md +106 -0
  53. package/resources/ecc/agents/network-config-reviewer.md +106 -0
  54. package/resources/ecc/agents/network-troubleshooter.md +128 -0
  55. package/resources/ecc/agents/opensource-forker.md +207 -0
  56. package/resources/ecc/agents/opensource-packager.md +258 -0
  57. package/resources/ecc/agents/opensource-sanitizer.md +197 -0
  58. package/resources/ecc/agents/performance-optimizer.md +455 -0
  59. package/resources/ecc/agents/planner.md +11 -2
  60. package/resources/ecc/agents/pr-test-analyzer.md +54 -0
  61. package/resources/ecc/agents/python-reviewer.md +11 -3
  62. package/resources/ecc/agents/pytorch-build-resolver.md +129 -0
  63. package/resources/ecc/agents/refactor-cleaner.md +11 -4
  64. package/resources/ecc/agents/rust-build-resolver.md +157 -0
  65. package/resources/ecc/agents/rust-reviewer.md +103 -0
  66. package/resources/ecc/agents/security-reviewer.md +11 -3
  67. package/resources/ecc/agents/seo-specialist.md +71 -0
  68. package/resources/ecc/agents/silent-failure-hunter.md +59 -0
  69. package/resources/ecc/agents/swift-build-resolver.md +170 -0
  70. package/resources/ecc/agents/swift-reviewer.md +116 -0
  71. package/resources/ecc/agents/tdd-guide.md +11 -4
  72. package/resources/ecc/agents/type-design-analyzer.md +50 -0
  73. package/resources/ecc/agents/typescript-reviewer.md +121 -0
  74. package/resources/ecc/commands/aside.md +164 -0
  75. package/resources/ecc/commands/auto-update.md +28 -0
  76. package/resources/ecc/commands/build-fix.md +66 -0
  77. package/resources/ecc/commands/checkpoint.md +78 -0
  78. package/resources/ecc/commands/code-review.md +289 -0
  79. package/resources/ecc/commands/cost-report.md +107 -0
  80. package/resources/ecc/commands/cpp-build.md +173 -0
  81. package/resources/ecc/commands/cpp-review.md +132 -0
  82. package/resources/ecc/commands/cpp-test.md +251 -0
  83. package/resources/ecc/commands/ecc-guide.md +93 -0
  84. package/resources/ecc/commands/evolve.md +178 -0
  85. package/resources/ecc/commands/fastapi-review.md +39 -0
  86. package/resources/ecc/commands/feature-dev.md +49 -0
  87. package/resources/ecc/commands/flutter-build.md +164 -0
  88. package/resources/ecc/commands/flutter-review.md +116 -0
  89. package/resources/ecc/commands/flutter-test.md +144 -0
  90. package/resources/ecc/commands/gan-build.md +103 -0
  91. package/resources/ecc/commands/gan-design.md +39 -0
  92. package/resources/ecc/commands/go-build.md +183 -0
  93. package/resources/ecc/commands/go-review.md +148 -0
  94. package/resources/ecc/commands/go-test.md +268 -0
  95. package/resources/ecc/commands/gradle-build.md +70 -0
  96. package/resources/ecc/commands/harness-audit.md +77 -0
  97. package/resources/ecc/commands/hookify-configure.md +14 -0
  98. package/resources/ecc/commands/hookify-help.md +46 -0
  99. package/resources/ecc/commands/hookify-list.md +21 -0
  100. package/resources/ecc/commands/hookify.md +50 -0
  101. package/resources/ecc/commands/instinct-export.md +66 -0
  102. package/resources/ecc/commands/instinct-import.md +114 -0
  103. package/resources/ecc/commands/instinct-status.md +59 -0
  104. package/resources/ecc/commands/jira.md +106 -0
  105. package/resources/ecc/commands/kotlin-build.md +174 -0
  106. package/resources/ecc/commands/kotlin-review.md +140 -0
  107. package/resources/ecc/commands/kotlin-test.md +312 -0
  108. package/resources/ecc/commands/learn-eval.md +116 -0
  109. package/resources/ecc/commands/learn.md +74 -0
  110. package/resources/ecc/commands/loop-start.md +36 -0
  111. package/resources/ecc/commands/loop-status.md +77 -0
  112. package/resources/ecc/commands/model-route.md +30 -0
  113. package/resources/ecc/commands/multi-backend.md +162 -0
  114. package/resources/ecc/commands/multi-execute.md +319 -0
  115. package/resources/ecc/commands/multi-frontend.md +162 -0
  116. package/resources/ecc/commands/multi-plan.md +272 -0
  117. package/resources/ecc/commands/multi-workflow.md +195 -0
  118. package/resources/ecc/commands/plan-prd.md +160 -0
  119. package/resources/ecc/commands/plan.md +200 -0
  120. package/resources/ecc/commands/pm2.md +276 -0
  121. package/resources/ecc/commands/pr.md +184 -0
  122. package/resources/ecc/commands/project-init.md +86 -0
  123. package/resources/ecc/commands/projects.md +39 -0
  124. package/resources/ecc/commands/promote.md +41 -0
  125. package/resources/ecc/commands/prp-commit.md +112 -0
  126. package/resources/ecc/commands/prp-implement.md +385 -0
  127. package/resources/ecc/commands/prp-plan.md +502 -0
  128. package/resources/ecc/commands/prp-pr.md +184 -0
  129. package/resources/ecc/commands/prp-prd.md +447 -0
  130. package/resources/ecc/commands/prune.md +31 -0
  131. package/resources/ecc/commands/python-review.md +297 -0
  132. package/resources/ecc/commands/quality-gate.md +33 -0
  133. package/resources/ecc/commands/refactor-clean.md +84 -0
  134. package/resources/ecc/commands/resume-session.md +156 -0
  135. package/resources/ecc/commands/review-pr.md +37 -0
  136. package/resources/ecc/commands/rust-build.md +187 -0
  137. package/resources/ecc/commands/rust-review.md +142 -0
  138. package/resources/ecc/commands/rust-test.md +308 -0
  139. package/resources/ecc/commands/santa-loop.md +175 -0
  140. package/resources/ecc/commands/save-session.md +275 -0
  141. package/resources/ecc/commands/security-scan.md +92 -0
  142. package/resources/ecc/commands/sessions.md +339 -0
  143. package/resources/ecc/commands/setup-pm.md +80 -0
  144. package/resources/ecc/commands/skill-create.md +174 -0
  145. package/resources/ecc/commands/skill-health.md +54 -0
  146. package/resources/ecc/commands/test-coverage.md +73 -0
  147. package/resources/ecc/commands/update-codemaps.md +76 -0
  148. package/resources/ecc/commands/update-docs.md +88 -0
  149. package/resources/ecc/rules/README.md +120 -0
  150. package/resources/ecc/rules/angular/coding-style.md +182 -0
  151. package/resources/ecc/rules/angular/hooks.md +25 -0
  152. package/resources/ecc/rules/angular/patterns.md +249 -0
  153. package/resources/ecc/rules/angular/security.md +87 -0
  154. package/resources/ecc/rules/angular/testing.md +164 -0
  155. package/resources/ecc/rules/arkts/coding-style.md +153 -0
  156. package/resources/ecc/rules/arkts/hooks.md +135 -0
  157. package/resources/ecc/rules/arkts/patterns.md +236 -0
  158. package/resources/ecc/rules/arkts/security.md +141 -0
  159. package/resources/ecc/rules/arkts/testing.md +126 -0
  160. package/resources/ecc/rules/{common-agents.md → common/agents.md} +2 -4
  161. package/resources/ecc/rules/common/code-review.md +124 -0
  162. package/resources/ecc/rules/{common-coding-style.md → common/coding-style.md} +42 -4
  163. package/resources/ecc/rules/common/development-workflow.md +44 -0
  164. package/resources/ecc/rules/{common-git-workflow.md → common/git-workflow.md} +1 -5
  165. package/resources/ecc/rules/{common-hooks.md → common/hooks.md} +0 -4
  166. package/resources/ecc/rules/{common-patterns.md → common/patterns.md} +0 -4
  167. package/resources/ecc/rules/{common-performance.md → common/performance.md} +0 -4
  168. package/resources/ecc/rules/{common-security.md → common/security.md} +0 -4
  169. package/resources/ecc/rules/{common-testing.md → common/testing.md} +28 -4
  170. package/resources/ecc/rules/cpp/coding-style.md +44 -0
  171. package/resources/ecc/rules/cpp/hooks.md +39 -0
  172. package/resources/ecc/rules/cpp/patterns.md +51 -0
  173. package/resources/ecc/rules/cpp/security.md +51 -0
  174. package/resources/ecc/rules/cpp/testing.md +44 -0
  175. package/resources/ecc/rules/csharp/coding-style.md +72 -0
  176. package/resources/ecc/rules/csharp/hooks.md +25 -0
  177. package/resources/ecc/rules/csharp/patterns.md +50 -0
  178. package/resources/ecc/rules/csharp/security.md +58 -0
  179. package/resources/ecc/rules/csharp/testing.md +46 -0
  180. package/resources/ecc/rules/dart/coding-style.md +159 -0
  181. package/resources/ecc/rules/dart/hooks.md +66 -0
  182. package/resources/ecc/rules/dart/patterns.md +261 -0
  183. package/resources/ecc/rules/dart/security.md +135 -0
  184. package/resources/ecc/rules/dart/testing.md +215 -0
  185. package/resources/ecc/rules/fsharp/coding-style.md +112 -0
  186. package/resources/ecc/rules/fsharp/hooks.md +26 -0
  187. package/resources/ecc/rules/fsharp/patterns.md +111 -0
  188. package/resources/ecc/rules/fsharp/security.md +76 -0
  189. package/resources/ecc/rules/fsharp/testing.md +62 -0
  190. package/resources/ecc/rules/{golang-coding-style.md → golang/coding-style.md} +6 -5
  191. package/resources/ecc/rules/{golang-hooks.md → golang/hooks.md} +5 -4
  192. package/resources/ecc/rules/{golang-patterns.md → golang/patterns.md} +5 -4
  193. package/resources/ecc/rules/{golang-security.md → golang/security.md} +5 -4
  194. package/resources/ecc/rules/{golang-testing.md → golang/testing.md} +5 -4
  195. package/resources/ecc/rules/java/coding-style.md +114 -0
  196. package/resources/ecc/rules/java/hooks.md +18 -0
  197. package/resources/ecc/rules/java/patterns.md +147 -0
  198. package/resources/ecc/rules/java/security.md +101 -0
  199. package/resources/ecc/rules/java/testing.md +133 -0
  200. package/resources/ecc/rules/kotlin/coding-style.md +86 -0
  201. package/resources/ecc/rules/{kotlin-hooks.md → kotlin/hooks.md} +5 -4
  202. package/resources/ecc/rules/kotlin/patterns.md +146 -0
  203. package/resources/ecc/rules/kotlin/security.md +82 -0
  204. package/resources/ecc/rules/kotlin/testing.md +128 -0
  205. package/resources/ecc/rules/perl/coding-style.md +46 -0
  206. package/resources/ecc/rules/perl/hooks.md +22 -0
  207. package/resources/ecc/rules/perl/patterns.md +76 -0
  208. package/resources/ecc/rules/perl/security.md +69 -0
  209. package/resources/ecc/rules/perl/testing.md +54 -0
  210. package/resources/ecc/rules/php/coding-style.md +40 -0
  211. package/resources/ecc/rules/{php-hooks.md → php/hooks.md} +7 -4
  212. package/resources/ecc/rules/php/patterns.md +33 -0
  213. package/resources/ecc/rules/php/security.md +37 -0
  214. package/resources/ecc/rules/php/testing.md +39 -0
  215. package/resources/ecc/rules/{python-coding-style.md → python/coding-style.md} +4 -4
  216. package/resources/ecc/rules/python/fastapi.md +58 -0
  217. package/resources/ecc/rules/{python-hooks.md → python/hooks.md} +4 -4
  218. package/resources/ecc/rules/{python-patterns.md → python/patterns.md} +4 -4
  219. package/resources/ecc/rules/{python-security.md → python/security.md} +4 -4
  220. package/resources/ecc/rules/{python-testing.md → python/testing.md} +4 -4
  221. package/resources/ecc/rules/ruby/coding-style.md +46 -0
  222. package/resources/ecc/rules/ruby/hooks.md +37 -0
  223. package/resources/ecc/rules/ruby/patterns.md +44 -0
  224. package/resources/ecc/rules/ruby/security.md +51 -0
  225. package/resources/ecc/rules/ruby/testing.md +51 -0
  226. package/resources/ecc/rules/rust/coding-style.md +151 -0
  227. package/resources/ecc/rules/rust/hooks.md +16 -0
  228. package/resources/ecc/rules/rust/patterns.md +168 -0
  229. package/resources/ecc/rules/rust/security.md +141 -0
  230. package/resources/ecc/rules/rust/testing.md +154 -0
  231. package/resources/ecc/rules/{swift-coding-style.md → swift/coding-style.md} +6 -6
  232. package/resources/ecc/rules/swift/hooks.md +20 -0
  233. package/resources/ecc/rules/{swift-patterns.md → swift/patterns.md} +5 -5
  234. package/resources/ecc/rules/{swift-security.md → swift/security.md} +7 -7
  235. package/resources/ecc/rules/{swift-testing.md → swift/testing.md} +5 -5
  236. package/resources/ecc/rules/typescript/coding-style.md +199 -0
  237. package/resources/ecc/rules/{typescript-hooks.md → typescript/hooks.md} +6 -4
  238. package/resources/ecc/rules/{typescript-patterns.md → typescript/patterns.md} +6 -4
  239. package/resources/ecc/rules/{typescript-security.md → typescript/security.md} +6 -4
  240. package/resources/ecc/rules/typescript/testing.md +18 -0
  241. package/resources/ecc/rules/web/coding-style.md +96 -0
  242. package/resources/ecc/rules/web/design-quality.md +63 -0
  243. package/resources/ecc/rules/web/hooks.md +129 -0
  244. package/resources/ecc/rules/web/patterns.md +79 -0
  245. package/resources/ecc/rules/web/performance.md +64 -0
  246. package/resources/ecc/rules/web/security.md +57 -0
  247. package/resources/ecc/rules/web/testing.md +55 -0
  248. package/resources/ecc/rules/zh/README.md +108 -0
  249. package/resources/ecc/rules/zh/agents.md +50 -0
  250. package/resources/ecc/rules/zh/code-review.md +124 -0
  251. package/resources/ecc/rules/zh/coding-style.md +48 -0
  252. package/resources/ecc/rules/zh/development-workflow.md +44 -0
  253. package/resources/ecc/rules/zh/git-workflow.md +24 -0
  254. package/resources/ecc/rules/zh/hooks.md +30 -0
  255. package/resources/ecc/rules/zh/patterns.md +31 -0
  256. package/resources/ecc/rules/zh/performance.md +55 -0
  257. package/resources/ecc/rules/zh/security.md +29 -0
  258. package/resources/ecc/rules/zh/testing.md +29 -0
  259. package/resources/ecc/skills/accessibility/SKILL.md +146 -0
  260. package/resources/ecc/skills/agent-architecture-audit/SKILL.md +256 -0
  261. package/resources/ecc/skills/agent-eval/SKILL.md +145 -0
  262. package/resources/ecc/skills/agent-harness-construction/SKILL.md +73 -0
  263. package/resources/ecc/skills/agent-introspection-debugging/SKILL.md +1 -0
  264. package/resources/ecc/skills/agent-payment-x402/SKILL.md +224 -0
  265. package/resources/ecc/skills/agent-sort/SKILL.md +1 -0
  266. package/resources/ecc/skills/agentic-engineering/SKILL.md +63 -0
  267. package/resources/ecc/skills/agentic-os/SKILL.md +387 -0
  268. package/resources/ecc/skills/ai-first-engineering/SKILL.md +51 -0
  269. package/resources/ecc/skills/ai-regression-testing/SKILL.md +385 -0
  270. package/resources/ecc/skills/android-clean-architecture/SKILL.md +339 -0
  271. package/resources/ecc/skills/angular-developer/SKILL.md +154 -0
  272. package/resources/ecc/skills/angular-developer/references/angular-animations.md +160 -0
  273. package/resources/ecc/skills/angular-developer/references/angular-aria.md +410 -0
  274. package/resources/ecc/skills/angular-developer/references/cli.md +86 -0
  275. package/resources/ecc/skills/angular-developer/references/component-harnesses.md +59 -0
  276. package/resources/ecc/skills/angular-developer/references/component-styling.md +91 -0
  277. package/resources/ecc/skills/angular-developer/references/components.md +117 -0
  278. package/resources/ecc/skills/angular-developer/references/creating-services.md +97 -0
  279. package/resources/ecc/skills/angular-developer/references/data-resolvers.md +69 -0
  280. package/resources/ecc/skills/angular-developer/references/define-routes.md +67 -0
  281. package/resources/ecc/skills/angular-developer/references/defining-providers.md +72 -0
  282. package/resources/ecc/skills/angular-developer/references/di-fundamentals.md +120 -0
  283. package/resources/ecc/skills/angular-developer/references/e2e-testing.md +56 -0
  284. package/resources/ecc/skills/angular-developer/references/effects.md +83 -0
  285. package/resources/ecc/skills/angular-developer/references/hierarchical-injectors.md +43 -0
  286. package/resources/ecc/skills/angular-developer/references/host-elements.md +80 -0
  287. package/resources/ecc/skills/angular-developer/references/injection-context.md +63 -0
  288. package/resources/ecc/skills/angular-developer/references/inputs.md +101 -0
  289. package/resources/ecc/skills/angular-developer/references/linked-signal.md +59 -0
  290. package/resources/ecc/skills/angular-developer/references/loading-strategies.md +61 -0
  291. package/resources/ecc/skills/angular-developer/references/mcp.md +108 -0
  292. package/resources/ecc/skills/angular-developer/references/navigate-to-routes.md +69 -0
  293. package/resources/ecc/skills/angular-developer/references/outputs.md +86 -0
  294. package/resources/ecc/skills/angular-developer/references/reactive-forms.md +122 -0
  295. package/resources/ecc/skills/angular-developer/references/rendering-strategies.md +44 -0
  296. package/resources/ecc/skills/angular-developer/references/resource.md +77 -0
  297. package/resources/ecc/skills/angular-developer/references/route-animations.md +56 -0
  298. package/resources/ecc/skills/angular-developer/references/route-guards.md +52 -0
  299. package/resources/ecc/skills/angular-developer/references/router-lifecycle.md +45 -0
  300. package/resources/ecc/skills/angular-developer/references/router-testing.md +87 -0
  301. package/resources/ecc/skills/angular-developer/references/show-routes-with-outlets.md +68 -0
  302. package/resources/ecc/skills/angular-developer/references/signal-forms.md +795 -0
  303. package/resources/ecc/skills/angular-developer/references/signals-overview.md +94 -0
  304. package/resources/ecc/skills/angular-developer/references/tailwind-css.md +69 -0
  305. package/resources/ecc/skills/angular-developer/references/template-driven-forms.md +114 -0
  306. package/resources/ecc/skills/angular-developer/references/testing-fundamentals.md +65 -0
  307. package/resources/ecc/skills/api-connector-builder/SKILL.md +120 -0
  308. package/resources/ecc/skills/api-design/SKILL.md +1 -0
  309. package/resources/ecc/skills/architecture-decision-records/SKILL.md +179 -0
  310. package/resources/ecc/skills/article-writing/SKILL.md +1 -0
  311. package/resources/ecc/skills/automation-audit-ops/SKILL.md +142 -0
  312. package/resources/ecc/skills/autonomous-agent-harness/SKILL.md +273 -0
  313. package/resources/ecc/skills/autonomous-loops/SKILL.md +610 -0
  314. package/resources/ecc/skills/backend-patterns/SKILL.md +8 -44
  315. package/resources/ecc/skills/benchmark/SKILL.md +93 -0
  316. package/resources/ecc/skills/blueprint/SKILL.md +105 -0
  317. package/resources/ecc/skills/brand-voice/SKILL.md +1 -0
  318. package/resources/ecc/skills/browser-qa/SKILL.md +87 -0
  319. package/resources/ecc/skills/bun-runtime/SKILL.md +1 -0
  320. package/resources/ecc/skills/canary-watch/SKILL.md +99 -0
  321. package/resources/ecc/skills/carrier-relationship-management/SKILL.md +212 -0
  322. package/resources/ecc/skills/cisco-ios-patterns/SKILL.md +163 -0
  323. package/resources/ecc/skills/ck/SKILL.md +147 -0
  324. package/resources/ecc/skills/ck/commands/forget.mjs +44 -0
  325. package/resources/ecc/skills/ck/commands/info.mjs +24 -0
  326. package/resources/ecc/skills/ck/commands/init.mjs +143 -0
  327. package/resources/ecc/skills/ck/commands/list.mjs +40 -0
  328. package/resources/ecc/skills/ck/commands/migrate.mjs +202 -0
  329. package/resources/ecc/skills/ck/commands/resume.mjs +36 -0
  330. package/resources/ecc/skills/ck/commands/save.mjs +210 -0
  331. package/resources/ecc/skills/ck/commands/shared.mjs +387 -0
  332. package/resources/ecc/skills/ck/hooks/session-start.mjs +224 -0
  333. package/resources/ecc/skills/claude-devfleet/SKILL.md +103 -0
  334. package/resources/ecc/skills/click-path-audit/SKILL.md +244 -0
  335. package/resources/ecc/skills/clickhouse-io/SKILL.md +439 -0
  336. package/resources/ecc/skills/code-tour/SKILL.md +236 -0
  337. package/resources/ecc/skills/codebase-onboarding/SKILL.md +233 -0
  338. package/resources/ecc/skills/coding-standards/SKILL.md +1 -0
  339. package/resources/ecc/skills/compose-multiplatform-patterns/SKILL.md +299 -0
  340. package/resources/ecc/skills/configure-ecc/SKILL.md +384 -0
  341. package/resources/ecc/skills/connections-optimizer/SKILL.md +189 -0
  342. package/resources/ecc/skills/content-engine/SKILL.md +1 -0
  343. package/resources/ecc/skills/content-hash-cache-pattern/SKILL.md +161 -0
  344. package/resources/ecc/skills/context-budget/SKILL.md +135 -0
  345. package/resources/ecc/skills/continuous-agent-loop/SKILL.md +45 -0
  346. package/resources/ecc/skills/continuous-learning/SKILL.md +131 -0
  347. package/resources/ecc/skills/continuous-learning/config.json +18 -0
  348. package/resources/ecc/skills/continuous-learning/evaluate-session.sh +69 -0
  349. package/resources/ecc/skills/continuous-learning-v2/SKILL.md +360 -0
  350. package/resources/ecc/skills/continuous-learning-v2/agents/observer-loop.sh +322 -0
  351. package/resources/ecc/skills/continuous-learning-v2/agents/observer.md +198 -0
  352. package/resources/ecc/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
  353. package/resources/ecc/skills/continuous-learning-v2/agents/start-observer.sh +248 -0
  354. package/resources/ecc/skills/continuous-learning-v2/config.json +8 -0
  355. package/resources/ecc/skills/continuous-learning-v2/hooks/observe.sh +476 -0
  356. package/resources/ecc/skills/continuous-learning-v2/scripts/detect-project.sh +288 -0
  357. package/resources/ecc/skills/continuous-learning-v2/scripts/instinct-cli.py +1519 -0
  358. package/resources/ecc/skills/continuous-learning-v2/scripts/lib/homunculus-dir.sh +31 -0
  359. package/resources/ecc/skills/continuous-learning-v2/scripts/migrate-homunculus.sh +62 -0
  360. package/resources/ecc/skills/continuous-learning-v2/scripts/test_parse_instinct.py +1018 -0
  361. package/resources/ecc/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
  362. package/resources/ecc/skills/cost-tracking/SKILL.md +147 -0
  363. package/resources/ecc/skills/council/SKILL.md +203 -0
  364. package/resources/ecc/skills/cpp-coding-standards/SKILL.md +723 -0
  365. package/resources/ecc/skills/cpp-testing/SKILL.md +324 -0
  366. package/resources/ecc/skills/crosspost/SKILL.md +1 -0
  367. package/resources/ecc/skills/csharp-testing/SKILL.md +321 -0
  368. package/resources/ecc/skills/customer-billing-ops/SKILL.md +140 -0
  369. package/resources/ecc/skills/customs-trade-compliance/SKILL.md +263 -0
  370. package/resources/ecc/skills/dart-flutter-patterns/SKILL.md +563 -0
  371. package/resources/ecc/skills/dashboard-builder/SKILL.md +108 -0
  372. package/resources/ecc/skills/data-scraper-agent/SKILL.md +764 -0
  373. package/resources/ecc/skills/database-migrations/SKILL.md +429 -0
  374. package/resources/ecc/skills/deep-research/SKILL.md +5 -0
  375. package/resources/ecc/skills/defi-amm-security/SKILL.md +166 -0
  376. package/resources/ecc/skills/deployment-patterns/SKILL.md +427 -0
  377. package/resources/ecc/skills/design-system/SKILL.md +82 -0
  378. package/resources/ecc/skills/django-celery/SKILL.md +457 -0
  379. package/resources/ecc/skills/django-patterns/SKILL.md +734 -0
  380. package/resources/ecc/skills/django-security/SKILL.md +593 -0
  381. package/resources/ecc/skills/django-tdd/SKILL.md +729 -0
  382. package/resources/ecc/skills/django-verification/SKILL.md +469 -0
  383. package/resources/ecc/skills/dmux-workflows/SKILL.md +52 -4
  384. package/resources/ecc/skills/docker-patterns/SKILL.md +364 -0
  385. package/resources/ecc/skills/documentation-lookup/SKILL.md +1 -0
  386. package/resources/ecc/skills/dotnet-patterns/SKILL.md +321 -0
  387. package/resources/ecc/skills/e2e-testing/SKILL.md +1 -0
  388. package/resources/ecc/skills/ecc-guide/SKILL.md +189 -0
  389. package/resources/ecc/skills/ecc-tools-cost-audit/SKILL.md +160 -0
  390. package/resources/ecc/skills/email-ops/SKILL.md +121 -0
  391. package/resources/ecc/skills/energy-procurement/SKILL.md +228 -0
  392. package/resources/ecc/skills/enterprise-agent-ops/SKILL.md +50 -0
  393. package/resources/ecc/skills/error-handling/SKILL.md +376 -0
  394. package/resources/ecc/skills/eval-harness/SKILL.md +36 -1
  395. package/resources/ecc/skills/evm-token-decimals/SKILL.md +130 -0
  396. package/resources/ecc/skills/exa-search/SKILL.md +18 -80
  397. package/resources/ecc/skills/fal-ai-media/SKILL.md +32 -20
  398. package/resources/ecc/skills/fastapi-patterns/SKILL.md +327 -0
  399. package/resources/ecc/skills/finance-billing-ops/SKILL.md +127 -0
  400. package/resources/ecc/skills/flox-environments/SKILL.md +496 -0
  401. package/resources/ecc/skills/flutter-dart-code-review/SKILL.md +435 -0
  402. package/resources/ecc/skills/foundation-models-on-device/SKILL.md +243 -0
  403. package/resources/ecc/skills/frontend-design-direction/SKILL.md +92 -0
  404. package/resources/ecc/skills/frontend-patterns/SKILL.md +1 -6
  405. package/resources/ecc/skills/frontend-slides/SKILL.md +2 -1
  406. package/resources/ecc/skills/frontend-slides/animation-patterns.md +122 -0
  407. package/resources/ecc/skills/frontend-slides/html-template.md +419 -0
  408. package/resources/ecc/skills/frontend-slides/scripts/export-pdf.sh +418 -0
  409. package/resources/ecc/skills/frontend-slides/scripts/extract-pptx.py +96 -0
  410. package/resources/ecc/skills/frontend-slides/viewport-base.css +153 -0
  411. package/resources/ecc/skills/fsharp-testing/SKILL.md +280 -0
  412. package/resources/ecc/skills/gan-style-harness/SKILL.md +278 -0
  413. package/resources/ecc/skills/gateguard/SKILL.md +125 -0
  414. package/resources/ecc/skills/git-workflow/SKILL.md +715 -0
  415. package/resources/ecc/skills/github-ops/SKILL.md +144 -0
  416. package/resources/ecc/skills/golang-patterns/SKILL.md +674 -0
  417. package/resources/ecc/skills/golang-testing/SKILL.md +720 -0
  418. package/resources/ecc/skills/google-workspace-ops/SKILL.md +95 -0
  419. package/resources/ecc/skills/healthcare-cdss-patterns/SKILL.md +245 -0
  420. package/resources/ecc/skills/healthcare-emr-patterns/SKILL.md +159 -0
  421. package/resources/ecc/skills/healthcare-eval-harness/SKILL.md +207 -0
  422. package/resources/ecc/skills/healthcare-phi-compliance/SKILL.md +145 -0
  423. package/resources/ecc/skills/hermes-imports/SKILL.md +88 -0
  424. package/resources/ecc/skills/hexagonal-architecture/SKILL.md +276 -0
  425. package/resources/ecc/skills/hipaa-compliance/SKILL.md +78 -0
  426. package/resources/ecc/skills/homelab-network-readiness/SKILL.md +169 -0
  427. package/resources/ecc/skills/homelab-network-setup/SKILL.md +129 -0
  428. package/resources/ecc/skills/homelab-pihole-dns/SKILL.md +274 -0
  429. package/resources/ecc/skills/homelab-vlan-segmentation/SKILL.md +311 -0
  430. package/resources/ecc/skills/homelab-wireguard-vpn/SKILL.md +305 -0
  431. package/resources/ecc/skills/hookify-rules/SKILL.md +128 -0
  432. package/resources/ecc/skills/inventory-demand-planning/SKILL.md +247 -0
  433. package/resources/ecc/skills/investor-materials/SKILL.md +1 -0
  434. package/resources/ecc/skills/investor-outreach/SKILL.md +1 -0
  435. package/resources/ecc/skills/ios-icon-gen/SKILL.md +157 -0
  436. package/resources/ecc/skills/ios-icon-gen/scripts/generate_icons.swift +258 -0
  437. package/resources/ecc/skills/ios-icon-gen/scripts/iconify_gen.sh +235 -0
  438. package/resources/ecc/skills/iterative-retrieval/SKILL.md +211 -0
  439. package/resources/ecc/skills/java-coding-standards/SKILL.md +383 -0
  440. package/resources/ecc/skills/jira-integration/SKILL.md +293 -0
  441. package/resources/ecc/skills/jpa-patterns/SKILL.md +151 -0
  442. package/resources/ecc/skills/knowledge-ops/SKILL.md +154 -0
  443. package/resources/ecc/skills/kotlin-coroutines-flows/SKILL.md +284 -0
  444. package/resources/ecc/skills/kotlin-exposed-patterns/SKILL.md +719 -0
  445. package/resources/ecc/skills/kotlin-ktor-patterns/SKILL.md +689 -0
  446. package/resources/ecc/skills/kotlin-patterns/SKILL.md +711 -0
  447. package/resources/ecc/skills/kotlin-testing/SKILL.md +824 -0
  448. package/resources/ecc/skills/laravel-patterns/SKILL.md +415 -0
  449. package/resources/ecc/skills/laravel-plugin-discovery/SKILL.md +229 -0
  450. package/resources/ecc/skills/laravel-security/SKILL.md +285 -0
  451. package/resources/ecc/skills/laravel-tdd/SKILL.md +283 -0
  452. package/resources/ecc/skills/laravel-verification/SKILL.md +179 -0
  453. package/resources/ecc/skills/lead-intelligence/SKILL.md +321 -0
  454. package/resources/ecc/skills/lead-intelligence/agents/enrichment-agent.md +85 -0
  455. package/resources/ecc/skills/lead-intelligence/agents/mutual-mapper.md +75 -0
  456. package/resources/ecc/skills/lead-intelligence/agents/outreach-drafter.md +98 -0
  457. package/resources/ecc/skills/lead-intelligence/agents/signal-scorer.md +60 -0
  458. package/resources/ecc/skills/liquid-glass-design/SKILL.md +279 -0
  459. package/resources/ecc/skills/llm-trading-agent-security/SKILL.md +146 -0
  460. package/resources/ecc/skills/logistics-exception-management/SKILL.md +222 -0
  461. package/resources/ecc/skills/make-interfaces-feel-better/SKILL.md +151 -0
  462. package/resources/ecc/skills/manim-video/SKILL.md +89 -0
  463. package/resources/ecc/skills/manim-video/assets/network_graph_scene.py +52 -0
  464. package/resources/ecc/skills/market-research/SKILL.md +1 -0
  465. package/resources/ecc/skills/mcp-server-patterns/SKILL.md +3 -0
  466. package/resources/ecc/skills/messages-ops/SKILL.md +104 -0
  467. package/resources/ecc/skills/mle-workflow/SKILL.md +1 -1
  468. package/resources/ecc/skills/motion-advanced/SKILL.md +596 -0
  469. package/resources/ecc/skills/motion-foundations/SKILL.md +299 -0
  470. package/resources/ecc/skills/motion-patterns/SKILL.md +435 -0
  471. package/resources/ecc/skills/motion-ui/SKILL.md +575 -0
  472. package/resources/ecc/skills/mysql-patterns/SKILL.md +412 -0
  473. package/resources/ecc/skills/nanoclaw-repl/SKILL.md +33 -0
  474. package/resources/ecc/skills/nestjs-patterns/SKILL.md +230 -0
  475. package/resources/ecc/skills/netmiko-ssh-automation/SKILL.md +173 -0
  476. package/resources/ecc/skills/network-bgp-diagnostics/SKILL.md +167 -0
  477. package/resources/ecc/skills/network-config-validation/SKILL.md +210 -0
  478. package/resources/ecc/skills/network-interface-health/SKILL.md +152 -0
  479. package/resources/ecc/skills/nextjs-turbopack/SKILL.md +1 -0
  480. package/resources/ecc/skills/nodejs-keccak256/SKILL.md +102 -0
  481. package/resources/ecc/skills/nutrient-document-processing/SKILL.md +167 -0
  482. package/resources/ecc/skills/nuxt4-patterns/SKILL.md +100 -0
  483. package/resources/ecc/skills/openclaw-persona-forge/SKILL.md +288 -0
  484. package/resources/ecc/skills/openclaw-persona-forge/gacha.py +224 -0
  485. package/resources/ecc/skills/openclaw-persona-forge/gacha.sh +5 -0
  486. package/resources/ecc/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
  487. package/resources/ecc/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
  488. package/resources/ecc/skills/openclaw-persona-forge/references/error-handling.md +53 -0
  489. package/resources/ecc/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
  490. package/resources/ecc/skills/openclaw-persona-forge/references/naming-system.md +39 -0
  491. package/resources/ecc/skills/openclaw-persona-forge/references/output-template.md +166 -0
  492. package/resources/ecc/skills/opensource-pipeline/SKILL.md +255 -0
  493. package/resources/ecc/skills/perl-patterns/SKILL.md +504 -0
  494. package/resources/ecc/skills/perl-security/SKILL.md +503 -0
  495. package/resources/ecc/skills/perl-testing/SKILL.md +475 -0
  496. package/resources/ecc/skills/plan-orchestrate/SKILL.md +262 -0
  497. package/resources/ecc/skills/plankton-code-quality/SKILL.md +236 -0
  498. package/resources/ecc/skills/postgres-patterns/SKILL.md +147 -0
  499. package/resources/ecc/skills/product-capability/SKILL.md +1 -0
  500. package/resources/ecc/skills/product-lens/SKILL.md +92 -0
  501. package/resources/ecc/skills/production-audit/SKILL.md +206 -0
  502. package/resources/ecc/skills/production-scheduling/SKILL.md +238 -0
  503. package/resources/ecc/skills/project-flow-ops/SKILL.md +111 -0
  504. package/resources/ecc/skills/prompt-optimizer/SKILL.md +398 -0
  505. package/resources/ecc/skills/python-patterns/SKILL.md +750 -0
  506. package/resources/ecc/skills/python-testing/SKILL.md +816 -0
  507. package/resources/ecc/skills/pytorch-patterns/SKILL.md +396 -0
  508. package/resources/ecc/skills/quality-nonconformance/SKILL.md +260 -0
  509. package/resources/ecc/skills/quarkus-patterns/SKILL.md +722 -0
  510. package/resources/ecc/skills/quarkus-security/SKILL.md +467 -0
  511. package/resources/ecc/skills/quarkus-tdd/SKILL.md +811 -0
  512. package/resources/ecc/skills/quarkus-verification/SKILL.md +479 -0
  513. package/resources/ecc/skills/ralphinho-rfc-pipeline/SKILL.md +67 -0
  514. package/resources/ecc/skills/redis-patterns/SKILL.md +403 -0
  515. package/resources/ecc/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
  516. package/resources/ecc/skills/remotion-video-creation/SKILL.md +43 -0
  517. package/resources/ecc/skills/remotion-video-creation/rules/3d.md +86 -0
  518. package/resources/ecc/skills/remotion-video-creation/rules/animations.md +29 -0
  519. package/resources/ecc/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -0
  520. package/resources/ecc/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -0
  521. package/resources/ecc/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -0
  522. package/resources/ecc/skills/remotion-video-creation/rules/assets.md +78 -0
  523. package/resources/ecc/skills/remotion-video-creation/rules/audio.md +172 -0
  524. package/resources/ecc/skills/remotion-video-creation/rules/calculate-metadata.md +104 -0
  525. package/resources/ecc/skills/remotion-video-creation/rules/can-decode.md +75 -0
  526. package/resources/ecc/skills/remotion-video-creation/rules/charts.md +58 -0
  527. package/resources/ecc/skills/remotion-video-creation/rules/compositions.md +146 -0
  528. package/resources/ecc/skills/remotion-video-creation/rules/display-captions.md +126 -0
  529. package/resources/ecc/skills/remotion-video-creation/rules/extract-frames.md +229 -0
  530. package/resources/ecc/skills/remotion-video-creation/rules/fonts.md +152 -0
  531. package/resources/ecc/skills/remotion-video-creation/rules/get-audio-duration.md +58 -0
  532. package/resources/ecc/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -0
  533. package/resources/ecc/skills/remotion-video-creation/rules/get-video-duration.md +58 -0
  534. package/resources/ecc/skills/remotion-video-creation/rules/gifs.md +138 -0
  535. package/resources/ecc/skills/remotion-video-creation/rules/images.md +130 -0
  536. package/resources/ecc/skills/remotion-video-creation/rules/import-srt-captions.md +67 -0
  537. package/resources/ecc/skills/remotion-video-creation/rules/lottie.md +67 -0
  538. package/resources/ecc/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -0
  539. package/resources/ecc/skills/remotion-video-creation/rules/measuring-text.md +143 -0
  540. package/resources/ecc/skills/remotion-video-creation/rules/sequencing.md +106 -0
  541. package/resources/ecc/skills/remotion-video-creation/rules/tailwind.md +11 -0
  542. package/resources/ecc/skills/remotion-video-creation/rules/text-animations.md +20 -0
  543. package/resources/ecc/skills/remotion-video-creation/rules/timing.md +179 -0
  544. package/resources/ecc/skills/remotion-video-creation/rules/transcribe-captions.md +19 -0
  545. package/resources/ecc/skills/remotion-video-creation/rules/transitions.md +122 -0
  546. package/resources/ecc/skills/remotion-video-creation/rules/trimming.md +52 -0
  547. package/resources/ecc/skills/remotion-video-creation/rules/videos.md +171 -0
  548. package/resources/ecc/skills/repo-scan/SKILL.md +78 -0
  549. package/resources/ecc/skills/research-ops/SKILL.md +112 -0
  550. package/resources/ecc/skills/returns-reverse-logistics/SKILL.md +240 -0
  551. package/resources/ecc/skills/rules-distill/SKILL.md +264 -0
  552. package/resources/ecc/skills/rules-distill/scripts/scan-rules.sh +58 -0
  553. package/resources/ecc/skills/rules-distill/scripts/scan-skills.sh +129 -0
  554. package/resources/ecc/skills/rust-patterns/SKILL.md +499 -0
  555. package/resources/ecc/skills/rust-testing/SKILL.md +500 -0
  556. package/resources/ecc/skills/safety-guard/SKILL.md +75 -0
  557. package/resources/ecc/skills/santa-method/SKILL.md +306 -0
  558. package/resources/ecc/skills/scientific-db-pubmed-database/SKILL.md +175 -0
  559. package/resources/ecc/skills/scientific-db-uspto-database/SKILL.md +177 -0
  560. package/resources/ecc/skills/scientific-pkg-gget/SKILL.md +166 -0
  561. package/resources/ecc/skills/scientific-thinking-literature-review/SKILL.md +192 -0
  562. package/resources/ecc/skills/scientific-thinking-scholar-evaluation/SKILL.md +160 -0
  563. package/resources/ecc/skills/search-first/SKILL.md +182 -0
  564. package/resources/ecc/skills/security-bounty-hunter/SKILL.md +99 -0
  565. package/resources/ecc/skills/security-review/SKILL.md +11 -2
  566. package/resources/ecc/skills/security-review/cloud-infrastructure-security.md +361 -0
  567. package/resources/ecc/skills/security-scan/SKILL.md +165 -0
  568. package/resources/ecc/skills/seo/SKILL.md +154 -0
  569. package/resources/ecc/skills/skill-comply/SKILL.md +58 -0
  570. package/resources/ecc/skills/skill-comply/fixtures/compliant_trace.jsonl +5 -0
  571. package/resources/ecc/skills/skill-comply/fixtures/noncompliant_trace.jsonl +3 -0
  572. package/resources/ecc/skills/skill-comply/fixtures/tdd_spec.yaml +44 -0
  573. package/resources/ecc/skills/skill-comply/prompts/classifier.md +24 -0
  574. package/resources/ecc/skills/skill-comply/prompts/scenario_generator.md +62 -0
  575. package/resources/ecc/skills/skill-comply/prompts/spec_generator.md +42 -0
  576. package/resources/ecc/skills/skill-comply/pyproject.toml +15 -0
  577. package/resources/ecc/skills/skill-comply/scripts/__init__.py +0 -0
  578. package/resources/ecc/skills/skill-comply/scripts/classifier.py +85 -0
  579. package/resources/ecc/skills/skill-comply/scripts/grader.py +124 -0
  580. package/resources/ecc/skills/skill-comply/scripts/parser.py +107 -0
  581. package/resources/ecc/skills/skill-comply/scripts/report.py +170 -0
  582. package/resources/ecc/skills/skill-comply/scripts/run.py +127 -0
  583. package/resources/ecc/skills/skill-comply/scripts/runner.py +186 -0
  584. package/resources/ecc/skills/skill-comply/scripts/scenario_generator.py +70 -0
  585. package/resources/ecc/skills/skill-comply/scripts/spec_generator.py +72 -0
  586. package/resources/ecc/skills/skill-comply/scripts/utils.py +13 -0
  587. package/resources/ecc/skills/skill-comply/tests/test_grader.py +197 -0
  588. package/resources/ecc/skills/skill-comply/tests/test_parser.py +90 -0
  589. package/resources/ecc/skills/skill-comply/tests/test_runner.py +172 -0
  590. package/resources/ecc/skills/skill-scout/SKILL.md +140 -0
  591. package/resources/ecc/skills/skill-stocktake/SKILL.md +194 -0
  592. package/resources/ecc/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
  593. package/resources/ecc/skills/skill-stocktake/scripts/save-results.sh +56 -0
  594. package/resources/ecc/skills/skill-stocktake/scripts/scan.sh +170 -0
  595. package/resources/ecc/skills/social-graph-ranker/SKILL.md +154 -0
  596. package/resources/ecc/skills/springboot-patterns/SKILL.md +314 -0
  597. package/resources/ecc/skills/springboot-security/SKILL.md +272 -0
  598. package/resources/ecc/skills/springboot-tdd/SKILL.md +158 -0
  599. package/resources/ecc/skills/springboot-verification/SKILL.md +231 -0
  600. package/resources/ecc/skills/strategic-compact/SKILL.md +31 -2
  601. package/resources/ecc/skills/strategic-compact/suggest-compact.sh +54 -0
  602. package/resources/ecc/skills/swift-actor-persistence/SKILL.md +143 -0
  603. package/resources/ecc/skills/swift-concurrency-6-2/SKILL.md +216 -0
  604. package/resources/ecc/skills/swift-protocol-di-testing/SKILL.md +190 -0
  605. package/resources/ecc/skills/swiftui-patterns/SKILL.md +259 -0
  606. package/resources/ecc/skills/tdd-workflow/SKILL.md +54 -0
  607. package/resources/ecc/skills/team-builder/SKILL.md +168 -0
  608. package/resources/ecc/skills/terminal-ops/SKILL.md +109 -0
  609. package/resources/ecc/skills/tinystruct-patterns/SKILL.md +131 -0
  610. package/resources/ecc/skills/tinystruct-patterns/references/architecture.md +77 -0
  611. package/resources/ecc/skills/tinystruct-patterns/references/data-handling.md +35 -0
  612. package/resources/ecc/skills/tinystruct-patterns/references/routing.md +57 -0
  613. package/resources/ecc/skills/tinystruct-patterns/references/system-usage.md +74 -0
  614. package/resources/ecc/skills/tinystruct-patterns/references/testing.md +59 -0
  615. package/resources/ecc/skills/token-budget-advisor/SKILL.md +133 -0
  616. package/resources/ecc/skills/ui-demo/SKILL.md +465 -0
  617. package/resources/ecc/skills/ui-to-vue/SKILL.md +134 -0
  618. package/resources/ecc/skills/unified-notifications-ops/SKILL.md +187 -0
  619. package/resources/ecc/skills/verification-loop/SKILL.md +1 -0
  620. package/resources/ecc/skills/video-editing/SKILL.md +4 -1
  621. package/resources/ecc/skills/videodb/SKILL.md +374 -0
  622. package/resources/ecc/skills/videodb/reference/api-reference.md +550 -0
  623. package/resources/ecc/skills/videodb/reference/capture-reference.md +407 -0
  624. package/resources/ecc/skills/videodb/reference/capture.md +101 -0
  625. package/resources/ecc/skills/videodb/reference/editor.md +443 -0
  626. package/resources/ecc/skills/videodb/reference/generative.md +331 -0
  627. package/resources/ecc/skills/videodb/reference/rtstream-reference.md +564 -0
  628. package/resources/ecc/skills/videodb/reference/rtstream.md +65 -0
  629. package/resources/ecc/skills/videodb/reference/search.md +230 -0
  630. package/resources/ecc/skills/videodb/reference/streaming.md +406 -0
  631. package/resources/ecc/skills/videodb/reference/use-cases.md +118 -0
  632. package/resources/ecc/skills/videodb/scripts/ws_listener.py +282 -0
  633. package/resources/ecc/skills/visa-doc-translate/README.md +86 -0
  634. package/resources/ecc/skills/visa-doc-translate/SKILL.md +117 -0
  635. package/resources/ecc/skills/vite-patterns/SKILL.md +449 -0
  636. package/resources/ecc/skills/windows-desktop-e2e/SKILL.md +788 -0
  637. package/resources/ecc/skills/workspace-surface-audit/SKILL.md +125 -0
  638. package/resources/ecc/skills/x-api/SKILL.md +5 -0
  639. package/resources/ecc/agents/architect.json +0 -16
  640. package/resources/ecc/agents/build-error-resolver.json +0 -17
  641. package/resources/ecc/agents/chief-of-staff.json +0 -17
  642. package/resources/ecc/agents/code-reviewer.json +0 -16
  643. package/resources/ecc/agents/database-reviewer.json +0 -16
  644. package/resources/ecc/agents/doc-updater.json +0 -16
  645. package/resources/ecc/agents/e2e-runner.json +0 -17
  646. package/resources/ecc/agents/go-build-resolver.json +0 -17
  647. package/resources/ecc/agents/go-reviewer.json +0 -16
  648. package/resources/ecc/agents/harness-optimizer.json +0 -15
  649. package/resources/ecc/agents/loop-operator.json +0 -16
  650. package/resources/ecc/agents/planner.json +0 -15
  651. package/resources/ecc/agents/python-reviewer.json +0 -16
  652. package/resources/ecc/agents/refactor-cleaner.json +0 -17
  653. package/resources/ecc/agents/security-reviewer.json +0 -16
  654. package/resources/ecc/agents/tdd-guide.json +0 -17
  655. package/resources/ecc/commands/add-language-rules.md +0 -39
  656. package/resources/ecc/commands/database-migration.md +0 -36
  657. package/resources/ecc/commands/feature-development.md +0 -38
  658. package/resources/ecc/rules/common-development-workflow.md +0 -33
  659. package/resources/ecc/rules/kotlin-coding-style.md +0 -39
  660. package/resources/ecc/rules/kotlin-patterns.md +0 -50
  661. package/resources/ecc/rules/kotlin-security.md +0 -58
  662. package/resources/ecc/rules/kotlin-testing.md +0 -38
  663. package/resources/ecc/rules/php-coding-style.md +0 -25
  664. package/resources/ecc/rules/php-patterns.md +0 -23
  665. package/resources/ecc/rules/php-security.md +0 -24
  666. package/resources/ecc/rules/php-testing.md +0 -26
  667. package/resources/ecc/rules/swift-hooks.md +0 -20
  668. package/resources/ecc/rules/typescript-coding-style.md +0 -63
  669. package/resources/ecc/rules/typescript-testing.md +0 -16
  670. package/resources/ecc/skills/agent-introspection-debugging/agents/openai.yaml +0 -7
  671. package/resources/ecc/skills/agent-sort/agents/openai.yaml +0 -7
  672. package/resources/ecc/skills/api-design/agents/openai.yaml +0 -7
  673. package/resources/ecc/skills/article-writing/agents/openai.yaml +0 -7
  674. package/resources/ecc/skills/backend-patterns/agents/openai.yaml +0 -7
  675. package/resources/ecc/skills/brand-voice/agents/openai.yaml +0 -7
  676. package/resources/ecc/skills/bun-runtime/agents/openai.yaml +0 -7
  677. package/resources/ecc/skills/coding-standards/agents/openai.yaml +0 -7
  678. package/resources/ecc/skills/content-engine/agents/openai.yaml +0 -7
  679. package/resources/ecc/skills/crosspost/agents/openai.yaml +0 -7
  680. package/resources/ecc/skills/deep-research/agents/openai.yaml +0 -7
  681. package/resources/ecc/skills/dmux-workflows/agents/openai.yaml +0 -7
  682. package/resources/ecc/skills/documentation-lookup/agents/openai.yaml +0 -7
  683. package/resources/ecc/skills/e2e-testing/agents/openai.yaml +0 -7
  684. package/resources/ecc/skills/eval-harness/agents/openai.yaml +0 -7
  685. package/resources/ecc/skills/everything-claude-code/SKILL.md +0 -442
  686. package/resources/ecc/skills/everything-claude-code/agents/openai.yaml +0 -7
  687. package/resources/ecc/skills/exa-search/agents/openai.yaml +0 -7
  688. package/resources/ecc/skills/fal-ai-media/agents/openai.yaml +0 -7
  689. package/resources/ecc/skills/frontend-patterns/agents/openai.yaml +0 -7
  690. package/resources/ecc/skills/frontend-slides/agents/openai.yaml +0 -7
  691. package/resources/ecc/skills/investor-materials/agents/openai.yaml +0 -7
  692. package/resources/ecc/skills/investor-outreach/agents/openai.yaml +0 -7
  693. package/resources/ecc/skills/market-research/agents/openai.yaml +0 -7
  694. package/resources/ecc/skills/mcp-server-patterns/agents/openai.yaml +0 -7
  695. package/resources/ecc/skills/mle-workflow/agents/openai.yaml +0 -7
  696. package/resources/ecc/skills/nextjs-turbopack/agents/openai.yaml +0 -7
  697. package/resources/ecc/skills/product-capability/agents/openai.yaml +0 -7
  698. package/resources/ecc/skills/security-review/agents/openai.yaml +0 -7
  699. package/resources/ecc/skills/strategic-compact/agents/openai.yaml +0 -7
  700. package/resources/ecc/skills/tdd-workflow/agents/openai.yaml +0 -7
  701. package/resources/ecc/skills/verification-loop/agents/openai.yaml +0 -7
  702. package/resources/ecc/skills/video-editing/agents/openai.yaml +0 -7
  703. package/resources/ecc/skills/x-api/agents/openai.yaml +0 -7
@@ -0,0 +1,161 @@
1
+ ---
2
+ name: content-hash-cache-pattern
3
+ description: Cache expensive file processing results using SHA-256 content hashes — path-independent, auto-invalidating, with service layer separation.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Content-Hash File Cache Pattern
8
+
9
+ Cache expensive file processing results (PDF parsing, text extraction, image analysis) using SHA-256 content hashes as cache keys. Unlike path-based caching, this approach survives file moves/renames and auto-invalidates when content changes.
10
+
11
+ ## When to Activate
12
+
13
+ - Building file processing pipelines (PDF, images, text extraction)
14
+ - Processing cost is high and same files are processed repeatedly
15
+ - Need a `--cache/--no-cache` CLI option
16
+ - Want to add caching to existing pure functions without modifying them
17
+
18
+ ## Core Pattern
19
+
20
+ ### 1. Content-Hash Based Cache Key
21
+
22
+ Use file content (not path) as the cache key:
23
+
24
+ ```python
25
+ import hashlib
26
+ from pathlib import Path
27
+
28
+ _HASH_CHUNK_SIZE = 65536 # 64KB chunks for large files
29
+
30
+ def compute_file_hash(path: Path) -> str:
31
+ """SHA-256 of file contents (chunked for large files)."""
32
+ if not path.is_file():
33
+ raise FileNotFoundError(f"File not found: {path}")
34
+ sha256 = hashlib.sha256()
35
+ with open(path, "rb") as f:
36
+ while True:
37
+ chunk = f.read(_HASH_CHUNK_SIZE)
38
+ if not chunk:
39
+ break
40
+ sha256.update(chunk)
41
+ return sha256.hexdigest()
42
+ ```
43
+
44
+ **Why content hash?** File rename/move = cache hit. Content change = automatic invalidation. No index file needed.
45
+
46
+ ### 2. Frozen Dataclass for Cache Entry
47
+
48
+ ```python
49
+ from dataclasses import dataclass
50
+
51
+ @dataclass(frozen=True, slots=True)
52
+ class CacheEntry:
53
+ file_hash: str
54
+ source_path: str
55
+ document: ExtractedDocument # The cached result
56
+ ```
57
+
58
+ ### 3. File-Based Cache Storage
59
+
60
+ Each cache entry is stored as `{hash}.json` — O(1) lookup by hash, no index file required.
61
+
62
+ ```python
63
+ import json
64
+ from typing import Any
65
+
66
+ def write_cache(cache_dir: Path, entry: CacheEntry) -> None:
67
+ cache_dir.mkdir(parents=True, exist_ok=True)
68
+ cache_file = cache_dir / f"{entry.file_hash}.json"
69
+ data = serialize_entry(entry)
70
+ cache_file.write_text(json.dumps(data, ensure_ascii=False), encoding="utf-8")
71
+
72
+ def read_cache(cache_dir: Path, file_hash: str) -> CacheEntry | None:
73
+ cache_file = cache_dir / f"{file_hash}.json"
74
+ if not cache_file.is_file():
75
+ return None
76
+ try:
77
+ raw = cache_file.read_text(encoding="utf-8")
78
+ data = json.loads(raw)
79
+ return deserialize_entry(data)
80
+ except (json.JSONDecodeError, ValueError, KeyError):
81
+ return None # Treat corruption as cache miss
82
+ ```
83
+
84
+ ### 4. Service Layer Wrapper (SRP)
85
+
86
+ Keep the processing function pure. Add caching as a separate service layer.
87
+
88
+ ```python
89
+ def extract_with_cache(
90
+ file_path: Path,
91
+ *,
92
+ cache_enabled: bool = True,
93
+ cache_dir: Path = Path(".cache"),
94
+ ) -> ExtractedDocument:
95
+ """Service layer: cache check -> extraction -> cache write."""
96
+ if not cache_enabled:
97
+ return extract_text(file_path) # Pure function, no cache knowledge
98
+
99
+ file_hash = compute_file_hash(file_path)
100
+
101
+ # Check cache
102
+ cached = read_cache(cache_dir, file_hash)
103
+ if cached is not None:
104
+ logger.info("Cache hit: %s (hash=%s)", file_path.name, file_hash[:12])
105
+ return cached.document
106
+
107
+ # Cache miss -> extract -> store
108
+ logger.info("Cache miss: %s (hash=%s)", file_path.name, file_hash[:12])
109
+ doc = extract_text(file_path)
110
+ entry = CacheEntry(file_hash=file_hash, source_path=str(file_path), document=doc)
111
+ write_cache(cache_dir, entry)
112
+ return doc
113
+ ```
114
+
115
+ ## Key Design Decisions
116
+
117
+ | Decision | Rationale |
118
+ |----------|-----------|
119
+ | SHA-256 content hash | Path-independent, auto-invalidates on content change |
120
+ | `{hash}.json` file naming | O(1) lookup, no index file needed |
121
+ | Service layer wrapper | SRP: extraction stays pure, cache is a separate concern |
122
+ | Manual JSON serialization | Full control over frozen dataclass serialization |
123
+ | Corruption returns `None` | Graceful degradation, re-processes on next run |
124
+ | `cache_dir.mkdir(parents=True)` | Lazy directory creation on first write |
125
+
126
+ ## Best Practices
127
+
128
+ - **Hash content, not paths** — paths change, content identity doesn't
129
+ - **Chunk large files** when hashing — avoid loading entire files into memory
130
+ - **Keep processing functions pure** — they should know nothing about caching
131
+ - **Log cache hit/miss** with truncated hashes for debugging
132
+ - **Handle corruption gracefully** — treat invalid cache entries as misses, never crash
133
+
134
+ ## Anti-Patterns to Avoid
135
+
136
+ ```python
137
+ # BAD: Path-based caching (breaks on file move/rename)
138
+ cache = {"/path/to/file.pdf": result}
139
+
140
+ # BAD: Adding cache logic inside the processing function (SRP violation)
141
+ def extract_text(path, *, cache_enabled=False, cache_dir=None):
142
+ if cache_enabled: # Now this function has two responsibilities
143
+ ...
144
+
145
+ # BAD: Using dataclasses.asdict() with nested frozen dataclasses
146
+ # (can cause issues with complex nested types)
147
+ data = dataclasses.asdict(entry) # Use manual serialization instead
148
+ ```
149
+
150
+ ## When to Use
151
+
152
+ - File processing pipelines (PDF parsing, OCR, text extraction, image analysis)
153
+ - CLI tools that benefit from `--cache/--no-cache` options
154
+ - Batch processing where the same files appear across runs
155
+ - Adding caching to existing pure functions without modifying them
156
+
157
+ ## When NOT to Use
158
+
159
+ - Data that must always be fresh (real-time feeds)
160
+ - Cache entries that would be extremely large (consider streaming instead)
161
+ - Results that depend on parameters beyond file content (e.g., different extraction configs)
@@ -0,0 +1,135 @@
1
+ ---
2
+ name: context-budget
3
+ description: Audits Claude Code context window consumption across agents, skills, MCP servers, and rules. Identifies bloat, redundant components, and produces prioritized token-savings recommendations.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Context Budget
8
+
9
+ Analyze token overhead across every loaded component in a Claude Code session and surface actionable optimizations to reclaim context space.
10
+
11
+ ## When to Use
12
+
13
+ - Session performance feels sluggish or output quality is degrading
14
+ - You've recently added many skills, agents, or MCP servers
15
+ - You want to know how much context headroom you actually have
16
+ - Planning to add more components and need to know if there's room
17
+ - Running `/context-budget` command (this skill backs it)
18
+
19
+ ## How It Works
20
+
21
+ ### Phase 1: Inventory
22
+
23
+ Scan all component directories and estimate token consumption:
24
+
25
+ **Agents** (`agents/*.md`)
26
+ - Count lines and tokens per file (words × 1.3)
27
+ - Extract `description` frontmatter length
28
+ - Flag: files >200 lines (heavy), description >30 words (bloated frontmatter)
29
+
30
+ **Skills** (`skills/*/SKILL.md`)
31
+ - Count tokens per SKILL.md
32
+ - Flag: files >400 lines
33
+ - Check for duplicate copies in `.agents/skills/` — skip identical copies to avoid double-counting
34
+
35
+ **Rules** (`rules/**/*.md`)
36
+ - Count tokens per file
37
+ - Flag: files >100 lines
38
+ - Detect content overlap between rule files in the same language module
39
+
40
+ **MCP Servers** (`.mcp.json` or active MCP config)
41
+ - Count configured servers and total tool count
42
+ - Estimate schema overhead at ~500 tokens per tool
43
+ - Flag: servers with >20 tools, servers that wrap simple CLI commands (`gh`, `git`, `npm`, `supabase`, `vercel`)
44
+
45
+ **CLAUDE.md** (project + user-level)
46
+ - Count tokens per file in the CLAUDE.md chain
47
+ - Flag: combined total >300 lines
48
+
49
+ ### Phase 2: Classify
50
+
51
+ Sort every component into a bucket:
52
+
53
+ | Bucket | Criteria | Action |
54
+ |--------|----------|--------|
55
+ | **Always needed** | Referenced in CLAUDE.md, backs an active command, or matches current project type | Keep |
56
+ | **Sometimes needed** | Domain-specific (e.g. language patterns), not referenced in CLAUDE.md | Consider on-demand activation |
57
+ | **Rarely needed** | No command reference, overlapping content, or no obvious project match | Remove or lazy-load |
58
+
59
+ ### Phase 3: Detect Issues
60
+
61
+ Identify the following problem patterns:
62
+
63
+ - **Bloated agent descriptions** — description >30 words in frontmatter loads into every Task tool invocation
64
+ - **Heavy agents** — files >200 lines inflate Task tool context on every spawn
65
+ - **Redundant components** — skills that duplicate agent logic, rules that duplicate CLAUDE.md
66
+ - **MCP over-subscription** — >10 servers, or servers wrapping CLI tools available for free
67
+ - **CLAUDE.md bloat** — verbose explanations, outdated sections, instructions that should be rules
68
+
69
+ ### Phase 4: Report
70
+
71
+ Produce the context budget report:
72
+
73
+ ```
74
+ Context Budget Report
75
+ ═══════════════════════════════════════
76
+
77
+ Total estimated overhead: ~XX,XXX tokens
78
+ Context model: Claude Sonnet (200K window)
79
+ Effective available context: ~XXX,XXX tokens (XX%)
80
+
81
+ Component Breakdown:
82
+ ┌─────────────────┬────────┬───────────┐
83
+ │ Component │ Count │ Tokens │
84
+ ├─────────────────┼────────┼───────────┤
85
+ │ Agents │ N │ ~X,XXX │
86
+ │ Skills │ N │ ~X,XXX │
87
+ │ Rules │ N │ ~X,XXX │
88
+ │ MCP tools │ N │ ~XX,XXX │
89
+ │ CLAUDE.md │ N │ ~X,XXX │
90
+ └─────────────────┴────────┴───────────┘
91
+
92
+ WARNING: Issues Found (N):
93
+ [ranked by token savings]
94
+
95
+ Top 3 Optimizations:
96
+ 1. [action] → save ~X,XXX tokens
97
+ 2. [action] → save ~X,XXX tokens
98
+ 3. [action] → save ~X,XXX tokens
99
+
100
+ Potential savings: ~XX,XXX tokens (XX% of current overhead)
101
+ ```
102
+
103
+ In verbose mode, additionally output per-file token counts, line-by-line breakdown of the heaviest files, specific redundant lines between overlapping components, and MCP tool list with per-tool schema size estimates.
104
+
105
+ ## Examples
106
+
107
+ **Basic audit**
108
+ ```
109
+ User: /context-budget
110
+ Skill: Scans setup → 16 agents (12,400 tokens), 28 skills (6,200), 87 MCP tools (43,500), 2 CLAUDE.md (1,200)
111
+ Flags: 3 heavy agents, 14 MCP servers (3 CLI-replaceable)
112
+ Top saving: remove 3 MCP servers → -27,500 tokens (47% overhead reduction)
113
+ ```
114
+
115
+ **Verbose mode**
116
+ ```
117
+ User: /context-budget --verbose
118
+ Skill: Full report + per-file breakdown showing planner.md (213 lines, 1,840 tokens),
119
+ MCP tool list with per-tool sizes, duplicated rule lines side by side
120
+ ```
121
+
122
+ **Pre-expansion check**
123
+ ```
124
+ User: I want to add 5 more MCP servers, do I have room?
125
+ Skill: Current overhead 33% → adding 5 servers (~50 tools) would add ~25,000 tokens → pushes to 45% overhead
126
+ Recommendation: remove 2 CLI-replaceable servers first to stay under 40%
127
+ ```
128
+
129
+ ## Best Practices
130
+
131
+ - **Token estimation**: use `words × 1.3` for prose, `chars / 4` for code-heavy files
132
+ - **MCP is the biggest lever**: each tool schema costs ~500 tokens; a 30-tool server costs more than all your skills combined
133
+ - **Agent descriptions are loaded always**: even if the agent is never invoked, its description field is present in every Task tool context
134
+ - **Verbose mode for debugging**: use when you need to pinpoint the exact files driving overhead, not for regular audits
135
+ - **Audit after changes**: run after adding any agent, skill, or MCP server to catch creep early
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: continuous-agent-loop
3
+ description: Patterns for continuous autonomous agent loops with quality gates, evals, and recovery controls.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Continuous Agent Loop
8
+
9
+ This is the v1.8+ canonical loop skill name. It supersedes `autonomous-loops` while keeping compatibility for one release.
10
+
11
+ ## Loop Selection Flow
12
+
13
+ ```text
14
+ Start
15
+ |
16
+ +-- Need strict CI/PR control? -- yes --> continuous-pr
17
+ |
18
+ +-- Need RFC decomposition? -- yes --> rfc-dag
19
+ |
20
+ +-- Need exploratory parallel generation? -- yes --> infinite
21
+ |
22
+ +-- default --> sequential
23
+ ```
24
+
25
+ ## Combined Pattern
26
+
27
+ Recommended production stack:
28
+ 1. RFC decomposition (`ralphinho-rfc-pipeline`)
29
+ 2. quality gates (`plankton-code-quality` + `/quality-gate`)
30
+ 3. eval loop (`eval-harness`)
31
+ 4. session persistence (`nanoclaw-repl`)
32
+
33
+ ## Failure Modes
34
+
35
+ - loop churn without measurable progress
36
+ - repeated retries with same root cause
37
+ - merge queue stalls
38
+ - cost drift from unbounded escalation
39
+
40
+ ## Recovery
41
+
42
+ - freeze loop
43
+ - run `/harness-audit`
44
+ - reduce scope to failing unit
45
+ - replay with explicit acceptance criteria
@@ -0,0 +1,131 @@
1
+ ---
2
+ name: continuous-learning
3
+ description: "[DEPRECATED - use continuous-learning-v2] Legacy v1 stop-hook skill extractor. v2 is a strict superset with instinct-based, project-scoped, hook-reliable learning. Do not invoke v1; route continuous learning, session learning, and pattern extraction requests to continuous-learning-v2."
4
+ origin: ECC
5
+ ---
6
+
7
+ # Continuous Learning Skill - DEPRECATED
8
+
9
+ > **DEPRECATED 2026-04-28.** Use `continuous-learning-v2` instead. v2 is a strict superset: stop-hook observation becomes PreToolUse/PostToolUse observation, full skills become atomic instincts with confidence scoring, and global-only storage becomes project-scoped plus global promotion.
10
+ >
11
+ > This file is kept for archival reference and backward compatibility with existing installs.
12
+
13
+ ---
14
+
15
+ ## Original v1 Documentation (archival)
16
+
17
+ Automatically evaluates Claude Code sessions on end to extract reusable patterns that can be saved as learned skills.
18
+
19
+ ## When to Activate
20
+
21
+ - Setting up automatic pattern extraction from Claude Code sessions
22
+ - Configuring the Stop hook for session evaluation
23
+ - Reviewing or curating learned skills in `~/.claude/skills/learned/`
24
+ - Adjusting extraction thresholds or pattern categories
25
+ - Comparing v1 (this) vs v2 (instinct-based) approaches
26
+
27
+ ## Status
28
+
29
+ This v1 skill is still supported, but `continuous-learning-v2` is the preferred path for new installs. Keep v1 when you explicitly want the simpler Stop-hook extraction flow or need compatibility with older learned-skill workflows.
30
+
31
+ ## How It Works
32
+
33
+ This skill runs as a **Stop hook** at the end of each session:
34
+
35
+ 1. **Session Evaluation**: Checks if session has enough messages (default: 10+)
36
+ 2. **Pattern Detection**: Identifies extractable patterns from the session
37
+ 3. **Skill Extraction**: Saves useful patterns to `~/.claude/skills/learned/`
38
+
39
+ ## Configuration
40
+
41
+ Edit `config.json` to customize:
42
+
43
+ ```json
44
+ {
45
+ "min_session_length": 10,
46
+ "extraction_threshold": "medium",
47
+ "auto_approve": false,
48
+ "learned_skills_path": "~/.claude/skills/learned/",
49
+ "patterns_to_detect": [
50
+ "error_resolution",
51
+ "user_corrections",
52
+ "workarounds",
53
+ "debugging_techniques",
54
+ "project_specific"
55
+ ],
56
+ "ignore_patterns": [
57
+ "simple_typos",
58
+ "one_time_fixes",
59
+ "external_api_issues"
60
+ ]
61
+ }
62
+ ```
63
+
64
+ ## Pattern Types
65
+
66
+ | Pattern | Description |
67
+ |---------|-------------|
68
+ | `error_resolution` | How specific errors were resolved |
69
+ | `user_corrections` | Patterns from user corrections |
70
+ | `workarounds` | Solutions to framework/library quirks |
71
+ | `debugging_techniques` | Effective debugging approaches |
72
+ | `project_specific` | Project-specific conventions |
73
+
74
+ ## Hook Setup
75
+
76
+ Add to your `~/.claude/settings.json`:
77
+
78
+ ```json
79
+ {
80
+ "hooks": {
81
+ "Stop": [{
82
+ "matcher": "*",
83
+ "hooks": [{
84
+ "type": "command",
85
+ "command": "~/.claude/skills/continuous-learning/evaluate-session.sh"
86
+ }]
87
+ }]
88
+ }
89
+ }
90
+ ```
91
+
92
+ ## Why Stop Hook?
93
+
94
+ - **Lightweight**: Runs once at session end
95
+ - **Non-blocking**: Doesn't add latency to every message
96
+ - **Complete context**: Has access to full session transcript
97
+
98
+ ## Related
99
+
100
+ - [The Longform Guide](https://x.com/affaanmustafa/status/2014040193557471352) - Section on continuous learning
101
+ - `/learn` command - Manual pattern extraction mid-session
102
+
103
+ ---
104
+
105
+ ## Comparison Notes (Research: Jan 2025)
106
+
107
+ ### vs Homunculus
108
+
109
+ Homunculus v2 takes a more sophisticated approach:
110
+
111
+ | Feature | Our Approach | Homunculus v2 |
112
+ |---------|--------------|---------------|
113
+ | Observation | Stop hook (end of session) | PreToolUse/PostToolUse hooks (100% reliable) |
114
+ | Analysis | Main context | Background agent (Haiku) |
115
+ | Granularity | Full skills | Atomic "instincts" |
116
+ | Confidence | None | 0.3-0.9 weighted |
117
+ | Evolution | Direct to skill | Instincts → cluster → skill/command/agent |
118
+ | Sharing | None | Export/import instincts |
119
+
120
+ **Key insight from homunculus:**
121
+ > "v1 relied on skills to observe. Skills are probabilistic—they fire ~50-80% of the time. v2 uses hooks for observation (100% reliable) and instincts as the atomic unit of learned behavior."
122
+
123
+ ### Potential v2 Enhancements
124
+
125
+ 1. **Instinct-based learning** - Smaller, atomic behaviors with confidence scoring
126
+ 2. **Background observer** - Haiku agent analyzing in parallel
127
+ 3. **Confidence decay** - Instincts lose confidence if contradicted
128
+ 4. **Domain tagging** - code-style, testing, git, debugging, etc.
129
+ 5. **Evolution path** - Cluster related instincts into skills/commands
130
+
131
+ See: `docs/continuous-learning-v2-spec.md` for full spec.
@@ -0,0 +1,18 @@
1
+ {
2
+ "min_session_length": 10,
3
+ "extraction_threshold": "medium",
4
+ "auto_approve": false,
5
+ "learned_skills_path": "~/.claude/skills/learned/",
6
+ "patterns_to_detect": [
7
+ "error_resolution",
8
+ "user_corrections",
9
+ "workarounds",
10
+ "debugging_techniques",
11
+ "project_specific"
12
+ ],
13
+ "ignore_patterns": [
14
+ "simple_typos",
15
+ "one_time_fixes",
16
+ "external_api_issues"
17
+ ]
18
+ }
@@ -0,0 +1,69 @@
1
+ #!/bin/bash
2
+ # Continuous Learning - Session Evaluator
3
+ # Runs on Stop hook to extract reusable patterns from Claude Code sessions
4
+ #
5
+ # Why Stop hook instead of UserPromptSubmit:
6
+ # - Stop runs once at session end (lightweight)
7
+ # - UserPromptSubmit runs every message (heavy, adds latency)
8
+ #
9
+ # Hook config (in ~/.claude/settings.json):
10
+ # {
11
+ # "hooks": {
12
+ # "Stop": [{
13
+ # "matcher": "*",
14
+ # "hooks": [{
15
+ # "type": "command",
16
+ # "command": "~/.claude/skills/continuous-learning/evaluate-session.sh"
17
+ # }]
18
+ # }]
19
+ # }
20
+ # }
21
+ #
22
+ # Patterns to detect: error_resolution, debugging_techniques, workarounds, project_specific
23
+ # Patterns to ignore: simple_typos, one_time_fixes, external_api_issues
24
+ # Extracted skills saved to: ~/.claude/skills/learned/
25
+
26
+ set -e
27
+
28
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
29
+ CONFIG_FILE="$SCRIPT_DIR/config.json"
30
+ LEARNED_SKILLS_PATH="${HOME}/.claude/skills/learned"
31
+ MIN_SESSION_LENGTH=10
32
+
33
+ # Load config if exists
34
+ if [ -f "$CONFIG_FILE" ]; then
35
+ if ! command -v jq &>/dev/null; then
36
+ echo "[ContinuousLearning] jq is required to parse config.json but not installed, using defaults" >&2
37
+ else
38
+ MIN_SESSION_LENGTH=$(jq -r '.min_session_length // 10' "$CONFIG_FILE")
39
+ LEARNED_SKILLS_PATH=$(jq -r '.learned_skills_path // "~/.claude/skills/learned/"' "$CONFIG_FILE" | sed "s|~|$HOME|")
40
+ fi
41
+ fi
42
+
43
+ # Ensure learned skills directory exists
44
+ mkdir -p "$LEARNED_SKILLS_PATH"
45
+
46
+ # Get transcript path from stdin JSON (Claude Code hook input)
47
+ # Falls back to env var for backwards compatibility
48
+ stdin_data=$(cat)
49
+ transcript_path=$(echo "$stdin_data" | grep -o '"transcript_path":"[^"]*"' | head -1 | cut -d'"' -f4)
50
+ if [ -z "$transcript_path" ]; then
51
+ transcript_path="${CLAUDE_TRANSCRIPT_PATH:-}"
52
+ fi
53
+
54
+ if [ -z "$transcript_path" ] || [ ! -f "$transcript_path" ]; then
55
+ exit 0
56
+ fi
57
+
58
+ # Count messages in session
59
+ message_count=$(grep -c '"type":"user"' "$transcript_path" 2>/dev/null || echo "0")
60
+
61
+ # Skip short sessions
62
+ if [ "$message_count" -lt "$MIN_SESSION_LENGTH" ]; then
63
+ echo "[ContinuousLearning] Session too short ($message_count messages), skipping" >&2
64
+ exit 0
65
+ fi
66
+
67
+ # Signal to Claude that session should be evaluated for extractable patterns
68
+ echo "[ContinuousLearning] Session has $message_count messages - evaluate for extractable patterns" >&2
69
+ echo "[ContinuousLearning] Save learned skills to: $LEARNED_SKILLS_PATH" >&2