aw-ecc 1.4.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (764) hide show
  1. package/.agents/skills/api-design/SKILL.md +523 -0
  2. package/.agents/skills/api-design/agents/openai.yaml +7 -0
  3. package/.agents/skills/article-writing/SKILL.md +85 -0
  4. package/.agents/skills/article-writing/agents/openai.yaml +7 -0
  5. package/.agents/skills/backend-patterns/SKILL.md +598 -0
  6. package/.agents/skills/backend-patterns/agents/openai.yaml +7 -0
  7. package/.agents/skills/bun-runtime/SKILL.md +84 -0
  8. package/.agents/skills/bun-runtime/agents/openai.yaml +7 -0
  9. package/.agents/skills/claude-api/SKILL.md +337 -0
  10. package/.agents/skills/claude-api/agents/openai.yaml +7 -0
  11. package/.agents/skills/coding-standards/SKILL.md +530 -0
  12. package/.agents/skills/coding-standards/agents/openai.yaml +7 -0
  13. package/.agents/skills/content-engine/SKILL.md +88 -0
  14. package/.agents/skills/content-engine/agents/openai.yaml +7 -0
  15. package/.agents/skills/crosspost/SKILL.md +188 -0
  16. package/.agents/skills/crosspost/agents/openai.yaml +7 -0
  17. package/.agents/skills/deep-research/SKILL.md +155 -0
  18. package/.agents/skills/deep-research/agents/openai.yaml +7 -0
  19. package/.agents/skills/dmux-workflows/SKILL.md +144 -0
  20. package/.agents/skills/dmux-workflows/agents/openai.yaml +7 -0
  21. package/.agents/skills/documentation-lookup/SKILL.md +90 -0
  22. package/.agents/skills/documentation-lookup/agents/openai.yaml +7 -0
  23. package/.agents/skills/e2e-testing/SKILL.md +326 -0
  24. package/.agents/skills/e2e-testing/agents/openai.yaml +7 -0
  25. package/.agents/skills/eval-harness/SKILL.md +236 -0
  26. package/.agents/skills/eval-harness/agents/openai.yaml +7 -0
  27. package/.agents/skills/everything-claude-code/SKILL.md +442 -0
  28. package/.agents/skills/everything-claude-code/agents/openai.yaml +6 -0
  29. package/.agents/skills/exa-search/SKILL.md +170 -0
  30. package/.agents/skills/exa-search/agents/openai.yaml +7 -0
  31. package/.agents/skills/fal-ai-media/SKILL.md +277 -0
  32. package/.agents/skills/fal-ai-media/agents/openai.yaml +7 -0
  33. package/.agents/skills/frontend-patterns/SKILL.md +642 -0
  34. package/.agents/skills/frontend-patterns/agents/openai.yaml +7 -0
  35. package/.agents/skills/frontend-slides/SKILL.md +184 -0
  36. package/.agents/skills/frontend-slides/STYLE_PRESETS.md +330 -0
  37. package/.agents/skills/frontend-slides/agents/openai.yaml +7 -0
  38. package/.agents/skills/investor-materials/SKILL.md +96 -0
  39. package/.agents/skills/investor-materials/agents/openai.yaml +7 -0
  40. package/.agents/skills/investor-outreach/SKILL.md +76 -0
  41. package/.agents/skills/investor-outreach/agents/openai.yaml +7 -0
  42. package/.agents/skills/market-research/SKILL.md +75 -0
  43. package/.agents/skills/market-research/agents/openai.yaml +7 -0
  44. package/.agents/skills/mcp-server-patterns/SKILL.md +67 -0
  45. package/.agents/skills/nextjs-turbopack/SKILL.md +44 -0
  46. package/.agents/skills/nextjs-turbopack/agents/openai.yaml +7 -0
  47. package/.agents/skills/security-review/SKILL.md +495 -0
  48. package/.agents/skills/security-review/agents/openai.yaml +7 -0
  49. package/.agents/skills/strategic-compact/SKILL.md +103 -0
  50. package/.agents/skills/strategic-compact/agents/openai.yaml +7 -0
  51. package/.agents/skills/tdd-workflow/SKILL.md +410 -0
  52. package/.agents/skills/tdd-workflow/agents/openai.yaml +7 -0
  53. package/.agents/skills/verification-loop/SKILL.md +126 -0
  54. package/.agents/skills/verification-loop/agents/openai.yaml +7 -0
  55. package/.agents/skills/video-editing/SKILL.md +308 -0
  56. package/.agents/skills/video-editing/agents/openai.yaml +7 -0
  57. package/.agents/skills/x-api/SKILL.md +214 -0
  58. package/.agents/skills/x-api/agents/openai.yaml +7 -0
  59. package/.claude-plugin/README.md +17 -0
  60. package/.claude-plugin/plugin.json +24 -0
  61. package/.codex/AGENTS.md +93 -0
  62. package/.codex/INSTALL.md +64 -0
  63. package/.codex/agents/docs-researcher.toml +9 -0
  64. package/.codex/agents/explorer.toml +9 -0
  65. package/.codex/agents/reviewer.toml +9 -0
  66. package/.codex/config.toml +108 -0
  67. package/.codex/hooks/aw-post-tool-use.sh +5 -0
  68. package/.codex/hooks/aw-pre-tool-use.sh +5 -0
  69. package/.codex/hooks/aw-session-start.sh +21 -0
  70. package/.codex/hooks/aw-stop.sh +5 -0
  71. package/.codex/hooks/aw-user-prompt-submit.sh +9 -0
  72. package/.codex/hooks.json +62 -0
  73. package/.cursor/INSTALL.md +40 -0
  74. package/.cursor/hooks/adapter.js +120 -0
  75. package/.cursor/hooks/after-file-edit.js +11 -0
  76. package/.cursor/hooks/after-mcp-execution.js +11 -0
  77. package/.cursor/hooks/after-shell-execution.js +11 -0
  78. package/.cursor/hooks/after-tab-file-edit.js +12 -0
  79. package/.cursor/hooks/aw-phase-adapter.js +43 -0
  80. package/.cursor/hooks/before-mcp-execution.js +11 -0
  81. package/.cursor/hooks/before-read-file.js +13 -0
  82. package/.cursor/hooks/before-shell-execution.js +11 -0
  83. package/.cursor/hooks/before-submit-prompt.js +41 -0
  84. package/.cursor/hooks/before-tab-file-read.js +13 -0
  85. package/.cursor/hooks/pre-compact.js +11 -0
  86. package/.cursor/hooks/session-end.js +11 -0
  87. package/.cursor/hooks/session-start.js +11 -0
  88. package/.cursor/hooks/shared/aw-phase-definitions.js +190 -0
  89. package/.cursor/hooks/shared/aw-phase-runner.js +61 -0
  90. package/.cursor/hooks/shared/session-start.sh +20 -0
  91. package/.cursor/hooks/shared/user-prompt-submit.sh +155 -0
  92. package/.cursor/hooks/stop.js +11 -0
  93. package/.cursor/hooks/subagent-start.js +10 -0
  94. package/.cursor/hooks/subagent-stop.js +10 -0
  95. package/.cursor/hooks.json +115 -0
  96. package/.cursor/rules/common-agents.md +53 -0
  97. package/.cursor/rules/common-coding-style.md +52 -0
  98. package/.cursor/rules/common-development-workflow.md +33 -0
  99. package/.cursor/rules/common-git-workflow.md +28 -0
  100. package/.cursor/rules/common-hooks.md +34 -0
  101. package/.cursor/rules/common-patterns.md +35 -0
  102. package/.cursor/rules/common-performance.md +59 -0
  103. package/.cursor/rules/common-security.md +33 -0
  104. package/.cursor/rules/common-testing.md +33 -0
  105. package/.cursor/rules/golang-coding-style.md +31 -0
  106. package/.cursor/rules/golang-hooks.md +16 -0
  107. package/.cursor/rules/golang-patterns.md +44 -0
  108. package/.cursor/rules/golang-security.md +33 -0
  109. package/.cursor/rules/golang-testing.md +30 -0
  110. package/.cursor/rules/kotlin-coding-style.md +39 -0
  111. package/.cursor/rules/kotlin-hooks.md +16 -0
  112. package/.cursor/rules/kotlin-patterns.md +50 -0
  113. package/.cursor/rules/kotlin-security.md +58 -0
  114. package/.cursor/rules/kotlin-testing.md +38 -0
  115. package/.cursor/rules/php-coding-style.md +25 -0
  116. package/.cursor/rules/php-hooks.md +21 -0
  117. package/.cursor/rules/php-patterns.md +23 -0
  118. package/.cursor/rules/php-security.md +24 -0
  119. package/.cursor/rules/php-testing.md +26 -0
  120. package/.cursor/rules/python-coding-style.md +42 -0
  121. package/.cursor/rules/python-hooks.md +19 -0
  122. package/.cursor/rules/python-patterns.md +39 -0
  123. package/.cursor/rules/python-security.md +30 -0
  124. package/.cursor/rules/python-testing.md +38 -0
  125. package/.cursor/rules/swift-coding-style.md +47 -0
  126. package/.cursor/rules/swift-hooks.md +20 -0
  127. package/.cursor/rules/swift-patterns.md +66 -0
  128. package/.cursor/rules/swift-security.md +33 -0
  129. package/.cursor/rules/swift-testing.md +45 -0
  130. package/.cursor/rules/typescript-coding-style.md +63 -0
  131. package/.cursor/rules/typescript-hooks.md +20 -0
  132. package/.cursor/rules/typescript-patterns.md +50 -0
  133. package/.cursor/rules/typescript-security.md +26 -0
  134. package/.cursor/rules/typescript-testing.md +16 -0
  135. package/.cursor/skills/article-writing/SKILL.md +85 -0
  136. package/.cursor/skills/bun-runtime/SKILL.md +84 -0
  137. package/.cursor/skills/content-engine/SKILL.md +88 -0
  138. package/.cursor/skills/documentation-lookup/SKILL.md +90 -0
  139. package/.cursor/skills/frontend-slides/SKILL.md +184 -0
  140. package/.cursor/skills/frontend-slides/STYLE_PRESETS.md +330 -0
  141. package/.cursor/skills/investor-materials/SKILL.md +96 -0
  142. package/.cursor/skills/investor-outreach/SKILL.md +76 -0
  143. package/.cursor/skills/market-research/SKILL.md +75 -0
  144. package/.cursor/skills/mcp-server-patterns/SKILL.md +67 -0
  145. package/.cursor/skills/nextjs-turbopack/SKILL.md +44 -0
  146. package/.opencode/MIGRATION.md +368 -0
  147. package/.opencode/README.md +204 -0
  148. package/.opencode/commands/build-fix.md +56 -0
  149. package/.opencode/commands/checkpoint.md +67 -0
  150. package/.opencode/commands/code-review.md +68 -0
  151. package/.opencode/commands/e2e.md +105 -0
  152. package/.opencode/commands/eval.md +88 -0
  153. package/.opencode/commands/evolve.md +36 -0
  154. package/.opencode/commands/go-build.md +87 -0
  155. package/.opencode/commands/go-review.md +71 -0
  156. package/.opencode/commands/go-test.md +131 -0
  157. package/.opencode/commands/harness-audit.md +71 -0
  158. package/.opencode/commands/instinct-export.md +93 -0
  159. package/.opencode/commands/instinct-import.md +88 -0
  160. package/.opencode/commands/instinct-status.md +29 -0
  161. package/.opencode/commands/learn.md +61 -0
  162. package/.opencode/commands/loop-start.md +32 -0
  163. package/.opencode/commands/loop-status.md +24 -0
  164. package/.opencode/commands/model-route.md +26 -0
  165. package/.opencode/commands/orchestrate.md +88 -0
  166. package/.opencode/commands/plan.md +49 -0
  167. package/.opencode/commands/projects.md +23 -0
  168. package/.opencode/commands/promote.md +23 -0
  169. package/.opencode/commands/quality-gate.md +29 -0
  170. package/.opencode/commands/refactor-clean.md +102 -0
  171. package/.opencode/commands/rust-build.md +78 -0
  172. package/.opencode/commands/rust-review.md +65 -0
  173. package/.opencode/commands/rust-test.md +104 -0
  174. package/.opencode/commands/security.md +89 -0
  175. package/.opencode/commands/setup-pm.md +67 -0
  176. package/.opencode/commands/skill-create.md +117 -0
  177. package/.opencode/commands/tdd.md +66 -0
  178. package/.opencode/commands/test-coverage.md +80 -0
  179. package/.opencode/commands/update-codemaps.md +81 -0
  180. package/.opencode/commands/update-docs.md +67 -0
  181. package/.opencode/commands/verify.md +67 -0
  182. package/.opencode/index.ts +79 -0
  183. package/.opencode/instructions/INSTRUCTIONS.md +337 -0
  184. package/.opencode/opencode.json +319 -0
  185. package/.opencode/package.json +70 -0
  186. package/.opencode/plugins/ecc-hooks.ts +455 -0
  187. package/.opencode/plugins/index.ts +12 -0
  188. package/.opencode/prompts/agents/architect.txt +175 -0
  189. package/.opencode/prompts/agents/build-error-resolver.txt +233 -0
  190. package/.opencode/prompts/agents/code-reviewer.txt +103 -0
  191. package/.opencode/prompts/agents/database-reviewer.txt +247 -0
  192. package/.opencode/prompts/agents/doc-updater.txt +192 -0
  193. package/.opencode/prompts/agents/e2e-runner.txt +305 -0
  194. package/.opencode/prompts/agents/go-build-resolver.txt +325 -0
  195. package/.opencode/prompts/agents/go-reviewer.txt +241 -0
  196. package/.opencode/prompts/agents/planner.txt +112 -0
  197. package/.opencode/prompts/agents/refactor-cleaner.txt +241 -0
  198. package/.opencode/prompts/agents/rust-build-resolver.txt +93 -0
  199. package/.opencode/prompts/agents/rust-reviewer.txt +61 -0
  200. package/.opencode/prompts/agents/security-reviewer.txt +207 -0
  201. package/.opencode/prompts/agents/tdd-guide.txt +211 -0
  202. package/.opencode/tools/check-coverage.ts +170 -0
  203. package/.opencode/tools/format-code.ts +68 -0
  204. package/.opencode/tools/git-summary.ts +54 -0
  205. package/.opencode/tools/index.ts +13 -0
  206. package/.opencode/tools/lint-check.ts +85 -0
  207. package/.opencode/tools/run-tests.ts +139 -0
  208. package/.opencode/tools/security-audit.ts +277 -0
  209. package/.opencode/tsconfig.json +29 -0
  210. package/AGENTS.md +124 -0
  211. package/LICENSE +21 -0
  212. package/README.md +146 -0
  213. package/README.zh-CN.md +552 -0
  214. package/agents/architect.md +211 -0
  215. package/agents/build-error-resolver.md +114 -0
  216. package/agents/chief-of-staff.md +151 -0
  217. package/agents/code-reviewer.md +237 -0
  218. package/agents/cpp-build-resolver.md +90 -0
  219. package/agents/cpp-reviewer.md +72 -0
  220. package/agents/database-reviewer.md +91 -0
  221. package/agents/doc-updater.md +107 -0
  222. package/agents/docs-lookup.md +68 -0
  223. package/agents/e2e-runner.md +107 -0
  224. package/agents/evals/code-reviewer-scenarios.json +23 -0
  225. package/agents/flutter-reviewer.md +243 -0
  226. package/agents/go-build-resolver.md +94 -0
  227. package/agents/go-reviewer.md +76 -0
  228. package/agents/harness-optimizer.md +35 -0
  229. package/agents/java-build-resolver.md +153 -0
  230. package/agents/java-reviewer.md +92 -0
  231. package/agents/kotlin-build-resolver.md +118 -0
  232. package/agents/kotlin-reviewer.md +159 -0
  233. package/agents/loop-operator.md +36 -0
  234. package/agents/planner.md +212 -0
  235. package/agents/python-reviewer.md +98 -0
  236. package/agents/pytorch-build-resolver.md +120 -0
  237. package/agents/refactor-cleaner.md +85 -0
  238. package/agents/rust-build-resolver.md +148 -0
  239. package/agents/rust-reviewer.md +94 -0
  240. package/agents/security-reviewer.md +108 -0
  241. package/agents/tdd-guide.md +91 -0
  242. package/agents/typescript-reviewer.md +112 -0
  243. package/commands/aside.md +164 -0
  244. package/commands/brainstorm.md +16 -0
  245. package/commands/build-fix.md +70 -0
  246. package/commands/build.md +91 -0
  247. package/commands/checkpoint.md +74 -0
  248. package/commands/claw.md +51 -0
  249. package/commands/code-review.md +24 -0
  250. package/commands/context-budget.md +29 -0
  251. package/commands/cpp-build.md +174 -0
  252. package/commands/cpp-review.md +132 -0
  253. package/commands/cpp-test.md +252 -0
  254. package/commands/deploy.md +75 -0
  255. package/commands/devfleet.md +92 -0
  256. package/commands/docs.md +31 -0
  257. package/commands/e2e.md +373 -0
  258. package/commands/eval.md +120 -0
  259. package/commands/evolve.md +178 -0
  260. package/commands/execute.md +51 -0
  261. package/commands/finish.md +22 -0
  262. package/commands/go-build.md +184 -0
  263. package/commands/go-review.md +148 -0
  264. package/commands/go-test.md +269 -0
  265. package/commands/gradle-build.md +70 -0
  266. package/commands/harness-audit.md +71 -0
  267. package/commands/instinct-export.md +66 -0
  268. package/commands/instinct-import.md +114 -0
  269. package/commands/instinct-status.md +59 -0
  270. package/commands/investigate.md +63 -0
  271. package/commands/kotlin-build.md +175 -0
  272. package/commands/kotlin-review.md +140 -0
  273. package/commands/kotlin-test.md +313 -0
  274. package/commands/learn-eval.md +116 -0
  275. package/commands/learn.md +70 -0
  276. package/commands/loop-start.md +32 -0
  277. package/commands/loop-status.md +24 -0
  278. package/commands/model-route.md +26 -0
  279. package/commands/multi-backend.md +166 -0
  280. package/commands/multi-execute.md +324 -0
  281. package/commands/multi-frontend.md +165 -0
  282. package/commands/multi-plan.md +277 -0
  283. package/commands/multi-workflow.md +200 -0
  284. package/commands/orchestrate.md +240 -0
  285. package/commands/plan.md +130 -0
  286. package/commands/pm2.md +272 -0
  287. package/commands/projects.md +39 -0
  288. package/commands/promote.md +41 -0
  289. package/commands/prompt-optimize.md +38 -0
  290. package/commands/prune.md +31 -0
  291. package/commands/python-review.md +297 -0
  292. package/commands/quality-gate.md +29 -0
  293. package/commands/refactor-clean.md +89 -0
  294. package/commands/resume-session.md +155 -0
  295. package/commands/review.md +64 -0
  296. package/commands/rules-distill.md +11 -0
  297. package/commands/rust-build.md +188 -0
  298. package/commands/rust-review.md +142 -0
  299. package/commands/rust-test.md +309 -0
  300. package/commands/save-session.md +275 -0
  301. package/commands/sessions.md +333 -0
  302. package/commands/setup-pm.md +80 -0
  303. package/commands/ship.md +77 -0
  304. package/commands/skill-create.md +174 -0
  305. package/commands/skill-health.md +54 -0
  306. package/commands/tdd.md +20 -0
  307. package/commands/test-coverage.md +77 -0
  308. package/commands/test.md +64 -0
  309. package/commands/update-codemaps.md +72 -0
  310. package/commands/update-docs.md +84 -0
  311. package/commands/verify.md +55 -0
  312. package/contexts/dev.md +20 -0
  313. package/contexts/research.md +26 -0
  314. package/contexts/review.md +22 -0
  315. package/examples/CLAUDE.md +100 -0
  316. package/examples/statusline.json +19 -0
  317. package/examples/user-CLAUDE.md +109 -0
  318. package/hooks/README.md +219 -0
  319. package/hooks/hooks.json +320 -0
  320. package/hooks/run-hook.cmd +31 -0
  321. package/hooks/session-start +6 -0
  322. package/install.ps1 +38 -0
  323. package/install.sh +17 -0
  324. package/manifests/install-components.json +415 -0
  325. package/manifests/install-modules.json +500 -0
  326. package/manifests/install-profiles.json +80 -0
  327. package/mcp-configs/mcp-servers.json +153 -0
  328. package/package.json +131 -0
  329. package/plugins/README.md +85 -0
  330. package/rules/README.md +106 -0
  331. package/rules/common/agents.md +50 -0
  332. package/rules/common/coding-style.md +48 -0
  333. package/rules/common/development-workflow.md +38 -0
  334. package/rules/common/git-workflow.md +24 -0
  335. package/rules/common/hooks.md +30 -0
  336. package/rules/common/patterns.md +31 -0
  337. package/rules/common/performance.md +55 -0
  338. package/rules/common/security.md +29 -0
  339. package/rules/common/testing.md +29 -0
  340. package/rules/cpp/coding-style.md +44 -0
  341. package/rules/cpp/hooks.md +39 -0
  342. package/rules/cpp/patterns.md +51 -0
  343. package/rules/cpp/security.md +51 -0
  344. package/rules/cpp/testing.md +44 -0
  345. package/rules/csharp/coding-style.md +72 -0
  346. package/rules/csharp/hooks.md +25 -0
  347. package/rules/csharp/patterns.md +50 -0
  348. package/rules/csharp/security.md +58 -0
  349. package/rules/csharp/testing.md +46 -0
  350. package/rules/golang/coding-style.md +32 -0
  351. package/rules/golang/hooks.md +17 -0
  352. package/rules/golang/patterns.md +45 -0
  353. package/rules/golang/security.md +34 -0
  354. package/rules/golang/testing.md +31 -0
  355. package/rules/java/coding-style.md +114 -0
  356. package/rules/java/hooks.md +18 -0
  357. package/rules/java/patterns.md +146 -0
  358. package/rules/java/security.md +100 -0
  359. package/rules/java/testing.md +131 -0
  360. package/rules/kotlin/coding-style.md +86 -0
  361. package/rules/kotlin/hooks.md +17 -0
  362. package/rules/kotlin/patterns.md +146 -0
  363. package/rules/kotlin/security.md +82 -0
  364. package/rules/kotlin/testing.md +128 -0
  365. package/rules/perl/coding-style.md +46 -0
  366. package/rules/perl/hooks.md +22 -0
  367. package/rules/perl/patterns.md +76 -0
  368. package/rules/perl/security.md +69 -0
  369. package/rules/perl/testing.md +54 -0
  370. package/rules/php/coding-style.md +40 -0
  371. package/rules/php/hooks.md +24 -0
  372. package/rules/php/patterns.md +33 -0
  373. package/rules/php/security.md +37 -0
  374. package/rules/php/testing.md +39 -0
  375. package/rules/python/coding-style.md +42 -0
  376. package/rules/python/hooks.md +19 -0
  377. package/rules/python/patterns.md +39 -0
  378. package/rules/python/security.md +30 -0
  379. package/rules/python/testing.md +38 -0
  380. package/rules/rust/coding-style.md +151 -0
  381. package/rules/rust/hooks.md +16 -0
  382. package/rules/rust/patterns.md +168 -0
  383. package/rules/rust/security.md +141 -0
  384. package/rules/rust/testing.md +154 -0
  385. package/rules/swift/coding-style.md +47 -0
  386. package/rules/swift/hooks.md +20 -0
  387. package/rules/swift/patterns.md +66 -0
  388. package/rules/swift/security.md +33 -0
  389. package/rules/swift/testing.md +45 -0
  390. package/rules/typescript/coding-style.md +199 -0
  391. package/rules/typescript/hooks.md +22 -0
  392. package/rules/typescript/patterns.md +52 -0
  393. package/rules/typescript/security.md +28 -0
  394. package/rules/typescript/testing.md +18 -0
  395. package/schemas/ecc-install-config.schema.json +58 -0
  396. package/schemas/hooks.schema.json +197 -0
  397. package/schemas/install-components.schema.json +58 -0
  398. package/schemas/install-modules.schema.json +105 -0
  399. package/schemas/install-profiles.schema.json +45 -0
  400. package/schemas/install-state.schema.json +210 -0
  401. package/schemas/package-manager.schema.json +23 -0
  402. package/schemas/plugin.schema.json +58 -0
  403. package/schemas/provenance.schema.json +31 -0
  404. package/schemas/state-store.schema.json +316 -0
  405. package/scripts/ci/catalog.js +245 -0
  406. package/scripts/ci/validate-agents.js +81 -0
  407. package/scripts/ci/validate-commands.js +136 -0
  408. package/scripts/ci/validate-hooks.js +239 -0
  409. package/scripts/ci/validate-install-manifests.js +214 -0
  410. package/scripts/ci/validate-no-personal-paths.js +63 -0
  411. package/scripts/ci/validate-rules.js +81 -0
  412. package/scripts/ci/validate-skills.js +56 -0
  413. package/scripts/claw.js +473 -0
  414. package/scripts/codex/merge-mcp-config.js +304 -0
  415. package/scripts/cursor-aw-home/hooks.json +115 -0
  416. package/scripts/cursor-aw-hooks/adapter.js +120 -0
  417. package/scripts/cursor-aw-hooks/after-file-edit.js +11 -0
  418. package/scripts/cursor-aw-hooks/after-mcp-execution.js +11 -0
  419. package/scripts/cursor-aw-hooks/after-shell-execution.js +11 -0
  420. package/scripts/cursor-aw-hooks/aw-phase-adapter.js +43 -0
  421. package/scripts/cursor-aw-hooks/before-mcp-execution.js +11 -0
  422. package/scripts/cursor-aw-hooks/before-shell-execution.js +11 -0
  423. package/scripts/cursor-aw-hooks/before-submit-prompt.js +41 -0
  424. package/scripts/cursor-aw-hooks/pre-compact.js +11 -0
  425. package/scripts/cursor-aw-hooks/session-end.js +11 -0
  426. package/scripts/cursor-aw-hooks/session-start.js +11 -0
  427. package/scripts/cursor-aw-hooks/stop.js +11 -0
  428. package/scripts/doctor.js +110 -0
  429. package/scripts/ecc.js +208 -0
  430. package/scripts/generate-aw-hooks.js +110 -0
  431. package/scripts/harness-audit.js +512 -0
  432. package/scripts/hooks/auto-tmux-dev.js +88 -0
  433. package/scripts/hooks/check-console-log.js +71 -0
  434. package/scripts/hooks/check-hook-enabled.js +12 -0
  435. package/scripts/hooks/config-protection.js +125 -0
  436. package/scripts/hooks/cost-tracker.js +78 -0
  437. package/scripts/hooks/doc-file-warning.js +63 -0
  438. package/scripts/hooks/evaluate-session.js +100 -0
  439. package/scripts/hooks/governance-capture.js +280 -0
  440. package/scripts/hooks/insaits-security-monitor.py +269 -0
  441. package/scripts/hooks/insaits-security-wrapper.js +88 -0
  442. package/scripts/hooks/mcp-health-check.js +588 -0
  443. package/scripts/hooks/post-bash-build-complete.js +27 -0
  444. package/scripts/hooks/post-bash-pr-created.js +37 -0
  445. package/scripts/hooks/post-edit-console-warn.js +54 -0
  446. package/scripts/hooks/post-edit-format.js +109 -0
  447. package/scripts/hooks/post-edit-typecheck.js +96 -0
  448. package/scripts/hooks/post-mcp-log.js +27 -0
  449. package/scripts/hooks/pre-bash-dev-server-block.js +187 -0
  450. package/scripts/hooks/pre-bash-git-push-reminder.js +28 -0
  451. package/scripts/hooks/pre-bash-tmux-reminder.js +33 -0
  452. package/scripts/hooks/pre-compact.js +48 -0
  453. package/scripts/hooks/pre-mcp-log.js +26 -0
  454. package/scripts/hooks/pre-write-doc-warn.js +9 -0
  455. package/scripts/hooks/quality-gate.js +168 -0
  456. package/scripts/hooks/run-with-flags-shell.sh +32 -0
  457. package/scripts/hooks/run-with-flags.js +120 -0
  458. package/scripts/hooks/session-end-marker.js +29 -0
  459. package/scripts/hooks/session-end.js +301 -0
  460. package/scripts/hooks/session-start-rules-context.sh +5 -0
  461. package/scripts/hooks/session-start.js +98 -0
  462. package/scripts/hooks/shared/aw-phase-definitions.js +190 -0
  463. package/scripts/hooks/shared/aw-phase-runner.js +61 -0
  464. package/scripts/hooks/shared/session-start.sh +20 -0
  465. package/scripts/hooks/shared/user-prompt-submit.sh +155 -0
  466. package/scripts/hooks/suggest-compact.js +80 -0
  467. package/scripts/install-apply.js +140 -0
  468. package/scripts/install-plan.js +254 -0
  469. package/scripts/lib/agent-compress.js +244 -0
  470. package/scripts/lib/aw-harness-registry.js +122 -0
  471. package/scripts/lib/aw-hook-contract.js +86 -0
  472. package/scripts/lib/claude-aw-hook-files.js +28 -0
  473. package/scripts/lib/claude-hook-config.js +76 -0
  474. package/scripts/lib/codex-aw-hook-files.js +38 -0
  475. package/scripts/lib/codex-hook-config.js +88 -0
  476. package/scripts/lib/cursor-aw-hook-files.js +62 -0
  477. package/scripts/lib/cursor-hook-config.js +148 -0
  478. package/scripts/lib/hook-flags.js +74 -0
  479. package/scripts/lib/inspection.js +212 -0
  480. package/scripts/lib/install/apply.js +23 -0
  481. package/scripts/lib/install/config.js +82 -0
  482. package/scripts/lib/install/request.js +120 -0
  483. package/scripts/lib/install/runtime.js +54 -0
  484. package/scripts/lib/install-executor.js +778 -0
  485. package/scripts/lib/install-lifecycle.js +1311 -0
  486. package/scripts/lib/install-manifests.js +448 -0
  487. package/scripts/lib/install-state.js +313 -0
  488. package/scripts/lib/install-targets/antigravity-project.js +69 -0
  489. package/scripts/lib/install-targets/claude-home.js +54 -0
  490. package/scripts/lib/install-targets/codex-home.js +62 -0
  491. package/scripts/lib/install-targets/cursor-project.js +80 -0
  492. package/scripts/lib/install-targets/helpers.js +307 -0
  493. package/scripts/lib/install-targets/opencode-home.js +10 -0
  494. package/scripts/lib/install-targets/registry.js +66 -0
  495. package/scripts/lib/orchestration-session.js +299 -0
  496. package/scripts/lib/package-manager.d.ts +119 -0
  497. package/scripts/lib/package-manager.js +431 -0
  498. package/scripts/lib/project-detect.js +428 -0
  499. package/scripts/lib/resolve-ecc-root.js +89 -0
  500. package/scripts/lib/resolve-formatter.js +185 -0
  501. package/scripts/lib/session-adapters/canonical-session.js +531 -0
  502. package/scripts/lib/session-adapters/claude-history.js +160 -0
  503. package/scripts/lib/session-adapters/dmux-tmux.js +90 -0
  504. package/scripts/lib/session-adapters/registry.js +127 -0
  505. package/scripts/lib/session-aliases.d.ts +136 -0
  506. package/scripts/lib/session-aliases.js +481 -0
  507. package/scripts/lib/session-manager.d.ts +131 -0
  508. package/scripts/lib/session-manager.js +464 -0
  509. package/scripts/lib/shell-split.js +86 -0
  510. package/scripts/lib/skill-evolution/dashboard.js +401 -0
  511. package/scripts/lib/skill-evolution/health.js +263 -0
  512. package/scripts/lib/skill-evolution/index.js +20 -0
  513. package/scripts/lib/skill-evolution/provenance.js +187 -0
  514. package/scripts/lib/skill-evolution/tracker.js +146 -0
  515. package/scripts/lib/skill-evolution/versioning.js +237 -0
  516. package/scripts/lib/skill-improvement/amendify.js +89 -0
  517. package/scripts/lib/skill-improvement/evaluate.js +59 -0
  518. package/scripts/lib/skill-improvement/health.js +118 -0
  519. package/scripts/lib/skill-improvement/observations.js +108 -0
  520. package/scripts/lib/state-store/index.js +191 -0
  521. package/scripts/lib/state-store/migrations.js +178 -0
  522. package/scripts/lib/state-store/queries.js +697 -0
  523. package/scripts/lib/state-store/schema.js +92 -0
  524. package/scripts/lib/tmux-worktree-orchestrator.js +475 -0
  525. package/scripts/lib/utils.d.ts +183 -0
  526. package/scripts/lib/utils.js +564 -0
  527. package/scripts/list-installed.js +90 -0
  528. package/scripts/orchestrate-codex-worker.sh +107 -0
  529. package/scripts/orchestrate-worktrees.js +40 -0
  530. package/scripts/orchestration-status.js +82 -0
  531. package/scripts/repair.js +97 -0
  532. package/scripts/session-inspect.js +150 -0
  533. package/scripts/sessions-cli.js +177 -0
  534. package/scripts/setup-package-manager.js +204 -0
  535. package/scripts/skill-create-output.js +244 -0
  536. package/scripts/status.js +176 -0
  537. package/scripts/uninstall.js +96 -0
  538. package/skills/agent-eval/SKILL.md +145 -0
  539. package/skills/agent-harness-construction/SKILL.md +73 -0
  540. package/skills/agentic-engineering/SKILL.md +63 -0
  541. package/skills/ai-first-engineering/SKILL.md +51 -0
  542. package/skills/ai-regression-testing/SKILL.md +385 -0
  543. package/skills/android-clean-architecture/SKILL.md +339 -0
  544. package/skills/api-and-interface-design/SKILL.md +75 -0
  545. package/skills/api-design/SKILL.md +523 -0
  546. package/skills/architecture-decision-records/SKILL.md +179 -0
  547. package/skills/article-writing/SKILL.md +85 -0
  548. package/skills/autonomous-loops/SKILL.md +610 -0
  549. package/skills/aw-brainstorm/SKILL.md +115 -0
  550. package/skills/aw-build/SKILL.md +189 -0
  551. package/skills/aw-build/evals/build-stage-cases.json +28 -0
  552. package/skills/aw-debug/SKILL.md +49 -0
  553. package/skills/aw-deploy/SKILL.md +101 -0
  554. package/skills/aw-deploy/evals/deploy-stage-cases.json +32 -0
  555. package/skills/aw-execute/SKILL.md +47 -0
  556. package/skills/aw-execute/references/mode-code.md +47 -0
  557. package/skills/aw-execute/references/mode-docs.md +28 -0
  558. package/skills/aw-execute/references/mode-infra.md +44 -0
  559. package/skills/aw-execute/references/mode-migration.md +58 -0
  560. package/skills/aw-execute/references/worker-implementer.md +26 -0
  561. package/skills/aw-execute/references/worker-parallel-worker.md +23 -0
  562. package/skills/aw-execute/references/worker-quality-reviewer.md +23 -0
  563. package/skills/aw-execute/references/worker-spec-reviewer.md +23 -0
  564. package/skills/aw-execute/scripts/build-worker-bundle.js +229 -0
  565. package/skills/aw-finish/SKILL.md +111 -0
  566. package/skills/aw-investigate/SKILL.md +109 -0
  567. package/skills/aw-plan/SKILL.md +399 -0
  568. package/skills/aw-prepare/SKILL.md +118 -0
  569. package/skills/aw-review/SKILL.md +123 -0
  570. package/skills/aw-rules/SKILL.md +129 -0
  571. package/skills/aw-rules/references/known-hallucinations.md +43 -0
  572. package/skills/aw-rules/references/verification-sources.md +50 -0
  573. package/skills/aw-ship/SKILL.md +115 -0
  574. package/skills/aw-spec/SKILL.md +128 -0
  575. package/skills/aw-tasks/SKILL.md +155 -0
  576. package/skills/aw-test/SKILL.md +118 -0
  577. package/skills/aw-verify/SKILL.md +51 -0
  578. package/skills/aw-yolo/SKILL.md +111 -0
  579. package/skills/backend-patterns/SKILL.md +598 -0
  580. package/skills/benchmark/SKILL.md +87 -0
  581. package/skills/blueprint/SKILL.md +105 -0
  582. package/skills/browser-qa/SKILL.md +81 -0
  583. package/skills/browser-testing-with-devtools/SKILL.md +81 -0
  584. package/skills/bun-runtime/SKILL.md +84 -0
  585. package/skills/canary-watch/SKILL.md +93 -0
  586. package/skills/carrier-relationship-management/SKILL.md +212 -0
  587. package/skills/ci-cd-and-automation/SKILL.md +71 -0
  588. package/skills/claude-api/SKILL.md +337 -0
  589. package/skills/claude-devfleet/SKILL.md +103 -0
  590. package/skills/click-path-audit/SKILL.md +244 -0
  591. package/skills/clickhouse-io/SKILL.md +439 -0
  592. package/skills/code-simplification/SKILL.md +74 -0
  593. package/skills/codebase-onboarding/SKILL.md +233 -0
  594. package/skills/coding-standards/SKILL.md +530 -0
  595. package/skills/compose-multiplatform-patterns/SKILL.md +299 -0
  596. package/skills/configure-ecc/SKILL.md +367 -0
  597. package/skills/content-engine/SKILL.md +88 -0
  598. package/skills/content-hash-cache-pattern/SKILL.md +161 -0
  599. package/skills/context-budget/SKILL.md +135 -0
  600. package/skills/context-engineering/SKILL.md +74 -0
  601. package/skills/continuous-agent-loop/SKILL.md +45 -0
  602. package/skills/continuous-learning/SKILL.md +119 -0
  603. package/skills/continuous-learning/config.json +18 -0
  604. package/skills/continuous-learning/evaluate-session.sh +69 -0
  605. package/skills/continuous-learning-v2/SKILL.md +365 -0
  606. package/skills/continuous-learning-v2/agents/observer-loop.sh +191 -0
  607. package/skills/continuous-learning-v2/agents/observer.md +198 -0
  608. package/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
  609. package/skills/continuous-learning-v2/agents/start-observer.sh +240 -0
  610. package/skills/continuous-learning-v2/config.json +8 -0
  611. package/skills/continuous-learning-v2/hooks/observe.sh +412 -0
  612. package/skills/continuous-learning-v2/scripts/detect-project.sh +228 -0
  613. package/skills/continuous-learning-v2/scripts/instinct-cli.py +1426 -0
  614. package/skills/continuous-learning-v2/scripts/test_parse_instinct.py +984 -0
  615. package/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
  616. package/skills/cpp-coding-standards/SKILL.md +723 -0
  617. package/skills/cpp-testing/SKILL.md +324 -0
  618. package/skills/crosspost/SKILL.md +190 -0
  619. package/skills/customs-trade-compliance/SKILL.md +263 -0
  620. package/skills/data-scraper-agent/SKILL.md +764 -0
  621. package/skills/database-migrations/SKILL.md +429 -0
  622. package/skills/deep-research/SKILL.md +155 -0
  623. package/skills/deployment-patterns/SKILL.md +427 -0
  624. package/skills/deprecation-and-migration/SKILL.md +75 -0
  625. package/skills/design-system/SKILL.md +76 -0
  626. package/skills/django-patterns/SKILL.md +734 -0
  627. package/skills/django-security/SKILL.md +593 -0
  628. package/skills/django-tdd/SKILL.md +729 -0
  629. package/skills/django-verification/SKILL.md +469 -0
  630. package/skills/dmux-workflows/SKILL.md +191 -0
  631. package/skills/docker-patterns/SKILL.md +364 -0
  632. package/skills/documentation-and-adrs/SKILL.md +75 -0
  633. package/skills/documentation-lookup/SKILL.md +90 -0
  634. package/skills/e2e-testing/SKILL.md +326 -0
  635. package/skills/energy-procurement/SKILL.md +228 -0
  636. package/skills/enterprise-agent-ops/SKILL.md +50 -0
  637. package/skills/eval-harness/SKILL.md +270 -0
  638. package/skills/exa-search/SKILL.md +103 -0
  639. package/skills/fal-ai-media/SKILL.md +284 -0
  640. package/skills/flutter-dart-code-review/SKILL.md +435 -0
  641. package/skills/foundation-models-on-device/SKILL.md +243 -0
  642. package/skills/frontend-patterns/SKILL.md +642 -0
  643. package/skills/frontend-slides/SKILL.md +184 -0
  644. package/skills/frontend-slides/STYLE_PRESETS.md +330 -0
  645. package/skills/frontend-ui-engineering/SKILL.md +68 -0
  646. package/skills/git-workflow-and-versioning/SKILL.md +75 -0
  647. package/skills/golang-patterns/SKILL.md +674 -0
  648. package/skills/golang-testing/SKILL.md +720 -0
  649. package/skills/idea-refine/SKILL.md +84 -0
  650. package/skills/incremental-implementation/SKILL.md +86 -0
  651. package/skills/inventory-demand-planning/SKILL.md +247 -0
  652. package/skills/investor-materials/SKILL.md +96 -0
  653. package/skills/investor-outreach/SKILL.md +76 -0
  654. package/skills/iterative-retrieval/SKILL.md +211 -0
  655. package/skills/java-coding-standards/SKILL.md +147 -0
  656. package/skills/jpa-patterns/SKILL.md +151 -0
  657. package/skills/kotlin-coroutines-flows/SKILL.md +284 -0
  658. package/skills/kotlin-exposed-patterns/SKILL.md +719 -0
  659. package/skills/kotlin-ktor-patterns/SKILL.md +689 -0
  660. package/skills/kotlin-patterns/SKILL.md +711 -0
  661. package/skills/kotlin-testing/SKILL.md +824 -0
  662. package/skills/laravel-patterns/SKILL.md +415 -0
  663. package/skills/laravel-security/SKILL.md +285 -0
  664. package/skills/laravel-tdd/SKILL.md +283 -0
  665. package/skills/laravel-verification/SKILL.md +179 -0
  666. package/skills/liquid-glass-design/SKILL.md +279 -0
  667. package/skills/logistics-exception-management/SKILL.md +222 -0
  668. package/skills/market-research/SKILL.md +75 -0
  669. package/skills/mcp-server-patterns/SKILL.md +67 -0
  670. package/skills/nanoclaw-repl/SKILL.md +33 -0
  671. package/skills/nextjs-turbopack/SKILL.md +44 -0
  672. package/skills/nutrient-document-processing/SKILL.md +167 -0
  673. package/skills/nuxt4-patterns/SKILL.md +100 -0
  674. package/skills/performance-optimization/SKILL.md +77 -0
  675. package/skills/perl-patterns/SKILL.md +504 -0
  676. package/skills/perl-security/SKILL.md +503 -0
  677. package/skills/perl-testing/SKILL.md +475 -0
  678. package/skills/plankton-code-quality/SKILL.md +236 -0
  679. package/skills/postgres-patterns/SKILL.md +147 -0
  680. package/skills/product-lens/SKILL.md +79 -0
  681. package/skills/production-scheduling/SKILL.md +238 -0
  682. package/skills/project-guidelines-example/SKILL.md +349 -0
  683. package/skills/prompt-optimizer/SKILL.md +397 -0
  684. package/skills/python-patterns/SKILL.md +750 -0
  685. package/skills/python-testing/SKILL.md +816 -0
  686. package/skills/pytorch-patterns/SKILL.md +396 -0
  687. package/skills/quality-nonconformance/SKILL.md +260 -0
  688. package/skills/ralphinho-rfc-pipeline/SKILL.md +67 -0
  689. package/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
  690. package/skills/returns-reverse-logistics/SKILL.md +240 -0
  691. package/skills/rules-distill/SKILL.md +264 -0
  692. package/skills/rules-distill/scripts/scan-rules.sh +58 -0
  693. package/skills/rules-distill/scripts/scan-skills.sh +129 -0
  694. package/skills/rust-patterns/SKILL.md +499 -0
  695. package/skills/rust-testing/SKILL.md +500 -0
  696. package/skills/safety-guard/SKILL.md +69 -0
  697. package/skills/santa-method/SKILL.md +306 -0
  698. package/skills/search-first/SKILL.md +161 -0
  699. package/skills/security-and-hardening/SKILL.md +70 -0
  700. package/skills/security-review/SKILL.md +495 -0
  701. package/skills/security-review/cloud-infrastructure-security.md +361 -0
  702. package/skills/security-scan/SKILL.md +165 -0
  703. package/skills/skill-comply/SKILL.md +58 -0
  704. package/skills/skill-comply/fixtures/compliant_trace.jsonl +5 -0
  705. package/skills/skill-comply/fixtures/noncompliant_trace.jsonl +3 -0
  706. package/skills/skill-comply/fixtures/tdd_spec.yaml +44 -0
  707. package/skills/skill-comply/prompts/classifier.md +24 -0
  708. package/skills/skill-comply/prompts/scenario_generator.md +62 -0
  709. package/skills/skill-comply/prompts/spec_generator.md +42 -0
  710. package/skills/skill-comply/pyproject.toml +15 -0
  711. package/skills/skill-comply/scripts/__init__.py +0 -0
  712. package/skills/skill-comply/scripts/classifier.py +85 -0
  713. package/skills/skill-comply/scripts/grader.py +122 -0
  714. package/skills/skill-comply/scripts/parser.py +107 -0
  715. package/skills/skill-comply/scripts/report.py +170 -0
  716. package/skills/skill-comply/scripts/run.py +127 -0
  717. package/skills/skill-comply/scripts/runner.py +161 -0
  718. package/skills/skill-comply/scripts/scenario_generator.py +70 -0
  719. package/skills/skill-comply/scripts/spec_generator.py +72 -0
  720. package/skills/skill-comply/scripts/utils.py +13 -0
  721. package/skills/skill-comply/tests/test_grader.py +137 -0
  722. package/skills/skill-comply/tests/test_parser.py +90 -0
  723. package/skills/skill-quality-review/SKILL.md +102 -0
  724. package/skills/skill-quality-review/references/review-rubric.md +112 -0
  725. package/skills/skill-stocktake/SKILL.md +197 -0
  726. package/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
  727. package/skills/skill-stocktake/scripts/save-results.sh +56 -0
  728. package/skills/skill-stocktake/scripts/scan.sh +170 -0
  729. package/skills/springboot-patterns/SKILL.md +314 -0
  730. package/skills/springboot-security/SKILL.md +272 -0
  731. package/skills/springboot-tdd/SKILL.md +158 -0
  732. package/skills/springboot-verification/SKILL.md +231 -0
  733. package/skills/strategic-compact/SKILL.md +131 -0
  734. package/skills/strategic-compact/suggest-compact.sh +54 -0
  735. package/skills/swift-actor-persistence/SKILL.md +143 -0
  736. package/skills/swift-concurrency-6-2/SKILL.md +216 -0
  737. package/skills/swift-protocol-di-testing/SKILL.md +190 -0
  738. package/skills/swiftui-patterns/SKILL.md +259 -0
  739. package/skills/tdd-workflow/SKILL.md +145 -0
  740. package/skills/team-builder/SKILL.md +161 -0
  741. package/skills/using-aw-skills/SKILL.md +290 -0
  742. package/skills/using-aw-skills/evals/skill-trigger-cases.tsv +25 -0
  743. package/skills/using-aw-skills/evals/test-skill-triggers.sh +171 -0
  744. package/skills/using-aw-skills/hooks/hooks.json +9 -0
  745. package/skills/using-aw-skills/hooks/session-start.sh +188 -0
  746. package/skills/using-platform-skills/SKILL.md +163 -0
  747. package/skills/using-platform-skills/evals/platform-selection-cases.json +52 -0
  748. package/skills/verification-loop/SKILL.md +126 -0
  749. package/skills/video-editing/SKILL.md +310 -0
  750. package/skills/videodb/SKILL.md +374 -0
  751. package/skills/videodb/reference/api-reference.md +550 -0
  752. package/skills/videodb/reference/capture-reference.md +407 -0
  753. package/skills/videodb/reference/capture.md +101 -0
  754. package/skills/videodb/reference/editor.md +443 -0
  755. package/skills/videodb/reference/generative.md +331 -0
  756. package/skills/videodb/reference/rtstream-reference.md +564 -0
  757. package/skills/videodb/reference/rtstream.md +65 -0
  758. package/skills/videodb/reference/search.md +230 -0
  759. package/skills/videodb/reference/streaming.md +406 -0
  760. package/skills/videodb/reference/use-cases.md +118 -0
  761. package/skills/videodb/scripts/ws_listener.py +282 -0
  762. package/skills/visa-doc-translate/README.md +86 -0
  763. package/skills/visa-doc-translate/SKILL.md +117 -0
  764. package/skills/x-api/SKILL.md +208 -0
