compact-agent 1.10.1 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (697) hide show
  1. package/bin/ecc-hooks.cjs +110 -0
  2. package/dist/ecc.d.ts +11 -0
  3. package/dist/ecc.js +142 -27
  4. package/dist/ecc.js.map +1 -1
  5. package/dist/index.js +47 -7
  6. package/dist/index.js.map +1 -1
  7. package/package.json +1 -1
  8. package/resources/ecc/agents/a11y-architect.md +149 -0
  9. package/resources/ecc/agents/architect.md +11 -3
  10. package/resources/ecc/agents/build-error-resolver.md +11 -4
  11. package/resources/ecc/agents/chief-of-staff.md +11 -4
  12. package/resources/ecc/agents/code-architect.md +80 -0
  13. package/resources/ecc/agents/code-explorer.md +78 -0
  14. package/resources/ecc/agents/code-reviewer.md +89 -4
  15. package/resources/ecc/agents/code-simplifier.md +56 -0
  16. package/resources/ecc/agents/comment-analyzer.md +54 -0
  17. package/resources/ecc/agents/conversation-analyzer.md +61 -0
  18. package/resources/ecc/agents/cpp-build-resolver.md +99 -0
  19. package/resources/ecc/agents/cpp-reviewer.md +81 -0
  20. package/resources/ecc/agents/csharp-reviewer.md +110 -0
  21. package/resources/ecc/agents/dart-build-resolver.md +210 -0
  22. package/resources/ecc/agents/database-reviewer.md +11 -3
  23. package/resources/ecc/agents/django-build-resolver.md +252 -0
  24. package/resources/ecc/agents/django-reviewer.md +169 -0
  25. package/resources/ecc/agents/doc-updater.md +11 -3
  26. package/resources/ecc/agents/docs-lookup.md +77 -0
  27. package/resources/ecc/agents/e2e-runner.md +11 -4
  28. package/resources/ecc/agents/fastapi-reviewer.md +79 -0
  29. package/resources/ecc/agents/flutter-reviewer.md +252 -0
  30. package/resources/ecc/agents/fsharp-reviewer.md +109 -0
  31. package/resources/ecc/agents/gan-evaluator.md +218 -0
  32. package/resources/ecc/agents/gan-generator.md +140 -0
  33. package/resources/ecc/agents/gan-planner.md +108 -0
  34. package/resources/ecc/agents/go-build-resolver.md +11 -4
  35. package/resources/ecc/agents/go-reviewer.md +11 -3
  36. package/resources/ecc/agents/harmonyos-app-resolver.md +182 -0
  37. package/resources/ecc/agents/harness-optimizer.md +12 -2
  38. package/resources/ecc/agents/healthcare-reviewer.md +92 -0
  39. package/resources/ecc/agents/homelab-architect.md +107 -0
  40. package/resources/ecc/agents/java-build-resolver.md +275 -0
  41. package/resources/ecc/agents/java-reviewer.md +190 -0
  42. package/resources/ecc/agents/kotlin-build-resolver.md +127 -0
  43. package/resources/ecc/agents/kotlin-reviewer.md +168 -0
  44. package/resources/ecc/agents/loop-operator.md +12 -3
  45. package/resources/ecc/agents/mle-reviewer.md +162 -0
  46. package/resources/ecc/agents/network-architect.md +106 -0
  47. package/resources/ecc/agents/network-config-reviewer.md +106 -0
  48. package/resources/ecc/agents/network-troubleshooter.md +128 -0
  49. package/resources/ecc/agents/opensource-forker.md +207 -0
  50. package/resources/ecc/agents/opensource-packager.md +258 -0
  51. package/resources/ecc/agents/opensource-sanitizer.md +197 -0
  52. package/resources/ecc/agents/performance-optimizer.md +455 -0
  53. package/resources/ecc/agents/planner.md +11 -2
  54. package/resources/ecc/agents/pr-test-analyzer.md +54 -0
  55. package/resources/ecc/agents/python-reviewer.md +11 -3
  56. package/resources/ecc/agents/pytorch-build-resolver.md +129 -0
  57. package/resources/ecc/agents/refactor-cleaner.md +11 -4
  58. package/resources/ecc/agents/rust-build-resolver.md +157 -0
  59. package/resources/ecc/agents/rust-reviewer.md +103 -0
  60. package/resources/ecc/agents/security-reviewer.md +11 -3
  61. package/resources/ecc/agents/seo-specialist.md +71 -0
  62. package/resources/ecc/agents/silent-failure-hunter.md +59 -0
  63. package/resources/ecc/agents/swift-build-resolver.md +170 -0
  64. package/resources/ecc/agents/swift-reviewer.md +116 -0
  65. package/resources/ecc/agents/tdd-guide.md +11 -4
  66. package/resources/ecc/agents/type-design-analyzer.md +50 -0
  67. package/resources/ecc/agents/typescript-reviewer.md +121 -0
  68. package/resources/ecc/commands/aside.md +164 -0
  69. package/resources/ecc/commands/auto-update.md +28 -0
  70. package/resources/ecc/commands/build-fix.md +66 -0
  71. package/resources/ecc/commands/checkpoint.md +78 -0
  72. package/resources/ecc/commands/code-review.md +289 -0
  73. package/resources/ecc/commands/cost-report.md +107 -0
  74. package/resources/ecc/commands/cpp-build.md +173 -0
  75. package/resources/ecc/commands/cpp-review.md +132 -0
  76. package/resources/ecc/commands/cpp-test.md +251 -0
  77. package/resources/ecc/commands/ecc-guide.md +93 -0
  78. package/resources/ecc/commands/evolve.md +178 -0
  79. package/resources/ecc/commands/fastapi-review.md +39 -0
  80. package/resources/ecc/commands/feature-dev.md +49 -0
  81. package/resources/ecc/commands/flutter-build.md +164 -0
  82. package/resources/ecc/commands/flutter-review.md +116 -0
  83. package/resources/ecc/commands/flutter-test.md +144 -0
  84. package/resources/ecc/commands/gan-build.md +103 -0
  85. package/resources/ecc/commands/gan-design.md +39 -0
  86. package/resources/ecc/commands/go-build.md +183 -0
  87. package/resources/ecc/commands/go-review.md +148 -0
  88. package/resources/ecc/commands/go-test.md +268 -0
  89. package/resources/ecc/commands/gradle-build.md +70 -0
  90. package/resources/ecc/commands/harness-audit.md +77 -0
  91. package/resources/ecc/commands/hookify-configure.md +14 -0
  92. package/resources/ecc/commands/hookify-help.md +46 -0
  93. package/resources/ecc/commands/hookify-list.md +21 -0
  94. package/resources/ecc/commands/hookify.md +50 -0
  95. package/resources/ecc/commands/instinct-export.md +66 -0
  96. package/resources/ecc/commands/instinct-import.md +114 -0
  97. package/resources/ecc/commands/instinct-status.md +59 -0
  98. package/resources/ecc/commands/jira.md +106 -0
  99. package/resources/ecc/commands/kotlin-build.md +174 -0
  100. package/resources/ecc/commands/kotlin-review.md +140 -0
  101. package/resources/ecc/commands/kotlin-test.md +312 -0
  102. package/resources/ecc/commands/learn-eval.md +116 -0
  103. package/resources/ecc/commands/learn.md +74 -0
  104. package/resources/ecc/commands/loop-start.md +36 -0
  105. package/resources/ecc/commands/loop-status.md +77 -0
  106. package/resources/ecc/commands/model-route.md +30 -0
  107. package/resources/ecc/commands/multi-backend.md +162 -0
  108. package/resources/ecc/commands/multi-execute.md +319 -0
  109. package/resources/ecc/commands/multi-frontend.md +162 -0
  110. package/resources/ecc/commands/multi-plan.md +272 -0
  111. package/resources/ecc/commands/multi-workflow.md +195 -0
  112. package/resources/ecc/commands/plan-prd.md +160 -0
  113. package/resources/ecc/commands/plan.md +200 -0
  114. package/resources/ecc/commands/pm2.md +276 -0
  115. package/resources/ecc/commands/pr.md +184 -0
  116. package/resources/ecc/commands/project-init.md +86 -0
  117. package/resources/ecc/commands/projects.md +39 -0
  118. package/resources/ecc/commands/promote.md +41 -0
  119. package/resources/ecc/commands/prp-commit.md +112 -0
  120. package/resources/ecc/commands/prp-implement.md +385 -0
  121. package/resources/ecc/commands/prp-plan.md +502 -0
  122. package/resources/ecc/commands/prp-pr.md +184 -0
  123. package/resources/ecc/commands/prp-prd.md +447 -0
  124. package/resources/ecc/commands/prune.md +31 -0
  125. package/resources/ecc/commands/python-review.md +297 -0
  126. package/resources/ecc/commands/quality-gate.md +33 -0
  127. package/resources/ecc/commands/refactor-clean.md +84 -0
  128. package/resources/ecc/commands/resume-session.md +156 -0
  129. package/resources/ecc/commands/review-pr.md +37 -0
  130. package/resources/ecc/commands/rust-build.md +187 -0
  131. package/resources/ecc/commands/rust-review.md +142 -0
  132. package/resources/ecc/commands/rust-test.md +308 -0
  133. package/resources/ecc/commands/santa-loop.md +175 -0
  134. package/resources/ecc/commands/save-session.md +275 -0
  135. package/resources/ecc/commands/security-scan.md +92 -0
  136. package/resources/ecc/commands/sessions.md +339 -0
  137. package/resources/ecc/commands/setup-pm.md +80 -0
  138. package/resources/ecc/commands/skill-create.md +174 -0
  139. package/resources/ecc/commands/skill-health.md +54 -0
  140. package/resources/ecc/commands/test-coverage.md +73 -0
  141. package/resources/ecc/commands/update-codemaps.md +76 -0
  142. package/resources/ecc/commands/update-docs.md +88 -0
  143. package/resources/ecc/rules/README.md +120 -0
  144. package/resources/ecc/rules/angular/coding-style.md +182 -0
  145. package/resources/ecc/rules/angular/hooks.md +25 -0
  146. package/resources/ecc/rules/angular/patterns.md +249 -0
  147. package/resources/ecc/rules/angular/security.md +87 -0
  148. package/resources/ecc/rules/angular/testing.md +164 -0
  149. package/resources/ecc/rules/arkts/coding-style.md +153 -0
  150. package/resources/ecc/rules/arkts/hooks.md +135 -0
  151. package/resources/ecc/rules/arkts/patterns.md +236 -0
  152. package/resources/ecc/rules/arkts/security.md +141 -0
  153. package/resources/ecc/rules/arkts/testing.md +126 -0
  154. package/resources/ecc/rules/{common-agents.md → common/agents.md} +2 -4
  155. package/resources/ecc/rules/common/code-review.md +124 -0
  156. package/resources/ecc/rules/{common-coding-style.md → common/coding-style.md} +42 -4
  157. package/resources/ecc/rules/common/development-workflow.md +44 -0
  158. package/resources/ecc/rules/{common-git-workflow.md → common/git-workflow.md} +1 -5
  159. package/resources/ecc/rules/{common-hooks.md → common/hooks.md} +0 -4
  160. package/resources/ecc/rules/{common-patterns.md → common/patterns.md} +0 -4
  161. package/resources/ecc/rules/{common-performance.md → common/performance.md} +0 -4
  162. package/resources/ecc/rules/{common-security.md → common/security.md} +0 -4
  163. package/resources/ecc/rules/{common-testing.md → common/testing.md} +28 -4
  164. package/resources/ecc/rules/cpp/coding-style.md +44 -0
  165. package/resources/ecc/rules/cpp/hooks.md +39 -0
  166. package/resources/ecc/rules/cpp/patterns.md +51 -0
  167. package/resources/ecc/rules/cpp/security.md +51 -0
  168. package/resources/ecc/rules/cpp/testing.md +44 -0
  169. package/resources/ecc/rules/csharp/coding-style.md +72 -0
  170. package/resources/ecc/rules/csharp/hooks.md +25 -0
  171. package/resources/ecc/rules/csharp/patterns.md +50 -0
  172. package/resources/ecc/rules/csharp/security.md +58 -0
  173. package/resources/ecc/rules/csharp/testing.md +46 -0
  174. package/resources/ecc/rules/dart/coding-style.md +159 -0
  175. package/resources/ecc/rules/dart/hooks.md +66 -0
  176. package/resources/ecc/rules/dart/patterns.md +261 -0
  177. package/resources/ecc/rules/dart/security.md +135 -0
  178. package/resources/ecc/rules/dart/testing.md +215 -0
  179. package/resources/ecc/rules/fsharp/coding-style.md +112 -0
  180. package/resources/ecc/rules/fsharp/hooks.md +26 -0
  181. package/resources/ecc/rules/fsharp/patterns.md +111 -0
  182. package/resources/ecc/rules/fsharp/security.md +76 -0
  183. package/resources/ecc/rules/fsharp/testing.md +62 -0
  184. package/resources/ecc/rules/{golang-coding-style.md → golang/coding-style.md} +6 -5
  185. package/resources/ecc/rules/{golang-hooks.md → golang/hooks.md} +5 -4
  186. package/resources/ecc/rules/{golang-patterns.md → golang/patterns.md} +5 -4
  187. package/resources/ecc/rules/{golang-security.md → golang/security.md} +5 -4
  188. package/resources/ecc/rules/{golang-testing.md → golang/testing.md} +5 -4
  189. package/resources/ecc/rules/java/coding-style.md +114 -0
  190. package/resources/ecc/rules/java/hooks.md +18 -0
  191. package/resources/ecc/rules/java/patterns.md +147 -0
  192. package/resources/ecc/rules/java/security.md +101 -0
  193. package/resources/ecc/rules/java/testing.md +133 -0
  194. package/resources/ecc/rules/kotlin/coding-style.md +86 -0
  195. package/resources/ecc/rules/{kotlin-hooks.md → kotlin/hooks.md} +5 -4
  196. package/resources/ecc/rules/kotlin/patterns.md +146 -0
  197. package/resources/ecc/rules/kotlin/security.md +82 -0
  198. package/resources/ecc/rules/kotlin/testing.md +128 -0
  199. package/resources/ecc/rules/perl/coding-style.md +46 -0
  200. package/resources/ecc/rules/perl/hooks.md +22 -0
  201. package/resources/ecc/rules/perl/patterns.md +76 -0
  202. package/resources/ecc/rules/perl/security.md +69 -0
  203. package/resources/ecc/rules/perl/testing.md +54 -0
  204. package/resources/ecc/rules/php/coding-style.md +40 -0
  205. package/resources/ecc/rules/{php-hooks.md → php/hooks.md} +7 -4
  206. package/resources/ecc/rules/php/patterns.md +33 -0
  207. package/resources/ecc/rules/php/security.md +37 -0
  208. package/resources/ecc/rules/php/testing.md +39 -0
  209. package/resources/ecc/rules/{python-coding-style.md → python/coding-style.md} +4 -4
  210. package/resources/ecc/rules/python/fastapi.md +58 -0
  211. package/resources/ecc/rules/{python-hooks.md → python/hooks.md} +4 -4
  212. package/resources/ecc/rules/{python-patterns.md → python/patterns.md} +4 -4
  213. package/resources/ecc/rules/{python-security.md → python/security.md} +4 -4
  214. package/resources/ecc/rules/{python-testing.md → python/testing.md} +4 -4
  215. package/resources/ecc/rules/ruby/coding-style.md +46 -0
  216. package/resources/ecc/rules/ruby/hooks.md +37 -0
  217. package/resources/ecc/rules/ruby/patterns.md +44 -0
  218. package/resources/ecc/rules/ruby/security.md +51 -0
  219. package/resources/ecc/rules/ruby/testing.md +51 -0
  220. package/resources/ecc/rules/rust/coding-style.md +151 -0
  221. package/resources/ecc/rules/rust/hooks.md +16 -0
  222. package/resources/ecc/rules/rust/patterns.md +168 -0
  223. package/resources/ecc/rules/rust/security.md +141 -0
  224. package/resources/ecc/rules/rust/testing.md +154 -0
  225. package/resources/ecc/rules/{swift-coding-style.md → swift/coding-style.md} +6 -6
  226. package/resources/ecc/rules/swift/hooks.md +20 -0
  227. package/resources/ecc/rules/{swift-patterns.md → swift/patterns.md} +5 -5
  228. package/resources/ecc/rules/{swift-security.md → swift/security.md} +7 -7
  229. package/resources/ecc/rules/{swift-testing.md → swift/testing.md} +5 -5
  230. package/resources/ecc/rules/typescript/coding-style.md +199 -0
  231. package/resources/ecc/rules/{typescript-hooks.md → typescript/hooks.md} +6 -4
  232. package/resources/ecc/rules/{typescript-patterns.md → typescript/patterns.md} +6 -4
  233. package/resources/ecc/rules/{typescript-security.md → typescript/security.md} +6 -4
  234. package/resources/ecc/rules/typescript/testing.md +18 -0
  235. package/resources/ecc/rules/web/coding-style.md +96 -0
  236. package/resources/ecc/rules/web/design-quality.md +63 -0
  237. package/resources/ecc/rules/web/hooks.md +129 -0
  238. package/resources/ecc/rules/web/patterns.md +79 -0
  239. package/resources/ecc/rules/web/performance.md +64 -0
  240. package/resources/ecc/rules/web/security.md +57 -0
  241. package/resources/ecc/rules/web/testing.md +55 -0
  242. package/resources/ecc/rules/zh/README.md +108 -0
  243. package/resources/ecc/rules/zh/agents.md +50 -0
  244. package/resources/ecc/rules/zh/code-review.md +124 -0
  245. package/resources/ecc/rules/zh/coding-style.md +48 -0
  246. package/resources/ecc/rules/zh/development-workflow.md +44 -0
  247. package/resources/ecc/rules/zh/git-workflow.md +24 -0
  248. package/resources/ecc/rules/zh/hooks.md +30 -0
  249. package/resources/ecc/rules/zh/patterns.md +31 -0
  250. package/resources/ecc/rules/zh/performance.md +55 -0
  251. package/resources/ecc/rules/zh/security.md +29 -0
  252. package/resources/ecc/rules/zh/testing.md +29 -0
  253. package/resources/ecc/skills/accessibility/SKILL.md +146 -0
  254. package/resources/ecc/skills/agent-architecture-audit/SKILL.md +256 -0
  255. package/resources/ecc/skills/agent-eval/SKILL.md +145 -0
  256. package/resources/ecc/skills/agent-harness-construction/SKILL.md +73 -0
  257. package/resources/ecc/skills/agent-introspection-debugging/SKILL.md +1 -0
  258. package/resources/ecc/skills/agent-payment-x402/SKILL.md +224 -0
  259. package/resources/ecc/skills/agent-sort/SKILL.md +1 -0
  260. package/resources/ecc/skills/agentic-engineering/SKILL.md +63 -0
  261. package/resources/ecc/skills/agentic-os/SKILL.md +387 -0
  262. package/resources/ecc/skills/ai-first-engineering/SKILL.md +51 -0
  263. package/resources/ecc/skills/ai-regression-testing/SKILL.md +385 -0
  264. package/resources/ecc/skills/android-clean-architecture/SKILL.md +339 -0
  265. package/resources/ecc/skills/angular-developer/SKILL.md +154 -0
  266. package/resources/ecc/skills/angular-developer/references/angular-animations.md +160 -0
  267. package/resources/ecc/skills/angular-developer/references/angular-aria.md +410 -0
  268. package/resources/ecc/skills/angular-developer/references/cli.md +86 -0
  269. package/resources/ecc/skills/angular-developer/references/component-harnesses.md +59 -0
  270. package/resources/ecc/skills/angular-developer/references/component-styling.md +91 -0
  271. package/resources/ecc/skills/angular-developer/references/components.md +117 -0
  272. package/resources/ecc/skills/angular-developer/references/creating-services.md +97 -0
  273. package/resources/ecc/skills/angular-developer/references/data-resolvers.md +69 -0
  274. package/resources/ecc/skills/angular-developer/references/define-routes.md +67 -0
  275. package/resources/ecc/skills/angular-developer/references/defining-providers.md +72 -0
  276. package/resources/ecc/skills/angular-developer/references/di-fundamentals.md +120 -0
  277. package/resources/ecc/skills/angular-developer/references/e2e-testing.md +56 -0
  278. package/resources/ecc/skills/angular-developer/references/effects.md +83 -0
  279. package/resources/ecc/skills/angular-developer/references/hierarchical-injectors.md +43 -0
  280. package/resources/ecc/skills/angular-developer/references/host-elements.md +80 -0
  281. package/resources/ecc/skills/angular-developer/references/injection-context.md +63 -0
  282. package/resources/ecc/skills/angular-developer/references/inputs.md +101 -0
  283. package/resources/ecc/skills/angular-developer/references/linked-signal.md +59 -0
  284. package/resources/ecc/skills/angular-developer/references/loading-strategies.md +61 -0
  285. package/resources/ecc/skills/angular-developer/references/mcp.md +108 -0
  286. package/resources/ecc/skills/angular-developer/references/navigate-to-routes.md +69 -0
  287. package/resources/ecc/skills/angular-developer/references/outputs.md +86 -0
  288. package/resources/ecc/skills/angular-developer/references/reactive-forms.md +122 -0
  289. package/resources/ecc/skills/angular-developer/references/rendering-strategies.md +44 -0
  290. package/resources/ecc/skills/angular-developer/references/resource.md +77 -0
  291. package/resources/ecc/skills/angular-developer/references/route-animations.md +56 -0
  292. package/resources/ecc/skills/angular-developer/references/route-guards.md +52 -0
  293. package/resources/ecc/skills/angular-developer/references/router-lifecycle.md +45 -0
  294. package/resources/ecc/skills/angular-developer/references/router-testing.md +87 -0
  295. package/resources/ecc/skills/angular-developer/references/show-routes-with-outlets.md +68 -0
  296. package/resources/ecc/skills/angular-developer/references/signal-forms.md +795 -0
  297. package/resources/ecc/skills/angular-developer/references/signals-overview.md +94 -0
  298. package/resources/ecc/skills/angular-developer/references/tailwind-css.md +69 -0
  299. package/resources/ecc/skills/angular-developer/references/template-driven-forms.md +114 -0
  300. package/resources/ecc/skills/angular-developer/references/testing-fundamentals.md +65 -0
  301. package/resources/ecc/skills/api-connector-builder/SKILL.md +120 -0
  302. package/resources/ecc/skills/api-design/SKILL.md +1 -0
  303. package/resources/ecc/skills/architecture-decision-records/SKILL.md +179 -0
  304. package/resources/ecc/skills/article-writing/SKILL.md +1 -0
  305. package/resources/ecc/skills/automation-audit-ops/SKILL.md +142 -0
  306. package/resources/ecc/skills/autonomous-agent-harness/SKILL.md +273 -0
  307. package/resources/ecc/skills/autonomous-loops/SKILL.md +610 -0
  308. package/resources/ecc/skills/backend-patterns/SKILL.md +8 -44
  309. package/resources/ecc/skills/benchmark/SKILL.md +93 -0
  310. package/resources/ecc/skills/blueprint/SKILL.md +105 -0
  311. package/resources/ecc/skills/brand-voice/SKILL.md +1 -0
  312. package/resources/ecc/skills/browser-qa/SKILL.md +87 -0
  313. package/resources/ecc/skills/bun-runtime/SKILL.md +1 -0
  314. package/resources/ecc/skills/canary-watch/SKILL.md +99 -0
  315. package/resources/ecc/skills/carrier-relationship-management/SKILL.md +212 -0
  316. package/resources/ecc/skills/cisco-ios-patterns/SKILL.md +163 -0
  317. package/resources/ecc/skills/ck/SKILL.md +147 -0
  318. package/resources/ecc/skills/ck/commands/forget.mjs +44 -0
  319. package/resources/ecc/skills/ck/commands/info.mjs +24 -0
  320. package/resources/ecc/skills/ck/commands/init.mjs +143 -0
  321. package/resources/ecc/skills/ck/commands/list.mjs +40 -0
  322. package/resources/ecc/skills/ck/commands/migrate.mjs +202 -0
  323. package/resources/ecc/skills/ck/commands/resume.mjs +36 -0
  324. package/resources/ecc/skills/ck/commands/save.mjs +210 -0
  325. package/resources/ecc/skills/ck/commands/shared.mjs +387 -0
  326. package/resources/ecc/skills/ck/hooks/session-start.mjs +224 -0
  327. package/resources/ecc/skills/claude-devfleet/SKILL.md +103 -0
  328. package/resources/ecc/skills/click-path-audit/SKILL.md +244 -0
  329. package/resources/ecc/skills/clickhouse-io/SKILL.md +439 -0
  330. package/resources/ecc/skills/code-tour/SKILL.md +236 -0
  331. package/resources/ecc/skills/codebase-onboarding/SKILL.md +233 -0
  332. package/resources/ecc/skills/coding-standards/SKILL.md +1 -0
  333. package/resources/ecc/skills/compose-multiplatform-patterns/SKILL.md +299 -0
  334. package/resources/ecc/skills/configure-ecc/SKILL.md +384 -0
  335. package/resources/ecc/skills/connections-optimizer/SKILL.md +189 -0
  336. package/resources/ecc/skills/content-engine/SKILL.md +1 -0
  337. package/resources/ecc/skills/content-hash-cache-pattern/SKILL.md +161 -0
  338. package/resources/ecc/skills/context-budget/SKILL.md +135 -0
  339. package/resources/ecc/skills/continuous-agent-loop/SKILL.md +45 -0
  340. package/resources/ecc/skills/continuous-learning/SKILL.md +131 -0
  341. package/resources/ecc/skills/continuous-learning/config.json +18 -0
  342. package/resources/ecc/skills/continuous-learning/evaluate-session.sh +69 -0
  343. package/resources/ecc/skills/continuous-learning-v2/SKILL.md +360 -0
  344. package/resources/ecc/skills/continuous-learning-v2/agents/observer-loop.sh +322 -0
  345. package/resources/ecc/skills/continuous-learning-v2/agents/observer.md +198 -0
  346. package/resources/ecc/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
  347. package/resources/ecc/skills/continuous-learning-v2/agents/start-observer.sh +248 -0
  348. package/resources/ecc/skills/continuous-learning-v2/config.json +8 -0
  349. package/resources/ecc/skills/continuous-learning-v2/hooks/observe.sh +476 -0
  350. package/resources/ecc/skills/continuous-learning-v2/scripts/detect-project.sh +288 -0
  351. package/resources/ecc/skills/continuous-learning-v2/scripts/instinct-cli.py +1519 -0
  352. package/resources/ecc/skills/continuous-learning-v2/scripts/lib/homunculus-dir.sh +31 -0
  353. package/resources/ecc/skills/continuous-learning-v2/scripts/migrate-homunculus.sh +62 -0
  354. package/resources/ecc/skills/continuous-learning-v2/scripts/test_parse_instinct.py +1018 -0
  355. package/resources/ecc/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
  356. package/resources/ecc/skills/cost-tracking/SKILL.md +147 -0
  357. package/resources/ecc/skills/council/SKILL.md +203 -0
  358. package/resources/ecc/skills/cpp-coding-standards/SKILL.md +723 -0
  359. package/resources/ecc/skills/cpp-testing/SKILL.md +324 -0
  360. package/resources/ecc/skills/crosspost/SKILL.md +1 -0
  361. package/resources/ecc/skills/csharp-testing/SKILL.md +321 -0
  362. package/resources/ecc/skills/customer-billing-ops/SKILL.md +140 -0
  363. package/resources/ecc/skills/customs-trade-compliance/SKILL.md +263 -0
  364. package/resources/ecc/skills/dart-flutter-patterns/SKILL.md +563 -0
  365. package/resources/ecc/skills/dashboard-builder/SKILL.md +108 -0
  366. package/resources/ecc/skills/data-scraper-agent/SKILL.md +764 -0
  367. package/resources/ecc/skills/database-migrations/SKILL.md +429 -0
  368. package/resources/ecc/skills/deep-research/SKILL.md +5 -0
  369. package/resources/ecc/skills/defi-amm-security/SKILL.md +166 -0
  370. package/resources/ecc/skills/deployment-patterns/SKILL.md +427 -0
  371. package/resources/ecc/skills/design-system/SKILL.md +82 -0
  372. package/resources/ecc/skills/django-celery/SKILL.md +457 -0
  373. package/resources/ecc/skills/django-patterns/SKILL.md +734 -0
  374. package/resources/ecc/skills/django-security/SKILL.md +593 -0
  375. package/resources/ecc/skills/django-tdd/SKILL.md +729 -0
  376. package/resources/ecc/skills/django-verification/SKILL.md +469 -0
  377. package/resources/ecc/skills/dmux-workflows/SKILL.md +52 -4
  378. package/resources/ecc/skills/docker-patterns/SKILL.md +364 -0
  379. package/resources/ecc/skills/documentation-lookup/SKILL.md +1 -0
  380. package/resources/ecc/skills/dotnet-patterns/SKILL.md +321 -0
  381. package/resources/ecc/skills/e2e-testing/SKILL.md +1 -0
  382. package/resources/ecc/skills/ecc-guide/SKILL.md +189 -0
  383. package/resources/ecc/skills/ecc-tools-cost-audit/SKILL.md +160 -0
  384. package/resources/ecc/skills/email-ops/SKILL.md +121 -0
  385. package/resources/ecc/skills/energy-procurement/SKILL.md +228 -0
  386. package/resources/ecc/skills/enterprise-agent-ops/SKILL.md +50 -0
  387. package/resources/ecc/skills/error-handling/SKILL.md +376 -0
  388. package/resources/ecc/skills/eval-harness/SKILL.md +36 -1
  389. package/resources/ecc/skills/evm-token-decimals/SKILL.md +130 -0
  390. package/resources/ecc/skills/exa-search/SKILL.md +18 -80
  391. package/resources/ecc/skills/fal-ai-media/SKILL.md +32 -20
  392. package/resources/ecc/skills/fastapi-patterns/SKILL.md +327 -0
  393. package/resources/ecc/skills/finance-billing-ops/SKILL.md +127 -0
  394. package/resources/ecc/skills/flox-environments/SKILL.md +496 -0
  395. package/resources/ecc/skills/flutter-dart-code-review/SKILL.md +435 -0
  396. package/resources/ecc/skills/foundation-models-on-device/SKILL.md +243 -0
  397. package/resources/ecc/skills/frontend-design-direction/SKILL.md +92 -0
  398. package/resources/ecc/skills/frontend-patterns/SKILL.md +1 -6
  399. package/resources/ecc/skills/frontend-slides/SKILL.md +2 -1
  400. package/resources/ecc/skills/frontend-slides/animation-patterns.md +122 -0
  401. package/resources/ecc/skills/frontend-slides/html-template.md +419 -0
  402. package/resources/ecc/skills/frontend-slides/scripts/export-pdf.sh +418 -0
  403. package/resources/ecc/skills/frontend-slides/scripts/extract-pptx.py +96 -0
  404. package/resources/ecc/skills/frontend-slides/viewport-base.css +153 -0
  405. package/resources/ecc/skills/fsharp-testing/SKILL.md +280 -0
  406. package/resources/ecc/skills/gan-style-harness/SKILL.md +278 -0
  407. package/resources/ecc/skills/gateguard/SKILL.md +125 -0
  408. package/resources/ecc/skills/git-workflow/SKILL.md +715 -0
  409. package/resources/ecc/skills/github-ops/SKILL.md +144 -0
  410. package/resources/ecc/skills/golang-patterns/SKILL.md +674 -0
  411. package/resources/ecc/skills/golang-testing/SKILL.md +720 -0
  412. package/resources/ecc/skills/google-workspace-ops/SKILL.md +95 -0
  413. package/resources/ecc/skills/healthcare-cdss-patterns/SKILL.md +245 -0
  414. package/resources/ecc/skills/healthcare-emr-patterns/SKILL.md +159 -0
  415. package/resources/ecc/skills/healthcare-eval-harness/SKILL.md +207 -0
  416. package/resources/ecc/skills/healthcare-phi-compliance/SKILL.md +145 -0
  417. package/resources/ecc/skills/hermes-imports/SKILL.md +88 -0
  418. package/resources/ecc/skills/hexagonal-architecture/SKILL.md +276 -0
  419. package/resources/ecc/skills/hipaa-compliance/SKILL.md +78 -0
  420. package/resources/ecc/skills/homelab-network-readiness/SKILL.md +169 -0
  421. package/resources/ecc/skills/homelab-network-setup/SKILL.md +129 -0
  422. package/resources/ecc/skills/homelab-pihole-dns/SKILL.md +274 -0
  423. package/resources/ecc/skills/homelab-vlan-segmentation/SKILL.md +311 -0
  424. package/resources/ecc/skills/homelab-wireguard-vpn/SKILL.md +305 -0
  425. package/resources/ecc/skills/hookify-rules/SKILL.md +128 -0
  426. package/resources/ecc/skills/inventory-demand-planning/SKILL.md +247 -0
  427. package/resources/ecc/skills/investor-materials/SKILL.md +1 -0
  428. package/resources/ecc/skills/investor-outreach/SKILL.md +1 -0
  429. package/resources/ecc/skills/ios-icon-gen/SKILL.md +157 -0
  430. package/resources/ecc/skills/ios-icon-gen/scripts/generate_icons.swift +258 -0
  431. package/resources/ecc/skills/ios-icon-gen/scripts/iconify_gen.sh +235 -0
  432. package/resources/ecc/skills/iterative-retrieval/SKILL.md +211 -0
  433. package/resources/ecc/skills/java-coding-standards/SKILL.md +383 -0
  434. package/resources/ecc/skills/jira-integration/SKILL.md +293 -0
  435. package/resources/ecc/skills/jpa-patterns/SKILL.md +151 -0
  436. package/resources/ecc/skills/knowledge-ops/SKILL.md +154 -0
  437. package/resources/ecc/skills/kotlin-coroutines-flows/SKILL.md +284 -0
  438. package/resources/ecc/skills/kotlin-exposed-patterns/SKILL.md +719 -0
  439. package/resources/ecc/skills/kotlin-ktor-patterns/SKILL.md +689 -0
  440. package/resources/ecc/skills/kotlin-patterns/SKILL.md +711 -0
  441. package/resources/ecc/skills/kotlin-testing/SKILL.md +824 -0
  442. package/resources/ecc/skills/laravel-patterns/SKILL.md +415 -0
  443. package/resources/ecc/skills/laravel-plugin-discovery/SKILL.md +229 -0
  444. package/resources/ecc/skills/laravel-security/SKILL.md +285 -0
  445. package/resources/ecc/skills/laravel-tdd/SKILL.md +283 -0
  446. package/resources/ecc/skills/laravel-verification/SKILL.md +179 -0
  447. package/resources/ecc/skills/lead-intelligence/SKILL.md +321 -0
  448. package/resources/ecc/skills/lead-intelligence/agents/enrichment-agent.md +85 -0
  449. package/resources/ecc/skills/lead-intelligence/agents/mutual-mapper.md +75 -0
  450. package/resources/ecc/skills/lead-intelligence/agents/outreach-drafter.md +98 -0
  451. package/resources/ecc/skills/lead-intelligence/agents/signal-scorer.md +60 -0
  452. package/resources/ecc/skills/liquid-glass-design/SKILL.md +279 -0
  453. package/resources/ecc/skills/llm-trading-agent-security/SKILL.md +146 -0
  454. package/resources/ecc/skills/logistics-exception-management/SKILL.md +222 -0
  455. package/resources/ecc/skills/make-interfaces-feel-better/SKILL.md +151 -0
  456. package/resources/ecc/skills/manim-video/SKILL.md +89 -0
  457. package/resources/ecc/skills/manim-video/assets/network_graph_scene.py +52 -0
  458. package/resources/ecc/skills/market-research/SKILL.md +1 -0
  459. package/resources/ecc/skills/mcp-server-patterns/SKILL.md +3 -0
  460. package/resources/ecc/skills/messages-ops/SKILL.md +104 -0
  461. package/resources/ecc/skills/mle-workflow/SKILL.md +1 -1
  462. package/resources/ecc/skills/motion-advanced/SKILL.md +596 -0
  463. package/resources/ecc/skills/motion-foundations/SKILL.md +299 -0
  464. package/resources/ecc/skills/motion-patterns/SKILL.md +435 -0
  465. package/resources/ecc/skills/motion-ui/SKILL.md +575 -0
  466. package/resources/ecc/skills/mysql-patterns/SKILL.md +412 -0
  467. package/resources/ecc/skills/nanoclaw-repl/SKILL.md +33 -0
  468. package/resources/ecc/skills/nestjs-patterns/SKILL.md +230 -0
  469. package/resources/ecc/skills/netmiko-ssh-automation/SKILL.md +173 -0
  470. package/resources/ecc/skills/network-bgp-diagnostics/SKILL.md +167 -0
  471. package/resources/ecc/skills/network-config-validation/SKILL.md +210 -0
  472. package/resources/ecc/skills/network-interface-health/SKILL.md +152 -0
  473. package/resources/ecc/skills/nextjs-turbopack/SKILL.md +1 -0
  474. package/resources/ecc/skills/nodejs-keccak256/SKILL.md +102 -0
  475. package/resources/ecc/skills/nutrient-document-processing/SKILL.md +167 -0
  476. package/resources/ecc/skills/nuxt4-patterns/SKILL.md +100 -0
  477. package/resources/ecc/skills/openclaw-persona-forge/SKILL.md +288 -0
  478. package/resources/ecc/skills/openclaw-persona-forge/gacha.py +224 -0
  479. package/resources/ecc/skills/openclaw-persona-forge/gacha.sh +5 -0
  480. package/resources/ecc/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
  481. package/resources/ecc/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
  482. package/resources/ecc/skills/openclaw-persona-forge/references/error-handling.md +53 -0
  483. package/resources/ecc/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
  484. package/resources/ecc/skills/openclaw-persona-forge/references/naming-system.md +39 -0
  485. package/resources/ecc/skills/openclaw-persona-forge/references/output-template.md +166 -0
  486. package/resources/ecc/skills/opensource-pipeline/SKILL.md +255 -0
  487. package/resources/ecc/skills/perl-patterns/SKILL.md +504 -0
  488. package/resources/ecc/skills/perl-security/SKILL.md +503 -0
  489. package/resources/ecc/skills/perl-testing/SKILL.md +475 -0
  490. package/resources/ecc/skills/plan-orchestrate/SKILL.md +262 -0
  491. package/resources/ecc/skills/plankton-code-quality/SKILL.md +236 -0
  492. package/resources/ecc/skills/postgres-patterns/SKILL.md +147 -0
  493. package/resources/ecc/skills/product-capability/SKILL.md +1 -0
  494. package/resources/ecc/skills/product-lens/SKILL.md +92 -0
  495. package/resources/ecc/skills/production-audit/SKILL.md +206 -0
  496. package/resources/ecc/skills/production-scheduling/SKILL.md +238 -0
  497. package/resources/ecc/skills/project-flow-ops/SKILL.md +111 -0
  498. package/resources/ecc/skills/prompt-optimizer/SKILL.md +398 -0
  499. package/resources/ecc/skills/python-patterns/SKILL.md +750 -0
  500. package/resources/ecc/skills/python-testing/SKILL.md +816 -0
  501. package/resources/ecc/skills/pytorch-patterns/SKILL.md +396 -0
  502. package/resources/ecc/skills/quality-nonconformance/SKILL.md +260 -0
  503. package/resources/ecc/skills/quarkus-patterns/SKILL.md +722 -0
  504. package/resources/ecc/skills/quarkus-security/SKILL.md +467 -0
  505. package/resources/ecc/skills/quarkus-tdd/SKILL.md +811 -0
  506. package/resources/ecc/skills/quarkus-verification/SKILL.md +479 -0
  507. package/resources/ecc/skills/ralphinho-rfc-pipeline/SKILL.md +67 -0
  508. package/resources/ecc/skills/redis-patterns/SKILL.md +403 -0
  509. package/resources/ecc/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
  510. package/resources/ecc/skills/remotion-video-creation/SKILL.md +43 -0
  511. package/resources/ecc/skills/remotion-video-creation/rules/3d.md +86 -0
  512. package/resources/ecc/skills/remotion-video-creation/rules/animations.md +29 -0
  513. package/resources/ecc/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -0
  514. package/resources/ecc/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -0
  515. package/resources/ecc/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -0
  516. package/resources/ecc/skills/remotion-video-creation/rules/assets.md +78 -0
  517. package/resources/ecc/skills/remotion-video-creation/rules/audio.md +172 -0
  518. package/resources/ecc/skills/remotion-video-creation/rules/calculate-metadata.md +104 -0
  519. package/resources/ecc/skills/remotion-video-creation/rules/can-decode.md +75 -0
  520. package/resources/ecc/skills/remotion-video-creation/rules/charts.md +58 -0
  521. package/resources/ecc/skills/remotion-video-creation/rules/compositions.md +146 -0
  522. package/resources/ecc/skills/remotion-video-creation/rules/display-captions.md +126 -0
  523. package/resources/ecc/skills/remotion-video-creation/rules/extract-frames.md +229 -0
  524. package/resources/ecc/skills/remotion-video-creation/rules/fonts.md +152 -0
  525. package/resources/ecc/skills/remotion-video-creation/rules/get-audio-duration.md +58 -0
  526. package/resources/ecc/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -0
  527. package/resources/ecc/skills/remotion-video-creation/rules/get-video-duration.md +58 -0
  528. package/resources/ecc/skills/remotion-video-creation/rules/gifs.md +138 -0
  529. package/resources/ecc/skills/remotion-video-creation/rules/images.md +130 -0
  530. package/resources/ecc/skills/remotion-video-creation/rules/import-srt-captions.md +67 -0
  531. package/resources/ecc/skills/remotion-video-creation/rules/lottie.md +67 -0
  532. package/resources/ecc/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -0
  533. package/resources/ecc/skills/remotion-video-creation/rules/measuring-text.md +143 -0
  534. package/resources/ecc/skills/remotion-video-creation/rules/sequencing.md +106 -0
  535. package/resources/ecc/skills/remotion-video-creation/rules/tailwind.md +11 -0
  536. package/resources/ecc/skills/remotion-video-creation/rules/text-animations.md +20 -0
  537. package/resources/ecc/skills/remotion-video-creation/rules/timing.md +179 -0
  538. package/resources/ecc/skills/remotion-video-creation/rules/transcribe-captions.md +19 -0
  539. package/resources/ecc/skills/remotion-video-creation/rules/transitions.md +122 -0
  540. package/resources/ecc/skills/remotion-video-creation/rules/trimming.md +52 -0
  541. package/resources/ecc/skills/remotion-video-creation/rules/videos.md +171 -0
  542. package/resources/ecc/skills/repo-scan/SKILL.md +78 -0
  543. package/resources/ecc/skills/research-ops/SKILL.md +112 -0
  544. package/resources/ecc/skills/returns-reverse-logistics/SKILL.md +240 -0
  545. package/resources/ecc/skills/rules-distill/SKILL.md +264 -0
  546. package/resources/ecc/skills/rules-distill/scripts/scan-rules.sh +58 -0
  547. package/resources/ecc/skills/rules-distill/scripts/scan-skills.sh +129 -0
  548. package/resources/ecc/skills/rust-patterns/SKILL.md +499 -0
  549. package/resources/ecc/skills/rust-testing/SKILL.md +500 -0
  550. package/resources/ecc/skills/safety-guard/SKILL.md +75 -0
  551. package/resources/ecc/skills/santa-method/SKILL.md +306 -0
  552. package/resources/ecc/skills/scientific-db-pubmed-database/SKILL.md +175 -0
  553. package/resources/ecc/skills/scientific-db-uspto-database/SKILL.md +177 -0
  554. package/resources/ecc/skills/scientific-pkg-gget/SKILL.md +166 -0
  555. package/resources/ecc/skills/scientific-thinking-literature-review/SKILL.md +192 -0
  556. package/resources/ecc/skills/scientific-thinking-scholar-evaluation/SKILL.md +160 -0
  557. package/resources/ecc/skills/search-first/SKILL.md +182 -0
  558. package/resources/ecc/skills/security-bounty-hunter/SKILL.md +99 -0
  559. package/resources/ecc/skills/security-review/SKILL.md +11 -2
  560. package/resources/ecc/skills/security-review/cloud-infrastructure-security.md +361 -0
  561. package/resources/ecc/skills/security-scan/SKILL.md +165 -0
  562. package/resources/ecc/skills/seo/SKILL.md +154 -0
  563. package/resources/ecc/skills/skill-comply/SKILL.md +58 -0
  564. package/resources/ecc/skills/skill-comply/fixtures/compliant_trace.jsonl +5 -0
  565. package/resources/ecc/skills/skill-comply/fixtures/noncompliant_trace.jsonl +3 -0
  566. package/resources/ecc/skills/skill-comply/fixtures/tdd_spec.yaml +44 -0
  567. package/resources/ecc/skills/skill-comply/prompts/classifier.md +24 -0
  568. package/resources/ecc/skills/skill-comply/prompts/scenario_generator.md +62 -0
  569. package/resources/ecc/skills/skill-comply/prompts/spec_generator.md +42 -0
  570. package/resources/ecc/skills/skill-comply/pyproject.toml +15 -0
  571. package/resources/ecc/skills/skill-comply/scripts/__init__.py +0 -0
  572. package/resources/ecc/skills/skill-comply/scripts/classifier.py +85 -0
  573. package/resources/ecc/skills/skill-comply/scripts/grader.py +124 -0
  574. package/resources/ecc/skills/skill-comply/scripts/parser.py +107 -0
  575. package/resources/ecc/skills/skill-comply/scripts/report.py +170 -0
  576. package/resources/ecc/skills/skill-comply/scripts/run.py +127 -0
  577. package/resources/ecc/skills/skill-comply/scripts/runner.py +186 -0
  578. package/resources/ecc/skills/skill-comply/scripts/scenario_generator.py +70 -0
  579. package/resources/ecc/skills/skill-comply/scripts/spec_generator.py +72 -0
  580. package/resources/ecc/skills/skill-comply/scripts/utils.py +13 -0
  581. package/resources/ecc/skills/skill-comply/tests/test_grader.py +197 -0
  582. package/resources/ecc/skills/skill-comply/tests/test_parser.py +90 -0
  583. package/resources/ecc/skills/skill-comply/tests/test_runner.py +172 -0
  584. package/resources/ecc/skills/skill-scout/SKILL.md +140 -0
  585. package/resources/ecc/skills/skill-stocktake/SKILL.md +194 -0
  586. package/resources/ecc/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
  587. package/resources/ecc/skills/skill-stocktake/scripts/save-results.sh +56 -0
  588. package/resources/ecc/skills/skill-stocktake/scripts/scan.sh +170 -0
  589. package/resources/ecc/skills/social-graph-ranker/SKILL.md +154 -0
  590. package/resources/ecc/skills/springboot-patterns/SKILL.md +314 -0
  591. package/resources/ecc/skills/springboot-security/SKILL.md +272 -0
  592. package/resources/ecc/skills/springboot-tdd/SKILL.md +158 -0
  593. package/resources/ecc/skills/springboot-verification/SKILL.md +231 -0
  594. package/resources/ecc/skills/strategic-compact/SKILL.md +31 -2
  595. package/resources/ecc/skills/strategic-compact/suggest-compact.sh +54 -0
  596. package/resources/ecc/skills/swift-actor-persistence/SKILL.md +143 -0
  597. package/resources/ecc/skills/swift-concurrency-6-2/SKILL.md +216 -0
  598. package/resources/ecc/skills/swift-protocol-di-testing/SKILL.md +190 -0
  599. package/resources/ecc/skills/swiftui-patterns/SKILL.md +259 -0
  600. package/resources/ecc/skills/tdd-workflow/SKILL.md +54 -0
  601. package/resources/ecc/skills/team-builder/SKILL.md +168 -0
  602. package/resources/ecc/skills/terminal-ops/SKILL.md +109 -0
  603. package/resources/ecc/skills/tinystruct-patterns/SKILL.md +131 -0
  604. package/resources/ecc/skills/tinystruct-patterns/references/architecture.md +77 -0
  605. package/resources/ecc/skills/tinystruct-patterns/references/data-handling.md +35 -0
  606. package/resources/ecc/skills/tinystruct-patterns/references/routing.md +57 -0
  607. package/resources/ecc/skills/tinystruct-patterns/references/system-usage.md +74 -0
  608. package/resources/ecc/skills/tinystruct-patterns/references/testing.md +59 -0
  609. package/resources/ecc/skills/token-budget-advisor/SKILL.md +133 -0
  610. package/resources/ecc/skills/ui-demo/SKILL.md +465 -0
  611. package/resources/ecc/skills/ui-to-vue/SKILL.md +134 -0
  612. package/resources/ecc/skills/unified-notifications-ops/SKILL.md +187 -0
  613. package/resources/ecc/skills/verification-loop/SKILL.md +1 -0
  614. package/resources/ecc/skills/video-editing/SKILL.md +4 -1
  615. package/resources/ecc/skills/videodb/SKILL.md +374 -0
  616. package/resources/ecc/skills/videodb/reference/api-reference.md +550 -0
  617. package/resources/ecc/skills/videodb/reference/capture-reference.md +407 -0
  618. package/resources/ecc/skills/videodb/reference/capture.md +101 -0
  619. package/resources/ecc/skills/videodb/reference/editor.md +443 -0
  620. package/resources/ecc/skills/videodb/reference/generative.md +331 -0
  621. package/resources/ecc/skills/videodb/reference/rtstream-reference.md +564 -0
  622. package/resources/ecc/skills/videodb/reference/rtstream.md +65 -0
  623. package/resources/ecc/skills/videodb/reference/search.md +230 -0
  624. package/resources/ecc/skills/videodb/reference/streaming.md +406 -0
  625. package/resources/ecc/skills/videodb/reference/use-cases.md +118 -0
  626. package/resources/ecc/skills/videodb/scripts/ws_listener.py +282 -0
  627. package/resources/ecc/skills/visa-doc-translate/README.md +86 -0
  628. package/resources/ecc/skills/visa-doc-translate/SKILL.md +117 -0
  629. package/resources/ecc/skills/vite-patterns/SKILL.md +449 -0
  630. package/resources/ecc/skills/windows-desktop-e2e/SKILL.md +788 -0
  631. package/resources/ecc/skills/workspace-surface-audit/SKILL.md +125 -0
  632. package/resources/ecc/skills/x-api/SKILL.md +5 -0
  633. package/resources/ecc/agents/architect.json +0 -16
  634. package/resources/ecc/agents/build-error-resolver.json +0 -17
  635. package/resources/ecc/agents/chief-of-staff.json +0 -17
  636. package/resources/ecc/agents/code-reviewer.json +0 -16
  637. package/resources/ecc/agents/database-reviewer.json +0 -16
  638. package/resources/ecc/agents/doc-updater.json +0 -16
  639. package/resources/ecc/agents/e2e-runner.json +0 -17
  640. package/resources/ecc/agents/go-build-resolver.json +0 -17
  641. package/resources/ecc/agents/go-reviewer.json +0 -16
  642. package/resources/ecc/agents/harness-optimizer.json +0 -15
  643. package/resources/ecc/agents/loop-operator.json +0 -16
  644. package/resources/ecc/agents/planner.json +0 -15
  645. package/resources/ecc/agents/python-reviewer.json +0 -16
  646. package/resources/ecc/agents/refactor-cleaner.json +0 -17
  647. package/resources/ecc/agents/security-reviewer.json +0 -16
  648. package/resources/ecc/agents/tdd-guide.json +0 -17
  649. package/resources/ecc/commands/add-language-rules.md +0 -39
  650. package/resources/ecc/commands/database-migration.md +0 -36
  651. package/resources/ecc/commands/feature-development.md +0 -38
  652. package/resources/ecc/rules/common-development-workflow.md +0 -33
  653. package/resources/ecc/rules/kotlin-coding-style.md +0 -39
  654. package/resources/ecc/rules/kotlin-patterns.md +0 -50
  655. package/resources/ecc/rules/kotlin-security.md +0 -58
  656. package/resources/ecc/rules/kotlin-testing.md +0 -38
  657. package/resources/ecc/rules/php-coding-style.md +0 -25
  658. package/resources/ecc/rules/php-patterns.md +0 -23
  659. package/resources/ecc/rules/php-security.md +0 -24
  660. package/resources/ecc/rules/php-testing.md +0 -26
  661. package/resources/ecc/rules/swift-hooks.md +0 -20
  662. package/resources/ecc/rules/typescript-coding-style.md +0 -63
  663. package/resources/ecc/rules/typescript-testing.md +0 -16
  664. package/resources/ecc/skills/agent-introspection-debugging/agents/openai.yaml +0 -7
  665. package/resources/ecc/skills/agent-sort/agents/openai.yaml +0 -7
  666. package/resources/ecc/skills/api-design/agents/openai.yaml +0 -7
  667. package/resources/ecc/skills/article-writing/agents/openai.yaml +0 -7
  668. package/resources/ecc/skills/backend-patterns/agents/openai.yaml +0 -7
  669. package/resources/ecc/skills/brand-voice/agents/openai.yaml +0 -7
  670. package/resources/ecc/skills/bun-runtime/agents/openai.yaml +0 -7
  671. package/resources/ecc/skills/coding-standards/agents/openai.yaml +0 -7
  672. package/resources/ecc/skills/content-engine/agents/openai.yaml +0 -7
  673. package/resources/ecc/skills/crosspost/agents/openai.yaml +0 -7
  674. package/resources/ecc/skills/deep-research/agents/openai.yaml +0 -7
  675. package/resources/ecc/skills/dmux-workflows/agents/openai.yaml +0 -7
  676. package/resources/ecc/skills/documentation-lookup/agents/openai.yaml +0 -7
  677. package/resources/ecc/skills/e2e-testing/agents/openai.yaml +0 -7
  678. package/resources/ecc/skills/eval-harness/agents/openai.yaml +0 -7
  679. package/resources/ecc/skills/everything-claude-code/SKILL.md +0 -442
  680. package/resources/ecc/skills/everything-claude-code/agents/openai.yaml +0 -7
  681. package/resources/ecc/skills/exa-search/agents/openai.yaml +0 -7
  682. package/resources/ecc/skills/fal-ai-media/agents/openai.yaml +0 -7
  683. package/resources/ecc/skills/frontend-patterns/agents/openai.yaml +0 -7
  684. package/resources/ecc/skills/frontend-slides/agents/openai.yaml +0 -7
  685. package/resources/ecc/skills/investor-materials/agents/openai.yaml +0 -7
  686. package/resources/ecc/skills/investor-outreach/agents/openai.yaml +0 -7
  687. package/resources/ecc/skills/market-research/agents/openai.yaml +0 -7
  688. package/resources/ecc/skills/mcp-server-patterns/agents/openai.yaml +0 -7
  689. package/resources/ecc/skills/mle-workflow/agents/openai.yaml +0 -7
  690. package/resources/ecc/skills/nextjs-turbopack/agents/openai.yaml +0 -7
  691. package/resources/ecc/skills/product-capability/agents/openai.yaml +0 -7
  692. package/resources/ecc/skills/security-review/agents/openai.yaml +0 -7
  693. package/resources/ecc/skills/strategic-compact/agents/openai.yaml +0 -7
  694. package/resources/ecc/skills/tdd-workflow/agents/openai.yaml +0 -7
  695. package/resources/ecc/skills/verification-loop/agents/openai.yaml +0 -7
  696. package/resources/ecc/skills/video-editing/agents/openai.yaml +0 -7
  697. package/resources/ecc/skills/x-api/agents/openai.yaml +0 -7
