@jack200714/mafw 4.5.1

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 (631) hide show
  1. package/.opencode/mafw/.backup-v61/parametric/base-skill-manifest.yaml +2 -0
  2. package/.opencode/mafw/STATUS.md +6 -0
  3. package/.opencode/mafw/ledger.md +20 -0
  4. package/.opencode/mafw/memory/.harmonic_index.json +28 -0
  5. package/.opencode/mafw/memory/.review_queue.json +1 -0
  6. package/.opencode/mafw/memory/tier3/parametric.json +13 -0
  7. package/.opencode/mafw/memory/tier3/test-goal.json +19 -0
  8. package/.opencode/mafw/memory-index.json +6 -0
  9. package/.opencode/mafw/parametric/base-skill-manifest.yaml +2 -0
  10. package/.opencode/mafw/waves.json +4 -0
  11. package/.opencode/opencode.json +3 -0
  12. package/.opencode/plugins/mafw-plugin.ts +8 -0
  13. package/.opencode/skills/banner-design/SKILL.md +196 -0
  14. package/.opencode/skills/banner-design/references/banner-sizes-and-styles.md +118 -0
  15. package/.opencode/skills/brand/SKILL.md +97 -0
  16. package/.opencode/skills/brand/references/approval-checklist.md +169 -0
  17. package/.opencode/skills/brand/references/asset-organization.md +157 -0
  18. package/.opencode/skills/brand/references/brand-guideline-template.md +140 -0
  19. package/.opencode/skills/brand/references/color-palette-management.md +186 -0
  20. package/.opencode/skills/brand/references/consistency-checklist.md +94 -0
  21. package/.opencode/skills/brand/references/logo-usage-rules.md +185 -0
  22. package/.opencode/skills/brand/references/messaging-framework.md +85 -0
  23. package/.opencode/skills/brand/references/typography-specifications.md +214 -0
  24. package/.opencode/skills/brand/references/update.md +118 -0
  25. package/.opencode/skills/brand/references/visual-identity.md +96 -0
  26. package/.opencode/skills/brand/references/voice-framework.md +88 -0
  27. package/.opencode/skills/brand/scripts/extract-colors.cjs +341 -0
  28. package/.opencode/skills/brand/scripts/inject-brand-context.cjs +349 -0
  29. package/.opencode/skills/brand/scripts/sync-brand-to-tokens.cjs +248 -0
  30. package/.opencode/skills/brand/scripts/tests/test_sync_brand_to_tokens.py +52 -0
  31. package/.opencode/skills/brand/scripts/validate-asset.cjs +387 -0
  32. package/.opencode/skills/brand/templates/brand-guidelines-starter.md +275 -0
  33. package/.opencode/skills/design/SKILL.md +313 -0
  34. package/.opencode/skills/design/data/cip/deliverables.csv +51 -0
  35. package/.opencode/skills/design/data/cip/industries.csv +21 -0
  36. package/.opencode/skills/design/data/cip/mockup-contexts.csv +21 -0
  37. package/.opencode/skills/design/data/cip/styles.csv +21 -0
  38. package/.opencode/skills/design/data/icon/styles.csv +16 -0
  39. package/.opencode/skills/design/data/logo/colors.csv +56 -0
  40. package/.opencode/skills/design/data/logo/industries.csv +56 -0
  41. package/.opencode/skills/design/data/logo/styles.csv +56 -0
  42. package/.opencode/skills/design/references/banner-sizes-and-styles.md +118 -0
  43. package/.opencode/skills/design/references/cip-deliverable-guide.md +95 -0
  44. package/.opencode/skills/design/references/cip-design.md +121 -0
  45. package/.opencode/skills/design/references/cip-prompt-engineering.md +84 -0
  46. package/.opencode/skills/design/references/cip-style-guide.md +68 -0
  47. package/.opencode/skills/design/references/design-routing.md +207 -0
  48. package/.opencode/skills/design/references/icon-design.md +122 -0
  49. package/.opencode/skills/design/references/logo-color-psychology.md +101 -0
  50. package/.opencode/skills/design/references/logo-design.md +92 -0
  51. package/.opencode/skills/design/references/logo-prompt-engineering.md +158 -0
  52. package/.opencode/skills/design/references/logo-style-guide.md +109 -0
  53. package/.opencode/skills/design/references/slides-copywriting-formulas.md +84 -0
  54. package/.opencode/skills/design/references/slides-create.md +4 -0
  55. package/.opencode/skills/design/references/slides-html-template.md +295 -0
  56. package/.opencode/skills/design/references/slides-layout-patterns.md +137 -0
  57. package/.opencode/skills/design/references/slides-strategies.md +94 -0
  58. package/.opencode/skills/design/references/slides.md +42 -0
  59. package/.opencode/skills/design/references/social-photos-design.md +329 -0
  60. package/.opencode/skills/design/scripts/cip/core.py +215 -0
  61. package/.opencode/skills/design/scripts/cip/generate.py +484 -0
  62. package/.opencode/skills/design/scripts/cip/render-html.py +424 -0
  63. package/.opencode/skills/design/scripts/cip/search.py +127 -0
  64. package/.opencode/skills/design/scripts/icon/generate.py +487 -0
  65. package/.opencode/skills/design/scripts/logo/core.py +175 -0
  66. package/.opencode/skills/design/scripts/logo/generate.py +362 -0
  67. package/.opencode/skills/design/scripts/logo/search.py +114 -0
  68. package/.opencode/skills/design-system/SKILL.md +244 -0
  69. package/.opencode/skills/design-system/data/slide-backgrounds.csv +11 -0
  70. package/.opencode/skills/design-system/data/slide-charts.csv +26 -0
  71. package/.opencode/skills/design-system/data/slide-color-logic.csv +14 -0
  72. package/.opencode/skills/design-system/data/slide-copy.csv +26 -0
  73. package/.opencode/skills/design-system/data/slide-layout-logic.csv +16 -0
  74. package/.opencode/skills/design-system/data/slide-layouts.csv +26 -0
  75. package/.opencode/skills/design-system/data/slide-strategies.csv +16 -0
  76. package/.opencode/skills/design-system/data/slide-typography.csv +15 -0
  77. package/.opencode/skills/design-system/references/component-specs.md +236 -0
  78. package/.opencode/skills/design-system/references/component-tokens.md +214 -0
  79. package/.opencode/skills/design-system/references/primitive-tokens.md +203 -0
  80. package/.opencode/skills/design-system/references/semantic-tokens.md +215 -0
  81. package/.opencode/skills/design-system/references/states-and-variants.md +241 -0
  82. package/.opencode/skills/design-system/references/tailwind-integration.md +251 -0
  83. package/.opencode/skills/design-system/references/token-architecture.md +224 -0
  84. package/.opencode/skills/design-system/scripts/embed-tokens.cjs +99 -0
  85. package/.opencode/skills/design-system/scripts/fetch-background.py +317 -0
  86. package/.opencode/skills/design-system/scripts/generate-slide.py +770 -0
  87. package/.opencode/skills/design-system/scripts/generate-tokens.cjs +205 -0
  88. package/.opencode/skills/design-system/scripts/html-token-validator.py +327 -0
  89. package/.opencode/skills/design-system/scripts/search-slides.py +218 -0
  90. package/.opencode/skills/design-system/scripts/slide-token-validator.py +35 -0
  91. package/.opencode/skills/design-system/scripts/slide_search_core.py +453 -0
  92. package/.opencode/skills/design-system/scripts/tests/test_validate_tokens.py +48 -0
  93. package/.opencode/skills/design-system/scripts/validate-tokens.cjs +246 -0
  94. package/.opencode/skills/design-system/templates/design-tokens-starter.json +143 -0
  95. package/.opencode/skills/frontend-design/LICENSE.txt +21 -0
  96. package/.opencode/skills/frontend-design/SKILL.md +115 -0
  97. package/.opencode/skills/mafw-automation-interview/SKILL.md +43 -0
  98. package/.opencode/skills/mafw-cli-scanner/SKILL.md +37 -0
  99. package/.opencode/skills/mafw-compression-verifier/SKILL.md +52 -0
  100. package/.opencode/skills/mafw-desktop-inspector/SKILL.md +170 -0
  101. package/.opencode/skills/mafw-execute/SKILL.md +62 -0
  102. package/.opencode/skills/mafw-gateway-restart/SKILL.md +87 -0
  103. package/.opencode/skills/mafw-github-scanner/SKILL.md +38 -0
  104. package/.opencode/skills/mafw-goal/SKILL.md +76 -0
  105. package/.opencode/skills/mafw-interview/SKILL.md +68 -0
  106. package/.opencode/skills/mafw-memory-extractor/SKILL.md +65 -0
  107. package/.opencode/skills/mafw-plan/SKILL.md +58 -0
  108. package/.opencode/skills/mafw-review/SKILL.md +85 -0
  109. package/.opencode/skills/runtime-plugin-authoring/SKILL.md +791 -0
  110. package/.opencode/skills/slides/SKILL.md +40 -0
  111. package/.opencode/skills/slides/references/copywriting-formulas.md +84 -0
  112. package/.opencode/skills/slides/references/create.md +4 -0
  113. package/.opencode/skills/slides/references/html-template.md +295 -0
  114. package/.opencode/skills/slides/references/layout-patterns.md +137 -0
  115. package/.opencode/skills/slides/references/slide-strategies.md +94 -0
  116. package/.opencode/skills/ui-styling/LICENSE.txt +202 -0
  117. package/.opencode/skills/ui-styling/SKILL.md +324 -0
  118. package/.opencode/skills/ui-styling/references/canvas-design-system.md +320 -0
  119. package/.opencode/skills/ui-styling/references/shadcn-accessibility.md +471 -0
  120. package/.opencode/skills/ui-styling/references/shadcn-components.md +424 -0
  121. package/.opencode/skills/ui-styling/references/shadcn-theming.md +373 -0
  122. package/.opencode/skills/ui-styling/references/tailwind-customization.md +483 -0
  123. package/.opencode/skills/ui-styling/references/tailwind-responsive.md +382 -0
  124. package/.opencode/skills/ui-styling/references/tailwind-utilities.md +455 -0
  125. package/.opencode/skills/ui-styling/scripts/requirements.txt +17 -0
  126. package/.opencode/skills/ui-styling/scripts/shadcn_add.py +308 -0
  127. package/.opencode/skills/ui-styling/scripts/tailwind_config_gen.py +473 -0
  128. package/.opencode/skills/ui-styling/scripts/tests/coverage-ui.json +1 -0
  129. package/.opencode/skills/ui-styling/scripts/tests/requirements.txt +3 -0
  130. package/.opencode/skills/ui-styling/scripts/tests/test_shadcn_add.py +266 -0
  131. package/.opencode/skills/ui-styling/scripts/tests/test_tailwind_config_gen.py +394 -0
  132. package/.opencode/skills/ui-ux-pro-max/SKILL.md +388 -0
  133. package/.opencode/skills/ui-ux-pro-max/data/app-interface.csv +31 -0
  134. package/.opencode/skills/ui-ux-pro-max/data/charts.csv +26 -0
  135. package/.opencode/skills/ui-ux-pro-max/data/colors.csv +193 -0
  136. package/.opencode/skills/ui-ux-pro-max/data/google-fonts.csv +1924 -0
  137. package/.opencode/skills/ui-ux-pro-max/data/icons.csv +106 -0
  138. package/.opencode/skills/ui-ux-pro-max/data/landing.csv +35 -0
  139. package/.opencode/skills/ui-ux-pro-max/data/motion.csv +17 -0
  140. package/.opencode/skills/ui-ux-pro-max/data/products.csv +193 -0
  141. package/.opencode/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  142. package/.opencode/skills/ui-ux-pro-max/data/stacks/angular.csv +51 -0
  143. package/.opencode/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  144. package/.opencode/skills/ui-ux-pro-max/data/stacks/avalonia.csv +57 -0
  145. package/.opencode/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  146. package/.opencode/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  147. package/.opencode/skills/ui-ux-pro-max/data/stacks/javafx.csv +76 -0
  148. package/.opencode/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  149. package/.opencode/skills/ui-ux-pro-max/data/stacks/laravel.csv +51 -0
  150. package/.opencode/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  151. package/.opencode/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +71 -0
  152. package/.opencode/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  153. package/.opencode/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  154. package/.opencode/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  155. package/.opencode/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  156. package/.opencode/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  157. package/.opencode/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  158. package/.opencode/skills/ui-ux-pro-max/data/stacks/threejs.csv +54 -0
  159. package/.opencode/skills/ui-ux-pro-max/data/stacks/uno.csv +60 -0
  160. package/.opencode/skills/ui-ux-pro-max/data/stacks/uwp.csv +56 -0
  161. package/.opencode/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  162. package/.opencode/skills/ui-ux-pro-max/data/stacks/winui.csv +60 -0
  163. package/.opencode/skills/ui-ux-pro-max/data/stacks/wpf.csv +57 -0
  164. package/.opencode/skills/ui-ux-pro-max/data/styles.csv +85 -0
  165. package/.opencode/skills/ui-ux-pro-max/data/typography.csv +75 -0
  166. package/.opencode/skills/ui-ux-pro-max/data/ui-reasoning.csv +162 -0
  167. package/.opencode/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  168. package/.opencode/skills/ui-ux-pro-max/scripts/core.py +464 -0
  169. package/.opencode/skills/ui-ux-pro-max/scripts/design_system.py +1479 -0
  170. package/.opencode/skills/ui-ux-pro-max/scripts/search.py +162 -0
  171. package/.opencode/skills/ui-ux-pro-max/scripts/tests/test_core.py +134 -0
  172. package/.opencode/skills/ui-ux-pro-max/scripts/tests/test_design_system_mode.py +159 -0
  173. package/.opencode/skills/ui-ux-pro-max/scripts/validate_data.py +114 -0
  174. package/LICENSE +21 -0
  175. package/README.md +199 -0
  176. package/bin/mafw.js +436 -0
  177. package/dist/hooks/bash-python-guide.d.ts +4 -0
  178. package/dist/hooks/bash-python-guide.d.ts.map +1 -0
  179. package/dist/hooks/bash-python-guide.js +67 -0
  180. package/dist/hooks/bash-python-guide.js.map +1 -0
  181. package/dist/hooks/handoff.d.ts +9 -0
  182. package/dist/hooks/handoff.d.ts.map +1 -0
  183. package/dist/hooks/handoff.js +8 -0
  184. package/dist/hooks/handoff.js.map +1 -0
  185. package/dist/hooks/hook-manager.d.ts +32 -0
  186. package/dist/hooks/hook-manager.d.ts.map +1 -0
  187. package/dist/hooks/hook-manager.js +91 -0
  188. package/dist/hooks/hook-manager.js.map +1 -0
  189. package/dist/hooks/llm-after.d.ts +8 -0
  190. package/dist/hooks/llm-after.d.ts.map +1 -0
  191. package/dist/hooks/llm-after.js +8 -0
  192. package/dist/hooks/llm-after.js.map +1 -0
  193. package/dist/hooks/media-ingest.d.ts +43 -0
  194. package/dist/hooks/media-ingest.d.ts.map +1 -0
  195. package/dist/hooks/media-ingest.js +269 -0
  196. package/dist/hooks/media-ingest.js.map +1 -0
  197. package/dist/hooks/memory-guide.d.ts +3 -0
  198. package/dist/hooks/memory-guide.d.ts.map +1 -0
  199. package/dist/hooks/memory-guide.js +47 -0
  200. package/dist/hooks/memory-guide.js.map +1 -0
  201. package/dist/hooks/observation-capture.d.ts +17 -0
  202. package/dist/hooks/observation-capture.d.ts.map +1 -0
  203. package/dist/hooks/observation-capture.js +20 -0
  204. package/dist/hooks/observation-capture.js.map +1 -0
  205. package/dist/hooks/session-compacting.d.ts +6 -0
  206. package/dist/hooks/session-compacting.d.ts.map +1 -0
  207. package/dist/hooks/session-compacting.js +6 -0
  208. package/dist/hooks/session-compacting.js.map +1 -0
  209. package/dist/hooks/session-ending.d.ts +20 -0
  210. package/dist/hooks/session-ending.d.ts.map +1 -0
  211. package/dist/hooks/session-ending.js +113 -0
  212. package/dist/hooks/session-ending.js.map +1 -0
  213. package/dist/hooks/session-recall.d.ts +2 -0
  214. package/dist/hooks/session-recall.d.ts.map +1 -0
  215. package/dist/hooks/session-recall.js +103 -0
  216. package/dist/hooks/session-recall.js.map +1 -0
  217. package/dist/hooks/session-start.d.ts +9 -0
  218. package/dist/hooks/session-start.d.ts.map +1 -0
  219. package/dist/hooks/session-start.js +42 -0
  220. package/dist/hooks/session-start.js.map +1 -0
  221. package/dist/hooks/tool-before.d.ts +10 -0
  222. package/dist/hooks/tool-before.d.ts.map +1 -0
  223. package/dist/hooks/tool-before.js +6 -0
  224. package/dist/hooks/tool-before.js.map +1 -0
  225. package/dist/hooks/tool-executed.d.ts +19 -0
  226. package/dist/hooks/tool-executed.d.ts.map +1 -0
  227. package/dist/hooks/tool-executed.js +12 -0
  228. package/dist/hooks/tool-executed.js.map +1 -0
  229. package/dist/hooks/user-profile.d.ts +2 -0
  230. package/dist/hooks/user-profile.d.ts.map +1 -0
  231. package/dist/hooks/user-profile.js +30 -0
  232. package/dist/hooks/user-profile.js.map +1 -0
  233. package/dist/hooks/user-prompt.d.ts +9 -0
  234. package/dist/hooks/user-prompt.d.ts.map +1 -0
  235. package/dist/hooks/user-prompt.js +8 -0
  236. package/dist/hooks/user-prompt.js.map +1 -0
  237. package/dist/hooks/voice-guide.d.ts +8 -0
  238. package/dist/hooks/voice-guide.d.ts.map +1 -0
  239. package/dist/hooks/voice-guide.js +101 -0
  240. package/dist/hooks/voice-guide.js.map +1 -0
  241. package/dist/plugin.d.ts +55 -0
  242. package/dist/plugin.d.ts.map +1 -0
  243. package/dist/plugin.js +342 -0
  244. package/dist/plugin.js.map +1 -0
  245. package/dist/tools/add-memory.d.ts +17 -0
  246. package/dist/tools/add-memory.d.ts.map +1 -0
  247. package/dist/tools/add-memory.js +60 -0
  248. package/dist/tools/add-memory.js.map +1 -0
  249. package/dist/tools/media-ask.d.ts +14 -0
  250. package/dist/tools/media-ask.d.ts.map +1 -0
  251. package/dist/tools/media-ask.js +224 -0
  252. package/dist/tools/media-ask.js.map +1 -0
  253. package/dist/tools/media-speak.d.ts +16 -0
  254. package/dist/tools/media-speak.d.ts.map +1 -0
  255. package/dist/tools/media-speak.js +78 -0
  256. package/dist/tools/media-speak.js.map +1 -0
  257. package/dist/tools/media-upload.d.ts +14 -0
  258. package/dist/tools/media-upload.d.ts.map +1 -0
  259. package/dist/tools/media-upload.js +155 -0
  260. package/dist/tools/media-upload.js.map +1 -0
  261. package/dist/tools/python-exec.d.ts +13 -0
  262. package/dist/tools/python-exec.d.ts.map +1 -0
  263. package/dist/tools/python-exec.js +99 -0
  264. package/dist/tools/python-exec.js.map +1 -0
  265. package/dist/tools/python-restart.d.ts +11 -0
  266. package/dist/tools/python-restart.d.ts.map +1 -0
  267. package/dist/tools/python-restart.js +33 -0
  268. package/dist/tools/python-restart.js.map +1 -0
  269. package/dist/utils/circuit-breaker.d.ts +23 -0
  270. package/dist/utils/circuit-breaker.d.ts.map +1 -0
  271. package/dist/utils/circuit-breaker.js +75 -0
  272. package/dist/utils/circuit-breaker.js.map +1 -0
  273. package/dist/utils/config-loader.d.ts +20 -0
  274. package/dist/utils/config-loader.d.ts.map +1 -0
  275. package/dist/utils/config-loader.js +194 -0
  276. package/dist/utils/config-loader.js.map +1 -0
  277. package/dist/utils/fallback.d.ts +7 -0
  278. package/dist/utils/fallback.d.ts.map +1 -0
  279. package/dist/utils/fallback.js +20 -0
  280. package/dist/utils/fallback.js.map +1 -0
  281. package/dist/utils/git.d.ts +24 -0
  282. package/dist/utils/git.d.ts.map +1 -0
  283. package/dist/utils/git.js +71 -0
  284. package/dist/utils/git.js.map +1 -0
  285. package/dist/utils/github.d.ts +37 -0
  286. package/dist/utils/github.d.ts.map +1 -0
  287. package/dist/utils/github.js +53 -0
  288. package/dist/utils/github.js.map +1 -0
  289. package/dist/utils/global-path.d.ts +2 -0
  290. package/dist/utils/global-path.d.ts.map +1 -0
  291. package/dist/utils/global-path.js +32 -0
  292. package/dist/utils/global-path.js.map +1 -0
  293. package/dist/utils/logger.d.ts +6 -0
  294. package/dist/utils/logger.d.ts.map +1 -0
  295. package/dist/utils/logger.js +69 -0
  296. package/dist/utils/logger.js.map +1 -0
  297. package/dist/utils/obs-capture.d.ts +7 -0
  298. package/dist/utils/obs-capture.d.ts.map +1 -0
  299. package/dist/utils/obs-capture.js +49 -0
  300. package/dist/utils/obs-capture.js.map +1 -0
  301. package/dist/utils/retry.d.ts +11 -0
  302. package/dist/utils/retry.d.ts.map +1 -0
  303. package/dist/utils/retry.js +45 -0
  304. package/dist/utils/retry.js.map +1 -0
  305. package/dist/utils/self-wiring.d.ts +13 -0
  306. package/dist/utils/self-wiring.d.ts.map +1 -0
  307. package/dist/utils/self-wiring.js +86 -0
  308. package/dist/utils/self-wiring.js.map +1 -0
  309. package/dist/utils/state.d.ts +106 -0
  310. package/dist/utils/state.d.ts.map +1 -0
  311. package/dist/utils/state.js +166 -0
  312. package/dist/utils/state.js.map +1 -0
  313. package/dist/utils/status.d.ts +47 -0
  314. package/dist/utils/status.d.ts.map +1 -0
  315. package/dist/utils/status.js +147 -0
  316. package/dist/utils/status.js.map +1 -0
  317. package/dist/utils/ttl-map.d.ts +17 -0
  318. package/dist/utils/ttl-map.d.ts.map +1 -0
  319. package/dist/utils/ttl-map.js +67 -0
  320. package/dist/utils/ttl-map.js.map +1 -0
  321. package/gateway/dist/automation-engine.js +729 -0
  322. package/gateway/dist/chat/chat-sessions.js +95 -0
  323. package/gateway/dist/chat/graph-runner.js +76 -0
  324. package/gateway/dist/chat/index.js +7 -0
  325. package/gateway/dist/chat/intent-classifier.js +23 -0
  326. package/gateway/dist/config.js +416 -0
  327. package/gateway/dist/core/auth.js +96 -0
  328. package/gateway/dist/core/budget-guard.js +52 -0
  329. package/gateway/dist/core/compression/bm25-index.js +176 -0
  330. package/gateway/dist/core/compression/compression-pipeline.js +157 -0
  331. package/gateway/dist/core/compression/compression-strategy-selector.js +32 -0
  332. package/gateway/dist/core/compression/compression-verifier.js +79 -0
  333. package/gateway/dist/core/compression/diff-compressor.js +69 -0
  334. package/gateway/dist/core/compression/hybrid-compressor.js +104 -0
  335. package/gateway/dist/core/compression/lesson-compactor.js +114 -0
  336. package/gateway/dist/core/compression/memory-index.js +190 -0
  337. package/gateway/dist/core/compression/observation-classifier.js +41 -0
  338. package/gateway/dist/core/compression/observation-deduplicator.js +43 -0
  339. package/gateway/dist/core/compression/rrf-fusion.js +63 -0
  340. package/gateway/dist/core/compression/session-pruner.js +137 -0
  341. package/gateway/dist/core/compression/token-budget-allocator.js +141 -0
  342. package/gateway/dist/core/compression/vector-index.js +117 -0
  343. package/gateway/dist/core/compression/zero-token-compressor.js +80 -0
  344. package/gateway/dist/core/cost/cognitive-router.js +41 -0
  345. package/gateway/dist/core/cost/cost-estimator.js +63 -0
  346. package/gateway/dist/core/cost/types.js +19 -0
  347. package/gateway/dist/core/engine/degradation.js +159 -0
  348. package/gateway/dist/core/engine/goal-worktree-manager.js +131 -0
  349. package/gateway/dist/core/engine/lesson-manager.js +222 -0
  350. package/gateway/dist/core/engine/optimistic-sync.js +100 -0
  351. package/gateway/dist/core/engine/phase-orchestrator.js +153 -0
  352. package/gateway/dist/core/engine/report-generator.js +131 -0
  353. package/gateway/dist/core/engine/state-lock.js +91 -0
  354. package/gateway/dist/core/engine/task-branch-manager.js +102 -0
  355. package/gateway/dist/core/engine/wave-dependency.js +67 -0
  356. package/gateway/dist/core/engine/wave-executor.js +112 -0
  357. package/gateway/dist/core/goal-budget.js +63 -0
  358. package/gateway/dist/core/graph/entity-extractor.js +53 -0
  359. package/gateway/dist/core/graph/graph-searcher.js +120 -0
  360. package/gateway/dist/core/graph/knowledge-graph-manager.js +138 -0
  361. package/gateway/dist/core/graph/relation-inferencer.js +67 -0
  362. package/gateway/dist/core/graph/types.js +2 -0
  363. package/gateway/dist/core/hooks/handoff.js +7 -0
  364. package/gateway/dist/core/hooks/hook-manager.js +91 -0
  365. package/gateway/dist/core/hooks/llm-after.js +7 -0
  366. package/gateway/dist/core/hooks/observation-capture.js +19 -0
  367. package/gateway/dist/core/hooks/session-compacting.js +5 -0
  368. package/gateway/dist/core/hooks/session-ending.js +123 -0
  369. package/gateway/dist/core/hooks/session-start.js +51 -0
  370. package/gateway/dist/core/hooks/tool-before.js +5 -0
  371. package/gateway/dist/core/hooks/tool-executed.js +11 -0
  372. package/gateway/dist/core/hooks/user-prompt.js +7 -0
  373. package/gateway/dist/core/index.js +119 -0
  374. package/gateway/dist/core/langchain/agent-adapter.js +39 -0
  375. package/gateway/dist/core/langchain/index.js +12 -0
  376. package/gateway/dist/core/langchain/memory.js +35 -0
  377. package/gateway/dist/core/langchain/node-runner.js +115 -0
  378. package/gateway/dist/core/langchain/retriever.js +28 -0
  379. package/gateway/dist/core/langgraph/checkpointer.js +200 -0
  380. package/gateway/dist/core/langgraph/graph.js +57 -0
  381. package/gateway/dist/core/langgraph/index.js +25 -0
  382. package/gateway/dist/core/langgraph/loop-state.js +71 -0
  383. package/gateway/dist/core/langgraph/nodes/archive.node.js +27 -0
  384. package/gateway/dist/core/langgraph/nodes/execute.node.js +5 -0
  385. package/gateway/dist/core/langgraph/nodes/plan.node.js +101 -0
  386. package/gateway/dist/core/langgraph/nodes/review.node.js +89 -0
  387. package/gateway/dist/core/langgraph/nodes/sync.node.js +70 -0
  388. package/gateway/dist/core/langgraph/review-parser.js +35 -0
  389. package/gateway/dist/core/langgraph/signature-detector.js +23 -0
  390. package/gateway/dist/core/manager/goal-snapshot.js +73 -0
  391. package/gateway/dist/core/manager/milestone-push.js +81 -0
  392. package/gateway/dist/core/manager/question-ledger.js +121 -0
  393. package/gateway/dist/core/manager/system-rule-templates.js +76 -0
  394. package/gateway/dist/core/mcp/tools.js +562 -0
  395. package/gateway/dist/core/mcp/validator.js +165 -0
  396. package/gateway/dist/core/mcp-server.js +86 -0
  397. package/gateway/dist/core/memory/abstraction-distiller.js +44 -0
  398. package/gateway/dist/core/memory/cognitive-graph.js +103 -0
  399. package/gateway/dist/core/memory/energy-system.js +69 -0
  400. package/gateway/dist/core/memory/extractor.js +164 -0
  401. package/gateway/dist/core/memory/harmonic-index.js +530 -0
  402. package/gateway/dist/core/memory/harmonic-types.js +6 -0
  403. package/gateway/dist/core/memory/injector.js +111 -0
  404. package/gateway/dist/core/memory/l5-store.js +141 -0
  405. package/gateway/dist/core/memory/matcher.js +66 -0
  406. package/gateway/dist/core/memory/merger.js +95 -0
  407. package/gateway/dist/core/memory/migrate-v6.1.js +133 -0
  408. package/gateway/dist/core/memory/minhash-merger.js +195 -0
  409. package/gateway/dist/core/memory/observation-service.js +87 -0
  410. package/gateway/dist/core/memory/privacy-filter.js +163 -0
  411. package/gateway/dist/core/memory/reranker.js +208 -0
  412. package/gateway/dist/core/memory/review-scheduler.js +100 -0
  413. package/gateway/dist/core/memory/salience-perceptor.js +24 -0
  414. package/gateway/dist/core/memory/store.js +284 -0
  415. package/gateway/dist/core/memory/t1-store.js +183 -0
  416. package/gateway/dist/core/memory/t1-to-t2-compressor.js +119 -0
  417. package/gateway/dist/core/memory/validator.js +66 -0
  418. package/gateway/dist/core/plugin.js +902 -0
  419. package/gateway/dist/core/skills/mafw-execute/entry.js +226 -0
  420. package/gateway/dist/core/skills/mafw-goal/entry.js +203 -0
  421. package/gateway/dist/core/skills/mafw-plan/entry.js +184 -0
  422. package/gateway/dist/core/skills/mafw-review/entry.js +200 -0
  423. package/gateway/dist/core/storage/file-storage.js +120 -0
  424. package/gateway/dist/core/storage/sqlite-storage.js +205 -0
  425. package/gateway/dist/core/storage/types.js +2 -0
  426. package/gateway/dist/core/tools/archive-worktree.js +208 -0
  427. package/gateway/dist/core/tools/remote-cli.js +106 -0
  428. package/gateway/dist/core/tools/run-ask-user.js +79 -0
  429. package/gateway/dist/core/tools/run-execute-wave.js +32 -0
  430. package/gateway/dist/core/tools/run-plan.js +42 -0
  431. package/gateway/dist/core/tools/run-record-feedback.js +55 -0
  432. package/gateway/dist/core/tools/run-review.js +46 -0
  433. package/gateway/dist/core/tools/write-lesson.js +97 -0
  434. package/gateway/dist/core/utils/circuit-breaker.js +74 -0
  435. package/gateway/dist/core/utils/config-loader.js +203 -0
  436. package/gateway/dist/core/utils/fallback.js +19 -0
  437. package/gateway/dist/core/utils/git.js +70 -0
  438. package/gateway/dist/core/utils/github.js +52 -0
  439. package/gateway/dist/core/utils/global-path.js +41 -0
  440. package/gateway/dist/core/utils/logger.js +71 -0
  441. package/gateway/dist/core/utils/retry.js +44 -0
  442. package/gateway/dist/core/utils/state.js +175 -0
  443. package/gateway/dist/core/utils/status.js +156 -0
  444. package/gateway/dist/cost/service.js +17 -0
  445. package/gateway/dist/dashboard/api.js +1156 -0
  446. package/gateway/dist/dashboard/public/assets/index-DOXm39dm.css +1 -0
  447. package/gateway/dist/dashboard/public/index.html +13 -0
  448. package/gateway/dist/dashboard/server.js +140 -0
  449. package/gateway/dist/dashboard/types.js +2 -0
  450. package/gateway/dist/desktop-client.js +124 -0
  451. package/gateway/dist/eval-endpoint.js +219 -0
  452. package/gateway/dist/event-bus.js +7 -0
  453. package/gateway/dist/feedback/anchor-promotion.js +99 -0
  454. package/gateway/dist/feedback/deferred-memory.js +13 -0
  455. package/gateway/dist/feedback/miss-attribution.js +20 -0
  456. package/gateway/dist/graph/anchor-graph-store.js +113 -0
  457. package/gateway/dist/graph/anchor-graph.js +48 -0
  458. package/gateway/dist/health.js +53 -0
  459. package/gateway/dist/heartbeat.js +109 -0
  460. package/gateway/dist/index.js +6377 -0
  461. package/gateway/dist/interceptors/memory-injector.js +79 -0
  462. package/gateway/dist/ledger.js +121 -0
  463. package/gateway/dist/loop-monitor.js +74 -0
  464. package/gateway/dist/mcp/handlers/add-memory.js +113 -0
  465. package/gateway/dist/mcp/handlers/ask-user.js +63 -0
  466. package/gateway/dist/mcp/handlers/commit-heuristic.js +19 -0
  467. package/gateway/dist/mcp/handlers/create-goal.js +83 -0
  468. package/gateway/dist/mcp/handlers/desktop-click.js +18 -0
  469. package/gateway/dist/mcp/handlers/desktop-get-state.js +15 -0
  470. package/gateway/dist/mcp/handlers/desktop-navigate.js +18 -0
  471. package/gateway/dist/mcp/handlers/desktop-screenshot.js +16 -0
  472. package/gateway/dist/mcp/handlers/desktop-scroll.js +19 -0
  473. package/gateway/dist/mcp/handlers/desktop-type.js +19 -0
  474. package/gateway/dist/mcp/handlers/draft-automation-rule.js +45 -0
  475. package/gateway/dist/mcp/handlers/get-automation-history.js +15 -0
  476. package/gateway/dist/mcp/handlers/get-automation-rule.js +26 -0
  477. package/gateway/dist/mcp/handlers/get-axioms.js +14 -0
  478. package/gateway/dist/mcp/handlers/get-deltas.js +77 -0
  479. package/gateway/dist/mcp/handlers/get-memory.js +67 -0
  480. package/gateway/dist/mcp/handlers/get-model-route.js +16 -0
  481. package/gateway/dist/mcp/handlers/get-triage-item.js +17 -0
  482. package/gateway/dist/mcp/handlers/list-automation-rules.js +24 -0
  483. package/gateway/dist/mcp/handlers/list-triage-items.js +14 -0
  484. package/gateway/dist/mcp/handlers/load-state.js +54 -0
  485. package/gateway/dist/mcp/handlers/manager-answer-question.js +67 -0
  486. package/gateway/dist/mcp/handlers/manager-cancel-goal.js +58 -0
  487. package/gateway/dist/mcp/handlers/manager-get-evidence.js +57 -0
  488. package/gateway/dist/mcp/handlers/manager-get-goal-status.js +58 -0
  489. package/gateway/dist/mcp/handlers/manager-list-goals.js +60 -0
  490. package/gateway/dist/mcp/handlers/manager-list-pending-questions.js +67 -0
  491. package/gateway/dist/mcp/handlers/manager-set-goal.js +78 -0
  492. package/gateway/dist/mcp/handlers/merge-memory.js +184 -0
  493. package/gateway/dist/mcp/handlers/pin-memory.js +53 -0
  494. package/gateway/dist/mcp/handlers/propose-triage-decision.js +38 -0
  495. package/gateway/dist/mcp/handlers/record-feedback.js +59 -0
  496. package/gateway/dist/mcp/handlers/resolve-merge.js +92 -0
  497. package/gateway/dist/mcp/handlers/restart-agent.js +22 -0
  498. package/gateway/dist/mcp/handlers/run-automation.js +28 -0
  499. package/gateway/dist/mcp/handlers/search-hybrid.js +181 -0
  500. package/gateway/dist/mcp/handlers/supersede-memory.js +47 -0
  501. package/gateway/dist/mcp/handlers/update-state.js +59 -0
  502. package/gateway/dist/mcp/handlers/validate-rule.js +39 -0
  503. package/gateway/dist/mcp/sse-transport.js +97 -0
  504. package/gateway/dist/mcp/streamable-endpoint.js +98 -0
  505. package/gateway/dist/mcp/tool-registry.js +630 -0
  506. package/gateway/dist/media/media-agent.js +755 -0
  507. package/gateway/dist/media/media-plugin-loader.js +254 -0
  508. package/gateway/dist/media/media-runtime-executor.js +227 -0
  509. package/gateway/dist/media/media-service.js +199 -0
  510. package/gateway/dist/media/pi-adapter.js +159 -0
  511. package/gateway/dist/media/plugin-context.js +14 -0
  512. package/gateway/dist/media/tts-service.js +173 -0
  513. package/gateway/dist/memory/abstraction-matcher.js +28 -0
  514. package/gateway/dist/memory/consolidation-service.js +209 -0
  515. package/gateway/dist/memory/derived-terms.js +50 -0
  516. package/gateway/dist/memory/embedding-provider.js +330 -0
  517. package/gateway/dist/memory/embedding-runtime.js +174 -0
  518. package/gateway/dist/memory/event-log.js +84 -0
  519. package/gateway/dist/memory/gateway-db.js +465 -0
  520. package/gateway/dist/memory/harmonic-file-store.js +338 -0
  521. package/gateway/dist/memory/llamacpp-provider.js +370 -0
  522. package/gateway/dist/memory/okf-index-renderer.js +61 -0
  523. package/gateway/dist/memory/okf-migrator.js +71 -0
  524. package/gateway/dist/memory/okf-parser.js +57 -0
  525. package/gateway/dist/memory/okf-writer.js +107 -0
  526. package/gateway/dist/memory/service.js +81 -0
  527. package/gateway/dist/memory/t1-db.js +139 -0
  528. package/gateway/dist/memory/unmerge-cleanup.js +82 -0
  529. package/gateway/dist/memory/vector-store.js +246 -0
  530. package/gateway/dist/memory/write-queue.js +31 -0
  531. package/gateway/dist/metrics/collector.js +28 -0
  532. package/gateway/dist/mobile/device-store.js +123 -0
  533. package/gateway/dist/mobile/mdns-advertiser.js +55 -0
  534. package/gateway/dist/mobile/media-proxy.js +292 -0
  535. package/gateway/dist/mobile/pairing.js +139 -0
  536. package/gateway/dist/mobile/push-gateway.js +126 -0
  537. package/gateway/dist/mobile/tts-artifact.js +43 -0
  538. package/gateway/dist/opencode-adapter.js +241 -0
  539. package/gateway/dist/orchestration/outcome-recorder.js +218 -0
  540. package/gateway/dist/orchestration/policy.js +57 -0
  541. package/gateway/dist/orchestration/registry.js +47 -0
  542. package/gateway/dist/plugins/hub.js +188 -0
  543. package/gateway/dist/poll.js +110 -0
  544. package/gateway/dist/python/kernel-service.js +762 -0
  545. package/gateway/dist/recall/constraints-migrate.js +108 -0
  546. package/gateway/dist/recall/data-dir-migrate.js +120 -0
  547. package/gateway/dist/recall/gateway-db-migrate.js +134 -0
  548. package/gateway/dist/recall/index-scan.js +437 -0
  549. package/gateway/dist/recall/inject-format.js +222 -0
  550. package/gateway/dist/recall/legacy-t1-archive.js +86 -0
  551. package/gateway/dist/recall/memory-worker.js +128 -0
  552. package/gateway/dist/recall/pipeline-rules.js +76 -0
  553. package/gateway/dist/recall/recall-context.js +297 -0
  554. package/gateway/dist/recall/reflect-cursor.js +50 -0
  555. package/gateway/dist/recall/reflection.js +318 -0
  556. package/gateway/dist/recall/session-worker-pool.js +100 -0
  557. package/gateway/dist/recall/stale-verify.js +72 -0
  558. package/gateway/dist/recall/step-inject.js +173 -0
  559. package/gateway/dist/recall/time-anchor.js +143 -0
  560. package/gateway/dist/recall/ttl-map.js +72 -0
  561. package/gateway/dist/recall/turn-completion.js +44 -0
  562. package/gateway/dist/recall/turn-pipeline.js +150 -0
  563. package/gateway/dist/recovery.js +158 -0
  564. package/gateway/dist/resources/sdk-session.js +202 -0
  565. package/gateway/dist/retrieval/guided-retriever.js +131 -0
  566. package/gateway/dist/retrieval/idf-stats.js +31 -0
  567. package/gateway/dist/routes/embedding-config.js +100 -0
  568. package/gateway/dist/routes/goal-sessions.js +45 -0
  569. package/gateway/dist/routes/manager-rotate.js +55 -0
  570. package/gateway/dist/routes/media-switch.js +78 -0
  571. package/gateway/dist/routes/model-config.js +132 -0
  572. package/gateway/dist/routes/note-board.js +51 -0
  573. package/gateway/dist/routes/permission.js +43 -0
  574. package/gateway/dist/routes/pinned-recall.js +36 -0
  575. package/gateway/dist/routes/plugins.js +77 -0
  576. package/gateway/dist/routes/restart-agent.js +28 -0
  577. package/gateway/dist/routes/runtime-switch.js +80 -0
  578. package/gateway/dist/routes/session-branch.js +63 -0
  579. package/gateway/dist/routes/session-mutations.js +58 -0
  580. package/gateway/dist/routes/session-summarize.js +49 -0
  581. package/gateway/dist/routes/usage-plugins.js +251 -0
  582. package/gateway/dist/runtime/agent-definition.js +2 -0
  583. package/gateway/dist/runtime/auth.js +80 -0
  584. package/gateway/dist/runtime/completion-http.js +97 -0
  585. package/gateway/dist/runtime/contract.js +37 -0
  586. package/gateway/dist/runtime/loader.js +240 -0
  587. package/gateway/dist/runtime/normalize.js +59 -0
  588. package/gateway/dist/runtime/opencode-runtime.js +336 -0
  589. package/gateway/dist/runtime/pi/pi-agent-config.js +294 -0
  590. package/gateway/dist/runtime/pi/pi-approval-bridge.js +44 -0
  591. package/gateway/dist/runtime/pi/pi-approval-extension.js +62 -0
  592. package/gateway/dist/runtime/pi/pi-events.js +122 -0
  593. package/gateway/dist/runtime/pi/pi-messages.js +20 -0
  594. package/gateway/dist/runtime/pi/pi-provider.js +19 -0
  595. package/gateway/dist/runtime/pi/pi-session-storage.js +44 -0
  596. package/gateway/dist/runtime/pi/pi-session.js +328 -0
  597. package/gateway/dist/runtime/plugins/pi-runtime.js +285 -0
  598. package/gateway/dist/runtime/serve-for-runtime.js +22 -0
  599. package/gateway/dist/runtime/serve-sidecar.js +164 -0
  600. package/gateway/dist/runtime/serve-supervisor.js +80 -0
  601. package/gateway/dist/self-update.js +309 -0
  602. package/gateway/dist/skills/manager-agent-config.js +37 -0
  603. package/gateway/dist/skills/manager-identity.js +11 -0
  604. package/gateway/dist/skills/memory-curator-agent.js +55 -0
  605. package/gateway/dist/trajectory/api.js +154 -0
  606. package/gateway/dist/trajectory/backfill-provider.js +41 -0
  607. package/gateway/dist/trajectory/collector.js +337 -0
  608. package/gateway/dist/trajectory/trajectory-store.js +336 -0
  609. package/gateway/dist/trajectory/types.js +17 -0
  610. package/gateway/dist/tray/index.js +131 -0
  611. package/gateway/dist/tray/tray.ps1 +96 -0
  612. package/gateway/dist/types.js +2 -0
  613. package/gateway/dist/usage/builtin-plugins/commandcode.js +71 -0
  614. package/gateway/dist/usage/builtin-plugins/deepseek.js +56 -0
  615. package/gateway/dist/usage/builtin-plugins/gateway.js +127 -0
  616. package/gateway/dist/usage/builtin-plugins/kimi-for-coding.js +93 -0
  617. package/gateway/dist/usage/builtin-plugins/kimi.js +48 -0
  618. package/gateway/dist/usage/builtin-plugins/opencode-go.js +54 -0
  619. package/gateway/dist/usage/builtin-plugins/openrouter.js +48 -0
  620. package/gateway/dist/usage/builtin-plugins/siliconflow-cn.js +49 -0
  621. package/gateway/dist/usage/builtin-plugins/zhipuai-coding-plan.js +44 -0
  622. package/gateway/dist/usage/model-prices.js +39 -0
  623. package/gateway/dist/usage/model-stats.js +21 -0
  624. package/gateway/dist/usage/plugin-context.js +79 -0
  625. package/gateway/dist/usage/plugin-loader.js +280 -0
  626. package/gateway/dist/usage/templates.js +227 -0
  627. package/gateway/dist/usage/types.js +2 -0
  628. package/gateway/dist/usage/usage-poller.js +216 -0
  629. package/gateway/package.json +37 -0
  630. package/package.json +78 -0
  631. package/packages/tui/dist/cli.js +4664 -0
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: slides
3
+ description: Create strategic HTML presentations with Chart.js, design tokens, responsive layouts, copywriting formulas, and contextual slide strategies.
4
+ argument-hint: "[topic] [slide-count]"
5
+ metadata:
6
+ author: claudekit
7
+ version: "1.0.0"
8
+ ---
9
+
10
+ # Slides
11
+
12
+ Strategic HTML presentation design with data visualization.
13
+
14
+ ## When to Use
15
+
16
+ - Marketing presentations and pitch decks
17
+ - Data-driven slides with Chart.js
18
+ - Strategic slide design with layout patterns
19
+ - Copywriting-optimized presentation content
20
+
21
+ ## Subcommands
22
+
23
+ | Subcommand | Description | Reference |
24
+ |------------|-------------|-----------|
25
+ | `create` | Create strategic presentation slides | `references/create.md` |
26
+
27
+ ## References (Knowledge Base)
28
+
29
+ | Topic | File |
30
+ |-------|------|
31
+ | Layout Patterns | `references/layout-patterns.md` |
32
+ | HTML Template | `references/html-template.md` |
33
+ | Copywriting Formulas | `references/copywriting-formulas.md` |
34
+ | Slide Strategies | `references/slide-strategies.md` |
35
+
36
+ ## Routing
37
+
38
+ 1. Parse subcommand from `$ARGUMENTS` (first word)
39
+ 2. Load corresponding `references/{subcommand}.md`
40
+ 3. Execute with remaining arguments
@@ -0,0 +1,84 @@
1
+ # Copywriting Formulas
2
+
3
+ 25 formulas for persuasive slide copy.
4
+
5
+ ## Core Formulas
6
+
7
+ ### PAS (Problem-Agitate-Solution)
8
+ **Use:** Problem slides, pain points
9
+ **Components:** Problem → Agitate → Solution
10
+ **Template:** "[Pain point]? Every [time frame], [consequence]. [Solution] fixes this."
11
+
12
+ ### AIDA (Attention-Interest-Desire-Action)
13
+ **Use:** CTAs, closing slides
14
+ **Components:** Attention → Interest → Desire → Action
15
+ **Template:** "[Bold statement]. [Benefit detail]. [Social proof]. [CTA]."
16
+
17
+ ### FAB (Features-Advantages-Benefits)
18
+ **Use:** Feature slides, product showcases
19
+ **Components:** Feature → Advantage → Benefit
20
+ **Template:** "[Feature] lets you [advantage], so you can [benefit]."
21
+
22
+ ### Cost of Inaction
23
+ **Use:** Agitation slides, urgency
24
+ **Components:** Status Quo → Loss → Time Decay
25
+ **Template:** "Without [solution], you're losing [amount] every [timeframe]."
26
+
27
+ ### Before-After-Bridge
28
+ **Use:** Transformation slides, case studies
29
+ **Components:** Before → After → Bridge
30
+ **Template:** "[Pain point before]. [Desired state after]. [Your solution] is the bridge."
31
+
32
+ ## Formula-to-Slide Mapping
33
+
34
+ | Slide Type | Primary Formula | Emotion |
35
+ |------------|-----------------|---------|
36
+ | Title/Hook | AIDA, Hook | curiosity |
37
+ | Problem | PAS, Agitate | frustration |
38
+ | Cost/Risk | Cost of Inaction | fear |
39
+ | Solution | FAB, BAB | hope |
40
+ | Features | FAB | confidence |
41
+ | Traction | Proof Stack | trust |
42
+ | Social Proof | Testimonial | trust |
43
+ | Pricing | Value Stack | confidence |
44
+ | CTA | AIDA, Urgency | urgency |
45
+
46
+ ## Headline Patterns
47
+
48
+ ### Power Words
49
+ - "Stop [bad thing]"
50
+ - "Get [desired result] in [timeframe]"
51
+ - "The [adjective] way to [action]"
52
+ - "Why [audience] choose [product]"
53
+ - "[Number] ways to [achieve goal]"
54
+
55
+ ### Contrast Patterns
56
+ - "[Old way] is dead. Meet [new way]."
57
+ - "Don't [bad action]. Instead, [good action]."
58
+ - "From [pain point] to [benefit]."
59
+
60
+ ### Social Proof Patterns
61
+ - "[Number]+ [users/companies] trust [product]"
62
+ - "Join [notable company] and [notable company]"
63
+ - "As seen in [publication]"
64
+
65
+ ## Search Commands
66
+
67
+ ```bash
68
+ # Find formula for slide type
69
+ python .claude/skills/design-system/scripts/search-slides.py "problem agitation" -d copy
70
+
71
+ # Get emotion-appropriate formula
72
+ python .claude/skills/design-system/scripts/search-slides.py "urgency cta" -d copy
73
+ ```
74
+
75
+ ## Quick Reference
76
+
77
+ | Need | Use Formula |
78
+ |------|------------|
79
+ | Create urgency | Cost of Inaction, Scarcity |
80
+ | Build trust | Social Proof, Testimonial |
81
+ | Show value | FAB, Value Stack |
82
+ | Drive action | AIDA, CTA |
83
+ | Tell story | BAB, Story Arc |
84
+ | Present data | Proof Stack |
@@ -0,0 +1,4 @@
1
+ Invoke `slides` skill to create persuasive HTML slides using design tokens, Chart.js, and the slide knowledge database.
2
+
3
+ ## Task
4
+ <task>$ARGUMENTS</task>
@@ -0,0 +1,295 @@
1
+ # HTML Slide Template
2
+
3
+ Complete HTML structure with navigation, tokens, and Chart.js integration.
4
+
5
+ ## Base Structure
6
+
7
+ ```html
8
+ <!DOCTYPE html>
9
+ <html lang="en">
10
+ <head>
11
+ <meta charset="UTF-8">
12
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
13
+ <title>Presentation Title</title>
14
+ <script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.1/dist/chart.umd.min.js"></script>
15
+ <style>
16
+ /* Paste embed-tokens.cjs output here */
17
+ :root {
18
+ --color-primary: #FF6B6B;
19
+ --color-background: #0D0D0D;
20
+ /* ... more tokens */
21
+ }
22
+
23
+ /* Base slide styles */
24
+ * { margin: 0; padding: 0; box-sizing: border-box; }
25
+ body {
26
+ background: var(--color-background);
27
+ color: #fff;
28
+ font-family: var(--typography-font-body, 'Inter', sans-serif);
29
+ overflow: hidden;
30
+ }
31
+
32
+ /* 16:9 Aspect Ratio Container (desktop) */
33
+ .slide-deck {
34
+ position: relative;
35
+ width: 100vw;
36
+ height: 100vh;
37
+ overflow: hidden;
38
+ }
39
+
40
+ @media (min-width: 769px) {
41
+ .slide-deck {
42
+ /* Lock to 16:9 — letterbox if viewport ratio differs */
43
+ max-width: calc(100vh * 16 / 9);
44
+ max-height: calc(100vw * 9 / 16);
45
+ margin: auto;
46
+ position: absolute;
47
+ inset: 0;
48
+ }
49
+ }
50
+
51
+ .slide {
52
+ position: absolute;
53
+ width: 100%; height: 100%;
54
+ display: flex;
55
+ flex-direction: column;
56
+ justify-content: center;
57
+ align-items: center;
58
+ text-align: center;
59
+ padding: 60px;
60
+ opacity: 0;
61
+ visibility: hidden;
62
+ transition: opacity 0.4s;
63
+ background: var(--color-background);
64
+ overflow: hidden; /* Prevent content overflow */
65
+ }
66
+
67
+ .slide.active { opacity: 1; visibility: visible; }
68
+
69
+ /* Slide inner wrapper — constrains content within safe area */
70
+ .slide-content {
71
+ width: 100%;
72
+ max-width: 100%;
73
+ max-height: 100%;
74
+ overflow: hidden;
75
+ display: flex;
76
+ flex-direction: column;
77
+ justify-content: center;
78
+ align-items: center;
79
+ gap: 16px;
80
+ }
81
+
82
+ /* Typography */
83
+ h1, h2 { font-family: var(--typography-font-heading, 'Space Grotesk', sans-serif); }
84
+ .slide-title {
85
+ font-size: clamp(32px, 6vw, 80px);
86
+ background: var(--primitive-gradient-primary, linear-gradient(135deg, #FF6B6B, #FF8E53));
87
+ -webkit-background-clip: text;
88
+ -webkit-text-fill-color: transparent;
89
+ line-height: 1.1;
90
+ }
91
+
92
+ /* ===== RESPONSIVE BREAKPOINTS ===== */
93
+
94
+ /* Tablet (portrait) */
95
+ @media (max-width: 768px) {
96
+ .slide { padding: 32px 24px; }
97
+ .slide-title { font-size: clamp(28px, 5vw, 48px); }
98
+ h2 { font-size: clamp(20px, 4vw, 32px); }
99
+ p, li { font-size: clamp(14px, 2.5vw, 18px); }
100
+ }
101
+
102
+ /* Mobile */
103
+ @media (max-width: 480px) {
104
+ .slide { padding: 24px 16px; }
105
+ .slide-title { font-size: clamp(22px, 6vw, 36px); }
106
+ h2 { font-size: clamp(18px, 4.5vw, 28px); }
107
+ p, li { font-size: clamp(12px, 3vw, 16px); }
108
+ .nav-controls { bottom: 16px; gap: 12px; }
109
+ .nav-btn { width: 32px; height: 32px; font-size: 14px; }
110
+ }
111
+
112
+ /* Navigation */
113
+ .progress-bar {
114
+ position: fixed;
115
+ top: 0; left: 0;
116
+ height: 3px;
117
+ background: var(--color-primary);
118
+ transition: width 0.3s;
119
+ z-index: 1000;
120
+ }
121
+ .nav-controls {
122
+ position: fixed;
123
+ bottom: 30px;
124
+ left: 50%;
125
+ transform: translateX(-50%);
126
+ display: flex;
127
+ align-items: center;
128
+ gap: 20px;
129
+ z-index: 1000;
130
+ }
131
+ .nav-btn {
132
+ background: rgba(255,255,255,0.1);
133
+ border: none;
134
+ color: #fff;
135
+ width: 40px; height: 40px;
136
+ border-radius: 50%;
137
+ cursor: pointer;
138
+ font-size: 18px;
139
+ }
140
+ .nav-btn:hover { background: rgba(255,255,255,0.2); }
141
+ .slide-counter { color: rgba(255,255,255,0.6); font-size: 14px; }
142
+ </style>
143
+ </head>
144
+ <body>
145
+ <!-- Progress Bar -->
146
+ <div class="progress-bar" id="progressBar"></div>
147
+
148
+ <!-- Slide Deck Container (16:9 on desktop) -->
149
+ <div class="slide-deck">
150
+
151
+ <!-- Slides -->
152
+ <div class="slide active">
153
+ <div class="slide-content">
154
+ <h1 class="slide-title">Title Slide</h1>
155
+ <p>Subtitle or tagline</p>
156
+ </div>
157
+ </div>
158
+
159
+ <!-- More slides... (always wrap content in .slide-content) -->
160
+
161
+ </div><!-- /.slide-deck -->
162
+
163
+ <!-- Navigation -->
164
+ <div class="nav-controls">
165
+ <button class="nav-btn" onclick="prevSlide()">←</button>
166
+ <span class="slide-counter"><span id="current">1</span> / <span id="total">9</span></span>
167
+ <button class="nav-btn" onclick="nextSlide()">→</button>
168
+ </div>
169
+
170
+ <script>
171
+ let current = 1;
172
+ const total = document.querySelectorAll('.slide').length;
173
+ document.getElementById('total').textContent = total;
174
+
175
+ function showSlide(n) {
176
+ if (n < 1) n = 1;
177
+ if (n > total) n = total;
178
+ current = n;
179
+ document.querySelectorAll('.slide').forEach((s, i) => {
180
+ s.classList.toggle('active', i === n - 1);
181
+ });
182
+ document.getElementById('current').textContent = n;
183
+ document.getElementById('progressBar').style.width = (n / total * 100) + '%';
184
+ }
185
+
186
+ function nextSlide() { showSlide(current + 1); }
187
+ function prevSlide() { showSlide(current - 1); }
188
+
189
+ document.addEventListener('keydown', (e) => {
190
+ if (e.key === 'ArrowRight' || e.key === ' ') { e.preventDefault(); nextSlide(); }
191
+ if (e.key === 'ArrowLeft') { e.preventDefault(); prevSlide(); }
192
+ });
193
+
194
+ document.addEventListener('click', (e) => {
195
+ if (!e.target.closest('.nav-controls')) nextSlide();
196
+ });
197
+
198
+ showSlide(1);
199
+ </script>
200
+ </body>
201
+ </html>
202
+ ```
203
+
204
+ ## Chart.js Integration
205
+
206
+ ```html
207
+ <div class="chart-container" style="width: min(80%, 600px); height: clamp(200px, 40vh, 350px);">
208
+ <canvas id="revenueChart"></canvas>
209
+ </div>
210
+
211
+ <script>
212
+ new Chart(document.getElementById('revenueChart'), {
213
+ type: 'line', // or 'bar', 'doughnut', 'radar'
214
+ data: {
215
+ labels: ['Sep', 'Oct', 'Nov', 'Dec'],
216
+ datasets: [{
217
+ label: 'MRR ($K)',
218
+ data: [5, 12, 28, 45],
219
+ borderColor: '#FF6B6B',
220
+ backgroundColor: 'rgba(255, 107, 107, 0.1)',
221
+ borderWidth: 3,
222
+ fill: true,
223
+ tension: 0.4
224
+ }]
225
+ },
226
+ options: {
227
+ responsive: true,
228
+ maintainAspectRatio: false,
229
+ plugins: { legend: { display: false } },
230
+ scales: {
231
+ x: { grid: { color: 'rgba(255,255,255,0.05)' }, ticks: { color: '#B8B8D0' } },
232
+ y: { grid: { color: 'rgba(255,255,255,0.05)' }, ticks: { color: '#B8B8D0' } }
233
+ }
234
+ }
235
+ });
236
+ </script>
237
+ ```
238
+
239
+ ## Animation Classes
240
+
241
+ ```css
242
+ /* Fade Up */
243
+ .animate-fade-up {
244
+ animation: fadeUp 0.6s ease-out forwards;
245
+ opacity: 0;
246
+ }
247
+ @keyframes fadeUp {
248
+ from { opacity: 0; transform: translateY(30px); }
249
+ to { opacity: 1; transform: translateY(0); }
250
+ }
251
+
252
+ /* Count Animation */
253
+ .animate-count { animation: countUp 1s ease-out forwards; }
254
+
255
+ /* Scale */
256
+ .animate-scale {
257
+ animation: scaleIn 0.5s ease-out forwards;
258
+ }
259
+ @keyframes scaleIn {
260
+ from { opacity: 0; transform: scale(0.9); }
261
+ to { opacity: 1; transform: scale(1); }
262
+ }
263
+
264
+ /* Stagger Children */
265
+ .animate-stagger > * {
266
+ opacity: 0;
267
+ animation: fadeUp 0.5s ease-out forwards;
268
+ }
269
+ .animate-stagger > *:nth-child(1) { animation-delay: 0.1s; }
270
+ .animate-stagger > *:nth-child(2) { animation-delay: 0.2s; }
271
+ .animate-stagger > *:nth-child(3) { animation-delay: 0.3s; }
272
+ .animate-stagger > *:nth-child(4) { animation-delay: 0.4s; }
273
+ ```
274
+
275
+ ## Background Images
276
+
277
+ ```html
278
+ <div class="slide slide-with-bg" style="background-image: url('https://images.pexels.com/...')">
279
+ <div class="overlay" style="background: linear-gradient(135deg, rgba(13,13,13,0.9), rgba(13,13,13,0.7))"></div>
280
+ <div class="content" style="position: relative; z-index: 1;">
281
+ <!-- Slide content -->
282
+ </div>
283
+ </div>
284
+ ```
285
+
286
+ ## CSS Variables Reference
287
+
288
+ | Variable | Usage |
289
+ |----------|-------|
290
+ | `--color-primary` | Brand primary (CTA, highlights) |
291
+ | `--color-background` | Slide background |
292
+ | `--color-secondary` | Secondary elements |
293
+ | `--primitive-gradient-primary` | Title gradients |
294
+ | `--typography-font-heading` | Headlines |
295
+ | `--typography-font-body` | Body text |
@@ -0,0 +1,137 @@
1
+ # Layout Patterns
2
+
3
+ 25 slide layouts with CSS structures and animation classes.
4
+
5
+ ## Layout Selection by Use Case
6
+
7
+ | Layout | Use Case | Animation |
8
+ |--------|----------|-----------|
9
+ | Title Slide | Opening/first impression | `animate-fade-up` |
10
+ | Problem Statement | Establish pain point | `animate-stagger` |
11
+ | Solution Overview | Introduce solution | `animate-scale` |
12
+ | Feature Grid | Show capabilities (3-6 cards) | `animate-stagger` |
13
+ | Metrics Dashboard | Display KPIs (3-4 metrics) | `animate-stagger-scale` |
14
+ | Comparison Table | Compare options | `animate-fade-up` |
15
+ | Timeline Flow | Show progression | `animate-stagger` |
16
+ | Team Grid | Introduce people | `animate-stagger` |
17
+ | Quote Testimonial | Customer endorsement | `animate-fade-up` |
18
+ | Two Column Split | Compare/contrast | `animate-fade-up` |
19
+ | Big Number Hero | Single powerful metric | `animate-count` |
20
+ | Product Screenshot | Show product UI | `animate-scale` |
21
+ | Pricing Cards | Present tiers | `animate-stagger` |
22
+ | CTA Closing | Drive action | `animate-pulse` |
23
+
24
+ ## CSS Structures
25
+
26
+ ### Title Slide
27
+ ```css
28
+ .slide-title {
29
+ display: flex;
30
+ flex-direction: column;
31
+ justify-content: center;
32
+ align-items: center;
33
+ text-align: center;
34
+ }
35
+ ```
36
+
37
+ ### Two Column Split
38
+ ```css
39
+ .slide-split {
40
+ display: grid;
41
+ grid-template-columns: 1fr 1fr;
42
+ gap: 48px;
43
+ align-items: center;
44
+ }
45
+ @media (max-width: 768px) {
46
+ .slide-split { grid-template-columns: 1fr; gap: 24px; }
47
+ }
48
+ ```
49
+
50
+ ### Feature Grid (3 columns)
51
+ ```css
52
+ .slide-features {
53
+ display: grid;
54
+ grid-template-columns: repeat(3, 1fr);
55
+ gap: 24px;
56
+ }
57
+ @media (max-width: 768px) {
58
+ .slide-features { grid-template-columns: repeat(2, 1fr); gap: 16px; }
59
+ }
60
+ @media (max-width: 480px) {
61
+ .slide-features { grid-template-columns: 1fr; }
62
+ }
63
+ ```
64
+
65
+ ### Metrics Dashboard (4 columns)
66
+ ```css
67
+ .slide-metrics {
68
+ display: grid;
69
+ grid-template-columns: repeat(4, 1fr);
70
+ gap: 16px;
71
+ }
72
+ @media (max-width: 768px) {
73
+ .slide-metrics { grid-template-columns: repeat(2, 1fr); }
74
+ }
75
+ @media (max-width: 480px) {
76
+ .slide-metrics { grid-template-columns: 1fr; }
77
+ }
78
+ ```
79
+
80
+ ## Component Variants
81
+
82
+ ### Card Styles
83
+ | Style | CSS Class | Use For |
84
+ |-------|-----------|---------|
85
+ | Icon Left | `.card-icon-left` | Features with icons |
86
+ | Accent Bar | `.card-accent-bar` | Highlighted features |
87
+ | Metric Card | `.card-metric` | Numbers/stats |
88
+ | Avatar Card | `.card-avatar` | Team members |
89
+ | Pricing Card | `.card-pricing` | Price tiers |
90
+
91
+ ### Metric Styles
92
+ | Style | Effect |
93
+ |-------|--------|
94
+ | `gradient-number` | Gradient text on numbers |
95
+ | `oversized` | Extra large (120px+) |
96
+ | `sparkline` | Small inline chart |
97
+ | `funnel-numbers` | Conversion stages |
98
+
99
+ ## Visual Treatments
100
+
101
+ | Treatment | When to Use |
102
+ |-----------|-------------|
103
+ | `gradient-glow` | Title slides, CTAs |
104
+ | `subtle-border` | Problem statements |
105
+ | `icon-top` | Feature grids |
106
+ | `screenshot-shadow` | Product screenshots |
107
+ | `popular-highlight` | Pricing (scale 1.05) |
108
+ | `bg-overlay` | Background images |
109
+ | `contrast-pair` | Before/after |
110
+ | `logo-grayscale` | Client logos |
111
+
112
+ ## Search Commands
113
+
114
+ ```bash
115
+ # Find layout for specific use
116
+ python .claude/skills/design-system/scripts/search-slides.py "metrics dashboard" -d layout
117
+
118
+ # Contextual recommendation
119
+ python .claude/skills/design-system/scripts/search-slides.py "traction slide" \
120
+ --context --position 4 --total 10
121
+ ```
122
+
123
+ ## Layout Decision Flow
124
+
125
+ ```
126
+ 1. What's the slide goal?
127
+ └─> Search layout-logic.csv
128
+
129
+ 2. What emotion should it trigger?
130
+ └─> Search color-logic.csv
131
+
132
+ 3. What's the content type?
133
+ └─> Search typography.csv
134
+
135
+ 4. Should it break pattern?
136
+ └─> Check position (1/3, 2/3) → Use full-bleed
137
+ ```
@@ -0,0 +1,94 @@
1
+ # Slide Strategies
2
+
3
+ 15 proven deck structures with emotion arcs.
4
+
5
+ ## Strategy Selection
6
+
7
+ | Strategy | Slides | Goal | Audience |
8
+ |----------|--------|------|----------|
9
+ | YC Seed Deck | 10-12 | Raise seed funding | VCs |
10
+ | Guy Kawasaki | 10 | Pitch in 20 min | Investors |
11
+ | Series A | 12-15 | Raise Series A | Growth VCs |
12
+ | Product Demo | 5-8 | Demonstrate value | Prospects |
13
+ | Sales Pitch | 7-10 | Close deal | Qualified leads |
14
+ | Nancy Duarte Sparkline | Varies | Transform perspective | Any |
15
+ | Problem-Solution-Benefit | 3-5 | Quick persuasion | Time-pressed |
16
+ | QBR | 10-15 | Update stakeholders | Leadership |
17
+ | Team All-Hands | 8-12 | Align team | Employees |
18
+ | Conference Talk | 15-25 | Thought leadership | Attendees |
19
+ | Workshop | 20-40 | Teach skills | Learners |
20
+ | Case Study | 8-12 | Prove value | Prospects |
21
+ | Competitive Analysis | 6-10 | Strategic decisions | Internal |
22
+ | Board Meeting | 15-20 | Update board | Directors |
23
+ | Webinar | 20-30 | Generate leads | Registrants |
24
+
25
+ ## Common Structures
26
+
27
+ ### YC Seed Deck (10 slides)
28
+ 1. Title/Hook
29
+ 2. Problem
30
+ 3. Solution
31
+ 4. Traction
32
+ 5. Market
33
+ 6. Product
34
+ 7. Business Model
35
+ 8. Team
36
+ 9. Financials
37
+ 10. The Ask
38
+
39
+ **Emotion arc:** curiosity→frustration→hope→confidence→trust→urgency
40
+
41
+ ### Sales Pitch (9 slides)
42
+ 1. Personalized Hook
43
+ 2. Their Problem
44
+ 3. Cost of Inaction
45
+ 4. Your Solution
46
+ 5. Proof/Case Studies
47
+ 6. Differentiators
48
+ 7. Pricing/ROI
49
+ 8. Objection Handling
50
+ 9. CTA + Next Steps
51
+
52
+ **Emotion arc:** connection→frustration→fear→hope→trust→confidence→urgency
53
+
54
+ ### Product Demo (6 slides)
55
+ 1. Hook/Problem
56
+ 2. Solution Overview
57
+ 3. Live Demo/Screenshots
58
+ 4. Key Features
59
+ 5. Benefits/Pricing
60
+ 6. CTA
61
+
62
+ **Emotion arc:** curiosity→frustration→hope→confidence→urgency
63
+
64
+ ## Duarte Sparkline Pattern
65
+
66
+ Alternate between "What Is" (current pain) and "What Could Be" (better future):
67
+
68
+ ```
69
+ What Is → What Could Be → What Is → What Could Be → New Bliss
70
+ (pain) (hope) (pain) (hope) (resolution)
71
+ ```
72
+
73
+ Pattern breaks at 1/3 and 2/3 positions create engagement peaks.
74
+
75
+ ## Search Commands
76
+
77
+ ```bash
78
+ # Find strategy by goal
79
+ python .claude/skills/design-system/scripts/search-slides.py "investor pitch" -d strategy
80
+
81
+ # Get emotion arc
82
+ python .claude/skills/design-system/scripts/search-slides.py "series a funding" -d strategy --json
83
+ ```
84
+
85
+ ## Matching Strategy to Context
86
+
87
+ | Context | Recommended Strategy |
88
+ |---------|---------------------|
89
+ | Raising money | YC Seed, Series A, Guy Kawasaki |
90
+ | Selling product | Sales Pitch, Product Demo |
91
+ | Internal update | QBR, All-Hands, Board Meeting |
92
+ | Public speaking | Conference Talk, Workshop |
93
+ | Proving value | Case Study, Competitive Analysis |
94
+ | Lead generation | Webinar |