@jack200714/mafw 4.5.1 → 4.5.2

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 (320) hide show
  1. package/README.md +5 -2
  2. package/bin/mafw.js +16 -14
  3. package/package.json +1 -7
  4. package/.opencode/mafw/.backup-v61/parametric/base-skill-manifest.yaml +0 -2
  5. package/.opencode/mafw/STATUS.md +0 -6
  6. package/.opencode/mafw/ledger.md +0 -20
  7. package/.opencode/mafw/memory/.harmonic_index.json +0 -28
  8. package/.opencode/mafw/memory/.review_queue.json +0 -1
  9. package/.opencode/mafw/memory/tier3/parametric.json +0 -13
  10. package/.opencode/mafw/memory/tier3/test-goal.json +0 -19
  11. package/.opencode/mafw/memory-index.json +0 -6
  12. package/.opencode/mafw/parametric/base-skill-manifest.yaml +0 -2
  13. package/.opencode/mafw/waves.json +0 -4
  14. package/.opencode/opencode.json +0 -3
  15. package/.opencode/plugins/mafw-plugin.ts +0 -8
  16. package/.opencode/skills/banner-design/SKILL.md +0 -196
  17. package/.opencode/skills/banner-design/references/banner-sizes-and-styles.md +0 -118
  18. package/.opencode/skills/brand/SKILL.md +0 -97
  19. package/.opencode/skills/brand/references/approval-checklist.md +0 -169
  20. package/.opencode/skills/brand/references/asset-organization.md +0 -157
  21. package/.opencode/skills/brand/references/brand-guideline-template.md +0 -140
  22. package/.opencode/skills/brand/references/color-palette-management.md +0 -186
  23. package/.opencode/skills/brand/references/consistency-checklist.md +0 -94
  24. package/.opencode/skills/brand/references/logo-usage-rules.md +0 -185
  25. package/.opencode/skills/brand/references/messaging-framework.md +0 -85
  26. package/.opencode/skills/brand/references/typography-specifications.md +0 -214
  27. package/.opencode/skills/brand/references/update.md +0 -118
  28. package/.opencode/skills/brand/references/visual-identity.md +0 -96
  29. package/.opencode/skills/brand/references/voice-framework.md +0 -88
  30. package/.opencode/skills/brand/scripts/extract-colors.cjs +0 -341
  31. package/.opencode/skills/brand/scripts/inject-brand-context.cjs +0 -349
  32. package/.opencode/skills/brand/scripts/sync-brand-to-tokens.cjs +0 -248
  33. package/.opencode/skills/brand/scripts/tests/test_sync_brand_to_tokens.py +0 -52
  34. package/.opencode/skills/brand/scripts/validate-asset.cjs +0 -387
  35. package/.opencode/skills/brand/templates/brand-guidelines-starter.md +0 -275
  36. package/.opencode/skills/design/SKILL.md +0 -313
  37. package/.opencode/skills/design/data/cip/deliverables.csv +0 -51
  38. package/.opencode/skills/design/data/cip/industries.csv +0 -21
  39. package/.opencode/skills/design/data/cip/mockup-contexts.csv +0 -21
  40. package/.opencode/skills/design/data/cip/styles.csv +0 -21
  41. package/.opencode/skills/design/data/icon/styles.csv +0 -16
  42. package/.opencode/skills/design/data/logo/colors.csv +0 -56
  43. package/.opencode/skills/design/data/logo/industries.csv +0 -56
  44. package/.opencode/skills/design/data/logo/styles.csv +0 -56
  45. package/.opencode/skills/design/references/banner-sizes-and-styles.md +0 -118
  46. package/.opencode/skills/design/references/cip-deliverable-guide.md +0 -95
  47. package/.opencode/skills/design/references/cip-design.md +0 -121
  48. package/.opencode/skills/design/references/cip-prompt-engineering.md +0 -84
  49. package/.opencode/skills/design/references/cip-style-guide.md +0 -68
  50. package/.opencode/skills/design/references/design-routing.md +0 -207
  51. package/.opencode/skills/design/references/icon-design.md +0 -122
  52. package/.opencode/skills/design/references/logo-color-psychology.md +0 -101
  53. package/.opencode/skills/design/references/logo-design.md +0 -92
  54. package/.opencode/skills/design/references/logo-prompt-engineering.md +0 -158
  55. package/.opencode/skills/design/references/logo-style-guide.md +0 -109
  56. package/.opencode/skills/design/references/slides-copywriting-formulas.md +0 -84
  57. package/.opencode/skills/design/references/slides-create.md +0 -4
  58. package/.opencode/skills/design/references/slides-html-template.md +0 -295
  59. package/.opencode/skills/design/references/slides-layout-patterns.md +0 -137
  60. package/.opencode/skills/design/references/slides-strategies.md +0 -94
  61. package/.opencode/skills/design/references/slides.md +0 -42
  62. package/.opencode/skills/design/references/social-photos-design.md +0 -329
  63. package/.opencode/skills/design/scripts/cip/core.py +0 -215
  64. package/.opencode/skills/design/scripts/cip/generate.py +0 -484
  65. package/.opencode/skills/design/scripts/cip/render-html.py +0 -424
  66. package/.opencode/skills/design/scripts/cip/search.py +0 -127
  67. package/.opencode/skills/design/scripts/icon/generate.py +0 -487
  68. package/.opencode/skills/design/scripts/logo/core.py +0 -175
  69. package/.opencode/skills/design/scripts/logo/generate.py +0 -362
  70. package/.opencode/skills/design/scripts/logo/search.py +0 -114
  71. package/.opencode/skills/design-system/SKILL.md +0 -244
  72. package/.opencode/skills/design-system/data/slide-backgrounds.csv +0 -11
  73. package/.opencode/skills/design-system/data/slide-charts.csv +0 -26
  74. package/.opencode/skills/design-system/data/slide-color-logic.csv +0 -14
  75. package/.opencode/skills/design-system/data/slide-copy.csv +0 -26
  76. package/.opencode/skills/design-system/data/slide-layout-logic.csv +0 -16
  77. package/.opencode/skills/design-system/data/slide-layouts.csv +0 -26
  78. package/.opencode/skills/design-system/data/slide-strategies.csv +0 -16
  79. package/.opencode/skills/design-system/data/slide-typography.csv +0 -15
  80. package/.opencode/skills/design-system/references/component-specs.md +0 -236
  81. package/.opencode/skills/design-system/references/component-tokens.md +0 -214
  82. package/.opencode/skills/design-system/references/primitive-tokens.md +0 -203
  83. package/.opencode/skills/design-system/references/semantic-tokens.md +0 -215
  84. package/.opencode/skills/design-system/references/states-and-variants.md +0 -241
  85. package/.opencode/skills/design-system/references/tailwind-integration.md +0 -251
  86. package/.opencode/skills/design-system/references/token-architecture.md +0 -224
  87. package/.opencode/skills/design-system/scripts/embed-tokens.cjs +0 -99
  88. package/.opencode/skills/design-system/scripts/fetch-background.py +0 -317
  89. package/.opencode/skills/design-system/scripts/generate-slide.py +0 -770
  90. package/.opencode/skills/design-system/scripts/generate-tokens.cjs +0 -205
  91. package/.opencode/skills/design-system/scripts/html-token-validator.py +0 -327
  92. package/.opencode/skills/design-system/scripts/search-slides.py +0 -218
  93. package/.opencode/skills/design-system/scripts/slide-token-validator.py +0 -35
  94. package/.opencode/skills/design-system/scripts/slide_search_core.py +0 -453
  95. package/.opencode/skills/design-system/scripts/tests/test_validate_tokens.py +0 -48
  96. package/.opencode/skills/design-system/scripts/validate-tokens.cjs +0 -246
  97. package/.opencode/skills/design-system/templates/design-tokens-starter.json +0 -143
  98. package/.opencode/skills/frontend-design/LICENSE.txt +0 -21
  99. package/.opencode/skills/frontend-design/SKILL.md +0 -115
  100. package/.opencode/skills/mafw-automation-interview/SKILL.md +0 -43
  101. package/.opencode/skills/mafw-cli-scanner/SKILL.md +0 -37
  102. package/.opencode/skills/mafw-compression-verifier/SKILL.md +0 -52
  103. package/.opencode/skills/mafw-desktop-inspector/SKILL.md +0 -170
  104. package/.opencode/skills/mafw-execute/SKILL.md +0 -62
  105. package/.opencode/skills/mafw-gateway-restart/SKILL.md +0 -87
  106. package/.opencode/skills/mafw-github-scanner/SKILL.md +0 -38
  107. package/.opencode/skills/mafw-goal/SKILL.md +0 -76
  108. package/.opencode/skills/mafw-interview/SKILL.md +0 -68
  109. package/.opencode/skills/mafw-memory-extractor/SKILL.md +0 -65
  110. package/.opencode/skills/mafw-plan/SKILL.md +0 -58
  111. package/.opencode/skills/mafw-review/SKILL.md +0 -85
  112. package/.opencode/skills/runtime-plugin-authoring/SKILL.md +0 -791
  113. package/.opencode/skills/slides/SKILL.md +0 -40
  114. package/.opencode/skills/slides/references/copywriting-formulas.md +0 -84
  115. package/.opencode/skills/slides/references/create.md +0 -4
  116. package/.opencode/skills/slides/references/html-template.md +0 -295
  117. package/.opencode/skills/slides/references/layout-patterns.md +0 -137
  118. package/.opencode/skills/slides/references/slide-strategies.md +0 -94
  119. package/.opencode/skills/ui-styling/LICENSE.txt +0 -202
  120. package/.opencode/skills/ui-styling/SKILL.md +0 -324
  121. package/.opencode/skills/ui-styling/references/canvas-design-system.md +0 -320
  122. package/.opencode/skills/ui-styling/references/shadcn-accessibility.md +0 -471
  123. package/.opencode/skills/ui-styling/references/shadcn-components.md +0 -424
  124. package/.opencode/skills/ui-styling/references/shadcn-theming.md +0 -373
  125. package/.opencode/skills/ui-styling/references/tailwind-customization.md +0 -483
  126. package/.opencode/skills/ui-styling/references/tailwind-responsive.md +0 -382
  127. package/.opencode/skills/ui-styling/references/tailwind-utilities.md +0 -455
  128. package/.opencode/skills/ui-styling/scripts/requirements.txt +0 -17
  129. package/.opencode/skills/ui-styling/scripts/shadcn_add.py +0 -308
  130. package/.opencode/skills/ui-styling/scripts/tailwind_config_gen.py +0 -473
  131. package/.opencode/skills/ui-styling/scripts/tests/coverage-ui.json +0 -1
  132. package/.opencode/skills/ui-styling/scripts/tests/requirements.txt +0 -3
  133. package/.opencode/skills/ui-styling/scripts/tests/test_shadcn_add.py +0 -266
  134. package/.opencode/skills/ui-styling/scripts/tests/test_tailwind_config_gen.py +0 -394
  135. package/.opencode/skills/ui-ux-pro-max/SKILL.md +0 -388
  136. package/.opencode/skills/ui-ux-pro-max/data/app-interface.csv +0 -31
  137. package/.opencode/skills/ui-ux-pro-max/data/charts.csv +0 -26
  138. package/.opencode/skills/ui-ux-pro-max/data/colors.csv +0 -193
  139. package/.opencode/skills/ui-ux-pro-max/data/google-fonts.csv +0 -1924
  140. package/.opencode/skills/ui-ux-pro-max/data/icons.csv +0 -106
  141. package/.opencode/skills/ui-ux-pro-max/data/landing.csv +0 -35
  142. package/.opencode/skills/ui-ux-pro-max/data/motion.csv +0 -17
  143. package/.opencode/skills/ui-ux-pro-max/data/products.csv +0 -193
  144. package/.opencode/skills/ui-ux-pro-max/data/react-performance.csv +0 -45
  145. package/.opencode/skills/ui-ux-pro-max/data/stacks/angular.csv +0 -51
  146. package/.opencode/skills/ui-ux-pro-max/data/stacks/astro.csv +0 -54
  147. package/.opencode/skills/ui-ux-pro-max/data/stacks/avalonia.csv +0 -57
  148. package/.opencode/skills/ui-ux-pro-max/data/stacks/flutter.csv +0 -53
  149. package/.opencode/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +0 -56
  150. package/.opencode/skills/ui-ux-pro-max/data/stacks/javafx.csv +0 -76
  151. package/.opencode/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +0 -53
  152. package/.opencode/skills/ui-ux-pro-max/data/stacks/laravel.csv +0 -51
  153. package/.opencode/skills/ui-ux-pro-max/data/stacks/nextjs.csv +0 -53
  154. package/.opencode/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +0 -71
  155. package/.opencode/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +0 -59
  156. package/.opencode/skills/ui-ux-pro-max/data/stacks/react-native.csv +0 -52
  157. package/.opencode/skills/ui-ux-pro-max/data/stacks/react.csv +0 -54
  158. package/.opencode/skills/ui-ux-pro-max/data/stacks/shadcn.csv +0 -61
  159. package/.opencode/skills/ui-ux-pro-max/data/stacks/svelte.csv +0 -54
  160. package/.opencode/skills/ui-ux-pro-max/data/stacks/swiftui.csv +0 -51
  161. package/.opencode/skills/ui-ux-pro-max/data/stacks/threejs.csv +0 -54
  162. package/.opencode/skills/ui-ux-pro-max/data/stacks/uno.csv +0 -60
  163. package/.opencode/skills/ui-ux-pro-max/data/stacks/uwp.csv +0 -56
  164. package/.opencode/skills/ui-ux-pro-max/data/stacks/vue.csv +0 -50
  165. package/.opencode/skills/ui-ux-pro-max/data/stacks/winui.csv +0 -60
  166. package/.opencode/skills/ui-ux-pro-max/data/stacks/wpf.csv +0 -57
  167. package/.opencode/skills/ui-ux-pro-max/data/styles.csv +0 -85
  168. package/.opencode/skills/ui-ux-pro-max/data/typography.csv +0 -75
  169. package/.opencode/skills/ui-ux-pro-max/data/ui-reasoning.csv +0 -162
  170. package/.opencode/skills/ui-ux-pro-max/data/ux-guidelines.csv +0 -100
  171. package/.opencode/skills/ui-ux-pro-max/scripts/core.py +0 -464
  172. package/.opencode/skills/ui-ux-pro-max/scripts/design_system.py +0 -1479
  173. package/.opencode/skills/ui-ux-pro-max/scripts/search.py +0 -162
  174. package/.opencode/skills/ui-ux-pro-max/scripts/tests/test_core.py +0 -134
  175. package/.opencode/skills/ui-ux-pro-max/scripts/tests/test_design_system_mode.py +0 -159
  176. package/.opencode/skills/ui-ux-pro-max/scripts/validate_data.py +0 -114
  177. package/dist/hooks/bash-python-guide.d.ts +0 -4
  178. package/dist/hooks/bash-python-guide.d.ts.map +0 -1
  179. package/dist/hooks/bash-python-guide.js +0 -67
  180. package/dist/hooks/bash-python-guide.js.map +0 -1
  181. package/dist/hooks/handoff.d.ts +0 -9
  182. package/dist/hooks/handoff.d.ts.map +0 -1
  183. package/dist/hooks/handoff.js +0 -8
  184. package/dist/hooks/handoff.js.map +0 -1
  185. package/dist/hooks/hook-manager.d.ts +0 -32
  186. package/dist/hooks/hook-manager.d.ts.map +0 -1
  187. package/dist/hooks/hook-manager.js +0 -91
  188. package/dist/hooks/hook-manager.js.map +0 -1
  189. package/dist/hooks/llm-after.d.ts +0 -8
  190. package/dist/hooks/llm-after.d.ts.map +0 -1
  191. package/dist/hooks/llm-after.js +0 -8
  192. package/dist/hooks/llm-after.js.map +0 -1
  193. package/dist/hooks/media-ingest.d.ts +0 -43
  194. package/dist/hooks/media-ingest.d.ts.map +0 -1
  195. package/dist/hooks/media-ingest.js +0 -269
  196. package/dist/hooks/media-ingest.js.map +0 -1
  197. package/dist/hooks/memory-guide.d.ts +0 -3
  198. package/dist/hooks/memory-guide.d.ts.map +0 -1
  199. package/dist/hooks/memory-guide.js +0 -47
  200. package/dist/hooks/memory-guide.js.map +0 -1
  201. package/dist/hooks/observation-capture.d.ts +0 -17
  202. package/dist/hooks/observation-capture.d.ts.map +0 -1
  203. package/dist/hooks/observation-capture.js +0 -20
  204. package/dist/hooks/observation-capture.js.map +0 -1
  205. package/dist/hooks/session-compacting.d.ts +0 -6
  206. package/dist/hooks/session-compacting.d.ts.map +0 -1
  207. package/dist/hooks/session-compacting.js +0 -6
  208. package/dist/hooks/session-compacting.js.map +0 -1
  209. package/dist/hooks/session-ending.d.ts +0 -20
  210. package/dist/hooks/session-ending.d.ts.map +0 -1
  211. package/dist/hooks/session-ending.js +0 -113
  212. package/dist/hooks/session-ending.js.map +0 -1
  213. package/dist/hooks/session-recall.d.ts +0 -2
  214. package/dist/hooks/session-recall.d.ts.map +0 -1
  215. package/dist/hooks/session-recall.js +0 -103
  216. package/dist/hooks/session-recall.js.map +0 -1
  217. package/dist/hooks/session-start.d.ts +0 -9
  218. package/dist/hooks/session-start.d.ts.map +0 -1
  219. package/dist/hooks/session-start.js +0 -42
  220. package/dist/hooks/session-start.js.map +0 -1
  221. package/dist/hooks/tool-before.d.ts +0 -10
  222. package/dist/hooks/tool-before.d.ts.map +0 -1
  223. package/dist/hooks/tool-before.js +0 -6
  224. package/dist/hooks/tool-before.js.map +0 -1
  225. package/dist/hooks/tool-executed.d.ts +0 -19
  226. package/dist/hooks/tool-executed.d.ts.map +0 -1
  227. package/dist/hooks/tool-executed.js +0 -12
  228. package/dist/hooks/tool-executed.js.map +0 -1
  229. package/dist/hooks/user-profile.d.ts +0 -2
  230. package/dist/hooks/user-profile.d.ts.map +0 -1
  231. package/dist/hooks/user-profile.js +0 -30
  232. package/dist/hooks/user-profile.js.map +0 -1
  233. package/dist/hooks/user-prompt.d.ts +0 -9
  234. package/dist/hooks/user-prompt.d.ts.map +0 -1
  235. package/dist/hooks/user-prompt.js +0 -8
  236. package/dist/hooks/user-prompt.js.map +0 -1
  237. package/dist/hooks/voice-guide.d.ts +0 -8
  238. package/dist/hooks/voice-guide.d.ts.map +0 -1
  239. package/dist/hooks/voice-guide.js +0 -101
  240. package/dist/hooks/voice-guide.js.map +0 -1
  241. package/dist/plugin.d.ts +0 -55
  242. package/dist/plugin.d.ts.map +0 -1
  243. package/dist/plugin.js +0 -342
  244. package/dist/plugin.js.map +0 -1
  245. package/dist/tools/add-memory.d.ts +0 -17
  246. package/dist/tools/add-memory.d.ts.map +0 -1
  247. package/dist/tools/add-memory.js +0 -60
  248. package/dist/tools/add-memory.js.map +0 -1
  249. package/dist/tools/media-ask.d.ts +0 -14
  250. package/dist/tools/media-ask.d.ts.map +0 -1
  251. package/dist/tools/media-ask.js +0 -224
  252. package/dist/tools/media-ask.js.map +0 -1
  253. package/dist/tools/media-speak.d.ts +0 -16
  254. package/dist/tools/media-speak.d.ts.map +0 -1
  255. package/dist/tools/media-speak.js +0 -78
  256. package/dist/tools/media-speak.js.map +0 -1
  257. package/dist/tools/media-upload.d.ts +0 -14
  258. package/dist/tools/media-upload.d.ts.map +0 -1
  259. package/dist/tools/media-upload.js +0 -155
  260. package/dist/tools/media-upload.js.map +0 -1
  261. package/dist/tools/python-exec.d.ts +0 -13
  262. package/dist/tools/python-exec.d.ts.map +0 -1
  263. package/dist/tools/python-exec.js +0 -99
  264. package/dist/tools/python-exec.js.map +0 -1
  265. package/dist/tools/python-restart.d.ts +0 -11
  266. package/dist/tools/python-restart.d.ts.map +0 -1
  267. package/dist/tools/python-restart.js +0 -33
  268. package/dist/tools/python-restart.js.map +0 -1
  269. package/dist/utils/circuit-breaker.d.ts +0 -23
  270. package/dist/utils/circuit-breaker.d.ts.map +0 -1
  271. package/dist/utils/circuit-breaker.js +0 -75
  272. package/dist/utils/circuit-breaker.js.map +0 -1
  273. package/dist/utils/config-loader.d.ts +0 -20
  274. package/dist/utils/config-loader.d.ts.map +0 -1
  275. package/dist/utils/config-loader.js +0 -194
  276. package/dist/utils/config-loader.js.map +0 -1
  277. package/dist/utils/fallback.d.ts +0 -7
  278. package/dist/utils/fallback.d.ts.map +0 -1
  279. package/dist/utils/fallback.js +0 -20
  280. package/dist/utils/fallback.js.map +0 -1
  281. package/dist/utils/git.d.ts +0 -24
  282. package/dist/utils/git.d.ts.map +0 -1
  283. package/dist/utils/git.js +0 -71
  284. package/dist/utils/git.js.map +0 -1
  285. package/dist/utils/github.d.ts +0 -37
  286. package/dist/utils/github.d.ts.map +0 -1
  287. package/dist/utils/github.js +0 -53
  288. package/dist/utils/github.js.map +0 -1
  289. package/dist/utils/global-path.d.ts +0 -2
  290. package/dist/utils/global-path.d.ts.map +0 -1
  291. package/dist/utils/global-path.js +0 -32
  292. package/dist/utils/global-path.js.map +0 -1
  293. package/dist/utils/logger.d.ts +0 -6
  294. package/dist/utils/logger.d.ts.map +0 -1
  295. package/dist/utils/logger.js +0 -69
  296. package/dist/utils/logger.js.map +0 -1
  297. package/dist/utils/obs-capture.d.ts +0 -7
  298. package/dist/utils/obs-capture.d.ts.map +0 -1
  299. package/dist/utils/obs-capture.js +0 -49
  300. package/dist/utils/obs-capture.js.map +0 -1
  301. package/dist/utils/retry.d.ts +0 -11
  302. package/dist/utils/retry.d.ts.map +0 -1
  303. package/dist/utils/retry.js +0 -45
  304. package/dist/utils/retry.js.map +0 -1
  305. package/dist/utils/self-wiring.d.ts +0 -13
  306. package/dist/utils/self-wiring.d.ts.map +0 -1
  307. package/dist/utils/self-wiring.js +0 -86
  308. package/dist/utils/self-wiring.js.map +0 -1
  309. package/dist/utils/state.d.ts +0 -106
  310. package/dist/utils/state.d.ts.map +0 -1
  311. package/dist/utils/state.js +0 -166
  312. package/dist/utils/state.js.map +0 -1
  313. package/dist/utils/status.d.ts +0 -47
  314. package/dist/utils/status.d.ts.map +0 -1
  315. package/dist/utils/status.js +0 -147
  316. package/dist/utils/status.js.map +0 -1
  317. package/dist/utils/ttl-map.d.ts +0 -17
  318. package/dist/utils/ttl-map.d.ts.map +0 -1
  319. package/dist/utils/ttl-map.js +0 -67
  320. package/dist/utils/ttl-map.js.map +0 -1