@@ -0,0 +1,73 @@
1
+ ---
2
+ description: Analyze coverage, identify gaps, and generate missing tests toward the target threshold.
3
+ ---
4
+
5
+ # Test Coverage
6
+
7
+ Analyze test coverage, identify gaps, and generate missing tests to reach 80%+ coverage.
8
+
9
+ ## Step 1: Detect Test Framework
10
+
11
+ | Indicator | Coverage Command |
12
+ |-----------|-----------------|
13
+ | `jest.config.*` or `package.json` jest | `npx jest --coverage --coverageReporters=json-summary` |
14
+ | `vitest.config.*` | `npx vitest run --coverage` |
15
+ | `pytest.ini` / `pyproject.toml` pytest | `pytest --cov=src --cov-report=json` |
16
+ | `Cargo.toml` | `cargo llvm-cov --json` |
17
+ | `pom.xml` with JaCoCo | `mvn test jacoco:report` |
18
+ | `go.mod` | `go test -coverprofile=coverage.out ./...` |
19
+
20
+ ## Step 2: Analyze Coverage Report
21
+
22
+ 1. Run the coverage command
23
+ 2. Parse the output (JSON summary or terminal output)
24
+ 3. List files **below 80% coverage**, sorted worst-first
25
+ 4. For each under-covered file, identify:
26
+ - Untested functions or methods
27
+ - Missing branch coverage (if/else, switch, error paths)
28
+ - Dead code that inflates the denominator
29
+
30
+ ## Step 3: Generate Missing Tests
31
+
32
+ For each under-covered file, generate tests following this priority:
33
+
34
+ 1. **Happy path** — Core functionality with valid inputs
35
+ 2. **Error handling** — Invalid inputs, missing data, network failures
36
+ 3. **Edge cases** — Empty arrays, null/undefined, boundary values (0, -1, MAX_INT)
37
+ 4. **Branch coverage** — Each if/else, switch case, ternary
38
+
39
+ ### Test Generation Rules
40
+
41
+ - Place tests adjacent to source: `foo.ts` → `foo.test.ts` (or project convention)
42
+ - Use existing test patterns from the project (import style, assertion library, mocking approach)
43
+ - Mock external dependencies (database, APIs, file system)
44
+ - Each test should be independent — no shared mutable state between tests
45
+ - Name tests descriptively: `test_create_user_with_duplicate_email_returns_409`
46
+
47
+ ## Step 4: Verify
48
+
49
+ 1. Run the full test suite — all tests must pass
50
+ 2. Re-run coverage — verify improvement
51
+ 3. If still below 80%, repeat Step 3 for remaining gaps
52
+
53
+ ## Step 5: Report
54
+
55
+ Show before/after comparison:
56
+
57
+ ```
58
+ Coverage Report
59
+ ──────────────────────────────
60
+ File Before After
61
+ src/services/auth.ts 45% 88%
62
+ src/utils/validation.ts 32% 82%
63
+ ──────────────────────────────
64
+ Overall: 67% 84% PASS:
65
+ ```
66
+
67
+ ## Focus Areas
68
+
69
+ - Functions with complex branching (high cyclomatic complexity)
70
+ - Error handlers and catch blocks
71
+ - Utility functions used across the codebase
72
+ - API endpoint handlers (request → response flow)
73
+ - Edge cases: null, undefined, empty string, empty array, zero, negative numbers
@@ -0,0 +1,76 @@
1
+ ---
2
+ description: Scan project structure and generate token-lean architecture codemaps.
3
+ ---
4
+
5
+ # Update Codemaps
6
+
7
+ Analyze the codebase structure and generate token-lean architecture documentation.
8
+
9
+ ## Step 1: Scan Project Structure
10
+
11
+ 1. Identify the project type (monorepo, single app, library, microservice)
12
+ 2. Find all source directories (src/, lib/, app/, packages/)
13
+ 3. Map entry points (main.ts, index.ts, app.py, main.go, etc.)
14
+
15
+ ## Step 2: Generate Codemaps
16
+
17
+ Create or update codemaps in `docs/CODEMAPS/` (or `.reports/codemaps/`):
18
+
19
+ | File | Contents |
20
+ |------|----------|
21
+ | `architecture.md` | High-level system diagram, service boundaries, data flow |
22
+ | `backend.md` | API routes, middleware chain, service → repository mapping |
23
+ | `frontend.md` | Page tree, component hierarchy, state management flow |
24
+ | `data.md` | Database tables, relationships, migration history |
25
+ | `dependencies.md` | External services, third-party integrations, shared libraries |
26
+
27
+ ### Codemap Format
28
+
29
+ Each codemap should be token-lean — optimized for AI context consumption:
30
+
31
+ ```markdown
32
+ # Backend Architecture
33
+
34
+ ## Routes
35
+ POST /api/users → UserController.create → UserService.create → UserRepo.insert
36
+ GET /api/users/:id → UserController.get → UserService.findById → UserRepo.findById
37
+
38
+ ## Key Files
39
+ src/services/user.ts (business logic, 120 lines)
40
+ src/repos/user.ts (database access, 80 lines)
41
+
42
+ ## Dependencies
43
+ - PostgreSQL (primary data store)
44
+ - Redis (session cache, rate limiting)
45
+ - Stripe (payment processing)
46
+ ```
47
+
48
+ ## Step 3: Diff Detection
49
+
50
+ 1. If previous codemaps exist, calculate the diff percentage
51
+ 2. If changes > 30%, show the diff and request user approval before overwriting
52
+ 3. If changes <= 30%, update in place
53
+
54
+ ## Step 4: Add Metadata
55
+
56
+ Add a freshness header to each codemap:
57
+
58
+ ```markdown
59
+ <!-- Generated: 2026-02-11 | Files scanned: 142 | Token estimate: ~800 -->
60
+ ```
61
+
62
+ ## Step 5: Save Analysis Report
63
+
64
+ Write a summary to `.reports/codemap-diff.txt`:
65
+ - Files added/removed/modified since last scan
66
+ - New dependencies detected
67
+ - Architecture changes (new routes, new services, etc.)
68
+ - Staleness warnings for docs not updated in 90+ days
69
+
70
+ ## Tips
71
+
72
+ - Focus on **high-level structure**, not implementation details
73
+ - Prefer **file paths and function signatures** over full code blocks
74
+ - Keep each codemap under **1000 tokens** for efficient context loading
75
+ - Use ASCII diagrams for data flow instead of verbose descriptions
76
+ - Run after major feature additions or refactoring sessions
@@ -0,0 +1,88 @@
1
+ ---
2
+ description: Sync documentation from source-of-truth files such as scripts, schemas, routes, and exports.
3
+ ---
4
+
5
+ # Update Documentation
6
+
7
+ Sync documentation with the codebase, generating from source-of-truth files.
8
+
9
+ ## Step 1: Identify Sources of Truth
10
+
11
+ | Source | Generates |
12
+ |--------|-----------|
13
+ | `package.json` scripts | Available commands reference |
14
+ | `.env.example` | Environment variable documentation |
15
+ | `openapi.yaml` / route files | API endpoint reference |
16
+ | Source code exports | Public API documentation |
17
+ | `Dockerfile` / `docker-compose.yml` | Infrastructure setup docs |
18
+
19
+ ## Step 2: Generate Script Reference
20
+
21
+ 1. Read `package.json` (or `Makefile`, `Cargo.toml`, `pyproject.toml`)
22
+ 2. Extract all scripts/commands with their descriptions
23
+ 3. Generate a reference table:
24
+
25
+ ```markdown
26
+ | Command | Description |
27
+ |---------|-------------|
28
+ | `npm run dev` | Start development server with hot reload |
29
+ | `npm run build` | Production build with type checking |
30
+ | `npm test` | Run test suite with coverage |
31
+ ```
32
+
33
+ ## Step 3: Generate Environment Documentation
34
+
35
+ 1. Read `.env.example` (or `.env.template`, `.env.sample`)
36
+ 2. Extract all variables with their purposes
37
+ 3. Categorize as required vs optional
38
+ 4. Document expected format and valid values
39
+
40
+ ```markdown
41
+ | Variable | Required | Description | Example |
42
+ |----------|----------|-------------|---------|
43
+ | `DATABASE_URL` | Yes | PostgreSQL connection string | `postgres://user:pass@host:5432/db` |
44
+ | `LOG_LEVEL` | No | Logging verbosity (default: info) | `debug`, `info`, `warn`, `error` |
45
+ ```
46
+
47
+ ## Step 4: Update Contributing Guide
48
+
49
+ Generate or update `docs/CONTRIBUTING.md` with:
50
+ - Development environment setup (prerequisites, install steps)
51
+ - Available scripts and their purposes
52
+ - Testing procedures (how to run, how to write new tests)
53
+ - Code style enforcement (linter, formatter, pre-commit hooks)
54
+ - PR submission checklist
55
+
56
+ ## Step 5: Update Runbook
57
+
58
+ Generate or update `docs/RUNBOOK.md` with:
59
+ - Deployment procedures (step-by-step)
60
+ - Health check endpoints and monitoring
61
+ - Common issues and their fixes
62
+ - Rollback procedures
63
+ - Alerting and escalation paths
64
+
65
+ ## Step 6: Staleness Check
66
+
67
+ 1. Find documentation files not modified in 90+ days
68
+ 2. Cross-reference with recent source code changes
69
+ 3. Flag potentially outdated docs for manual review
70
+
71
+ ## Step 7: Show Summary
72
+
73
+ ```
74
+ Documentation Update
75
+ ──────────────────────────────
76
+ Updated: docs/CONTRIBUTING.md (scripts table)
77
+ Updated: docs/ENV.md (3 new variables)
78
+ Flagged: docs/DEPLOY.md (142 days stale)
79
+ Skipped: docs/API.md (no changes detected)
80
+ ──────────────────────────────
81
+ ```
82
+
83
+ ## Rules
84
+
85
+ - **Single source of truth**: Always generate from code, never manually edit generated sections
86
+ - **Preserve manual sections**: Only update generated sections; leave hand-written prose intact
87
+ - **Mark generated content**: Use `<!-- AUTO-GENERATED -->` markers around generated sections
88
+ - **Don't create docs unprompted**: Only create new doc files if the command explicitly requests it
@@ -0,0 +1,120 @@
1
+ # Rules
2
+ ## Structure
3
+
4
+ Rules are organized into a **common** layer plus **language-specific** directories:
5
+
6
+ ```
7
+ rules/
8
+ ├── common/ # Language-agnostic principles (always install)
9
+ │ ├── coding-style.md
10
+ │ ├── git-workflow.md
11
+ │ ├── testing.md
12
+ │ ├── performance.md
13
+ │ ├── patterns.md
14
+ │ ├── hooks.md
15
+ │ ├── agents.md
16
+ │ └── security.md
17
+ ├── typescript/ # TypeScript/JavaScript specific
18
+ ├── angular/ # Angular specific
19
+ ├── python/ # Python specific
20
+ ├── golang/ # Go specific
21
+ ├── web/ # Web and frontend specific
22
+ ├── swift/ # Swift specific
23
+ ├── php/ # PHP specific
24
+ ├── ruby/ # Ruby / Rails specific
25
+ └── arkts/ # HarmonyOS / ArkTS specific
26
+ ```
27
+
28
+ - **common/** contains universal principles — no language-specific code examples.
29
+ - **Language directories** extend the common rules with framework-specific patterns, tools, and code examples. Each file references its common counterpart.
30
+
31
+ ## Installation
32
+
33
+ ### Option 1: Install Script (Recommended)
34
+
35
+ ```bash
36
+ # Install common + one or more language-specific rule sets
37
+ ./install.sh typescript
38
+ ./install.sh angular
39
+ ./install.sh python
40
+ ./install.sh golang
41
+ ./install.sh web
42
+ ./install.sh swift
43
+ ./install.sh php
44
+ ./install.sh ruby
45
+ ./install.sh arkts
46
+
47
+ # Install multiple languages at once
48
+ ./install.sh typescript python
49
+ ```
50
+
51
+ ### Option 2: Manual Installation
52
+
53
+ > **Important:** Copy entire directories — do NOT flatten with `/*`.
54
+ > Common and language-specific directories contain files with the same names.
55
+ > Flattening them into one directory causes language-specific files to overwrite
56
+ > common rules, and breaks the relative `../common/` references used by
57
+ > language-specific files.
58
+
59
+ ```bash
60
+ # Install common rules (required for all projects)
61
+ cp -r rules/common ~/.claude/rules/common
62
+
63
+ # Install language-specific rules based on your project's tech stack
64
+ cp -r rules/typescript ~/.claude/rules/typescript
65
+ cp -r rules/angular ~/.claude/rules/angular
66
+ cp -r rules/python ~/.claude/rules/python
67
+ cp -r rules/golang ~/.claude/rules/golang
68
+ cp -r rules/web ~/.claude/rules/web
69
+ cp -r rules/swift ~/.claude/rules/swift
70
+ cp -r rules/php ~/.claude/rules/php
71
+ cp -r rules/ruby ~/.claude/rules/ruby
72
+ cp -r rules/arkts ~/.claude/rules/arkts
73
+
74
+ # Attention ! ! ! Configure according to your actual project requirements; the configuration here is for reference only.
75
+ ```
76
+
77
+ ## Rules vs Skills
78
+
79
+ - **Rules** define standards, conventions, and checklists that apply broadly (e.g., "80% test coverage", "no hardcoded secrets").
80
+ - **Skills** (`skills/` directory) provide deep, actionable reference material for specific tasks (e.g., `python-patterns`, `golang-testing`).
81
+
82
+ Language-specific rule files reference relevant skills where appropriate. Rules tell you *what* to do; skills tell you *how* to do it.
83
+
84
+ ## Adding a New Language
85
+
86
+ To add support for a new language (e.g., `rust/`):
87
+
88
+ 1. Create a `rules/rust/` directory
89
+ 2. Add files that extend the common rules:
90
+ - `coding-style.md` — formatting tools, idioms, error handling patterns
91
+ - `testing.md` — test framework, coverage tools, test organization
92
+ - `patterns.md` — language-specific design patterns
93
+ - `hooks.md` — PostToolUse hooks for formatters, linters, type checkers
94
+ - `security.md` — secret management, security scanning tools
95
+ 3. Each file should start with:
96
+ ```
97
+ > This file extends [common/xxx.md](../common/xxx.md) with <Language> specific content.
98
+ ```
99
+ 4. Reference existing skills if available, or create new ones under `skills/`.
100
+
101
+ For non-language domains like `web/`, follow the same layered pattern when there is enough reusable domain-specific guidance to justify a standalone ruleset.
102
+
103
+ ## Rule Priority
104
+
105
+ When language-specific rules and common rules conflict, **language-specific rules take precedence** (specific overrides general). This follows the standard layered configuration pattern (similar to CSS specificity or `.gitignore` precedence).
106
+
107
+ - `rules/common/` defines universal defaults applicable to all projects.
108
+ - `rules/golang/`, `rules/python/`, `rules/swift/`, `rules/php/`, `rules/typescript/`, etc. override those defaults where language idioms differ.
109
+
110
+ ### Example
111
+
112
+ `common/coding-style.md` recommends immutability as a default principle. A language-specific `golang/coding-style.md` can override this:
113
+
114
+ > Idiomatic Go uses pointer receivers for struct mutation — see [common/coding-style.md](../common/coding-style.md) for the general principle, but Go-idiomatic mutation is preferred here.
115
+
116
+ ### Common rules with override notes
117
+
118
+ Rules in `rules/common/` that may be overridden by language-specific files are marked with:
119
+
120
+ > **Language note**: This rule may be overridden by language-specific rules for languages where this pattern is not idiomatic.
@@ -0,0 +1,182 @@
1
+ ---
2
+ paths:
3
+ - "**/*.component.ts"
4
+ - "**/*.component.html"
5
+ - "**/*.service.ts"
6
+ - "**/*.directive.ts"
7
+ - "**/*.pipe.ts"
8
+ - "**/*.guard.ts"
9
+ - "**/*.resolver.ts"
10
+ - "**/*.module.ts"
11
+ ---
12
+ # Angular Coding Style
13
+
14
+ > This file extends [common/coding-style.md](../common/coding-style.md) with Angular specific content.
15
+
16
+ ## Version Awareness
17
+
18
+ Always check the project's Angular version before writing code — features differ significantly between versions. Run `ng version` or inspect `package.json`. When creating a new project, do not pin a version unless the user specifies one.
19
+
20
+ After generating or modifying Angular code, always run `ng build` to catch errors before finishing.
21
+
22
+ ## File Naming
23
+
24
+ Follow Angular CLI conventions — one artifact per file:
25
+
26
+ - `user-profile.component.ts` + `user-profile.component.html` + `user-profile.component.spec.ts`
27
+ - `user.service.ts`, `auth.guard.ts`, `date-format.pipe.ts`
28
+ - Feature folders: `features/users/`, `features/auth/`
29
+ - Generate with the CLI: `ng generate component features/users/user-card`
30
+
31
+ ## Components
32
+
33
+ Prefer standalone components (v17+ default). Use `OnPush` change detection on all new components.
34
+
35
+ ```typescript
36
+ @Component({
37
+ selector: 'app-user-card',
38
+ standalone: true,
39
+ imports: [RouterModule],
40
+ templateUrl: './user-card.component.html',
41
+ changeDetection: ChangeDetectionStrategy.OnPush,
42
+ })
43
+ export class UserCardComponent {
44
+ user = input.required<User>();
45
+ select = output<string>();
46
+ }
47
+ ```
48
+
49
+ ## Dependency Injection
50
+
51
+ Use `inject()` over constructor injection. Keep constructors empty or remove them entirely.
52
+
53
+ ```typescript
54
+ // CORRECT
55
+ @Injectable({ providedIn: 'root' })
56
+ export class UserService {
57
+ private http = inject(HttpClient);
58
+ private router = inject(Router);
59
+ }
60
+
61
+ // WRONG: Constructor injection is verbose and harder to tree-shake
62
+ constructor(private http: HttpClient, private router: Router) {}
63
+ ```
64
+
65
+ Use `InjectionToken` for non-class dependencies:
66
+
67
+ ```typescript
68
+ const API_URL = new InjectionToken<string>('API_URL');
69
+
70
+ // Provide:
71
+ { provide: API_URL, useValue: 'https://api.example.com' }
72
+
73
+ // Consume:
74
+ private apiUrl = inject(API_URL);
75
+ ```
76
+
77
+ ## Signals
78
+
79
+ ### Core Primitives
80
+
81
+ ```typescript
82
+ count = signal(0);
83
+ doubled = computed(() => this.count() * 2);
84
+
85
+ increment() {
86
+ this.count.update(n => n + 1);
87
+ }
88
+ ```
89
+
90
+ ### `linkedSignal` — Writable Derived State
91
+
92
+ Use `linkedSignal` when a signal must reset or adapt when a source changes, but also be independently writable:
93
+
94
+ ```typescript
95
+ selectedOption = linkedSignal(() => this.options()[0]);
96
+ // Resets to first option when options changes, but user can override
97
+ ```
98
+
99
+ ### `resource` — Async Data into Signals
100
+
101
+ Use `resource()` to fetch async data reactively without manual subscriptions:
102
+
103
+ ```typescript
104
+ userResource = resource({
105
+ request: () => ({ id: this.userId() }),
106
+ loader: ({ request }) => fetch(`/api/users/${request.id}`).then(r => r.json()),
107
+ });
108
+
109
+ // Access: userResource.value(), userResource.isLoading(), userResource.error()
110
+ ```
111
+
112
+ ### `effect` Usage
113
+
114
+ Use `effect()` only for side effects that must react to signal changes (logging, third-party DOM manipulation). Never use effects to synchronize signals — use `computed` or `linkedSignal` instead. For DOM work after render, use `afterRenderEffect`.
115
+
116
+ ```typescript
117
+ // CORRECT: Side effect
118
+ effect(() => console.log('User changed:', this.user()));
119
+
120
+ // WRONG: Use computed instead
121
+ effect(() => { this.fullName.set(`${this.first()} ${this.last()}`); });
122
+ ```
123
+
124
+ ## Templates
125
+
126
+ Use v17+ block syntax. Always provide `track` in `@for`:
127
+
128
+ ```html
129
+ @for (item of items(); track item.id) {
130
+ <app-item [item]="item" />
131
+ }
132
+
133
+ @if (isLoading()) {
134
+ <app-spinner />
135
+ } @else if (error()) {
136
+ <app-error [message]="error()" />
137
+ } @else {
138
+ <app-content [data]="data()" />
139
+ }
140
+ ```
141
+
142
+ No logic in templates beyond simple conditionals — move to component methods or pipes.
143
+
144
+ ## Forms
145
+
146
+ Choose the form strategy that matches the project's existing approach:
147
+
148
+ - **Signal Forms** (v21+): Preferred for new projects on v21+. Signal-based form state.
149
+ - **Reactive Forms**: `FormBuilder` + `FormGroup` + `FormControl`. Best for complex forms with dynamic validation.
150
+ - **Template-Driven Forms**: `ngModel`. Suitable for simple forms only.
151
+
152
+ ```typescript
153
+ // Reactive Forms — standard approach for most apps
154
+ export class LoginComponent {
155
+ private fb = inject(FormBuilder);
156
+
157
+ form = this.fb.group({
158
+ email: ['', [Validators.required, Validators.email]],
159
+ password: ['', [Validators.required, Validators.minLength(8)]],
160
+ });
161
+
162
+ submit() {
163
+ if (this.form.valid) {
164
+ // use this.form.value
165
+ }
166
+ }
167
+ }
168
+ ```
169
+
170
+ ## Component Styles
171
+
172
+ Use component-level styles with `ViewEncapsulation.Emulated` (default). Avoid `ViewEncapsulation.None` unless building a design system that intentionally bleeds styles.
173
+
174
+ - Scope styles to the component — do not use global class names inside component stylesheets
175
+ - Use `:host` for host element styling
176
+ - Prefer CSS custom properties for themeable values
177
+
178
+ ## Change Detection
179
+
180
+ - Default to `ChangeDetectionStrategy.OnPush` on all new components
181
+ - Signals and `async` pipe handle detection automatically — avoid `markForCheck()` and `detectChanges()`
182
+ - Never mutate `@Input()` objects in place when using OnPush
@@ -0,0 +1,25 @@
1
+ ---
2
+ paths:
3
+ - "**/*.component.ts"
4
+ - "**/*.component.html"
5
+ - "**/*.service.ts"
6
+ - "**/*.directive.ts"
7
+ - "**/*.pipe.ts"
8
+ - "**/*.spec.ts"
9
+ ---
10
+ # Angular Hooks
11
+
12
+ > This file extends [common/hooks.md](../common/hooks.md) with Angular specific content.
13
+
14
+ ## PostToolUse Hooks
15
+
16
+ Configure in `~/.claude/settings.json`:
17
+
18
+ - **Prettier**: Auto-format `.ts` and `.html` files after edit
19
+ - **ESLint / ng lint**: Run `ng lint` after editing Angular source files to catch decorator misuse, template errors, and style violations
20
+ - **TypeScript check**: Run `tsc --noEmit` after editing `.ts` files
21
+ - **Build check**: Run `ng build` after generating or significantly changing Angular code to catch template and type errors early
22
+
23
+ ## Stop Hooks
24
+
25
+ - **Lint audit**: Run `ng lint` across modified files before session ends to catch any outstanding violations