kodelyth-ecc 1.2.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 (846) hide show
  1. package/.agent/rules/README.md +108 -0
  2. package/.agent/rules/agents.md +94 -0
  3. package/.agent/rules/code-review.md +124 -0
  4. package/.agent/rules/coding-style.md +122 -0
  5. package/.agent/rules/design-quality.md +63 -0
  6. package/.agent/rules/development-workflow.md +44 -0
  7. package/.agent/rules/git-mastery.md +366 -0
  8. package/.agent/rules/git-workflow.md +24 -0
  9. package/.agent/rules/hooks.md +25 -0
  10. package/.agent/rules/kodelyth-always-on.md +63 -0
  11. package/.agent/rules/kodelyth-quickstart.md +207 -0
  12. package/.agent/rules/observability.md +390 -0
  13. package/.agent/rules/patterns.md +50 -0
  14. package/.agent/rules/performance.md +178 -0
  15. package/.agent/rules/security.md +58 -0
  16. package/.agent/rules/smart-debug.md +241 -0
  17. package/.agent/rules/soul.md +32 -0
  18. package/.agent/rules/testing.md +46 -0
  19. package/.agent/skills/api-guardian.md +279 -0
  20. package/.agent/skills/architect.md +211 -0
  21. package/.agent/skills/build-error-resolver.md +114 -0
  22. package/.agent/skills/chief-of-staff.md +151 -0
  23. package/.agent/skills/code-architect.md +71 -0
  24. package/.agent/skills/code-explorer.md +69 -0
  25. package/.agent/skills/code-reviewer.md +237 -0
  26. package/.agent/skills/code-simplifier.md +47 -0
  27. package/.agent/skills/comment-analyzer.md +45 -0
  28. package/.agent/skills/conversation-analyzer.md +52 -0
  29. package/.agent/skills/cpp-build-resolver.md +90 -0
  30. package/.agent/skills/cpp-reviewer.md +72 -0
  31. package/.agent/skills/csharp-reviewer.md +101 -0
  32. package/.agent/skills/dart-build-resolver.md +201 -0
  33. package/.agent/skills/database-reviewer.md +91 -0
  34. package/.agent/skills/debug-detective.md +409 -0
  35. package/.agent/skills/doc-updater.md +107 -0
  36. package/.agent/skills/docs-lookup.md +68 -0
  37. package/.agent/skills/e2e-runner.md +107 -0
  38. package/.agent/skills/flutter-reviewer.md +243 -0
  39. package/.agent/skills/gan-evaluator.md +209 -0
  40. package/.agent/skills/gan-generator.md +131 -0
  41. package/.agent/skills/gan-planner.md +99 -0
  42. package/.agent/skills/go-build-resolver.md +94 -0
  43. package/.agent/skills/go-reviewer.md +76 -0
  44. package/.agent/skills/harness-optimizer.md +35 -0
  45. package/.agent/skills/healthcare-reviewer.md +83 -0
  46. package/.agent/skills/java-build-resolver.md +153 -0
  47. package/.agent/skills/java-reviewer.md +92 -0
  48. package/.agent/skills/kodelyth-advisor.md +172 -0
  49. package/.agent/skills/kotlin-build-resolver.md +118 -0
  50. package/.agent/skills/kotlin-reviewer.md +159 -0
  51. package/.agent/skills/loop-operator.md +36 -0
  52. package/.agent/skills/migration-guide.md +368 -0
  53. package/.agent/skills/opensource-forker.md +198 -0
  54. package/.agent/skills/opensource-packager.md +249 -0
  55. package/.agent/skills/opensource-sanitizer.md +188 -0
  56. package/.agent/skills/pair-programmer.md +260 -0
  57. package/.agent/skills/performance-optimizer.md +446 -0
  58. package/.agent/skills/planner.md +212 -0
  59. package/.agent/skills/pr-test-analyzer.md +45 -0
  60. package/.agent/skills/python-reviewer.md +98 -0
  61. package/.agent/skills/pytorch-build-resolver.md +120 -0
  62. package/.agent/skills/refactor-cleaner.md +85 -0
  63. package/.agent/skills/rust-build-resolver.md +148 -0
  64. package/.agent/skills/rust-reviewer.md +94 -0
  65. package/.agent/skills/security-reviewer.md +108 -0
  66. package/.agent/skills/seo-specialist.md +62 -0
  67. package/.agent/skills/silent-failure-hunter.md +50 -0
  68. package/.agent/skills/tdd-guide.md +91 -0
  69. package/.agent/skills/type-design-analyzer.md +41 -0
  70. package/.agent/skills/typescript-reviewer.md +112 -0
  71. package/.agent/skills/ux-reviewer.md +483 -0
  72. package/.agent/workflows/agent-sort.md +23 -0
  73. package/.agent/workflows/aside.md +164 -0
  74. package/.agent/workflows/build-fix.md +62 -0
  75. package/.agent/workflows/checkpoint.md +74 -0
  76. package/.agent/workflows/claw.md +23 -0
  77. package/.agent/workflows/code-review.md +289 -0
  78. package/.agent/workflows/context-budget.md +23 -0
  79. package/.agent/workflows/cpp-build.md +173 -0
  80. package/.agent/workflows/cpp-review.md +132 -0
  81. package/.agent/workflows/cpp-test.md +251 -0
  82. package/.agent/workflows/devfleet.md +23 -0
  83. package/.agent/workflows/docs.md +23 -0
  84. package/.agent/workflows/e2e.md +268 -0
  85. package/.agent/workflows/eval.md +23 -0
  86. package/.agent/workflows/evolve.md +178 -0
  87. package/.agent/workflows/feature-dev.md +49 -0
  88. package/.agent/workflows/flutter-build.md +164 -0
  89. package/.agent/workflows/flutter-review.md +116 -0
  90. package/.agent/workflows/flutter-test.md +144 -0
  91. package/.agent/workflows/gan-build.md +99 -0
  92. package/.agent/workflows/gan-design.md +35 -0
  93. package/.agent/workflows/go-build.md +183 -0
  94. package/.agent/workflows/go-review.md +148 -0
  95. package/.agent/workflows/go-test.md +268 -0
  96. package/.agent/workflows/gradle-build.md +70 -0
  97. package/.agent/workflows/harness-audit.md +73 -0
  98. package/.agent/workflows/hookify-configure.md +14 -0
  99. package/.agent/workflows/hookify-help.md +46 -0
  100. package/.agent/workflows/hookify-list.md +21 -0
  101. package/.agent/workflows/hookify.md +50 -0
  102. package/.agent/workflows/instinct-export.md +66 -0
  103. package/.agent/workflows/instinct-import.md +114 -0
  104. package/.agent/workflows/instinct-status.md +59 -0
  105. package/.agent/workflows/jira.md +106 -0
  106. package/.agent/workflows/kotlin-build.md +174 -0
  107. package/.agent/workflows/kotlin-review.md +140 -0
  108. package/.agent/workflows/kotlin-test.md +312 -0
  109. package/.agent/workflows/learn-eval.md +116 -0
  110. package/.agent/workflows/learn.md +70 -0
  111. package/.agent/workflows/loop-start.md +32 -0
  112. package/.agent/workflows/loop-status.md +24 -0
  113. package/.agent/workflows/model-route.md +26 -0
  114. package/.agent/workflows/multi-backend.md +158 -0
  115. package/.agent/workflows/multi-execute.md +315 -0
  116. package/.agent/workflows/multi-frontend.md +158 -0
  117. package/.agent/workflows/multi-plan.md +268 -0
  118. package/.agent/workflows/multi-workflow.md +191 -0
  119. package/.agent/workflows/orchestrate.md +135 -0
  120. package/.agent/workflows/plan.md +117 -0
  121. package/.agent/workflows/pm2.md +272 -0
  122. package/.agent/workflows/projects.md +39 -0
  123. package/.agent/workflows/promote.md +41 -0
  124. package/.agent/workflows/prompt-optimize.md +23 -0
  125. package/.agent/workflows/prp-commit.md +112 -0
  126. package/.agent/workflows/prp-implement.md +385 -0
  127. package/.agent/workflows/prp-plan.md +502 -0
  128. package/.agent/workflows/prp-pr.md +184 -0
  129. package/.agent/workflows/prp-prd.md +447 -0
  130. package/.agent/workflows/prune.md +31 -0
  131. package/.agent/workflows/python-review.md +297 -0
  132. package/.agent/workflows/quality-gate.md +29 -0
  133. package/.agent/workflows/refactor-clean.md +80 -0
  134. package/.agent/workflows/resume-session.md +156 -0
  135. package/.agent/workflows/review-pr.md +37 -0
  136. package/.agent/workflows/rules-distill.md +20 -0
  137. package/.agent/workflows/rust-build.md +187 -0
  138. package/.agent/workflows/rust-review.md +142 -0
  139. package/.agent/workflows/rust-test.md +308 -0
  140. package/.agent/workflows/santa-loop.md +175 -0
  141. package/.agent/workflows/save-session.md +275 -0
  142. package/.agent/workflows/sessions.md +333 -0
  143. package/.agent/workflows/setup-pm.md +80 -0
  144. package/.agent/workflows/skill-create.md +174 -0
  145. package/.agent/workflows/skill-health.md +54 -0
  146. package/.agent/workflows/tdd.md +231 -0
  147. package/.agent/workflows/test-coverage.md +69 -0
  148. package/.agent/workflows/update-codemaps.md +72 -0
  149. package/.agent/workflows/update-docs.md +84 -0
  150. package/.agent/workflows/verify.md +23 -0
  151. package/.github/workflows/ci.yml +46 -0
  152. package/.github/workflows/publish.yml +41 -0
  153. package/AGENTS.md +209 -0
  154. package/CHANGELOG.md +236 -0
  155. package/CLAUDE.md +90 -0
  156. package/CONTRIBUTING.md +255 -0
  157. package/KODELYTH.md +74 -0
  158. package/LICENSE +21 -0
  159. package/README.md +414 -0
  160. package/SECURITY.md +77 -0
  161. package/SOUL.md +32 -0
  162. package/VERSION +1 -0
  163. package/agents/api-guardian.md +279 -0
  164. package/agents/architect.md +211 -0
  165. package/agents/build-error-resolver.md +114 -0
  166. package/agents/chief-of-staff.md +151 -0
  167. package/agents/code-architect.md +71 -0
  168. package/agents/code-explorer.md +69 -0
  169. package/agents/code-reviewer.md +237 -0
  170. package/agents/code-simplifier.md +47 -0
  171. package/agents/comment-analyzer.md +45 -0
  172. package/agents/conversation-analyzer.md +52 -0
  173. package/agents/cpp-build-resolver.md +90 -0
  174. package/agents/cpp-reviewer.md +72 -0
  175. package/agents/csharp-reviewer.md +101 -0
  176. package/agents/dart-build-resolver.md +201 -0
  177. package/agents/database-reviewer.md +91 -0
  178. package/agents/debug-detective.md +409 -0
  179. package/agents/doc-updater.md +107 -0
  180. package/agents/docs-lookup.md +68 -0
  181. package/agents/e2e-runner.md +107 -0
  182. package/agents/flutter-reviewer.md +243 -0
  183. package/agents/gan-evaluator.md +209 -0
  184. package/agents/gan-generator.md +131 -0
  185. package/agents/gan-planner.md +99 -0
  186. package/agents/go-build-resolver.md +94 -0
  187. package/agents/go-reviewer.md +76 -0
  188. package/agents/harness-optimizer.md +35 -0
  189. package/agents/healthcare-reviewer.md +83 -0
  190. package/agents/java-build-resolver.md +153 -0
  191. package/agents/java-reviewer.md +92 -0
  192. package/agents/kodelyth-advisor.md +172 -0
  193. package/agents/kotlin-build-resolver.md +118 -0
  194. package/agents/kotlin-reviewer.md +159 -0
  195. package/agents/loop-operator.md +36 -0
  196. package/agents/migration-guide.md +368 -0
  197. package/agents/opensource-forker.md +198 -0
  198. package/agents/opensource-packager.md +249 -0
  199. package/agents/opensource-sanitizer.md +188 -0
  200. package/agents/pair-programmer.md +260 -0
  201. package/agents/performance-optimizer.md +446 -0
  202. package/agents/planner.md +212 -0
  203. package/agents/pr-test-analyzer.md +45 -0
  204. package/agents/python-reviewer.md +98 -0
  205. package/agents/pytorch-build-resolver.md +120 -0
  206. package/agents/refactor-cleaner.md +85 -0
  207. package/agents/rust-build-resolver.md +148 -0
  208. package/agents/rust-reviewer.md +94 -0
  209. package/agents/security-reviewer.md +108 -0
  210. package/agents/seo-specialist.md +62 -0
  211. package/agents/silent-failure-hunter.md +50 -0
  212. package/agents/tdd-guide.md +91 -0
  213. package/agents/type-design-analyzer.md +41 -0
  214. package/agents/typescript-reviewer.md +112 -0
  215. package/agents/ux-reviewer.md +483 -0
  216. package/bin/kodelyth-ecc.js +87 -0
  217. package/commands/agent-sort.md +23 -0
  218. package/commands/aside.md +164 -0
  219. package/commands/build-fix.md +62 -0
  220. package/commands/checkpoint.md +74 -0
  221. package/commands/claw.md +23 -0
  222. package/commands/code-review.md +289 -0
  223. package/commands/context-budget.md +23 -0
  224. package/commands/cpp-build.md +173 -0
  225. package/commands/cpp-review.md +132 -0
  226. package/commands/cpp-test.md +251 -0
  227. package/commands/devfleet.md +23 -0
  228. package/commands/docs.md +23 -0
  229. package/commands/e2e.md +268 -0
  230. package/commands/eval.md +23 -0
  231. package/commands/evolve.md +178 -0
  232. package/commands/feature-dev.md +49 -0
  233. package/commands/flutter-build.md +164 -0
  234. package/commands/flutter-review.md +116 -0
  235. package/commands/flutter-test.md +144 -0
  236. package/commands/gan-build.md +99 -0
  237. package/commands/gan-design.md +35 -0
  238. package/commands/go-build.md +183 -0
  239. package/commands/go-review.md +148 -0
  240. package/commands/go-test.md +268 -0
  241. package/commands/gradle-build.md +70 -0
  242. package/commands/harness-audit.md +73 -0
  243. package/commands/hookify-configure.md +14 -0
  244. package/commands/hookify-help.md +46 -0
  245. package/commands/hookify-list.md +21 -0
  246. package/commands/hookify.md +50 -0
  247. package/commands/instinct-export.md +66 -0
  248. package/commands/instinct-import.md +114 -0
  249. package/commands/instinct-status.md +59 -0
  250. package/commands/jira.md +106 -0
  251. package/commands/kotlin-build.md +174 -0
  252. package/commands/kotlin-review.md +140 -0
  253. package/commands/kotlin-test.md +312 -0
  254. package/commands/learn-eval.md +116 -0
  255. package/commands/learn.md +70 -0
  256. package/commands/loop-start.md +32 -0
  257. package/commands/loop-status.md +24 -0
  258. package/commands/model-route.md +26 -0
  259. package/commands/multi-backend.md +158 -0
  260. package/commands/multi-execute.md +315 -0
  261. package/commands/multi-frontend.md +158 -0
  262. package/commands/multi-plan.md +268 -0
  263. package/commands/multi-workflow.md +191 -0
  264. package/commands/orchestrate.md +135 -0
  265. package/commands/plan.md +117 -0
  266. package/commands/pm2.md +272 -0
  267. package/commands/projects.md +39 -0
  268. package/commands/promote.md +41 -0
  269. package/commands/prompt-optimize.md +23 -0
  270. package/commands/prp-commit.md +112 -0
  271. package/commands/prp-implement.md +385 -0
  272. package/commands/prp-plan.md +502 -0
  273. package/commands/prp-pr.md +184 -0
  274. package/commands/prp-prd.md +447 -0
  275. package/commands/prune.md +31 -0
  276. package/commands/python-review.md +297 -0
  277. package/commands/quality-gate.md +29 -0
  278. package/commands/refactor-clean.md +80 -0
  279. package/commands/resume-session.md +156 -0
  280. package/commands/review-pr.md +37 -0
  281. package/commands/rules-distill.md +20 -0
  282. package/commands/rust-build.md +187 -0
  283. package/commands/rust-review.md +142 -0
  284. package/commands/rust-test.md +308 -0
  285. package/commands/santa-loop.md +175 -0
  286. package/commands/save-session.md +275 -0
  287. package/commands/sessions.md +333 -0
  288. package/commands/setup-pm.md +80 -0
  289. package/commands/skill-create.md +174 -0
  290. package/commands/skill-health.md +54 -0
  291. package/commands/tdd.md +231 -0
  292. package/commands/test-coverage.md +69 -0
  293. package/commands/update-codemaps.md +72 -0
  294. package/commands/update-docs.md +84 -0
  295. package/commands/verify.md +23 -0
  296. package/contexts/dev.md +20 -0
  297. package/contexts/research.md +26 -0
  298. package/contexts/review.md +22 -0
  299. package/dashboard/lib/agent-tracker.js +366 -0
  300. package/dashboard/lib/aggregator.js +118 -0
  301. package/dashboard/lib/cost-calculator.js +50 -0
  302. package/dashboard/lib/platform-detector.js +89 -0
  303. package/dashboard/lib/readers/antigravity-reader.js +113 -0
  304. package/dashboard/lib/readers/claude-reader.js +135 -0
  305. package/dashboard/lib/readers/codex-reader.js +192 -0
  306. package/dashboard/lib/readers/cursor-reader.js +135 -0
  307. package/dashboard/lib/readers/opencode-reader.js +201 -0
  308. package/dashboard/lib/readers/windsurf-reader.js +126 -0
  309. package/dashboard/package.json +24 -0
  310. package/dashboard/public/index.html +1147 -0
  311. package/dashboard/server.js +119 -0
  312. package/hooks/README.md +220 -0
  313. package/hooks/hooks.json +420 -0
  314. package/install.ps1 +190 -0
  315. package/install.sh +583 -0
  316. package/package.json +33 -0
  317. package/rules/README.md +111 -0
  318. package/rules/common/agents.md +50 -0
  319. package/rules/common/code-review.md +124 -0
  320. package/rules/common/coding-style.md +122 -0
  321. package/rules/common/development-workflow.md +44 -0
  322. package/rules/common/git-workflow.md +24 -0
  323. package/rules/common/hooks.md +30 -0
  324. package/rules/common/patterns.md +31 -0
  325. package/rules/common/performance.md +178 -0
  326. package/rules/common/security.md +29 -0
  327. package/rules/common/testing.md +57 -0
  328. package/rules/cpp/coding-style.md +44 -0
  329. package/rules/cpp/hooks.md +39 -0
  330. package/rules/cpp/patterns.md +51 -0
  331. package/rules/cpp/security.md +51 -0
  332. package/rules/cpp/testing.md +44 -0
  333. package/rules/csharp/coding-style.md +72 -0
  334. package/rules/csharp/hooks.md +25 -0
  335. package/rules/csharp/patterns.md +50 -0
  336. package/rules/csharp/security.md +58 -0
  337. package/rules/csharp/testing.md +46 -0
  338. package/rules/dart/coding-style.md +159 -0
  339. package/rules/dart/hooks.md +66 -0
  340. package/rules/dart/patterns.md +261 -0
  341. package/rules/dart/security.md +135 -0
  342. package/rules/dart/testing.md +215 -0
  343. package/rules/golang/coding-style.md +32 -0
  344. package/rules/golang/hooks.md +17 -0
  345. package/rules/golang/patterns.md +45 -0
  346. package/rules/golang/security.md +34 -0
  347. package/rules/golang/testing.md +31 -0
  348. package/rules/java/coding-style.md +114 -0
  349. package/rules/java/hooks.md +18 -0
  350. package/rules/java/patterns.md +146 -0
  351. package/rules/java/security.md +100 -0
  352. package/rules/java/testing.md +131 -0
  353. package/rules/kotlin/coding-style.md +86 -0
  354. package/rules/kotlin/hooks.md +17 -0
  355. package/rules/kotlin/patterns.md +146 -0
  356. package/rules/kotlin/security.md +82 -0
  357. package/rules/kotlin/testing.md +128 -0
  358. package/rules/perl/coding-style.md +46 -0
  359. package/rules/perl/hooks.md +22 -0
  360. package/rules/perl/patterns.md +76 -0
  361. package/rules/perl/security.md +69 -0
  362. package/rules/perl/testing.md +54 -0
  363. package/rules/php/coding-style.md +40 -0
  364. package/rules/php/hooks.md +24 -0
  365. package/rules/php/patterns.md +33 -0
  366. package/rules/php/security.md +37 -0
  367. package/rules/php/testing.md +39 -0
  368. package/rules/python/coding-style.md +42 -0
  369. package/rules/python/hooks.md +19 -0
  370. package/rules/python/patterns.md +39 -0
  371. package/rules/python/security.md +30 -0
  372. package/rules/python/testing.md +38 -0
  373. package/rules/rust/coding-style.md +151 -0
  374. package/rules/rust/hooks.md +16 -0
  375. package/rules/rust/patterns.md +168 -0
  376. package/rules/rust/security.md +141 -0
  377. package/rules/rust/testing.md +154 -0
  378. package/rules/swift/coding-style.md +47 -0
  379. package/rules/swift/hooks.md +20 -0
  380. package/rules/swift/patterns.md +66 -0
  381. package/rules/swift/security.md +33 -0
  382. package/rules/swift/testing.md +45 -0
  383. package/rules/typescript/coding-style.md +199 -0
  384. package/rules/typescript/hooks.md +22 -0
  385. package/rules/typescript/patterns.md +52 -0
  386. package/rules/typescript/security.md +28 -0
  387. package/rules/typescript/testing.md +18 -0
  388. package/rules/web/coding-style.md +96 -0
  389. package/rules/web/design-quality.md +63 -0
  390. package/rules/web/hooks.md +120 -0
  391. package/rules/web/patterns.md +79 -0
  392. package/rules/web/performance.md +64 -0
  393. package/rules/web/security.md +57 -0
  394. package/rules/web/testing.md +55 -0
  395. package/rules/zh/README.md +108 -0
  396. package/rules/zh/agents.md +50 -0
  397. package/rules/zh/code-review.md +124 -0
  398. package/rules/zh/coding-style.md +48 -0
  399. package/rules/zh/development-workflow.md +44 -0
  400. package/rules/zh/git-workflow.md +24 -0
  401. package/rules/zh/hooks.md +30 -0
  402. package/rules/zh/patterns.md +31 -0
  403. package/rules/zh/performance.md +55 -0
  404. package/rules/zh/security.md +29 -0
  405. package/rules/zh/testing.md +29 -0
  406. package/scripts/agent-tracker-hook.js +81 -0
  407. package/scripts/build-opencode.js +26 -0
  408. package/scripts/catalog.js +186 -0
  409. package/scripts/ci/catalog.js +648 -0
  410. package/scripts/ci/check-unicode-safety.js +246 -0
  411. package/scripts/ci/validate-agents.js +81 -0
  412. package/scripts/ci/validate-commands.js +136 -0
  413. package/scripts/ci/validate-hooks.js +239 -0
  414. package/scripts/ci/validate-install-manifests.js +214 -0
  415. package/scripts/ci/validate-no-personal-paths.js +63 -0
  416. package/scripts/ci/validate-rules.js +81 -0
  417. package/scripts/ci/validate-skills.js +56 -0
  418. package/scripts/claw.js +468 -0
  419. package/scripts/codemaps/generate.ts +330 -0
  420. package/scripts/codex/check-codex-global-state.sh +250 -0
  421. package/scripts/codex/install-global-git-hooks.sh +65 -0
  422. package/scripts/codex/merge-codex-config.js +317 -0
  423. package/scripts/codex/merge-mcp-config.js +335 -0
  424. package/scripts/codex-git-hooks/pre-commit +77 -0
  425. package/scripts/codex-git-hooks/pre-push +124 -0
  426. package/scripts/doctor.js +111 -0
  427. package/scripts/ecc.js +216 -0
  428. package/scripts/gan-harness.sh +299 -0
  429. package/scripts/harness-audit.js +735 -0
  430. package/scripts/hooks/auto-tmux-dev.js +88 -0
  431. package/scripts/hooks/branch-name-check.js +163 -0
  432. package/scripts/hooks/check-console-log.js +71 -0
  433. package/scripts/hooks/check-hook-enabled.js +12 -0
  434. package/scripts/hooks/config-protection.js +140 -0
  435. package/scripts/hooks/cost-tracker.js +78 -0
  436. package/scripts/hooks/design-quality-check.js +131 -0
  437. package/scripts/hooks/desktop-notify.js +168 -0
  438. package/scripts/hooks/doc-file-warning.js +90 -0
  439. package/scripts/hooks/evaluate-session.js +100 -0
  440. package/scripts/hooks/governance-capture.js +334 -0
  441. package/scripts/hooks/mcp-health-check.js +619 -0
  442. package/scripts/hooks/post-bash-build-complete.js +27 -0
  443. package/scripts/hooks/post-bash-command-log.js +73 -0
  444. package/scripts/hooks/post-bash-pr-created.js +36 -0
  445. package/scripts/hooks/post-edit-accumulator.js +78 -0
  446. package/scripts/hooks/post-edit-console-warn.js +54 -0
  447. package/scripts/hooks/post-edit-format.js +109 -0
  448. package/scripts/hooks/post-edit-typecheck.js +96 -0
  449. package/scripts/hooks/pre-bash-commit-quality.js +405 -0
  450. package/scripts/hooks/pre-bash-dev-server-block.js +187 -0
  451. package/scripts/hooks/pre-bash-git-push-reminder.js +28 -0
  452. package/scripts/hooks/pre-bash-tmux-reminder.js +33 -0
  453. package/scripts/hooks/pre-compact.js +48 -0
  454. package/scripts/hooks/pre-write-doc-warn.js +9 -0
  455. package/scripts/hooks/quality-gate.js +168 -0
  456. package/scripts/hooks/run-with-flags-shell.sh +36 -0
  457. package/scripts/hooks/run-with-flags.js +181 -0
  458. package/scripts/hooks/session-end-marker.js +67 -0
  459. package/scripts/hooks/session-end.js +301 -0
  460. package/scripts/hooks/session-start-bootstrap.js +161 -0
  461. package/scripts/hooks/session-start.js +492 -0
  462. package/scripts/hooks/smart-suggest.js +138 -0
  463. package/scripts/hooks/stop-format-typecheck.js +209 -0
  464. package/scripts/hooks/suggest-compact.js +80 -0
  465. package/scripts/hooks/test-reminder.js +128 -0
  466. package/scripts/install-apply.js +150 -0
  467. package/scripts/install-plan.js +266 -0
  468. package/scripts/lib/agent-compress.js +244 -0
  469. package/scripts/lib/hook-flags.js +74 -0
  470. package/scripts/lib/inspection.js +212 -0
  471. package/scripts/lib/install/apply.js +265 -0
  472. package/scripts/lib/install/config.js +89 -0
  473. package/scripts/lib/install/request.js +120 -0
  474. package/scripts/lib/install/runtime.js +54 -0
  475. package/scripts/lib/install-executor.js +672 -0
  476. package/scripts/lib/install-lifecycle.js +1226 -0
  477. package/scripts/lib/install-manifests.js +551 -0
  478. package/scripts/lib/install-state.js +313 -0
  479. package/scripts/lib/install-targets/antigravity-project.js +85 -0
  480. package/scripts/lib/install-targets/claude-home.js +10 -0
  481. package/scripts/lib/install-targets/codebuddy-project.js +50 -0
  482. package/scripts/lib/install-targets/codex-home.js +10 -0
  483. package/scripts/lib/install-targets/cursor-project.js +50 -0
  484. package/scripts/lib/install-targets/gemini-project.js +10 -0
  485. package/scripts/lib/install-targets/helpers.js +340 -0
  486. package/scripts/lib/install-targets/opencode-home.js +10 -0
  487. package/scripts/lib/install-targets/registry.js +70 -0
  488. package/scripts/lib/mcp-config.js +56 -0
  489. package/scripts/lib/observer-sessions.js +175 -0
  490. package/scripts/lib/orchestration-session.js +299 -0
  491. package/scripts/lib/package-manager.d.ts +119 -0
  492. package/scripts/lib/package-manager.js +431 -0
  493. package/scripts/lib/project-detect.js +428 -0
  494. package/scripts/lib/resolve-ecc-root.js +118 -0
  495. package/scripts/lib/resolve-formatter.js +185 -0
  496. package/scripts/lib/session-adapters/canonical-session.js +531 -0
  497. package/scripts/lib/session-adapters/claude-history.js +160 -0
  498. package/scripts/lib/session-adapters/dmux-tmux.js +90 -0
  499. package/scripts/lib/session-adapters/registry.js +127 -0
  500. package/scripts/lib/session-aliases.d.ts +136 -0
  501. package/scripts/lib/session-aliases.js +481 -0
  502. package/scripts/lib/session-manager.d.ts +132 -0
  503. package/scripts/lib/session-manager.js +533 -0
  504. package/scripts/lib/shell-split.js +86 -0
  505. package/scripts/lib/skill-evolution/dashboard.js +401 -0
  506. package/scripts/lib/skill-evolution/health.js +263 -0
  507. package/scripts/lib/skill-evolution/index.js +20 -0
  508. package/scripts/lib/skill-evolution/provenance.js +187 -0
  509. package/scripts/lib/skill-evolution/tracker.js +146 -0
  510. package/scripts/lib/skill-evolution/versioning.js +237 -0
  511. package/scripts/lib/skill-improvement/amendify.js +89 -0
  512. package/scripts/lib/skill-improvement/evaluate.js +59 -0
  513. package/scripts/lib/skill-improvement/health.js +118 -0
  514. package/scripts/lib/skill-improvement/observations.js +108 -0
  515. package/scripts/lib/state-store/index.js +191 -0
  516. package/scripts/lib/state-store/migrations.js +178 -0
  517. package/scripts/lib/state-store/queries.js +697 -0
  518. package/scripts/lib/state-store/schema.js +92 -0
  519. package/scripts/lib/tmux-worktree-orchestrator.js +598 -0
  520. package/scripts/lib/utils.d.ts +196 -0
  521. package/scripts/lib/utils.js +629 -0
  522. package/scripts/list-installed.js +91 -0
  523. package/scripts/orchestrate-codex-worker.sh +107 -0
  524. package/scripts/orchestrate-worktrees.js +108 -0
  525. package/scripts/orchestration-status.js +62 -0
  526. package/scripts/release.sh +83 -0
  527. package/scripts/repair.js +98 -0
  528. package/scripts/session-inspect.js +150 -0
  529. package/scripts/sessions-cli.js +178 -0
  530. package/scripts/setup-package-manager.js +204 -0
  531. package/scripts/skill-create-output.js +244 -0
  532. package/scripts/skills-health.js +132 -0
  533. package/scripts/status.js +177 -0
  534. package/scripts/sync-ecc-to-codex.sh +534 -0
  535. package/scripts/uninstall.js +97 -0
  536. package/skills/agent-eval/SKILL.md +145 -0
  537. package/skills/agent-harness-construction/SKILL.md +73 -0
  538. package/skills/agent-introspection-debugging/SKILL.md +153 -0
  539. package/skills/agent-payment-x402/SKILL.md +178 -0
  540. package/skills/agent-sort/SKILL.md +215 -0
  541. package/skills/agentic-engineering/SKILL.md +63 -0
  542. package/skills/ai-first-engineering/SKILL.md +51 -0
  543. package/skills/ai-regression-testing/SKILL.md +385 -0
  544. package/skills/android-clean-architecture/SKILL.md +339 -0
  545. package/skills/api-connector-builder/SKILL.md +121 -0
  546. package/skills/api-design/SKILL.md +523 -0
  547. package/skills/architecture-decision-records/SKILL.md +179 -0
  548. package/skills/article-writing/SKILL.md +79 -0
  549. package/skills/automation-audit-ops/SKILL.md +142 -0
  550. package/skills/autonomous-agent-harness/SKILL.md +267 -0
  551. package/skills/autonomous-loops/SKILL.md +610 -0
  552. package/skills/backend-patterns/SKILL.md +598 -0
  553. package/skills/benchmark/SKILL.md +93 -0
  554. package/skills/blueprint/SKILL.md +105 -0
  555. package/skills/brand-voice/SKILL.md +97 -0
  556. package/skills/brand-voice/references/voice-profile-schema.md +55 -0
  557. package/skills/browser-qa/SKILL.md +87 -0
  558. package/skills/bun-runtime/SKILL.md +84 -0
  559. package/skills/canary-watch/SKILL.md +99 -0
  560. package/skills/carrier-relationship-management/SKILL.md +212 -0
  561. package/skills/ck/SKILL.md +147 -0
  562. package/skills/ck/commands/forget.mjs +44 -0
  563. package/skills/ck/commands/info.mjs +24 -0
  564. package/skills/ck/commands/init.mjs +143 -0
  565. package/skills/ck/commands/list.mjs +40 -0
  566. package/skills/ck/commands/migrate.mjs +202 -0
  567. package/skills/ck/commands/resume.mjs +36 -0
  568. package/skills/ck/commands/save.mjs +210 -0
  569. package/skills/ck/commands/shared.mjs +387 -0
  570. package/skills/ck/hooks/session-start.mjs +224 -0
  571. package/skills/claude-api/SKILL.md +337 -0
  572. package/skills/claude-devfleet/SKILL.md +103 -0
  573. package/skills/click-path-audit/SKILL.md +244 -0
  574. package/skills/clickhouse-io/SKILL.md +439 -0
  575. package/skills/code-tour/SKILL.md +236 -0
  576. package/skills/codebase-onboarding/SKILL.md +233 -0
  577. package/skills/coding-standards/SKILL.md +549 -0
  578. package/skills/compose-multiplatform-patterns/SKILL.md +299 -0
  579. package/skills/configure-ecc/SKILL.md +367 -0
  580. package/skills/connections-optimizer/SKILL.md +189 -0
  581. package/skills/content-engine/SKILL.md +131 -0
  582. package/skills/content-hash-cache-pattern/SKILL.md +161 -0
  583. package/skills/context-budget/SKILL.md +135 -0
  584. package/skills/continuous-agent-loop/SKILL.md +45 -0
  585. package/skills/continuous-learning/SKILL.md +123 -0
  586. package/skills/continuous-learning/config.json +18 -0
  587. package/skills/continuous-learning/evaluate-session.sh +69 -0
  588. package/skills/continuous-learning-v2/SKILL.md +365 -0
  589. package/skills/continuous-learning-v2/agents/observer-loop.sh +271 -0
  590. package/skills/continuous-learning-v2/agents/observer.md +198 -0
  591. package/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
  592. package/skills/continuous-learning-v2/agents/start-observer.sh +244 -0
  593. package/skills/continuous-learning-v2/config.json +8 -0
  594. package/skills/continuous-learning-v2/hooks/observe.sh +428 -0
  595. package/skills/continuous-learning-v2/scripts/detect-project.sh +228 -0
  596. package/skills/continuous-learning-v2/scripts/instinct-cli.py +1426 -0
  597. package/skills/continuous-learning-v2/scripts/test_parse_instinct.py +984 -0
  598. package/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
  599. package/skills/council/SKILL.md +203 -0
  600. package/skills/cpp-coding-standards/SKILL.md +723 -0
  601. package/skills/cpp-testing/SKILL.md +324 -0
  602. package/skills/crosspost/SKILL.md +111 -0
  603. package/skills/csharp-testing/SKILL.md +321 -0
  604. package/skills/customer-billing-ops/SKILL.md +140 -0
  605. package/skills/customs-trade-compliance/SKILL.md +263 -0
  606. package/skills/dart-flutter-patterns/SKILL.md +563 -0
  607. package/skills/dashboard-builder/SKILL.md +109 -0
  608. package/skills/data-scraper-agent/SKILL.md +764 -0
  609. package/skills/database-migrations/SKILL.md +429 -0
  610. package/skills/deep-research/SKILL.md +155 -0
  611. package/skills/defi-amm-security/SKILL.md +160 -0
  612. package/skills/deployment-patterns/SKILL.md +427 -0
  613. package/skills/design-system/SKILL.md +82 -0
  614. package/skills/django-patterns/SKILL.md +734 -0
  615. package/skills/django-security/SKILL.md +593 -0
  616. package/skills/django-tdd/SKILL.md +729 -0
  617. package/skills/django-verification/SKILL.md +469 -0
  618. package/skills/dmux-workflows/SKILL.md +191 -0
  619. package/skills/docker-patterns/SKILL.md +364 -0
  620. package/skills/documentation-lookup/SKILL.md +90 -0
  621. package/skills/dotnet-patterns/SKILL.md +321 -0
  622. package/skills/e2e-testing/SKILL.md +326 -0
  623. package/skills/ecc-tools-cost-audit/SKILL.md +160 -0
  624. package/skills/email-ops/SKILL.md +121 -0
  625. package/skills/energy-procurement/SKILL.md +228 -0
  626. package/skills/enterprise-agent-ops/SKILL.md +50 -0
  627. package/skills/eval-harness/SKILL.md +270 -0
  628. package/skills/evm-token-decimals/SKILL.md +130 -0
  629. package/skills/exa-search/SKILL.md +103 -0
  630. package/skills/fal-ai-media/SKILL.md +284 -0
  631. package/skills/finance-billing-ops/SKILL.md +127 -0
  632. package/skills/flutter-dart-code-review/SKILL.md +435 -0
  633. package/skills/foundation-models-on-device/SKILL.md +243 -0
  634. package/skills/frontend-design/SKILL.md +145 -0
  635. package/skills/frontend-patterns/SKILL.md +642 -0
  636. package/skills/frontend-slides/SKILL.md +184 -0
  637. package/skills/frontend-slides/STYLE_PRESETS.md +330 -0
  638. package/skills/gan-style-harness/SKILL.md +278 -0
  639. package/skills/git-mastery/SKILL.md +366 -0
  640. package/skills/git-workflow/SKILL.md +715 -0
  641. package/skills/github-ops/SKILL.md +144 -0
  642. package/skills/golang-patterns/SKILL.md +674 -0
  643. package/skills/golang-testing/SKILL.md +720 -0
  644. package/skills/google-workspace-ops/SKILL.md +95 -0
  645. package/skills/healthcare-cdss-patterns/SKILL.md +245 -0
  646. package/skills/healthcare-emr-patterns/SKILL.md +159 -0
  647. package/skills/healthcare-eval-harness/SKILL.md +207 -0
  648. package/skills/healthcare-phi-compliance/SKILL.md +145 -0
  649. package/skills/hexagonal-architecture/SKILL.md +276 -0
  650. package/skills/hipaa-compliance/SKILL.md +78 -0
  651. package/skills/hookify-rules/SKILL.md +128 -0
  652. package/skills/inventory-demand-planning/SKILL.md +247 -0
  653. package/skills/investor-materials/SKILL.md +96 -0
  654. package/skills/investor-outreach/SKILL.md +91 -0
  655. package/skills/iterative-retrieval/SKILL.md +211 -0
  656. package/skills/java-coding-standards/SKILL.md +147 -0
  657. package/skills/jira-integration/SKILL.md +293 -0
  658. package/skills/jpa-patterns/SKILL.md +151 -0
  659. package/skills/knowledge-ops/SKILL.md +154 -0
  660. package/skills/kodelyth-quickstart/SKILL.md +207 -0
  661. package/skills/kotlin-coroutines-flows/SKILL.md +284 -0
  662. package/skills/kotlin-exposed-patterns/SKILL.md +719 -0
  663. package/skills/kotlin-ktor-patterns/SKILL.md +689 -0
  664. package/skills/kotlin-patterns/SKILL.md +711 -0
  665. package/skills/kotlin-testing/SKILL.md +824 -0
  666. package/skills/laravel-patterns/SKILL.md +415 -0
  667. package/skills/laravel-plugin-discovery/SKILL.md +229 -0
  668. package/skills/laravel-security/SKILL.md +285 -0
  669. package/skills/laravel-tdd/SKILL.md +283 -0
  670. package/skills/laravel-verification/SKILL.md +179 -0
  671. package/skills/lead-intelligence/SKILL.md +321 -0
  672. package/skills/lead-intelligence/agents/enrichment-agent.md +85 -0
  673. package/skills/lead-intelligence/agents/mutual-mapper.md +75 -0
  674. package/skills/lead-intelligence/agents/outreach-drafter.md +98 -0
  675. package/skills/lead-intelligence/agents/signal-scorer.md +60 -0
  676. package/skills/liquid-glass-design/SKILL.md +279 -0
  677. package/skills/llm-trading-agent-security/SKILL.md +146 -0
  678. package/skills/logistics-exception-management/SKILL.md +222 -0
  679. package/skills/manim-video/SKILL.md +89 -0
  680. package/skills/manim-video/assets/network_graph_scene.py +52 -0
  681. package/skills/market-research/SKILL.md +75 -0
  682. package/skills/mcp-server-patterns/SKILL.md +67 -0
  683. package/skills/messages-ops/SKILL.md +104 -0
  684. package/skills/nanoclaw-repl/SKILL.md +33 -0
  685. package/skills/nestjs-patterns/SKILL.md +230 -0
  686. package/skills/nextjs-turbopack/SKILL.md +44 -0
  687. package/skills/nodejs-keccak256/SKILL.md +102 -0
  688. package/skills/nutrient-document-processing/SKILL.md +167 -0
  689. package/skills/nuxt4-patterns/SKILL.md +100 -0
  690. package/skills/observability/SKILL.md +390 -0
  691. package/skills/openclaw-persona-forge/SKILL.md +296 -0
  692. package/skills/openclaw-persona-forge/gacha.py +224 -0
  693. package/skills/openclaw-persona-forge/gacha.sh +5 -0
  694. package/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
  695. package/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
  696. package/skills/openclaw-persona-forge/references/error-handling.md +53 -0
  697. package/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
  698. package/skills/openclaw-persona-forge/references/naming-system.md +39 -0
  699. package/skills/openclaw-persona-forge/references/output-template.md +166 -0
  700. package/skills/opensource-pipeline/SKILL.md +255 -0
  701. package/skills/perl-patterns/SKILL.md +504 -0
  702. package/skills/perl-security/SKILL.md +503 -0
  703. package/skills/perl-testing/SKILL.md +475 -0
  704. package/skills/plankton-code-quality/SKILL.md +236 -0
  705. package/skills/postgres-patterns/SKILL.md +147 -0
  706. package/skills/product-capability/SKILL.md +141 -0
  707. package/skills/product-lens/SKILL.md +92 -0
  708. package/skills/production-scheduling/SKILL.md +238 -0
  709. package/skills/project-flow-ops/SKILL.md +111 -0
  710. package/skills/prompt-optimizer/SKILL.md +397 -0
  711. package/skills/python-patterns/SKILL.md +750 -0
  712. package/skills/python-testing/SKILL.md +816 -0
  713. package/skills/pytorch-patterns/SKILL.md +396 -0
  714. package/skills/quality-nonconformance/SKILL.md +260 -0
  715. package/skills/ralphinho-rfc-pipeline/SKILL.md +67 -0
  716. package/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
  717. package/skills/remotion-video-creation/SKILL.md +43 -0
  718. package/skills/remotion-video-creation/rules/3d.md +86 -0
  719. package/skills/remotion-video-creation/rules/animations.md +29 -0
  720. package/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -0
  721. package/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -0
  722. package/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -0
  723. package/skills/remotion-video-creation/rules/assets.md +78 -0
  724. package/skills/remotion-video-creation/rules/audio.md +172 -0
  725. package/skills/remotion-video-creation/rules/calculate-metadata.md +104 -0
  726. package/skills/remotion-video-creation/rules/can-decode.md +75 -0
  727. package/skills/remotion-video-creation/rules/charts.md +58 -0
  728. package/skills/remotion-video-creation/rules/compositions.md +146 -0
  729. package/skills/remotion-video-creation/rules/display-captions.md +126 -0
  730. package/skills/remotion-video-creation/rules/extract-frames.md +229 -0
  731. package/skills/remotion-video-creation/rules/fonts.md +152 -0
  732. package/skills/remotion-video-creation/rules/get-audio-duration.md +58 -0
  733. package/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -0
  734. package/skills/remotion-video-creation/rules/get-video-duration.md +58 -0
  735. package/skills/remotion-video-creation/rules/gifs.md +138 -0
  736. package/skills/remotion-video-creation/rules/images.md +130 -0
  737. package/skills/remotion-video-creation/rules/import-srt-captions.md +67 -0
  738. package/skills/remotion-video-creation/rules/lottie.md +67 -0
  739. package/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -0
  740. package/skills/remotion-video-creation/rules/measuring-text.md +143 -0
  741. package/skills/remotion-video-creation/rules/sequencing.md +106 -0
  742. package/skills/remotion-video-creation/rules/tailwind.md +11 -0
  743. package/skills/remotion-video-creation/rules/text-animations.md +20 -0
  744. package/skills/remotion-video-creation/rules/timing.md +179 -0
  745. package/skills/remotion-video-creation/rules/transcribe-captions.md +19 -0
  746. package/skills/remotion-video-creation/rules/transitions.md +122 -0
  747. package/skills/remotion-video-creation/rules/trimming.md +52 -0
  748. package/skills/remotion-video-creation/rules/videos.md +171 -0
  749. package/skills/repo-scan/SKILL.md +78 -0
  750. package/skills/research-ops/SKILL.md +112 -0
  751. package/skills/returns-reverse-logistics/SKILL.md +240 -0
  752. package/skills/rules-distill/SKILL.md +264 -0
  753. package/skills/rules-distill/scripts/scan-rules.sh +58 -0
  754. package/skills/rules-distill/scripts/scan-skills.sh +129 -0
  755. package/skills/rust-patterns/SKILL.md +499 -0
  756. package/skills/rust-testing/SKILL.md +500 -0
  757. package/skills/safety-guard/SKILL.md +75 -0
  758. package/skills/santa-method/SKILL.md +306 -0
  759. package/skills/search-first/SKILL.md +161 -0
  760. package/skills/security-bounty-hunter/SKILL.md +99 -0
  761. package/skills/security-review/SKILL.md +495 -0
  762. package/skills/security-review/cloud-infrastructure-security.md +361 -0
  763. package/skills/security-scan/SKILL.md +165 -0
  764. package/skills/seo/SKILL.md +154 -0
  765. package/skills/skill-comply/SKILL.md +58 -0
  766. package/skills/skill-comply/fixtures/compliant_trace.jsonl +5 -0
  767. package/skills/skill-comply/fixtures/noncompliant_trace.jsonl +3 -0
  768. package/skills/skill-comply/fixtures/tdd_spec.yaml +44 -0
  769. package/skills/skill-comply/prompts/classifier.md +24 -0
  770. package/skills/skill-comply/prompts/scenario_generator.md +62 -0
  771. package/skills/skill-comply/prompts/spec_generator.md +42 -0
  772. package/skills/skill-comply/pyproject.toml +15 -0
  773. package/skills/skill-comply/scripts/__init__.py +0 -0
  774. package/skills/skill-comply/scripts/classifier.py +85 -0
  775. package/skills/skill-comply/scripts/grader.py +122 -0
  776. package/skills/skill-comply/scripts/parser.py +107 -0
  777. package/skills/skill-comply/scripts/report.py +170 -0
  778. package/skills/skill-comply/scripts/run.py +127 -0
  779. package/skills/skill-comply/scripts/runner.py +161 -0
  780. package/skills/skill-comply/scripts/scenario_generator.py +70 -0
  781. package/skills/skill-comply/scripts/spec_generator.py +72 -0
  782. package/skills/skill-comply/scripts/utils.py +13 -0
  783. package/skills/skill-comply/tests/test_grader.py +137 -0
  784. package/skills/skill-comply/tests/test_parser.py +90 -0
  785. package/skills/skill-stocktake/SKILL.md +193 -0
  786. package/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
  787. package/skills/skill-stocktake/scripts/save-results.sh +56 -0
  788. package/skills/skill-stocktake/scripts/scan.sh +170 -0
  789. package/skills/smart-debug/SKILL.md +241 -0
  790. package/skills/social-graph-ranker/SKILL.md +154 -0
  791. package/skills/springboot-patterns/SKILL.md +314 -0
  792. package/skills/springboot-security/SKILL.md +272 -0
  793. package/skills/springboot-tdd/SKILL.md +158 -0
  794. package/skills/springboot-verification/SKILL.md +231 -0
  795. package/skills/strategic-compact/SKILL.md +131 -0
  796. package/skills/strategic-compact/suggest-compact.sh +54 -0
  797. package/skills/swift-actor-persistence/SKILL.md +143 -0
  798. package/skills/swift-concurrency-6-2/SKILL.md +216 -0
  799. package/skills/swift-protocol-di-testing/SKILL.md +190 -0
  800. package/skills/swiftui-patterns/SKILL.md +259 -0
  801. package/skills/tdd-workflow/SKILL.md +463 -0
  802. package/skills/team-builder/SKILL.md +168 -0
  803. package/skills/terminal-ops/SKILL.md +109 -0
  804. package/skills/token-budget-advisor/SKILL.md +133 -0
  805. package/skills/ui-demo/SKILL.md +465 -0
  806. package/skills/unified-notifications-ops/SKILL.md +187 -0
  807. package/skills/verification-loop/SKILL.md +126 -0
  808. package/skills/video-editing/SKILL.md +310 -0
  809. package/skills/videodb/SKILL.md +374 -0
  810. package/skills/videodb/reference/api-reference.md +550 -0
  811. package/skills/videodb/reference/capture-reference.md +407 -0
  812. package/skills/videodb/reference/capture.md +101 -0
  813. package/skills/videodb/reference/editor.md +443 -0
  814. package/skills/videodb/reference/generative.md +331 -0
  815. package/skills/videodb/reference/rtstream-reference.md +564 -0
  816. package/skills/videodb/reference/rtstream.md +65 -0
  817. package/skills/videodb/reference/search.md +230 -0
  818. package/skills/videodb/reference/streaming.md +406 -0
  819. package/skills/videodb/reference/use-cases.md +118 -0
  820. package/skills/videodb/scripts/ws_listener.py +282 -0
  821. package/skills/visa-doc-translate/README.md +86 -0
  822. package/skills/visa-doc-translate/SKILL.md +117 -0
  823. package/skills/workspace-surface-audit/SKILL.md +125 -0
  824. package/skills/x-api/SKILL.md +230 -0
  825. package/social/card-agents.svg +96 -0
  826. package/social/card-install.svg +99 -0
  827. package/social/card-main.svg +133 -0
  828. package/social/github-social-preview.svg +147 -0
  829. package/social/readme-agents.svg +139 -0
  830. package/social/readme-hero.svg +131 -0
  831. package/social/readme-lens.svg +140 -0
  832. package/social/readme-savings.svg +56 -0
  833. package/social/x-card-agents-grid.svg +94 -0
  834. package/social/x-card-free.svg +95 -0
  835. package/social/x-card-hook.svg +77 -0
  836. package/tests/hooks/branch-name-check.test.js +184 -0
  837. package/tests/hooks/smart-suggest.test.js +149 -0
  838. package/tests/hooks/test-reminder.test.js +181 -0
  839. package/tests/run-all.js +55 -0
  840. package/wiki/Agent-Reference.md +199 -0
  841. package/wiki/FAQ.md +142 -0
  842. package/wiki/Home.md +50 -0
  843. package/wiki/Hook-Reference.md +101 -0
  844. package/wiki/Installation-Guide.md +126 -0
  845. package/wiki/Platform-Support.md +106 -0
  846. package/wiki/Skill-Reference.md +103 -0