@@ -1,109 +0,0 @@
1
- # Logo Style Guide
2
-
3
- ## Core Logo Types
4
-
5
- ### 1. Wordmark (Logotype)
6
- Text-only logo using custom typography.
7
- - **Best for:** Established brands, distinctive names
8
- - **Examples:** Google, Coca-Cola, FedEx
9
- - **Typography:** Custom letterforms, unique kerning
10
- - **Tip:** Name must be memorable and pronounceable
11
-
12
- ### 2. Lettermark (Monogram)
13
- Initials or abbreviated letters.
14
- - **Best for:** Long company names, professional firms
15
- - **Examples:** IBM, HBO, NASA
16
- - **Typography:** Bold geometric sans-serif
17
- - **Tip:** Works well for brands with 2-4 letter abbreviations
18
-
19
- ### 3. Pictorial Mark (Brand Mark)
20
- Standalone icon or symbol.
21
- - **Best for:** Global brands with recognition
22
- - **Examples:** Apple, Twitter, Target
23
- - **Design:** Simple, scalable, memorable shape
24
- - **Tip:** Requires brand equity to work alone
25
-
26
- ### 4. Abstract Mark
27
- Non-representational geometric shapes.
28
- - **Best for:** Tech companies, differentiating brands
29
- - **Examples:** Pepsi, Airbnb, Spotify
30
- - **Design:** Unique shape conveying brand values
31
- - **Tip:** Can represent complex ideas simply
32
-
33
- ### 5. Mascot
34
- Character representing the brand.
35
- - **Best for:** Family brands, sports teams, food
36
- - **Examples:** KFC, Pringles, Michelin
37
- - **Design:** Friendly, expressive, versatile
38
- - **Tip:** Can evolve with brand while maintaining recognition
39
-
40
- ### 6. Emblem
41
- Symbol enclosed within a shape.
42
- - **Best for:** Traditional brands, organizations
43
- - **Examples:** Starbucks, Harley-Davidson, NFL
44
- - **Design:** Badge, seal, or crest style
45
- - **Tip:** May have scalability challenges
46
-
47
- ### 7. Combination Mark
48
- Icon + text in unified design.
49
- - **Best for:** New brands, versatile applications
50
- - **Examples:** Burger King, Lacoste, Doritos
51
- - **Design:** Lockup with flexible arrangements
52
- - **Tip:** Most versatile, can separate elements later
53
-
54
- ## Aesthetic Styles
55
-
56
- ### Minimalist
57
- - Clean lines, essential elements only
58
- - High white space, simple geometry
59
- - Limited color palette (1-2 colors)
60
- - **Use:** Tech, professional services, modern brands
61
-
62
- ### Vintage/Retro
63
- - Nostalgic, heritage feel
64
- - Distressed textures, muted colors
65
- - Script or slab serif typography
66
- - **Use:** Craft brands, artisan products
67
-
68
- ### Luxury/Premium
69
- - Elegant, refined aesthetic
70
- - Gold, black, white color scheme
71
- - Thin serifs or sophisticated sans
72
- - **Use:** Fashion, jewelry, high-end services
73
-
74
- ### Geometric
75
- - Mathematical precision
76
- - Circles, triangles, squares
77
- - Perfect symmetry
78
- - **Use:** Architecture, tech, modern brands
79
-
80
- ### Organic/Natural
81
- - Flowing, imperfect lines
82
- - Earth tones, natural colors
83
- - Hand-drawn feel
84
- - **Use:** Eco brands, wellness, organic products
85
-
86
- ### Gradient/Modern
87
- - Color transitions, vibrant palettes
88
- - Dimensional depth
89
- - Contemporary feel
90
- - **Use:** Apps, tech startups, digital products
91
-
92
- ## Style Selection Matrix
93
-
94
- | Brand Type | Primary Style | Secondary Options |
95
- |------------|---------------|-------------------|
96
- | Tech Startup | Minimalist, Abstract | Geometric, Gradient |
97
- | Law Firm | Wordmark, Emblem | Lettermark |
98
- | Restaurant | Mascot, Badge | Vintage, Combination |
99
- | Fashion | Wordmark, Luxury | Monogram, Line Art |
100
- | Healthcare | Professional, Line Art | Abstract, Combination |
101
- | Non-Profit | Combination, Emblem | Organic, Hand-Drawn |
102
-
103
- ## Scalability Checklist
104
-
105
- - [ ] Recognizable at 16x16 pixels (favicon)
106
- - [ ] Clear at business card size
107
- - [ ] Works in single color
108
- - [ ] Maintains clarity in black/white
109
- - [ ] No tiny details that disappear when scaled
@@ -1,84 +0,0 @@
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 |
@@ -1,4 +0,0 @@
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>
@@ -1,295 +0,0 @@
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 |
@@ -1,137 +0,0 @@
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
- ```