@@ -0,0 +1,270 @@
1
+ ---
2
+ name: eval-harness
3
+ description: Formal evaluation framework for Claude Code sessions implementing eval-driven development (EDD) principles
4
+ origin: ECC
5
+ tools: Read, Write, Edit, Bash, Grep, Glob
6
+ ---
7
+
8
+ # Eval Harness Skill
9
+
10
+ A formal evaluation framework for Claude Code sessions, implementing eval-driven development (EDD) principles.
11
+
12
+ ## When to Activate
13
+
14
+ - Setting up eval-driven development (EDD) for AI-assisted workflows
15
+ - Defining pass/fail criteria for Claude Code task completion
16
+ - Measuring agent reliability with pass@k metrics
17
+ - Creating regression test suites for prompt or agent changes
18
+ - Benchmarking agent performance across model versions
19
+
20
+ ## Philosophy
21
+
22
+ Eval-Driven Development treats evals as the "unit tests of AI development":
23
+ - Define expected behavior BEFORE implementation
24
+ - Run evals continuously during development
25
+ - Track regressions with each change
26
+ - Use pass@k metrics for reliability measurement
27
+
28
+ ## Eval Types
29
+
30
+ ### Capability Evals
31
+ Test if Claude can do something it couldn't before:
32
+ ```markdown
33
+ [CAPABILITY EVAL: feature-name]
34
+ Task: Description of what Claude should accomplish
35
+ Success Criteria:
36
+ - [ ] Criterion 1
37
+ - [ ] Criterion 2
38
+ - [ ] Criterion 3
39
+ Expected Output: Description of expected result
40
+ ```
41
+
42
+ ### Regression Evals
43
+ Ensure changes don't break existing functionality:
44
+ ```markdown
45
+ [REGRESSION EVAL: feature-name]
46
+ Baseline: SHA or checkpoint name
47
+ Tests:
48
+ - existing-test-1: PASS/FAIL
49
+ - existing-test-2: PASS/FAIL
50
+ - existing-test-3: PASS/FAIL
51
+ Result: X/Y passed (previously Y/Y)
52
+ ```
53
+
54
+ ## Grader Types
55
+
56
+ ### 1. Code-Based Grader
57
+ Deterministic checks using code:
58
+ ```bash
59
+ # Check if file contains expected pattern
60
+ grep -q "export function handleAuth" src/auth.ts && echo "PASS" || echo "FAIL"
61
+
62
+ # Check if tests pass
63
+ npm test -- --testPathPattern="auth" && echo "PASS" || echo "FAIL"
64
+
65
+ # Check if build succeeds
66
+ npm run build && echo "PASS" || echo "FAIL"
67
+ ```
68
+
69
+ ### 2. Model-Based Grader
70
+ Use Claude to evaluate open-ended outputs:
71
+ ```markdown
72
+ [MODEL GRADER PROMPT]
73
+ Evaluate the following code change:
74
+ 1. Does it solve the stated problem?
75
+ 2. Is it well-structured?
76
+ 3. Are edge cases handled?
77
+ 4. Is error handling appropriate?
78
+
79
+ Score: 1-5 (1=poor, 5=excellent)
80
+ Reasoning: [explanation]
81
+ ```
82
+
83
+ ### 3. Human Grader
84
+ Flag for manual review:
85
+ ```markdown
86
+ [HUMAN REVIEW REQUIRED]
87
+ Change: Description of what changed
88
+ Reason: Why human review is needed
89
+ Risk Level: LOW/MEDIUM/HIGH
90
+ ```
91
+
92
+ ## Metrics
93
+
94
+ ### pass@k
95
+ "At least one success in k attempts"
96
+ - pass@1: First attempt success rate
97
+ - pass@3: Success within 3 attempts
98
+ - Typical target: pass@3 > 90%
99
+
100
+ ### pass^k
101
+ "All k trials succeed"
102
+ - Higher bar for reliability
103
+ - pass^3: 3 consecutive successes
104
+ - Use for critical paths
105
+
106
+ ## Eval Workflow
107
+
108
+ ### 1. Define (Before Coding)
109
+ ```markdown
110
+ ## EVAL DEFINITION: feature-xyz
111
+
112
+ ### Capability Evals
113
+ 1. Can create new user account
114
+ 2. Can validate email format
115
+ 3. Can hash password securely
116
+
117
+ ### Regression Evals
118
+ 1. Existing login still works
119
+ 2. Session management unchanged
120
+ 3. Logout flow intact
121
+
122
+ ### Success Metrics
123
+ - pass@3 > 90% for capability evals
124
+ - pass^3 = 100% for regression evals
125
+ ```
126
+
127
+ ### 2. Implement
128
+ Write code to pass the defined evals.
129
+
130
+ ### 3. Evaluate
131
+ ```bash
132
+ # Run capability evals
133
+ [Run each capability eval, record PASS/FAIL]
134
+
135
+ # Run regression evals
136
+ npm test -- --testPathPattern="existing"
137
+
138
+ # Generate report
139
+ ```
140
+
141
+ ### 4. Report
142
+ ```markdown
143
+ EVAL REPORT: feature-xyz
144
+ ========================
145
+
146
+ Capability Evals:
147
+ create-user: PASS (pass@1)
148
+ validate-email: PASS (pass@2)
149
+ hash-password: PASS (pass@1)
150
+ Overall: 3/3 passed
151
+
152
+ Regression Evals:
153
+ login-flow: PASS
154
+ session-mgmt: PASS
155
+ logout-flow: PASS
156
+ Overall: 3/3 passed
157
+
158
+ Metrics:
159
+ pass@1: 67% (2/3)
160
+ pass@3: 100% (3/3)
161
+
162
+ Status: READY FOR REVIEW
163
+ ```
164
+
165
+ ## Integration Patterns
166
+
167
+ ### Pre-Implementation
168
+ ```
169
+ /eval define feature-name
170
+ ```
171
+ Creates eval definition file at `.claude/evals/feature-name.md`
172
+
173
+ ### During Implementation
174
+ ```
175
+ /eval check feature-name
176
+ ```
177
+ Runs current evals and reports status
178
+
179
+ ### Post-Implementation
180
+ ```
181
+ /eval report feature-name
182
+ ```
183
+ Generates full eval report
184
+
185
+ ## Eval Storage
186
+
187
+ Store evals in project:
188
+ ```
189
+ .claude/
190
+ evals/
191
+ feature-xyz.md # Eval definition
192
+ feature-xyz.log # Eval run history
193
+ baseline.json # Regression baselines
194
+ ```
195
+
196
+ ## Best Practices
197
+
198
+ 1. **Define evals BEFORE coding** - Forces clear thinking about success criteria
199
+ 2. **Run evals frequently** - Catch regressions early
200
+ 3. **Track pass@k over time** - Monitor reliability trends
201
+ 4. **Use code graders when possible** - Deterministic > probabilistic
202
+ 5. **Human review for security** - Never fully automate security checks
203
+ 6. **Keep evals fast** - Slow evals don't get run
204
+ 7. **Version evals with code** - Evals are first-class artifacts
205
+
206
+ ## Example: Adding Authentication
207
+
208
+ ```markdown
209
+ ## EVAL: add-authentication
210
+
211
+ ### Phase 1: Define (10 min)
212
+ Capability Evals:
213
+ - [ ] User can register with email/password
214
+ - [ ] User can login with valid credentials
215
+ - [ ] Invalid credentials rejected with proper error
216
+ - [ ] Sessions persist across page reloads
217
+ - [ ] Logout clears session
218
+
219
+ Regression Evals:
220
+ - [ ] Public routes still accessible
221
+ - [ ] API responses unchanged
222
+ - [ ] Database schema compatible
223
+
224
+ ### Phase 2: Implement (varies)
225
+ [Write code]
226
+
227
+ ### Phase 3: Evaluate
228
+ Run: /eval check add-authentication
229
+
230
+ ### Phase 4: Report
231
+ EVAL REPORT: add-authentication
232
+ ==============================
233
+ Capability: 5/5 passed (pass@3: 100%)
234
+ Regression: 3/3 passed (pass^3: 100%)
235
+ Status: SHIP IT
236
+ ```
237
+
238
+ ## Product Evals (v1.8)
239
+
240
+ Use product evals when behavior quality cannot be captured by unit tests alone.
241
+
242
+ ### Grader Types
243
+
244
+ 1. Code grader (deterministic assertions)
245
+ 2. Rule grader (regex/schema constraints)
246
+ 3. Model grader (LLM-as-judge rubric)
247
+ 4. Human grader (manual adjudication for ambiguous outputs)
248
+
249
+ ### pass@k Guidance
250
+
251
+ - `pass@1`: direct reliability
252
+ - `pass@3`: practical reliability under controlled retries
253
+ - `pass^3`: stability test (all 3 runs must pass)
254
+
255
+ Recommended thresholds:
256
+ - Capability evals: pass@3 >= 0.90
257
+ - Regression evals: pass^3 = 1.00 for release-critical paths
258
+
259
+ ### Eval Anti-Patterns
260
+
261
+ - Overfitting prompts to known eval examples
262
+ - Measuring only happy-path outputs
263
+ - Ignoring cost and latency drift while chasing pass rates
264
+ - Allowing flaky graders in release gates
265
+
266
+ ### Minimal Eval Artifact Layout
267
+
268
+ - `.claude/evals/<feature>.md` definition
269
+ - `.claude/evals/<feature>.log` run history
270
+ - `docs/releases/<version>/eval-summary.md` release snapshot
@@ -0,0 +1,103 @@
1
+ ---
2
+ name: exa-search
3
+ description: Neural search via Exa MCP for web, code, and company research. Use when the user needs web search, code examples, company intel, people lookup, or AI-powered deep research with Exa's neural search engine.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Exa Search
8
+
9
+ Neural search for web content, code, companies, and people via the Exa MCP server.
10
+
11
+ ## When to Activate
12
+
13
+ - User needs current web information or news
14
+ - Searching for code examples, API docs, or technical references
15
+ - Researching companies, competitors, or market players
16
+ - Finding professional profiles or people in a domain
17
+ - Running background research for any development task
18
+ - User says "search for", "look up", "find", or "what's the latest on"
19
+
20
+ ## MCP Requirement
21
+
22
+ Exa MCP server must be configured. Add to `~/.claude.json`:
23
+
24
+ ```json
25
+ "exa-web-search": {
26
+ "command": "npx",
27
+ "args": ["-y", "exa-mcp-server"],
28
+ "env": { "EXA_API_KEY": "YOUR_EXA_API_KEY_HERE" }
29
+ }
30
+ ```
31
+
32
+ Get an API key at [exa.ai](https://exa.ai).
33
+ This repo's current Exa setup documents the tool surface exposed here: `web_search_exa` and `get_code_context_exa`.
34
+ If your Exa server exposes additional tools, verify their exact names before depending on them in docs or prompts.
35
+
36
+ ## Core Tools
37
+
38
+ ### web_search_exa
39
+ General web search for current information, news, or facts.
40
+
41
+ ```
42
+ web_search_exa(query: "latest AI developments 2026", numResults: 5)
43
+ ```
44
+
45
+ **Parameters:**
46
+
47
+ | Param | Type | Default | Notes |
48
+ |-------|------|---------|-------|
49
+ | `query` | string | required | Search query |
50
+ | `numResults` | number | 8 | Number of results |
51
+ | `type` | string | `auto` | Search mode |
52
+ | `livecrawl` | string | `fallback` | Prefer live crawling when needed |
53
+ | `category` | string | none | Optional focus such as `company` or `research paper` |
54
+
55
+ ### get_code_context_exa
56
+ Find code examples and documentation from GitHub, Stack Overflow, and docs sites.
57
+
58
+ ```
59
+ get_code_context_exa(query: "Python asyncio patterns", tokensNum: 3000)
60
+ ```
61
+
62
+ **Parameters:**
63
+
64
+ | Param | Type | Default | Notes |
65
+ |-------|------|---------|-------|
66
+ | `query` | string | required | Code or API search query |
67
+ | `tokensNum` | number | 5000 | Content tokens (1000-50000) |
68
+
69
+ ## Usage Patterns
70
+
71
+ ### Quick Lookup
72
+ ```
73
+ web_search_exa(query: "Node.js 22 new features", numResults: 3)
74
+ ```
75
+
76
+ ### Code Research
77
+ ```
78
+ get_code_context_exa(query: "Rust error handling patterns Result type", tokensNum: 3000)
79
+ ```
80
+
81
+ ### Company or People Research
82
+ ```
83
+ web_search_exa(query: "Vercel funding valuation 2026", numResults: 3, category: "company")
84
+ web_search_exa(query: "site:linkedin.com/in AI safety researchers Anthropic", numResults: 5)
85
+ ```
86
+
87
+ ### Technical Deep Dive
88
+ ```
89
+ web_search_exa(query: "WebAssembly component model status and adoption", numResults: 5)
90
+ get_code_context_exa(query: "WebAssembly component model examples", tokensNum: 4000)
91
+ ```
92
+
93
+ ## Tips
94
+
95
+ - Use `web_search_exa` for current information, company lookups, and broad discovery
96
+ - Use search operators like `site:`, quoted phrases, and `intitle:` to narrow results
97
+ - Lower `tokensNum` (1000-2000) for focused code snippets, higher (5000+) for comprehensive context
98
+ - Use `get_code_context_exa` when you need API usage or code examples rather than general web pages
99
+
100
+ ## Related Skills
101
+
102
+ - `deep-research` — Full research workflow using firecrawl + exa together
103
+ - `market-research` — Business-oriented research with decision frameworks
@@ -0,0 +1,284 @@
1
+ ---
2
+ name: fal-ai-media
3
+ description: Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.
4
+ origin: ECC
5
+ ---
6
+
7
+ # fal.ai Media Generation
8
+
9
+ Generate images, videos, and audio using fal.ai models via MCP.
10
+
11
+ ## When to Activate
12
+
13
+ - User wants to generate images from text prompts
14
+ - Creating videos from text or images
15
+ - Generating speech, music, or sound effects
16
+ - Any media generation task
17
+ - User says "generate image", "create video", "text to speech", "make a thumbnail", or similar
18
+
19
+ ## MCP Requirement
20
+
21
+ fal.ai MCP server must be configured. Add to `~/.claude.json`:
22
+
23
+ ```json
24
+ "fal-ai": {
25
+ "command": "npx",
26
+ "args": ["-y", "fal-ai-mcp-server"],
27
+ "env": { "FAL_KEY": "YOUR_FAL_KEY_HERE" }
28
+ }
29
+ ```
30
+
31
+ Get an API key at [fal.ai](https://fal.ai).
32
+
33
+ ## MCP Tools
34
+
35
+ The fal.ai MCP provides these tools:
36
+ - `search` — Find available models by keyword
37
+ - `find` — Get model details and parameters
38
+ - `generate` — Run a model with parameters
39
+ - `result` — Check async generation status
40
+ - `status` — Check job status
41
+ - `cancel` — Cancel a running job
42
+ - `estimate_cost` — Estimate generation cost
43
+ - `models` — List popular models
44
+ - `upload` — Upload files for use as inputs
45
+
46
+ ---
47
+
48
+ ## Image Generation
49
+
50
+ ### Nano Banana 2 (Fast)
51
+ Best for: quick iterations, drafts, text-to-image, image editing.
52
+
53
+ ```
54
+ generate(
55
+ app_id: "fal-ai/nano-banana-2",
56
+ input_data: {
57
+ "prompt": "a futuristic cityscape at sunset, cyberpunk style",
58
+ "image_size": "landscape_16_9",
59
+ "num_images": 1,
60
+ "seed": 42
61
+ }
62
+ )
63
+ ```
64
+
65
+ ### Nano Banana Pro (High Fidelity)
66
+ Best for: production images, realism, typography, detailed prompts.
67
+
68
+ ```
69
+ generate(
70
+ app_id: "fal-ai/nano-banana-pro",
71
+ input_data: {
72
+ "prompt": "professional product photo of wireless headphones on marble surface, studio lighting",
73
+ "image_size": "square",
74
+ "num_images": 1,
75
+ "guidance_scale": 7.5
76
+ }
77
+ )
78
+ ```
79
+
80
+ ### Common Image Parameters
81
+
82
+ | Param | Type | Options | Notes |
83
+ |-------|------|---------|-------|
84
+ | `prompt` | string | required | Describe what you want |
85
+ | `image_size` | string | `square`, `portrait_4_3`, `landscape_16_9`, `portrait_16_9`, `landscape_4_3` | Aspect ratio |
86
+ | `num_images` | number | 1-4 | How many to generate |
87
+ | `seed` | number | any integer | Reproducibility |
88
+ | `guidance_scale` | number | 1-20 | How closely to follow the prompt (higher = more literal) |
89
+
90
+ ### Image Editing
91
+ Use Nano Banana 2 with an input image for inpainting, outpainting, or style transfer:
92
+
93
+ ```
94
+ # First upload the source image
95
+ upload(file_path: "/path/to/image.png")
96
+
97
+ # Then generate with image input
98
+ generate(
99
+ app_id: "fal-ai/nano-banana-2",
100
+ input_data: {
101
+ "prompt": "same scene but in watercolor style",
102
+ "image_url": "<uploaded_url>",
103
+ "image_size": "landscape_16_9"
104
+ }
105
+ )
106
+ ```
107
+
108
+ ---
109
+
110
+ ## Video Generation
111
+
112
+ ### Seedance 1.0 Pro (ByteDance)
113
+ Best for: text-to-video, image-to-video with high motion quality.
114
+
115
+ ```
116
+ generate(
117
+ app_id: "fal-ai/seedance-1-0-pro",
118
+ input_data: {
119
+ "prompt": "a drone flyover of a mountain lake at golden hour, cinematic",
120
+ "duration": "5s",
121
+ "aspect_ratio": "16:9",
122
+ "seed": 42
123
+ }
124
+ )
125
+ ```
126
+
127
+ ### Kling Video v3 Pro
128
+ Best for: text/image-to-video with native audio generation.
129
+
130
+ ```
131
+ generate(
132
+ app_id: "fal-ai/kling-video/v3/pro",
133
+ input_data: {
134
+ "prompt": "ocean waves crashing on a rocky coast, dramatic clouds",
135
+ "duration": "5s",
136
+ "aspect_ratio": "16:9"
137
+ }
138
+ )
139
+ ```
140
+
141
+ ### Veo 3 (Google DeepMind)
142
+ Best for: video with generated sound, high visual quality.
143
+
144
+ ```
145
+ generate(
146
+ app_id: "fal-ai/veo-3",
147
+ input_data: {
148
+ "prompt": "a bustling Tokyo street market at night, neon signs, crowd noise",
149
+ "aspect_ratio": "16:9"
150
+ }
151
+ )
152
+ ```
153
+
154
+ ### Image-to-Video
155
+ Start from an existing image:
156
+
157
+ ```
158
+ generate(
159
+ app_id: "fal-ai/seedance-1-0-pro",
160
+ input_data: {
161
+ "prompt": "camera slowly zooms out, gentle wind moves the trees",
162
+ "image_url": "<uploaded_image_url>",
163
+ "duration": "5s"
164
+ }
165
+ )
166
+ ```
167
+
168
+ ### Video Parameters
169
+
170
+ | Param | Type | Options | Notes |
171
+ |-------|------|---------|-------|
172
+ | `prompt` | string | required | Describe the video |
173
+ | `duration` | string | `"5s"`, `"10s"` | Video length |
174
+ | `aspect_ratio` | string | `"16:9"`, `"9:16"`, `"1:1"` | Frame ratio |
175
+ | `seed` | number | any integer | Reproducibility |
176
+ | `image_url` | string | URL | Source image for image-to-video |
177
+
178
+ ---
179
+
180
+ ## Audio Generation
181
+
182
+ ### CSM-1B (Conversational Speech)
183
+ Text-to-speech with natural, conversational quality.
184
+
185
+ ```
186
+ generate(
187
+ app_id: "fal-ai/csm-1b",
188
+ input_data: {
189
+ "text": "Hello, welcome to the demo. Let me show you how this works.",
190
+ "speaker_id": 0
191
+ }
192
+ )
193
+ ```
194
+
195
+ ### ThinkSound (Video-to-Audio)
196
+ Generate matching audio from video content.
197
+
198
+ ```
199
+ generate(
200
+ app_id: "fal-ai/thinksound",
201
+ input_data: {
202
+ "video_url": "<video_url>",
203
+ "prompt": "ambient forest sounds with birds chirping"
204
+ }
205
+ )
206
+ ```
207
+
208
+ ### ElevenLabs (via API, no MCP)
209
+ For professional voice synthesis, use ElevenLabs directly:
210
+
211
+ ```python
212
+ import os
213
+ import requests
214
+
215
+ resp = requests.post(
216
+ "https://api.elevenlabs.io/v1/text-to-speech/<voice_id>",
217
+ headers={
218
+ "xi-api-key": os.environ["ELEVENLABS_API_KEY"],
219
+ "Content-Type": "application/json"
220
+ },
221
+ json={
222
+ "text": "Your text here",
223
+ "model_id": "eleven_turbo_v2_5",
224
+ "voice_settings": {"stability": 0.5, "similarity_boost": 0.75}
225
+ }
226
+ )
227
+ with open("output.mp3", "wb") as f:
228
+ f.write(resp.content)
229
+ ```
230
+
231
+ ### VideoDB Generative Audio
232
+ If VideoDB is configured, use its generative audio:
233
+
234
+ ```python
235
+ # Voice generation
236
+ audio = coll.generate_voice(text="Your narration here", voice="alloy")
237
+
238
+ # Music generation
239
+ music = coll.generate_music(prompt="upbeat electronic background music", duration=30)
240
+
241
+ # Sound effects
242
+ sfx = coll.generate_sound_effect(prompt="thunder crack followed by rain")
243
+ ```
244
+
245
+ ---
246
+
247
+ ## Cost Estimation
248
+
249
+ Before generating, check estimated cost:
250
+
251
+ ```
252
+ estimate_cost(
253
+ estimate_type: "unit_price",
254
+ endpoints: {
255
+ "fal-ai/nano-banana-pro": {
256
+ "unit_quantity": 1
257
+ }
258
+ }
259
+ )
260
+ ```
261
+
262
+ ## Model Discovery
263
+
264
+ Find models for specific tasks:
265
+
266
+ ```
267
+ search(query: "text to video")
268
+ find(endpoint_ids: ["fal-ai/seedance-1-0-pro"])
269
+ models()
270
+ ```
271
+
272
+ ## Tips
273
+
274
+ - Use `seed` for reproducible results when iterating on prompts
275
+ - Start with lower-cost models (Nano Banana 2) for prompt iteration, then switch to Pro for finals
276
+ - For video, keep prompts descriptive but concise — focus on motion and scene
277
+ - Image-to-video produces more controlled results than pure text-to-video
278
+ - Check `estimate_cost` before running expensive video generations
279
+
280
+ ## Related Skills
281
+
282
+ - `videodb` — Video processing, editing, and streaming
283
+ - `video-editing` — AI-powered video editing workflows
284
+ - `content-engine` — Content creation for social platforms