@@ -0,0 +1,178 @@
1
+ # Performance & Cost Optimization
2
+
3
+ ## Budget-First Principle (CRITICAL)
4
+
5
+ **Every token costs money. Every agent invocation costs money. Treat both as finite resources.**
6
+
7
+ Match the model to the task complexity. Do not default to the heaviest model — that wastes money. Do not default to the lightest model on complex work — that wastes time and produces worse output. Pick the right tier for the actual task in front of you.
8
+
9
+ ---
10
+
11
+ ## Model Selection by Platform
12
+
13
+ ### Claude Code (Anthropic Models)
14
+
15
+ | Tier | Model | Task Examples |
16
+ |---|---|---|
17
+ | **Trivial** | Claude Haiku | Rename, format, autocomplete, write a single test, update a comment |
18
+ | **Standard** | Claude Sonnet 4.6 | Build a component, write an API route, debug a bug, refactor a module — **most real coding work** |
19
+ | **Maximum** | Claude Opus 4.6 | Architect a system, plan a large migration, analyze cross-cutting security issues, hardest problems |
20
+
21
+ **Most sessions run on Sonnet 4.6.** Haiku is for genuinely trivial edits. Opus 4.6 is for decisions that would take a senior engineer an hour of deep thinking.
22
+
23
+ ---
24
+
25
+ ### Google Antigravity — Approved Model Stack
26
+
27
+ The approved stack is 4 models. **Gemini 3 Flash and GPT-OSS 120B are not used** — they are insufficient for production-grade, multi-language, 300B-scale work.
28
+
29
+ | Tier | Model | Task Examples |
30
+ |---|---|---|
31
+ | **Standard** | Gemini 3.1 Pro (Low) | Build components, write API routes, server actions, debug rendering issues, write tests, everyday refactoring — **most real coding work** |
32
+ | **Complex** | Gemini 3.1 Pro (High) | Deep multi-file reasoning, architecture decisions, hard bugs spanning many files, security audits, migration planning |
33
+ | **Claude Standard** | Claude Sonnet 4.6 (Thinking) | When Claude agent behavior is needed, extended thinking on difficult problems, complex agent orchestration |
34
+ | **Claude Maximum** | Claude Opus 4.6 (Thinking) | Hardest architectural decisions, maximum reasoning — use when Pro (High) and Sonnet both fall short |
35
+
36
+ **Do not use:**
37
+ - Gemini 3 Flash — insufficient depth for production work
38
+ - GPT-OSS 120B (Medium) — not part of the Kodelyth ECC stack
39
+
40
+ ---
41
+
42
+ ### Antigravity Task Mapping — Any Language, Any Scale
43
+
44
+ | What you are doing | Right model |
45
+ |---|---|
46
+ | Building a React/Next.js component | Gemini 3.1 Pro (Low) |
47
+ | Writing an API route or server action | Gemini 3.1 Pro (Low) |
48
+ | Writing tests | Gemini 3.1 Pro (Low) |
49
+ | Debugging a rendering or logic bug | Gemini 3.1 Pro (Low) |
50
+ | Go service implementation | Gemini 3.1 Pro (Low) |
51
+ | Python API endpoint | Gemini 3.1 Pro (Low) |
52
+ | Kotlin Android feature | Gemini 3.1 Pro (Low) |
53
+ | Rust systems code | Gemini 3.1 Pro (Low) |
54
+ | Java Spring Boot service | Gemini 3.1 Pro (Low) |
55
+ | Hard bug spanning 8+ files | Gemini 3.1 Pro (High) |
56
+ | Auth system architecture | Gemini 3.1 Pro (High) |
57
+ | Security audit across codebase | Gemini 3.1 Pro (High) |
58
+ | Cross-service debugging | Gemini 3.1 Pro (High) |
59
+ | Database schema and query design | Gemini 3.1 Pro (High) |
60
+ | Migration planning (framework, language) | Gemini 3.1 Pro (High) |
61
+ | Deep agent reasoning needed | Claude Sonnet 4.6 (Thinking) |
62
+ | Complex multi-agent orchestration | Claude Sonnet 4.6 (Thinking) |
63
+ | Hardest architectural decisions | Claude Opus 4.6 (Thinking) |
64
+ | Problem that Pro (High) could not solve | Claude Opus 4.6 (Thinking) |
65
+
66
+ **Gemini 3.1 Pro (High) vs (Low) — choose High when:**
67
+ - Task spans 10+ files and requires cross-file reasoning
68
+ - A bug has resisted Pro (Low)'s analysis
69
+ - Security or compliance audit needs full codebase context
70
+ - Architecture decision has significant long-term trade-offs
71
+ - Migration involves complex dependency trees across the project
72
+
73
+ **Claude Sonnet 4.6 (Thinking) — choose when:**
74
+ - You need Claude-specific agent behaviors from ECC
75
+ - The problem requires extended thinking beyond Gemini's reasoning
76
+ - You are orchestrating multiple agents and need deep coordination logic
77
+
78
+ **Claude Opus 4.6 (Thinking) — last resort:**
79
+ - Only when Gemini 3.1 Pro (High) and Claude Sonnet 4.6 have both been tried and fallen short
80
+ - Maximum reasoning on the hardest architectural problems
81
+ - Never open with Opus on a task Pro (Low) can handle
82
+
83
+ ---
84
+
85
+ ## Token Efficiency Rules
86
+
87
+ ### Keep Context Lean
88
+
89
+ - Read only the function or section needed — never feed entire files when a targeted read works
90
+ - Summarize long conversations before continuing deep sessions (`/compact` in Claude Code)
91
+ - Avoid the last 20% of the context window for large operations — start a fresh session instead
92
+ - Clear context between unrelated tasks — stale context adds noise and cost
93
+
94
+ ### Low-Context Tasks — safe at any point in a session
95
+
96
+ - Single-file edits
97
+ - Standalone utility creation
98
+ - Documentation updates
99
+ - Simple bug fixes
100
+ - Writing a test for a function that already exists
101
+
102
+ ### High-Context Tasks — start fresh or compact first
103
+
104
+ - Large-scale refactoring across many files
105
+ - Feature implementation spanning multiple modules
106
+ - Debugging complex multi-service interactions
107
+ - Any task requiring reading 10+ files simultaneously
108
+
109
+ ---
110
+
111
+ ## Agent Invocation Cost Discipline
112
+
113
+ - **Don't spawn agents for trivial tasks** — a one-liner fix does not need a code-reviewer agent
114
+ - **Batch related changes** before invoking a reviewer — review once after a logical unit of work, not after every single edit
115
+ - **Use `async: true` for all non-blocking hooks** — never let a hook add latency to tool execution (Claude Code)
116
+ - **Set hook timeouts aggressively** — hooks must complete in under 5 seconds; anything longer gets killed
117
+ - **Disable hooks you don't use** (Claude Code):
118
+ ```bash
119
+ export ECC_DISABLED_HOOKS=kodelyth:smart-suggest,kodelyth:test-reminder
120
+ ```
121
+
122
+ ---
123
+
124
+ ## Thinking Mode — Use Surgically
125
+
126
+ Claude Sonnet 4.6 (Thinking) and Claude Opus 4.6 (Thinking) reserve large token budgets for internal reasoning. Gemini 3.1 Pro (High) activates deep reasoning mode. Both are expensive. Use deliberately.
127
+
128
+ **Enable thinking / Pro (High) for:**
129
+ - Architectural decisions with significant trade-offs
130
+ - Security analysis of sensitive code paths
131
+ - Debugging that has resisted standard analysis
132
+ - Migration planning across a large, complex codebase
133
+
134
+ **Stay on Pro (Low) for:**
135
+ - Routine code generation
136
+ - Documentation and comment updates
137
+ - Standard refactoring with a clear path
138
+ - Any task where the answer is immediately obvious from context
139
+
140
+ **Claude Code — cap thinking budget to control cost:**
141
+ ```bash
142
+ export MAX_THINKING_TOKENS=5000
143
+
144
+ # Toggle extended thinking: Option+T (macOS) / Alt+T (Windows/Linux)
145
+ ```
146
+
147
+ **Antigravity — select at model picker:**
148
+ - Gemini 3.1 Pro (Low) = fast, capable, handles most work
149
+ - Gemini 3.1 Pro (High) = deep reasoning mode, costs more
150
+ - Claude Sonnet 4.6 (Thinking) = Claude agent behavior + thinking
151
+ - Claude Opus 4.6 (Thinking) = maximum, last resort
152
+
153
+ ---
154
+
155
+ ## Cost Tracking (Claude Code)
156
+
157
+ The cost-tracker hook logs token usage per session to `~/.claude/logs/token-usage.jsonl`.
158
+
159
+ ```bash
160
+ # Top 10 most expensive sessions
161
+ cat ~/.claude/logs/token-usage.jsonl | jq -s 'sort_by(.tokens) | reverse | .[0:10]'
162
+
163
+ # Average tokens per session
164
+ cat ~/.claude/logs/token-usage.jsonl | jq -s '[.[].tokens] | add / length'
165
+ ```
166
+
167
+ High-cost sessions signal one of three problems: wrong model selection, poor context hygiene, or over-spawning agents. Fix the habit, not just the session.
168
+
169
+ ---
170
+
171
+ ## Build Troubleshooting
172
+
173
+ Build errors are pattern-matching tasks, not deep reasoning tasks.
174
+
175
+ 1. Use **build-error-resolver** agent — Pro (Low) or Sonnet tier, not Opus
176
+ 2. Feed the exact error message, not the entire build log
177
+ 3. Fix one error at a time
178
+ 4. Verify after each fix before continuing
@@ -0,0 +1,29 @@
1
+ # Security Guidelines
2
+
3
+ ## Mandatory Security Checks
4
+
5
+ Before ANY commit:
6
+ - [ ] No hardcoded secrets (API keys, passwords, tokens)
7
+ - [ ] All user inputs validated
8
+ - [ ] SQL injection prevention (parameterized queries)
9
+ - [ ] XSS prevention (sanitized HTML)
10
+ - [ ] CSRF protection enabled
11
+ - [ ] Authentication/authorization verified
12
+ - [ ] Rate limiting on all endpoints
13
+ - [ ] Error messages don't leak sensitive data
14
+
15
+ ## Secret Management
16
+
17
+ - NEVER hardcode secrets in source code
18
+ - ALWAYS use environment variables or a secret manager
19
+ - Validate that required secrets are present at startup
20
+ - Rotate any secrets that may have been exposed
21
+
22
+ ## Security Response Protocol
23
+
24
+ If security issue found:
25
+ 1. STOP immediately
26
+ 2. Use **security-reviewer** agent
27
+ 3. Fix CRITICAL issues before continuing
28
+ 4. Rotate any exposed secrets
29
+ 5. Review entire codebase for similar issues
@@ -0,0 +1,57 @@
1
+ # Testing Requirements
2
+
3
+ ## Minimum Test Coverage: 80%
4
+
5
+ Test Types (ALL required):
6
+ 1. **Unit Tests** - Individual functions, utilities, components
7
+ 2. **Integration Tests** - API endpoints, database operations
8
+ 3. **E2E Tests** - Critical user flows (framework chosen per language)
9
+
10
+ ## Test-Driven Development
11
+
12
+ MANDATORY workflow:
13
+ 1. Write test first (RED)
14
+ 2. Run test - it should FAIL
15
+ 3. Write minimal implementation (GREEN)
16
+ 4. Run test - it should PASS
17
+ 5. Refactor (IMPROVE)
18
+ 6. Verify coverage (80%+)
19
+
20
+ ## Troubleshooting Test Failures
21
+
22
+ 1. Use **tdd-guide** agent
23
+ 2. Check test isolation
24
+ 3. Verify mocks are correct
25
+ 4. Fix implementation, not tests (unless tests are wrong)
26
+
27
+ ## Agent Support
28
+
29
+ - **tdd-guide** - Use PROACTIVELY for new features, enforces write-tests-first
30
+
31
+ ## Test Structure (AAA Pattern)
32
+
33
+ Prefer Arrange-Act-Assert structure for tests:
34
+
35
+ ```typescript
36
+ test('calculates similarity correctly', () => {
37
+ // Arrange
38
+ const vector1 = [1, 0, 0]
39
+ const vector2 = [0, 1, 0]
40
+
41
+ // Act
42
+ const similarity = calculateCosineSimilarity(vector1, vector2)
43
+
44
+ // Assert
45
+ expect(similarity).toBe(0)
46
+ })
47
+ ```
48
+
49
+ ### Test Naming
50
+
51
+ Use descriptive names that explain the behavior under test:
52
+
53
+ ```typescript
54
+ test('returns empty array when no markets match query', () => {})
55
+ test('throws error when API key is missing', () => {})
56
+ test('falls back to substring search when Redis is unavailable', () => {})
57
+ ```
@@ -0,0 +1,44 @@
1
+ ---
2
+ paths:
3
+ - "**/*.cpp"
4
+ - "**/*.hpp"
5
+ - "**/*.cc"
6
+ - "**/*.hh"
7
+ - "**/*.cxx"
8
+ - "**/*.h"
9
+ - "**/CMakeLists.txt"
10
+ ---
11
+ # C++ Coding Style
12
+
13
+ > This file extends [common/coding-style.md](../common/coding-style.md) with C++ specific content.
14
+
15
+ ## Modern C++ (C++17/20/23)
16
+
17
+ - Prefer **modern C++ features** over C-style constructs
18
+ - Use `auto` when the type is obvious from context
19
+ - Use `constexpr` for compile-time constants
20
+ - Use structured bindings: `auto [key, value] = map_entry;`
21
+
22
+ ## Resource Management
23
+
24
+ - **RAII everywhere** — no manual `new`/`delete`
25
+ - Use `std::unique_ptr` for exclusive ownership
26
+ - Use `std::shared_ptr` only when shared ownership is truly needed
27
+ - Use `std::make_unique` / `std::make_shared` over raw `new`
28
+
29
+ ## Naming Conventions
30
+
31
+ - Types/Classes: `PascalCase`
32
+ - Functions/Methods: `snake_case` or `camelCase` (follow project convention)
33
+ - Constants: `kPascalCase` or `UPPER_SNAKE_CASE`
34
+ - Namespaces: `lowercase`
35
+ - Member variables: `snake_case_` (trailing underscore) or `m_` prefix
36
+
37
+ ## Formatting
38
+
39
+ - Use **clang-format** — no style debates
40
+ - Run `clang-format -i <file>` before committing
41
+
42
+ ## Reference
43
+
44
+ See skill: `cpp-coding-standards` for comprehensive C++ coding standards and guidelines.
@@ -0,0 +1,39 @@
1
+ ---
2
+ paths:
3
+ - "**/*.cpp"
4
+ - "**/*.hpp"
5
+ - "**/*.cc"
6
+ - "**/*.hh"
7
+ - "**/*.cxx"
8
+ - "**/*.h"
9
+ - "**/CMakeLists.txt"
10
+ ---
11
+ # C++ Hooks
12
+
13
+ > This file extends [common/hooks.md](../common/hooks.md) with C++ specific content.
14
+
15
+ ## Build Hooks
16
+
17
+ Run these checks before committing C++ changes:
18
+
19
+ ```bash
20
+ # Format check
21
+ clang-format --dry-run --Werror src/*.cpp src/*.hpp
22
+
23
+ # Static analysis
24
+ clang-tidy src/*.cpp -- -std=c++17
25
+
26
+ # Build
27
+ cmake --build build
28
+
29
+ # Tests
30
+ ctest --test-dir build --output-on-failure
31
+ ```
32
+
33
+ ## Recommended CI Pipeline
34
+
35
+ 1. **clang-format** — formatting check
36
+ 2. **clang-tidy** — static analysis
37
+ 3. **cppcheck** — additional analysis
38
+ 4. **cmake build** — compilation
39
+ 5. **ctest** — test execution with sanitizers
@@ -0,0 +1,51 @@
1
+ ---
2
+ paths:
3
+ - "**/*.cpp"
4
+ - "**/*.hpp"
5
+ - "**/*.cc"
6
+ - "**/*.hh"
7
+ - "**/*.cxx"
8
+ - "**/*.h"
9
+ - "**/CMakeLists.txt"
10
+ ---
11
+ # C++ Patterns
12
+
13
+ > This file extends [common/patterns.md](../common/patterns.md) with C++ specific content.
14
+
15
+ ## RAII (Resource Acquisition Is Initialization)
16
+
17
+ Tie resource lifetime to object lifetime:
18
+
19
+ ```cpp
20
+ class FileHandle {
21
+ public:
22
+ explicit FileHandle(const std::string& path) : file_(std::fopen(path.c_str(), "r")) {}
23
+ ~FileHandle() { if (file_) std::fclose(file_); }
24
+ FileHandle(const FileHandle&) = delete;
25
+ FileHandle& operator=(const FileHandle&) = delete;
26
+ private:
27
+ std::FILE* file_;
28
+ };
29
+ ```
30
+
31
+ ## Rule of Five/Zero
32
+
33
+ - **Rule of Zero**: Prefer classes that need no custom destructor, copy/move constructors, or assignments
34
+ - **Rule of Five**: If you define any of destructor/copy-ctor/copy-assign/move-ctor/move-assign, define all five
35
+
36
+ ## Value Semantics
37
+
38
+ - Pass small/trivial types by value
39
+ - Pass large types by `const&`
40
+ - Return by value (rely on RVO/NRVO)
41
+ - Use move semantics for sink parameters
42
+
43
+ ## Error Handling
44
+
45
+ - Use exceptions for exceptional conditions
46
+ - Use `std::optional` for values that may not exist
47
+ - Use `std::expected` (C++23) or result types for expected failures
48
+
49
+ ## Reference
50
+
51
+ See skill: `cpp-coding-standards` for comprehensive C++ patterns and anti-patterns.
@@ -0,0 +1,51 @@
1
+ ---
2
+ paths:
3
+ - "**/*.cpp"
4
+ - "**/*.hpp"
5
+ - "**/*.cc"
6
+ - "**/*.hh"
7
+ - "**/*.cxx"
8
+ - "**/*.h"
9
+ - "**/CMakeLists.txt"
10
+ ---
11
+ # C++ Security
12
+
13
+ > This file extends [common/security.md](../common/security.md) with C++ specific content.
14
+
15
+ ## Memory Safety
16
+
17
+ - Never use raw `new`/`delete` — use smart pointers
18
+ - Never use C-style arrays — use `std::array` or `std::vector`
19
+ - Never use `malloc`/`free` — use C++ allocation
20
+ - Avoid `reinterpret_cast` unless absolutely necessary
21
+
22
+ ## Buffer Overflows
23
+
24
+ - Use `std::string` over `char*`
25
+ - Use `.at()` for bounds-checked access when safety matters
26
+ - Never use `strcpy`, `strcat`, `sprintf` — use `std::string` or `fmt::format`
27
+
28
+ ## Undefined Behavior
29
+
30
+ - Always initialize variables
31
+ - Avoid signed integer overflow
32
+ - Never dereference null or dangling pointers
33
+ - Use sanitizers in CI:
34
+ ```bash
35
+ cmake -DCMAKE_CXX_FLAGS="-fsanitize=address,undefined" ..
36
+ ```
37
+
38
+ ## Static Analysis
39
+
40
+ - Use **clang-tidy** for automated checks:
41
+ ```bash
42
+ clang-tidy --checks='*' src/*.cpp
43
+ ```
44
+ - Use **cppcheck** for additional analysis:
45
+ ```bash
46
+ cppcheck --enable=all src/
47
+ ```
48
+
49
+ ## Reference
50
+
51
+ See skill: `cpp-coding-standards` for detailed security guidelines.
@@ -0,0 +1,44 @@
1
+ ---
2
+ paths:
3
+ - "**/*.cpp"
4
+ - "**/*.hpp"
5
+ - "**/*.cc"
6
+ - "**/*.hh"
7
+ - "**/*.cxx"
8
+ - "**/*.h"
9
+ - "**/CMakeLists.txt"
10
+ ---
11
+ # C++ Testing
12
+
13
+ > This file extends [common/testing.md](../common/testing.md) with C++ specific content.
14
+
15
+ ## Framework
16
+
17
+ Use **GoogleTest** (gtest/gmock) with **CMake/CTest**.
18
+
19
+ ## Running Tests
20
+
21
+ ```bash
22
+ cmake --build build && ctest --test-dir build --output-on-failure
23
+ ```
24
+
25
+ ## Coverage
26
+
27
+ ```bash
28
+ cmake -DCMAKE_CXX_FLAGS="--coverage" -DCMAKE_EXE_LINKER_FLAGS="--coverage" ..
29
+ cmake --build .
30
+ ctest --output-on-failure
31
+ lcov --capture --directory . --output-file coverage.info
32
+ ```
33
+
34
+ ## Sanitizers
35
+
36
+ Always run tests with sanitizers in CI:
37
+
38
+ ```bash
39
+ cmake -DCMAKE_CXX_FLAGS="-fsanitize=address,undefined" ..
40
+ ```
41
+
42
+ ## Reference
43
+
44
+ See skill: `cpp-testing` for detailed C++ testing patterns, TDD workflow, and GoogleTest/GMock usage.
@@ -0,0 +1,72 @@
1
+ ---
2
+ paths:
3
+ - "**/*.cs"
4
+ - "**/*.csx"
5
+ ---
6
+ # C# Coding Style
7
+
8
+ > This file extends [common/coding-style.md](../common/coding-style.md) with C#-specific content.
9
+
10
+ ## Standards
11
+
12
+ - Follow current .NET conventions and enable nullable reference types
13
+ - Prefer explicit access modifiers on public and internal APIs
14
+ - Keep files aligned with the primary type they define
15
+
16
+ ## Types and Models
17
+
18
+ - Prefer `record` or `record struct` for immutable value-like models
19
+ - Use `class` for entities or types with identity and lifecycle
20
+ - Use `interface` for service boundaries and abstractions
21
+ - Avoid `dynamic` in application code; prefer generics or explicit models
22
+
23
+ ```csharp
24
+ public sealed record UserDto(Guid Id, string Email);
25
+
26
+ public interface IUserRepository
27
+ {
28
+ Task<UserDto?> FindByIdAsync(Guid id, CancellationToken cancellationToken);
29
+ }
30
+ ```
31
+
32
+ ## Immutability
33
+
34
+ - Prefer `init` setters, constructor parameters, and immutable collections for shared state
35
+ - Do not mutate input models in-place when producing updated state
36
+
37
+ ```csharp
38
+ public sealed record UserProfile(string Name, string Email);
39
+
40
+ public static UserProfile Rename(UserProfile profile, string name) =>
41
+ profile with { Name = name };
42
+ ```
43
+
44
+ ## Async and Error Handling
45
+
46
+ - Prefer `async`/`await` over blocking calls like `.Result` or `.Wait()`
47
+ - Pass `CancellationToken` through public async APIs
48
+ - Throw specific exceptions and log with structured properties
49
+
50
+ ```csharp
51
+ public async Task<Order> LoadOrderAsync(
52
+ Guid orderId,
53
+ CancellationToken cancellationToken)
54
+ {
55
+ try
56
+ {
57
+ return await repository.FindAsync(orderId, cancellationToken)
58
+ ?? throw new InvalidOperationException($"Order {orderId} was not found.");
59
+ }
60
+ catch (Exception ex)
61
+ {
62
+ logger.LogError(ex, "Failed to load order {OrderId}", orderId);
63
+ throw;
64
+ }
65
+ }
66
+ ```
67
+
68
+ ## Formatting
69
+
70
+ - Use `dotnet format` for formatting and analyzer fixes
71
+ - Keep `using` directives organized and remove unused imports
72
+ - Prefer expression-bodied members only when they stay readable
@@ -0,0 +1,25 @@
1
+ ---
2
+ paths:
3
+ - "**/*.cs"
4
+ - "**/*.csx"
5
+ - "**/*.csproj"
6
+ - "**/*.sln"
7
+ - "**/Directory.Build.props"
8
+ - "**/Directory.Build.targets"
9
+ ---
10
+ # C# Hooks
11
+
12
+ > This file extends [common/hooks.md](../common/hooks.md) with C#-specific content.
13
+
14
+ ## PostToolUse Hooks
15
+
16
+ Configure in `~/.claude/settings.json`:
17
+
18
+ - **dotnet format**: Auto-format edited C# files and apply analyzer fixes
19
+ - **dotnet build**: Verify the solution or project still compiles after edits
20
+ - **dotnet test --no-build**: Re-run the nearest relevant test project after behavior changes
21
+
22
+ ## Stop Hooks
23
+
24
+ - Run a final `dotnet build` before ending a session with broad C# changes
25
+ - Warn on modified `appsettings*.json` files so secrets do not get committed
@@ -0,0 +1,50 @@
1
+ ---
2
+ paths:
3
+ - "**/*.cs"
4
+ - "**/*.csx"
5
+ ---
6
+ # C# Patterns
7
+
8
+ > This file extends [common/patterns.md](../common/patterns.md) with C#-specific content.
9
+
10
+ ## API Response Pattern
11
+
12
+ ```csharp
13
+ public sealed record ApiResponse<T>(
14
+ bool Success,
15
+ T? Data = default,
16
+ string? Error = null,
17
+ object? Meta = null);
18
+ ```
19
+
20
+ ## Repository Pattern
21
+
22
+ ```csharp
23
+ public interface IRepository<T>
24
+ {
25
+ Task<IReadOnlyList<T>> FindAllAsync(CancellationToken cancellationToken);
26
+ Task<T?> FindByIdAsync(Guid id, CancellationToken cancellationToken);
27
+ Task<T> CreateAsync(T entity, CancellationToken cancellationToken);
28
+ Task<T> UpdateAsync(T entity, CancellationToken cancellationToken);
29
+ Task DeleteAsync(Guid id, CancellationToken cancellationToken);
30
+ }
31
+ ```
32
+
33
+ ## Options Pattern
34
+
35
+ Use strongly typed options for config instead of reading raw strings throughout the codebase.
36
+
37
+ ```csharp
38
+ public sealed class PaymentsOptions
39
+ {
40
+ public const string SectionName = "Payments";
41
+ public required string BaseUrl { get; init; }
42
+ public required string ApiKeySecretName { get; init; }
43
+ }
44
+ ```
45
+
46
+ ## Dependency Injection
47
+
48
+ - Depend on interfaces at service boundaries
49
+ - Keep constructors focused; if a service needs too many dependencies, split responsibilities
50
+ - Register lifetimes intentionally: singleton for stateless/shared services, scoped for request data, transient for lightweight pure workers