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,373 @@
1
+ ---
2
+ description: Generate and run end-to-end tests with Playwright. Creates test journeys, runs tests, captures screenshots/videos/traces, and uploads artifacts.
3
+ ---
4
+
5
+ # E2E Command
6
+
7
+ This command invokes the **e2e-runner** agent to generate, maintain, and execute end-to-end tests using Playwright.
8
+
9
+ ## What This Command Does
10
+
11
+ 1. **Generate Test Journeys** - Create Playwright tests for user flows
12
+ 2. **Run E2E Tests** - Execute tests across browsers
13
+ 3. **Capture Artifacts** - Screenshots, videos, traces on failures
14
+ 4. **Upload Results** - HTML reports and JUnit XML
15
+ 5. **Identify Flaky Tests** - Quarantine unstable tests
16
+
17
+ ## When to Use
18
+
19
+ Use `/aw:e2e` when:
20
+ - Testing critical user journeys (login, trading, payments)
21
+ - Verifying multi-step flows work end-to-end
22
+ - Testing UI interactions and navigation
23
+ - Validating integration between frontend and backend
24
+ - Preparing for production deployment
25
+
26
+ ## How It Works
27
+
28
+ The e2e-runner agent will:
29
+
30
+ 1. **Analyze user flow** and identify test scenarios
31
+ 2. **Generate Playwright test** using Page Object Model pattern
32
+ 3. **Run tests** across multiple browsers (Chrome, Firefox, Safari)
33
+ 4. **Capture failures** with screenshots, videos, and traces
34
+ 5. **Generate report** with results and artifacts
35
+ 6. **Identify flaky tests** and recommend fixes
36
+
37
+ ## Example Usage
38
+
39
+ ```
40
+ User: /aw:e2e Test the market search and view flow
41
+
42
+ Agent (e2e-runner):
43
+ # E2E Test Generation: Market Search and View Flow
44
+
45
+ ## Test Scenario Identified
46
+
47
+ **User Journey:** Market Search → View Results → Click Market → View Details
48
+
49
+ **Test Coverage:**
50
+ 1. Navigate to markets page
51
+ 2. Perform semantic search
52
+ 3. Verify search results
53
+ 4. Click on first result
54
+ 5. Verify market details page loads
55
+ 6. Verify chart renders
56
+
57
+ ## Generated Test Code
58
+
59
+ ```typescript
60
+ // tests/e2e/markets/search-and-view.spec.ts
61
+ import { test, expect } from '@playwright/test'
62
+ import { MarketsPage } from '../../pages/MarketsPage'
63
+ import { MarketDetailsPage } from '../../pages/MarketDetailsPage'
64
+
65
+ test.describe('Market Search and View Flow', () => {
66
+ test('user can search markets and view details', async ({ page }) => {
67
+ // 1. Navigate to markets page
68
+ const marketsPage = new MarketsPage(page)
69
+ await marketsPage.goto()
70
+
71
+ // Verify page loaded
72
+ await expect(page).toHaveTitle(/Markets/)
73
+ await expect(page.locator('h1')).toContainText('Markets')
74
+
75
+ // 2. Perform semantic search
76
+ await marketsPage.searchMarkets('election')
77
+
78
+ // Wait for API response
79
+ await page.waitForResponse(resp =>
80
+ resp.url().includes('/api/markets/search') && resp.status() === 200
81
+ )
82
+
83
+ // 3. Verify search results
84
+ const marketCards = marketsPage.marketCards
85
+ await expect(marketCards.first()).toBeVisible()
86
+ const resultCount = await marketCards.count()
87
+ expect(resultCount).toBeGreaterThan(0)
88
+
89
+ // Take screenshot of search results
90
+ await page.screenshot({ path: 'artifacts/search-results.png' })
91
+
92
+ // 4. Click on first result
93
+ const firstMarketTitle = await marketCards.first().textContent()
94
+ await marketCards.first().click()
95
+
96
+ // 5. Verify market details page loads
97
+ await expect(page).toHaveURL(/\/markets\/[a-z0-9-]+/)
98
+
99
+ const detailsPage = new MarketDetailsPage(page)
100
+ await expect(detailsPage.marketName).toBeVisible()
101
+ await expect(detailsPage.marketDescription).toBeVisible()
102
+
103
+ // 6. Verify chart renders
104
+ await expect(detailsPage.priceChart).toBeVisible()
105
+
106
+ // Verify market name matches
107
+ const detailsTitle = await detailsPage.marketName.textContent()
108
+ expect(detailsTitle?.toLowerCase()).toContain(
109
+ firstMarketTitle?.toLowerCase().substring(0, 20) || ''
110
+ )
111
+
112
+ // Take screenshot of market details
113
+ await page.screenshot({ path: 'artifacts/market-details.png' })
114
+ })
115
+
116
+ test('search with no results shows empty state', async ({ page }) => {
117
+ const marketsPage = new MarketsPage(page)
118
+ await marketsPage.goto()
119
+
120
+ // Search for non-existent market
121
+ await marketsPage.searchMarkets('xyznonexistentmarket123456')
122
+
123
+ // Verify empty state
124
+ await expect(page.locator('[data-testid="no-results"]')).toBeVisible()
125
+ await expect(page.locator('[data-testid="no-results"]')).toContainText(
126
+ /no.*results|no.*markets/i
127
+ )
128
+
129
+ const marketCount = await marketsPage.marketCards.count()
130
+ expect(marketCount).toBe(0)
131
+ })
132
+
133
+ test('can clear search and see all markets again', async ({ page }) => {
134
+ const marketsPage = new MarketsPage(page)
135
+ await marketsPage.goto()
136
+
137
+ // Initial market count
138
+ const initialCount = await marketsPage.marketCards.count()
139
+
140
+ // Perform search
141
+ await marketsPage.searchMarkets('trump')
142
+ await page.waitForLoadState('networkidle')
143
+
144
+ // Verify filtered results
145
+ const filteredCount = await marketsPage.marketCards.count()
146
+ expect(filteredCount).toBeLessThan(initialCount)
147
+
148
+ // Clear search
149
+ await marketsPage.searchInput.clear()
150
+ await page.waitForLoadState('networkidle')
151
+
152
+ // Verify all markets shown again
153
+ const finalCount = await marketsPage.marketCards.count()
154
+ expect(finalCount).toBe(initialCount)
155
+ })
156
+ })
157
+ ```
158
+
159
+ ## Running Tests
160
+
161
+ ```bash
162
+ # Run the generated test
163
+ npx playwright test tests/e2e/markets/search-and-view.spec.ts
164
+
165
+ Running 3 tests using 3 workers
166
+
167
+ ✓ [chromium] › search-and-view.spec.ts:5:3 › user can search markets and view details (4.2s)
168
+ ✓ [chromium] › search-and-view.spec.ts:52:3 › search with no results shows empty state (1.8s)
169
+ ✓ [chromium] › search-and-view.spec.ts:67:3 › can clear search and see all markets again (2.9s)
170
+
171
+ 3 passed (9.1s)
172
+
173
+ Artifacts generated:
174
+ - artifacts/search-results.png
175
+ - artifacts/market-details.png
176
+ - playwright-report/index.html
177
+ ```
178
+
179
+ ## Test Report
180
+
181
+ ```
182
+ ╔══════════════════════════════════════════════════════════════╗
183
+ ║ E2E Test Results ║
184
+ ╠══════════════════════════════════════════════════════════════╣
185
+ ║ Status: ✅ ALL TESTS PASSED ║
186
+ ║ Total: 3 tests ║
187
+ ║ Passed: 3 (100%) ║
188
+ ║ Failed: 0 ║
189
+ ║ Flaky: 0 ║
190
+ ║ Duration: 9.1s ║
191
+ ╚══════════════════════════════════════════════════════════════╝
192
+
193
+ Artifacts:
194
+ 📸 Screenshots: 2 files
195
+ 📹 Videos: 0 files (only on failure)
196
+ 🔍 Traces: 0 files (only on failure)
197
+ 📊 HTML Report: playwright-report/index.html
198
+
199
+ View report: npx playwright show-report
200
+ ```
201
+
202
+ ✅ E2E test suite ready for CI/CD integration!
203
+ ```
204
+
205
+ ## Test Artifacts
206
+
207
+ When tests run, the following artifacts are captured:
208
+
209
+ **On All Tests:**
210
+ - HTML Report with timeline and results
211
+ - JUnit XML for CI integration
212
+
213
+ **On Failure Only:**
214
+ - Screenshot of the failing state
215
+ - Video recording of the test
216
+ - Trace file for debugging (step-by-step replay)
217
+ - Network logs
218
+ - Console logs
219
+
220
+ ## Viewing Artifacts
221
+
222
+ ```bash
223
+ # View HTML report in browser
224
+ npx playwright show-report
225
+
226
+ # View specific trace file
227
+ npx playwright show-trace artifacts/trace-abc123.zip
228
+
229
+ # Screenshots are saved in artifacts/ directory
230
+ open artifacts/search-results.png
231
+ ```
232
+
233
+ ## Flaky Test Detection
234
+
235
+ If a test fails intermittently:
236
+
237
+ ```
238
+ ⚠️ FLAKY TEST DETECTED: tests/e2e/markets/trade.spec.ts
239
+
240
+ Test passed 7/10 runs (70% pass rate)
241
+
242
+ Common failure:
243
+ "Timeout waiting for element '[data-testid="confirm-btn"]'"
244
+
245
+ Recommended fixes:
246
+ 1. Add explicit wait: await page.waitForSelector('[data-testid="confirm-btn"]')
247
+ 2. Increase timeout: { timeout: 10000 }
248
+ 3. Check for race conditions in component
249
+ 4. Verify element is not hidden by animation
250
+
251
+ Quarantine recommendation: Mark as test.fixme() until fixed
252
+ ```
253
+
254
+ ## Browser Configuration
255
+
256
+ Tests run on multiple browsers by default:
257
+ - ✅ Chromium (Desktop Chrome)
258
+ - ✅ Firefox (Desktop)
259
+ - ✅ WebKit (Desktop Safari)
260
+ - ✅ Mobile Chrome (optional)
261
+
262
+ Configure in `playwright.config.ts` to adjust browsers.
263
+
264
+ ## CI/CD Integration
265
+
266
+ Add to your CI pipeline:
267
+
268
+ ```yaml
269
+ # .github/workflows/e2e.yml
270
+ - name: Install Playwright
271
+ run: npx playwright install --with-deps
272
+
273
+ - name: Run E2E tests
274
+ run: npx playwright test
275
+
276
+ - name: Upload artifacts
277
+ if: always()
278
+ uses: actions/upload-artifact@v3
279
+ with:
280
+ name: playwright-report
281
+ path: playwright-report/
282
+ ```
283
+
284
+ ## PMX-Specific Critical Flows
285
+
286
+ For PMX, prioritize these E2E tests:
287
+
288
+ **🔴 CRITICAL (Must Always Pass):**
289
+ 1. User can connect wallet
290
+ 2. User can browse markets
291
+ 3. User can search markets (semantic search)
292
+ 4. User can view market details
293
+ 5. User can place trade (with test funds)
294
+ 6. Market resolves correctly
295
+ 7. User can withdraw funds
296
+
297
+ **🟡 IMPORTANT:**
298
+ 1. Market creation flow
299
+ 2. User profile updates
300
+ 3. Real-time price updates
301
+ 4. Chart rendering
302
+ 5. Filter and sort markets
303
+ 6. Mobile responsive layout
304
+
305
+ ## Best Practices
306
+
307
+ **DO:**
308
+ - ✅ Use Page Object Model for maintainability
309
+ - ✅ Use data-testid attributes for selectors
310
+ - ✅ Wait for API responses, not arbitrary timeouts
311
+ - ✅ Test critical user journeys end-to-end
312
+ - ✅ Run tests before merging to main
313
+ - ✅ Review artifacts when tests fail
314
+
315
+ **DON'T:**
316
+ - ❌ Use brittle selectors (CSS classes can change)
317
+ - ❌ Test implementation details
318
+ - ❌ Run tests against production
319
+ - ❌ Ignore flaky tests
320
+ - ❌ Skip artifact review on failures
321
+ - ❌ Test every edge case with E2E (use unit tests)
322
+
323
+ ## Important Notes
324
+
325
+ **CRITICAL for PMX:**
326
+ - E2E tests involving real money MUST run on testnet/staging only
327
+ - Never run trading tests against production
328
+ - Set `test.skip(process.env.NODE_ENV === 'production')` for financial tests
329
+ - Use test wallets with small test funds only
330
+
331
+ ## Integration with Other Commands
332
+
333
+ - Use `/aw:plan` to identify critical journeys to test
334
+ - Use `/aw:tdd` for unit tests (faster, more granular)
335
+ - Use `/aw:e2e` for integration and user journey tests
336
+ - Use `/aw:code-review` to verify test quality
337
+
338
+ ## Related Agents
339
+
340
+ This command invokes the `e2e-runner` agent provided by ECC.
341
+
342
+ For manual installs, the source file lives at:
343
+ `agents/e2e-runner.md`
344
+
345
+ ## Quick Commands
346
+
347
+ ```bash
348
+ # Run all E2E tests
349
+ npx playwright test
350
+
351
+ # Run specific test file
352
+ npx playwright test tests/e2e/markets/search.spec.ts
353
+
354
+ # Run in headed mode (see browser)
355
+ npx playwright test --headed
356
+
357
+ # Debug test
358
+ npx playwright test --debug
359
+
360
+ # Generate test code
361
+ npx playwright codegen http://localhost:3000
362
+
363
+ # View report
364
+ npx playwright show-report
365
+ ```
366
+
367
+ ---
368
+
369
+ ## GHL Platform Integration
370
+
371
+ Also activate the matching `platform-sdet-*` agent.
372
+ Also activate the matching platform domain family resolved by `using-aw-skills`.
373
+ For ALL activated agents: read frontmatter → load each skill from `skills:` array.
@@ -0,0 +1,120 @@
1
+ # Eval Command
2
+
3
+ Manage eval-driven development workflow.
4
+
5
+ ## Usage
6
+
7
+ `/eval [define|check|report|list] [feature-name]`
8
+
9
+ ## Define Evals
10
+
11
+ `/eval define feature-name`
12
+
13
+ Create a new eval definition:
14
+
15
+ 1. Create `.claude/evals/feature-name.md` with template:
16
+
17
+ ```markdown
18
+ ## EVAL: feature-name
19
+ Created: $(date)
20
+
21
+ ### Capability Evals
22
+ - [ ] [Description of capability 1]
23
+ - [ ] [Description of capability 2]
24
+
25
+ ### Regression Evals
26
+ - [ ] [Existing behavior 1 still works]
27
+ - [ ] [Existing behavior 2 still works]
28
+
29
+ ### Success Criteria
30
+ - pass@3 > 90% for capability evals
31
+ - pass^3 = 100% for regression evals
32
+ ```
33
+
34
+ 2. Prompt user to fill in specific criteria
35
+
36
+ ## Check Evals
37
+
38
+ `/eval check feature-name`
39
+
40
+ Run evals for a feature:
41
+
42
+ 1. Read eval definition from `.claude/evals/feature-name.md`
43
+ 2. For each capability eval:
44
+ - Attempt to verify criterion
45
+ - Record PASS/FAIL
46
+ - Log attempt in `.claude/evals/feature-name.log`
47
+ 3. For each regression eval:
48
+ - Run relevant tests
49
+ - Compare against baseline
50
+ - Record PASS/FAIL
51
+ 4. Report current status:
52
+
53
+ ```
54
+ EVAL CHECK: feature-name
55
+ ========================
56
+ Capability: X/Y passing
57
+ Regression: X/Y passing
58
+ Status: IN PROGRESS / READY
59
+ ```
60
+
61
+ ## Report Evals
62
+
63
+ `/eval report feature-name`
64
+
65
+ Generate comprehensive eval report:
66
+
67
+ ```
68
+ EVAL REPORT: feature-name
69
+ =========================
70
+ Generated: $(date)
71
+
72
+ CAPABILITY EVALS
73
+ ----------------
74
+ [eval-1]: PASS (pass@1)
75
+ [eval-2]: PASS (pass@2) - required retry
76
+ [eval-3]: FAIL - see notes
77
+
78
+ REGRESSION EVALS
79
+ ----------------
80
+ [test-1]: PASS
81
+ [test-2]: PASS
82
+ [test-3]: PASS
83
+
84
+ METRICS
85
+ -------
86
+ Capability pass@1: 67%
87
+ Capability pass@3: 100%
88
+ Regression pass^3: 100%
89
+
90
+ NOTES
91
+ -----
92
+ [Any issues, edge cases, or observations]
93
+
94
+ RECOMMENDATION
95
+ --------------
96
+ [SHIP / NEEDS WORK / BLOCKED]
97
+ ```
98
+
99
+ ## List Evals
100
+
101
+ `/eval list`
102
+
103
+ Show all eval definitions:
104
+
105
+ ```
106
+ EVAL DEFINITIONS
107
+ ================
108
+ feature-auth [3/5 passing] IN PROGRESS
109
+ feature-search [5/5 passing] READY
110
+ feature-export [0/4 passing] NOT STARTED
111
+ ```
112
+
113
+ ## Arguments
114
+
115
+ $ARGUMENTS:
116
+ - `define <name>` - Create new eval definition
117
+ - `check <name>` - Run and check evals
118
+ - `report <name>` - Generate full report
119
+ - `list` - Show all evals
120
+ - `clean` - Remove old eval logs (keeps last 10 runs)
@@ -0,0 +1,178 @@
1
+ ---
2
+ name: evolve
3
+ description: Analyze instincts and suggest or generate evolved structures
4
+ command: true
5
+ ---
6
+
7
+ # Evolve Command
8
+
9
+ ## Implementation
10
+
11
+ Run the instinct CLI using the plugin root path:
12
+
13
+ ```bash
14
+ python3 "${CLAUDE_PLUGIN_ROOT}/skills/continuous-learning-v2/scripts/instinct-cli.py" evolve [--generate]
15
+ ```
16
+
17
+ Or if `CLAUDE_PLUGIN_ROOT` is not set (manual installation):
18
+
19
+ ```bash
20
+ python3 ~/.claude/skills/continuous-learning-v2/scripts/instinct-cli.py evolve [--generate]
21
+ ```
22
+
23
+ Analyzes instincts and clusters related ones into higher-level structures:
24
+ - **Commands**: When instincts describe user-invoked actions
25
+ - **Skills**: When instincts describe auto-triggered behaviors
26
+ - **Agents**: When instincts describe complex, multi-step processes
27
+
28
+ ## Usage
29
+
30
+ ```
31
+ /evolve # Analyze all instincts and suggest evolutions
32
+ /evolve --generate # Also generate files under evolved/{skills,commands,agents}
33
+ ```
34
+
35
+ ## Evolution Rules
36
+
37
+ ### → Command (User-Invoked)
38
+ When instincts describe actions a user would explicitly request:
39
+ - Multiple instincts about "when user asks to..."
40
+ - Instincts with triggers like "when creating a new X"
41
+ - Instincts that follow a repeatable sequence
42
+
43
+ Example:
44
+ - `new-table-step1`: "when adding a database table, create migration"
45
+ - `new-table-step2`: "when adding a database table, update schema"
46
+ - `new-table-step3`: "when adding a database table, regenerate types"
47
+
48
+ → Creates: **new-table** command
49
+
50
+ ### → Skill (Auto-Triggered)
51
+ When instincts describe behaviors that should happen automatically:
52
+ - Pattern-matching triggers
53
+ - Error handling responses
54
+ - Code style enforcement
55
+
56
+ Example:
57
+ - `prefer-functional`: "when writing functions, prefer functional style"
58
+ - `use-immutable`: "when modifying state, use immutable patterns"
59
+ - `avoid-classes`: "when designing modules, avoid class-based design"
60
+
61
+ → Creates: `functional-patterns` skill
62
+
63
+ ### → Agent (Needs Depth/Isolation)
64
+ When instincts describe complex, multi-step processes that benefit from isolation:
65
+ - Debugging workflows
66
+ - Refactoring sequences
67
+ - Research tasks
68
+
69
+ Example:
70
+ - `debug-step1`: "when debugging, first check logs"
71
+ - `debug-step2`: "when debugging, isolate the failing component"
72
+ - `debug-step3`: "when debugging, create minimal reproduction"
73
+ - `debug-step4`: "when debugging, verify fix with test"
74
+
75
+ → Creates: **debugger** agent
76
+
77
+ ## What to Do
78
+
79
+ 1. Detect current project context
80
+ 2. Read project + global instincts (project takes precedence on ID conflicts)
81
+ 3. Group instincts by trigger/domain patterns
82
+ 4. Identify:
83
+ - Skill candidates (trigger clusters with 2+ instincts)
84
+ - Command candidates (high-confidence workflow instincts)
85
+ - Agent candidates (larger, high-confidence clusters)
86
+ 5. Show promotion candidates (project -> global) when applicable
87
+ 6. If `--generate` is passed, write files to:
88
+ - Project scope: `~/.claude/homunculus/projects/<project-id>/evolved/`
89
+ - Global fallback: `~/.claude/homunculus/evolved/`
90
+
91
+ ## Output Format
92
+
93
+ ```
94
+ ============================================================
95
+ EVOLVE ANALYSIS - 12 instincts
96
+ Project: my-app (a1b2c3d4e5f6)
97
+ Project-scoped: 8 | Global: 4
98
+ ============================================================
99
+
100
+ High confidence instincts (>=80%): 5
101
+
102
+ ## SKILL CANDIDATES
103
+ 1. Cluster: "adding tests"
104
+ Instincts: 3
105
+ Avg confidence: 82%
106
+ Domains: testing
107
+ Scopes: project
108
+
109
+ ## COMMAND CANDIDATES (2)
110
+ /adding-tests
111
+ From: test-first-workflow [project]
112
+ Confidence: 84%
113
+
114
+ ## AGENT CANDIDATES (1)
115
+ adding-tests-agent
116
+ Covers 3 instincts
117
+ Avg confidence: 82%
118
+ ```
119
+
120
+ ## Flags
121
+
122
+ - `--generate`: Generate evolved files in addition to analysis output
123
+
124
+ ## Generated File Format
125
+
126
+ ### Command
127
+ ```markdown
128
+ ---
129
+ name: new-table
130
+ description: Create a new database table with migration, schema update, and type generation
131
+ command: /new-table
132
+ evolved_from:
133
+ - new-table-migration
134
+ - update-schema
135
+ - regenerate-types
136
+ ---
137
+
138
+ # New Table Command
139
+
140
+ [Generated content based on clustered instincts]
141
+
142
+ ## Steps
143
+ 1. ...
144
+ 2. ...
145
+ ```
146
+
147
+ ### Skill
148
+ ```markdown
149
+ ---
150
+ name: functional-patterns
151
+ description: Enforce functional programming patterns
152
+ evolved_from:
153
+ - prefer-functional
154
+ - use-immutable
155
+ - avoid-classes
156
+ ---
157
+
158
+ # Functional Patterns Skill
159
+
160
+ [Generated content based on clustered instincts]
161
+ ```
162
+
163
+ ### Agent
164
+ ```markdown
165
+ ---
166
+ name: debugger
167
+ description: Systematic debugging agent
168
+ model: sonnet
169
+ evolved_from:
170
+ - debug-check-logs
171
+ - debug-isolate
172
+ - debug-reproduce
173
+ ---
174
+
175
+ # Debugger Agent
176
+
177
+ [Generated content based on clustered instincts]
178
+ ```
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: aw:execute
3
+ description: Compatibility entrypoint for the old implementation stage. Route to aw:build and keep the same artifact discipline.
4
+ argument-hint: "<approved plan, spec, task, or implementation request>"
5
+ status: active
6
+ stage: compatibility
7
+ internal_skill: aw-build
8
+ ---
9
+
10
+ # Execute
11
+
12
+ Use `/aw:execute` only as a compatibility entrypoint.
13
+ The canonical implementation stage is `/aw:build`.
14
+
15
+ ## Role
16
+
17
+ Preserve legacy muscle memory while routing to the modern build contract.
18
+ Do not introduce a second implementation workflow.
19
+ This entrypoint inherits the same rule that build should finish the approved build scope or block explicitly before handing off.
20
+
21
+ ## Routing Rule
22
+
23
+ - approved implementation work -> follow `/aw:build`
24
+ - bugfixes with unclear root cause -> prefer `/aw:investigate` first, then return to `/aw:build`
25
+ - old `/aw:tdd` expectations -> stay inside `/aw:build` and its RED-GREEN discipline
26
+
27
+ ## Outputs
28
+
29
+ - implementation changes
30
+ - `.aw_docs/features/<feature_slug>/execution.md`
31
+ - updated `.aw_docs/features/<feature_slug>/state.json`
32
+
33
+ ## Must Not Do
34
+
35
+ - must not drift into a separate execute-only workflow
36
+ - must not bypass the newer build, test, review, deploy, and ship stage definitions
37
+
38
+ ## Recommended Next Commands
39
+
40
+ - `/aw:test`
41
+ - `/aw:review`
42
+
43
+ ## Final Output Shape
44
+
45
+ Always end with:
46
+
47
+ - `Compatibility Route`
48
+ - `Canonical Stage`
49
+ - `Changes`
50
+ - `Validation`
51
+ - `Next`