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,184 @@
1
+ ---
2
+ name: frontend-slides
3
+ description: Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to build a presentation, convert a PPT/PPTX to web, or create slides for a talk/pitch. Helps non-designers discover their aesthetic through visual exploration rather than abstract choices.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Frontend Slides
8
+
9
+ Create zero-dependency, animation-rich HTML presentations that run entirely in the browser.
10
+
11
+ Inspired by the visual exploration approach showcased in work by zarazhangrui (credit: @zarazhangrui).
12
+
13
+ ## When to Activate
14
+
15
+ - Creating a talk deck, pitch deck, workshop deck, or internal presentation
16
+ - Converting `.ppt` or `.pptx` slides into an HTML presentation
17
+ - Improving an existing HTML presentation's layout, motion, or typography
18
+ - Exploring presentation styles with a user who does not know their design preference yet
19
+
20
+ ## Non-Negotiables
21
+
22
+ 1. **Zero dependencies**: default to one self-contained HTML file with inline CSS and JS.
23
+ 2. **Viewport fit is mandatory**: every slide must fit inside one viewport with no internal scrolling.
24
+ 3. **Show, don't tell**: use visual previews instead of abstract style questionnaires.
25
+ 4. **Distinctive design**: avoid generic purple-gradient, Inter-on-white, template-looking decks.
26
+ 5. **Production quality**: keep code commented, accessible, responsive, and performant.
27
+
28
+ Before generating, read `STYLE_PRESETS.md` for the viewport-safe CSS base, density limits, preset catalog, and CSS gotchas.
29
+
30
+ ## Workflow
31
+
32
+ ### 1. Detect Mode
33
+
34
+ Choose one path:
35
+ - **New presentation**: user has a topic, notes, or full draft
36
+ - **PPT conversion**: user has `.ppt` or `.pptx`
37
+ - **Enhancement**: user already has HTML slides and wants improvements
38
+
39
+ ### 2. Discover Content
40
+
41
+ Ask only the minimum needed:
42
+ - purpose: pitch, teaching, conference talk, internal update
43
+ - length: short (5-10), medium (10-20), long (20+)
44
+ - content state: finished copy, rough notes, topic only
45
+
46
+ If the user has content, ask them to paste it before styling.
47
+
48
+ ### 3. Discover Style
49
+
50
+ Default to visual exploration.
51
+
52
+ If the user already knows the desired preset, skip previews and use it directly.
53
+
54
+ Otherwise:
55
+ 1. Ask what feeling the deck should create: impressed, energized, focused, inspired.
56
+ 2. Generate **3 single-slide preview files** in `.ecc-design/slide-previews/`.
57
+ 3. Each preview must be self-contained, show typography/color/motion clearly, and stay under roughly 100 lines of slide content.
58
+ 4. Ask the user which preview to keep or what elements to mix.
59
+
60
+ Use the preset guide in `STYLE_PRESETS.md` when mapping mood to style.
61
+
62
+ ### 4. Build the Presentation
63
+
64
+ Output either:
65
+ - `presentation.html`
66
+ - `[presentation-name].html`
67
+
68
+ Use an `assets/` folder only when the deck contains extracted or user-supplied images.
69
+
70
+ Required structure:
71
+ - semantic slide sections
72
+ - a viewport-safe CSS base from `STYLE_PRESETS.md`
73
+ - CSS custom properties for theme values
74
+ - a presentation controller class for keyboard, wheel, and touch navigation
75
+ - Intersection Observer for reveal animations
76
+ - reduced-motion support
77
+
78
+ ### 5. Enforce Viewport Fit
79
+
80
+ Treat this as a hard gate.
81
+
82
+ Rules:
83
+ - every `.slide` must use `height: 100vh; height: 100dvh; overflow: hidden;`
84
+ - all type and spacing must scale with `clamp()`
85
+ - when content does not fit, split into multiple slides
86
+ - never solve overflow by shrinking text below readable sizes
87
+ - never allow scrollbars inside a slide
88
+
89
+ Use the density limits and mandatory CSS block in `STYLE_PRESETS.md`.
90
+
91
+ ### 6. Validate
92
+
93
+ Check the finished deck at these sizes:
94
+ - 1920x1080
95
+ - 1280x720
96
+ - 768x1024
97
+ - 375x667
98
+ - 667x375
99
+
100
+ If browser automation is available, use it to verify no slide overflows and that keyboard navigation works.
101
+
102
+ ### 7. Deliver
103
+
104
+ At handoff:
105
+ - delete temporary preview files unless the user wants to keep them
106
+ - open the deck with the platform-appropriate opener when useful
107
+ - summarize file path, preset used, slide count, and easy theme customization points
108
+
109
+ Use the correct opener for the current OS:
110
+ - macOS: `open file.html`
111
+ - Linux: `xdg-open file.html`
112
+ - Windows: `start "" file.html`
113
+
114
+ ## PPT / PPTX Conversion
115
+
116
+ For PowerPoint conversion:
117
+ 1. Prefer `python3` with `python-pptx` to extract text, images, and notes.
118
+ 2. If `python-pptx` is unavailable, ask whether to install it or fall back to a manual/export-based workflow.
119
+ 3. Preserve slide order, speaker notes, and extracted assets.
120
+ 4. After extraction, run the same style-selection workflow as a new presentation.
121
+
122
+ Keep conversion cross-platform. Do not rely on macOS-only tools when Python can do the job.
123
+
124
+ ## Implementation Requirements
125
+
126
+ ### HTML / CSS
127
+
128
+ - Use inline CSS and JS unless the user explicitly wants a multi-file project.
129
+ - Fonts may come from Google Fonts or Fontshare.
130
+ - Prefer atmospheric backgrounds, strong type hierarchy, and a clear visual direction.
131
+ - Use abstract shapes, gradients, grids, noise, and geometry rather than illustrations.
132
+
133
+ ### JavaScript
134
+
135
+ Include:
136
+ - keyboard navigation
137
+ - touch / swipe navigation
138
+ - mouse wheel navigation
139
+ - progress indicator or slide index
140
+ - reveal-on-enter animation triggers
141
+
142
+ ### Accessibility
143
+
144
+ - use semantic structure (`main`, `section`, `nav`)
145
+ - keep contrast readable
146
+ - support keyboard-only navigation
147
+ - respect `prefers-reduced-motion`
148
+
149
+ ## Content Density Limits
150
+
151
+ Use these maxima unless the user explicitly asks for denser slides and readability still holds:
152
+
153
+ | Slide type | Limit |
154
+ |------------|-------|
155
+ | Title | 1 heading + 1 subtitle + optional tagline |
156
+ | Content | 1 heading + 4-6 bullets or 2 short paragraphs |
157
+ | Feature grid | 6 cards max |
158
+ | Code | 8-10 lines max |
159
+ | Quote | 1 quote + attribution |
160
+ | Image | 1 image constrained by viewport |
161
+
162
+ ## Anti-Patterns
163
+
164
+ - generic startup gradients with no visual identity
165
+ - system-font decks unless intentionally editorial
166
+ - long bullet walls
167
+ - code blocks that need scrolling
168
+ - fixed-height content boxes that break on short screens
169
+ - invalid negated CSS functions like `-clamp(...)`
170
+
171
+ ## Related ECC Skills
172
+
173
+ - `frontend-patterns` for component and interaction patterns around the deck
174
+ - `liquid-glass-design` when a presentation intentionally borrows Apple glass aesthetics
175
+ - `e2e-testing` if you need automated browser verification for the final deck
176
+
177
+ ## Deliverable Checklist
178
+
179
+ - presentation runs from a local file in a browser
180
+ - every slide fits the viewport without scrolling
181
+ - style is distinctive and intentional
182
+ - animation is meaningful, not noisy
183
+ - reduced motion is respected
184
+ - file paths and customization points are explained at handoff
@@ -0,0 +1,330 @@
1
+ # Style Presets Reference
2
+
3
+ Curated visual styles for `frontend-slides`.
4
+
5
+ Use this file for:
6
+ - the mandatory viewport-fitting CSS base
7
+ - preset selection and mood mapping
8
+ - CSS gotchas and validation rules
9
+
10
+ Abstract shapes only. Avoid illustrations unless the user explicitly asks for them.
11
+
12
+ ## Viewport Fit Is Non-Negotiable
13
+
14
+ Every slide must fully fit in one viewport.
15
+
16
+ ### Golden Rule
17
+
18
+ ```text
19
+ Each slide = exactly one viewport height.
20
+ Too much content = split into more slides.
21
+ Never scroll inside a slide.
22
+ ```
23
+
24
+ ### Density Limits
25
+
26
+ | Slide Type | Maximum Content |
27
+ |------------|-----------------|
28
+ | Title slide | 1 heading + 1 subtitle + optional tagline |
29
+ | Content slide | 1 heading + 4-6 bullets or 2 paragraphs |
30
+ | Feature grid | 6 cards maximum |
31
+ | Code slide | 8-10 lines maximum |
32
+ | Quote slide | 1 quote + attribution |
33
+ | Image slide | 1 image, ideally under 60vh |
34
+
35
+ ## Mandatory Base CSS
36
+
37
+ Copy this block into every generated presentation and then theme on top of it.
38
+
39
+ ```css
40
+ /* ===========================================
41
+ VIEWPORT FITTING: MANDATORY BASE STYLES
42
+ =========================================== */
43
+
44
+ html, body {
45
+ height: 100%;
46
+ overflow-x: hidden;
47
+ }
48
+
49
+ html {
50
+ scroll-snap-type: y mandatory;
51
+ scroll-behavior: smooth;
52
+ }
53
+
54
+ .slide {
55
+ width: 100vw;
56
+ height: 100vh;
57
+ height: 100dvh;
58
+ overflow: hidden;
59
+ scroll-snap-align: start;
60
+ display: flex;
61
+ flex-direction: column;
62
+ position: relative;
63
+ }
64
+
65
+ .slide-content {
66
+ flex: 1;
67
+ display: flex;
68
+ flex-direction: column;
69
+ justify-content: center;
70
+ max-height: 100%;
71
+ overflow: hidden;
72
+ padding: var(--slide-padding);
73
+ }
74
+
75
+ :root {
76
+ --title-size: clamp(1.5rem, 5vw, 4rem);
77
+ --h2-size: clamp(1.25rem, 3.5vw, 2.5rem);
78
+ --h3-size: clamp(1rem, 2.5vw, 1.75rem);
79
+ --body-size: clamp(0.75rem, 1.5vw, 1.125rem);
80
+ --small-size: clamp(0.65rem, 1vw, 0.875rem);
81
+
82
+ --slide-padding: clamp(1rem, 4vw, 4rem);
83
+ --content-gap: clamp(0.5rem, 2vw, 2rem);
84
+ --element-gap: clamp(0.25rem, 1vw, 1rem);
85
+ }
86
+
87
+ .card, .container, .content-box {
88
+ max-width: min(90vw, 1000px);
89
+ max-height: min(80vh, 700px);
90
+ }
91
+
92
+ .feature-list, .bullet-list {
93
+ gap: clamp(0.4rem, 1vh, 1rem);
94
+ }
95
+
96
+ .feature-list li, .bullet-list li {
97
+ font-size: var(--body-size);
98
+ line-height: 1.4;
99
+ }
100
+
101
+ .grid {
102
+ display: grid;
103
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
104
+ gap: clamp(0.5rem, 1.5vw, 1rem);
105
+ }
106
+
107
+ img, .image-container {
108
+ max-width: 100%;
109
+ max-height: min(50vh, 400px);
110
+ object-fit: contain;
111
+ }
112
+
113
+ @media (max-height: 700px) {
114
+ :root {
115
+ --slide-padding: clamp(0.75rem, 3vw, 2rem);
116
+ --content-gap: clamp(0.4rem, 1.5vw, 1rem);
117
+ --title-size: clamp(1.25rem, 4.5vw, 2.5rem);
118
+ --h2-size: clamp(1rem, 3vw, 1.75rem);
119
+ }
120
+ }
121
+
122
+ @media (max-height: 600px) {
123
+ :root {
124
+ --slide-padding: clamp(0.5rem, 2.5vw, 1.5rem);
125
+ --content-gap: clamp(0.3rem, 1vw, 0.75rem);
126
+ --title-size: clamp(1.1rem, 4vw, 2rem);
127
+ --body-size: clamp(0.7rem, 1.2vw, 0.95rem);
128
+ }
129
+
130
+ .nav-dots, .keyboard-hint, .decorative {
131
+ display: none;
132
+ }
133
+ }
134
+
135
+ @media (max-height: 500px) {
136
+ :root {
137
+ --slide-padding: clamp(0.4rem, 2vw, 1rem);
138
+ --title-size: clamp(1rem, 3.5vw, 1.5rem);
139
+ --h2-size: clamp(0.9rem, 2.5vw, 1.25rem);
140
+ --body-size: clamp(0.65rem, 1vw, 0.85rem);
141
+ }
142
+ }
143
+
144
+ @media (max-width: 600px) {
145
+ :root {
146
+ --title-size: clamp(1.25rem, 7vw, 2.5rem);
147
+ }
148
+
149
+ .grid {
150
+ grid-template-columns: 1fr;
151
+ }
152
+ }
153
+
154
+ @media (prefers-reduced-motion: reduce) {
155
+ *, *::before, *::after {
156
+ animation-duration: 0.01ms !important;
157
+ transition-duration: 0.2s !important;
158
+ }
159
+
160
+ html {
161
+ scroll-behavior: auto;
162
+ }
163
+ }
164
+ ```
165
+
166
+ ## Viewport Checklist
167
+
168
+ - every `.slide` has `height: 100vh`, `height: 100dvh`, and `overflow: hidden`
169
+ - all typography uses `clamp()`
170
+ - all spacing uses `clamp()` or viewport units
171
+ - images have `max-height` constraints
172
+ - grids adapt with `auto-fit` + `minmax()`
173
+ - short-height breakpoints exist at `700px`, `600px`, and `500px`
174
+ - if anything feels cramped, split the slide
175
+
176
+ ## Mood to Preset Mapping
177
+
178
+ | Mood | Good Presets |
179
+ |------|--------------|
180
+ | Impressed / Confident | Bold Signal, Electric Studio, Dark Botanical |
181
+ | Excited / Energized | Creative Voltage, Neon Cyber, Split Pastel |
182
+ | Calm / Focused | Notebook Tabs, Paper & Ink, Swiss Modern |
183
+ | Inspired / Moved | Dark Botanical, Vintage Editorial, Pastel Geometry |
184
+
185
+ ## Preset Catalog
186
+
187
+ ### 1. Bold Signal
188
+
189
+ - Vibe: confident, high-impact, keynote-ready
190
+ - Best for: pitch decks, launches, statements
191
+ - Fonts: Archivo Black + Space Grotesk
192
+ - Palette: charcoal base, hot orange focal card, crisp white text
193
+ - Signature: oversized section numbers, high-contrast card on dark field
194
+
195
+ ### 2. Electric Studio
196
+
197
+ - Vibe: clean, bold, agency-polished
198
+ - Best for: client presentations, strategic reviews
199
+ - Fonts: Manrope only
200
+ - Palette: black, white, saturated cobalt accent
201
+ - Signature: two-panel split and sharp editorial alignment
202
+
203
+ ### 3. Creative Voltage
204
+
205
+ - Vibe: energetic, retro-modern, playful confidence
206
+ - Best for: creative studios, brand work, product storytelling
207
+ - Fonts: Syne + Space Mono
208
+ - Palette: electric blue, neon yellow, deep navy
209
+ - Signature: halftone textures, badges, punchy contrast
210
+
211
+ ### 4. Dark Botanical
212
+
213
+ - Vibe: elegant, premium, atmospheric
214
+ - Best for: luxury brands, thoughtful narratives, premium product decks
215
+ - Fonts: Cormorant + IBM Plex Sans
216
+ - Palette: near-black, warm ivory, blush, gold, terracotta
217
+ - Signature: blurred abstract circles, fine rules, restrained motion
218
+
219
+ ### 5. Notebook Tabs
220
+
221
+ - Vibe: editorial, organized, tactile
222
+ - Best for: reports, reviews, structured storytelling
223
+ - Fonts: Bodoni Moda + DM Sans
224
+ - Palette: cream paper on charcoal with pastel tabs
225
+ - Signature: paper sheet, colored side tabs, binder details
226
+
227
+ ### 6. Pastel Geometry
228
+
229
+ - Vibe: approachable, modern, friendly
230
+ - Best for: product overviews, onboarding, lighter brand decks
231
+ - Fonts: Plus Jakarta Sans only
232
+ - Palette: pale blue field, cream card, soft pink/mint/lavender accents
233
+ - Signature: vertical pills, rounded cards, soft shadows
234
+
235
+ ### 7. Split Pastel
236
+
237
+ - Vibe: playful, modern, creative
238
+ - Best for: agency intros, workshops, portfolios
239
+ - Fonts: Outfit only
240
+ - Palette: peach + lavender split with mint badges
241
+ - Signature: split backdrop, rounded tags, light grid overlays
242
+
243
+ ### 8. Vintage Editorial
244
+
245
+ - Vibe: witty, personality-driven, magazine-inspired
246
+ - Best for: personal brands, opinionated talks, storytelling
247
+ - Fonts: Fraunces + Work Sans
248
+ - Palette: cream, charcoal, dusty warm accents
249
+ - Signature: geometric accents, bordered callouts, punchy serif headlines
250
+
251
+ ### 9. Neon Cyber
252
+
253
+ - Vibe: futuristic, techy, kinetic
254
+ - Best for: AI, infra, dev tools, future-of-X talks
255
+ - Fonts: Clash Display + Satoshi
256
+ - Palette: midnight navy, cyan, magenta
257
+ - Signature: glow, particles, grids, data-radar energy
258
+
259
+ ### 10. Terminal Green
260
+
261
+ - Vibe: developer-focused, hacker-clean
262
+ - Best for: APIs, CLI tools, engineering demos
263
+ - Fonts: JetBrains Mono only
264
+ - Palette: GitHub dark + terminal green
265
+ - Signature: scan lines, command-line framing, precise monospace rhythm
266
+
267
+ ### 11. Swiss Modern
268
+
269
+ - Vibe: minimal, precise, data-forward
270
+ - Best for: corporate, product strategy, analytics
271
+ - Fonts: Archivo + Nunito
272
+ - Palette: white, black, signal red
273
+ - Signature: visible grids, asymmetry, geometric discipline
274
+
275
+ ### 12. Paper & Ink
276
+
277
+ - Vibe: literary, thoughtful, story-driven
278
+ - Best for: essays, keynote narratives, manifesto decks
279
+ - Fonts: Cormorant Garamond + Source Serif 4
280
+ - Palette: warm cream, charcoal, crimson accent
281
+ - Signature: pull quotes, drop caps, elegant rules
282
+
283
+ ## Direct Selection Prompts
284
+
285
+ If the user already knows the style they want, let them pick directly from the preset names above instead of forcing preview generation.
286
+
287
+ ## Animation Feel Mapping
288
+
289
+ | Feeling | Motion Direction |
290
+ |---------|------------------|
291
+ | Dramatic / Cinematic | slow fades, parallax, large scale-ins |
292
+ | Techy / Futuristic | glow, particles, grid motion, scramble text |
293
+ | Playful / Friendly | springy easing, rounded shapes, floating motion |
294
+ | Professional / Corporate | subtle 200-300ms transitions, clean slides |
295
+ | Calm / Minimal | very restrained movement, whitespace-first |
296
+ | Editorial / Magazine | strong hierarchy, staggered text and image interplay |
297
+
298
+ ## CSS Gotcha: Negating Functions
299
+
300
+ Never write these:
301
+
302
+ ```css
303
+ right: -clamp(28px, 3.5vw, 44px);
304
+ margin-left: -min(10vw, 100px);
305
+ ```
306
+
307
+ Browsers ignore them silently.
308
+
309
+ Always write this instead:
310
+
311
+ ```css
312
+ right: calc(-1 * clamp(28px, 3.5vw, 44px));
313
+ margin-left: calc(-1 * min(10vw, 100px));
314
+ ```
315
+
316
+ ## Validation Sizes
317
+
318
+ Test at minimum:
319
+ - Desktop: `1920x1080`, `1440x900`, `1280x720`
320
+ - Tablet: `1024x768`, `768x1024`
321
+ - Mobile: `375x667`, `414x896`
322
+ - Landscape phone: `667x375`, `896x414`
323
+
324
+ ## Anti-Patterns
325
+
326
+ Do not use:
327
+ - purple-on-white startup templates
328
+ - Inter / Roboto / Arial as the visual voice unless the user explicitly wants utilitarian neutrality
329
+ - bullet walls, tiny type, or code blocks that require scrolling
330
+ - decorative illustrations when abstract geometry would do the job better
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: frontend-ui-engineering
3
+ description: Builds production-quality UI with design-system compliance, accessibility, responsive behavior, and runtime proof. Use when implementing or changing user-facing interfaces.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Frontend UI Engineering
8
+
9
+ ## Overview
10
+
11
+ Frontend work is not "just make the UI appear."
12
+ This skill treats design quality, accessibility, responsive behavior, interaction states, and runtime verification as part of the implementation itself.
13
+
14
+ ## When to Use
15
+
16
+ - building new pages, components, forms, or flows
17
+ - modifying existing user-facing UI
18
+ - implementing interaction changes or responsive layouts
19
+ - touching design-system components, page structure, or frontend state
20
+
21
+ **When NOT to use**
22
+
23
+ - backend-only or non-UI work
24
+ - pure documentation updates with no user-facing surface
25
+
26
+ ## Workflow
27
+
28
+ 1. Load the visual and product constraints first.
29
+ Start with approved design artifacts, design-system rules, component conventions, and relevant UI standards.
30
+ 2. Define the required states.
31
+ Name the happy path, loading, empty, error, disabled, and responsive states before writing polish code.
32
+ 3. Build structure before ornament.
33
+ Implement semantic layout, component boundaries, and state flow first.
34
+ Visual detail should reinforce the structure, not compensate for a weak structure.
35
+ 4. Treat accessibility as a first-class requirement.
36
+ Use `../../references/accessibility-checklist.md` and `../../references/frontend-quality-checklist.md`.
37
+ Keyboard support, focus behavior, labels, semantics, and contrast are part of done.
38
+ 5. Pair UI work with proof.
39
+ Use `../../references/testing-patterns.md` for behavior tests and runtime evidence.
40
+ For complex UI or interaction work, verify the behavior in a browser, not just in code.
41
+ 6. Check responsive behavior intentionally.
42
+ Confirm the key flow still works across the relevant viewport sizes and input states.
43
+
44
+ ## Common Rationalizations
45
+
46
+ | Rationalization | Reality |
47
+ |---|---|
48
+ | "The UI compiles, so it's basically done." | Compilation does not prove usable layout, accessibility, or runtime behavior. |
49
+ | "Accessibility can come later." | Retrofitting accessibility after the structure is baked is slower and riskier. |
50
+ | "Desktop is enough for now." | Responsive breakage is still product breakage. |
51
+ | "The design system will cover everything automatically." | Design systems reduce mistakes, but they do not remove the need for state, layout, and interaction judgment. |
52
+
53
+ ## Red Flags
54
+
55
+ - no explicit state model for loading, empty, or error cases
56
+ - browser/runtime proof is missing for meaningful interaction changes
57
+ - design tokens or system components are bypassed without reason
58
+ - accessibility is mentioned vaguely instead of checked concretely
59
+
60
+ ## Verification
61
+
62
+ After frontend implementation, confirm:
63
+
64
+ - [ ] required states are implemented, not implied
65
+ - [ ] the UI respects the active design system and conventions
66
+ - [ ] accessibility checks were applied deliberately
67
+ - [ ] the key flow works responsively at the relevant breakpoints
68
+ - [ ] runtime or browser evidence exists for meaningful interaction changes
@@ -0,0 +1,75 @@
1
+ ---
2
+ name: git-workflow-and-versioning
3
+ description: Keeps work reviewable, reversible, and well-scoped. Use for any code change that needs branches, save points, commit hygiene, or parallel work isolation.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Git Workflow and Versioning
8
+
9
+ ## Overview
10
+
11
+ Git is the safety system for fast-moving engineering work.
12
+ Treat branches as sandboxes, commits as save points, and history as operational documentation for humans, reviewers, and future agents.
13
+
14
+ ## When to Use
15
+
16
+ - making any code, config, docs, or migration change
17
+ - deciding branch or worktree strategy
18
+ - choosing commit boundaries
19
+ - preparing changes for review or rollback
20
+ - organizing parallel agent or multi-slice work
21
+
22
+ **When NOT to use**
23
+
24
+ - only when no repository-backed change is being made at all
25
+
26
+ ## Workflow
27
+
28
+ 1. Start from the smallest isolated workspace that fits the change.
29
+ Prefer short-lived feature branches.
30
+ For parallel work or risky experiments, use worktrees instead of branch thrash.
31
+ 2. Size the work before committing.
32
+ Break the change into logical slices that can be explained, reviewed, and reverted independently.
33
+ Use `../../references/git-save-points.md` when save-point discipline matters.
34
+ 3. Commit each successful increment.
35
+ The pattern is:
36
+ implement slice -> verify slice -> commit slice.
37
+ Do not wait for one giant final commit.
38
+ 4. Keep concerns separate.
39
+ Avoid mixing formatting, refactors, dependency churn, and feature behavior in the same commit unless they are inseparable.
40
+ Reviewable history is part of engineering quality.
41
+ 5. Run pre-commit hygiene.
42
+ Check the staged diff, run the smallest relevant validation, and verify secrets or generated junk are not being committed.
43
+ 6. Leave a scope map for the next human or agent.
44
+ Name:
45
+ - what changed
46
+ - what did not change
47
+ - what still needs follow-up
48
+ In AW flows, keep this aligned with the stage artifacts and change summaries.
49
+
50
+ ## Common Rationalizations
51
+
52
+ | Rationalization | Reality |
53
+ |---|---|
54
+ | "I'll clean up the history later." | Messy history is harder to split and explain after the fact. |
55
+ | "One big commit is faster." | Giant commits are slower to review, debug, and revert. |
56
+ | "This cleanup can ride along with the feature." | Mixed concerns make scope, blame, and rollback harder. |
57
+ | "I don't need an isolated branch for a small change." | Isolation is cheap; accidental overlap is expensive. |
58
+
59
+ ## Red Flags
60
+
61
+ - one commit mixes unrelated concerns
62
+ - the diff is too large to explain in one sentence
63
+ - no save point exists between meaningful slices
64
+ - generated output, secrets, or local-only noise are staged
65
+ - branch or worktree discipline is vague during multi-agent work
66
+
67
+ ## Verification
68
+
69
+ After using git workflow discipline, confirm:
70
+
71
+ - [ ] the work is isolated in the right branch or worktree
72
+ - [ ] commit boundaries match real progress
73
+ - [ ] staged content excludes secrets and unrelated noise
74
+ - [ ] the history is reviewable and reversible
75
+ - [ ] the change summary makes scope boundaries explicit