howone 0.1.29 → 0.1.31

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 (243) hide show
  1. package/package.json +1 -1
  2. package/templates/vite/.howone/skills/hallmark/SKILL.md +48 -42
  3. package/templates/vite/.howone/skills/hallmark/references/anti-patterns.md +12 -6
  4. package/templates/vite/.howone/skills/hallmark/references/assets.md +7 -0
  5. package/templates/vite/.howone/skills/hallmark/references/component-cookbook.md +19 -10
  6. package/templates/vite/.howone/skills/hallmark/references/components/f2-sticky-scroll-stack.md +1 -1
  7. package/templates/vite/.howone/skills/hallmark/references/components/ft6-letter-close.md +1 -1
  8. package/templates/vite/.howone/skills/hallmark/references/components/h7-demo-video-clipped-by-viewport-edge.md +1 -1
  9. package/templates/vite/.howone/skills/hallmark/references/components/h9-custom-illustration-centerpiece.md +1 -1
  10. package/templates/vite/.howone/skills/hallmark/references/components/n10-floating-on-scroll-morph.md +1 -1
  11. package/templates/vite/.howone/skills/hallmark/references/components/n11-mega-menu.md +40 -0
  12. package/templates/vite/.howone/skills/hallmark/references/components/n12-banner-retract.md +34 -0
  13. package/templates/vite/.howone/skills/hallmark/references/components/n13-inline-cmdk-pill.md +39 -0
  14. package/templates/vite/.howone/skills/hallmark/references/components/n1b-saas-three-section.md +35 -0
  15. package/templates/vite/.howone/skills/hallmark/references/components/n9-edge-aligned-minimal.md +1 -1
  16. package/templates/vite/.howone/skills/hallmark/references/components/s3-sticky-pinned.md +2 -2
  17. package/templates/vite/.howone/skills/hallmark/references/copy.md +8 -8
  18. package/templates/vite/.howone/skills/hallmark/references/custom-craft.md +2 -2
  19. package/templates/vite/.howone/skills/hallmark/references/custom-theme.md +50 -12
  20. package/templates/vite/.howone/skills/hallmark/references/export-formats.md +1 -1
  21. package/templates/vite/.howone/skills/hallmark/references/genres/atmospheric.md +11 -7
  22. package/templates/vite/.howone/skills/hallmark/references/genres/editorial.md +6 -4
  23. package/templates/vite/.howone/skills/hallmark/references/genres/modern-minimal.md +10 -6
  24. package/templates/vite/.howone/skills/hallmark/references/genres/playful.md +15 -10
  25. package/templates/vite/.howone/skills/hallmark/references/hero-enrichment.md +13 -12
  26. package/templates/vite/.howone/skills/hallmark/references/interaction-and-states.md +2 -1
  27. package/templates/vite/.howone/skills/hallmark/references/layout-and-space.md +4 -3
  28. package/templates/vite/.howone/skills/hallmark/references/macrostructures/04-stat-led.md +3 -1
  29. package/templates/vite/.howone/skills/hallmark/references/macrostructures/12-letter.md +1 -1
  30. package/templates/vite/.howone/skills/hallmark/references/macrostructures.md +1 -1
  31. package/templates/vite/.howone/skills/hallmark/references/microinteractions.md +1 -3
  32. package/templates/vite/.howone/skills/hallmark/references/preview-examples.md +12 -12
  33. package/templates/vite/.howone/skills/hallmark/references/responsive.md +8 -8
  34. package/templates/vite/.howone/skills/hallmark/references/slop-test.md +72 -85
  35. package/templates/vite/.howone/skills/hallmark/references/structure.md +9 -13
  36. package/templates/vite/.howone/skills/hallmark/references/study.md +40 -17
  37. package/templates/vite/.howone/skills/hallmark/references/themes/carnival.md +301 -0
  38. package/templates/vite/.howone/skills/hallmark/references/themes/cobalt.md +146 -0
  39. package/templates/vite/.howone/skills/hallmark/references/themes/hum.md +403 -0
  40. package/templates/vite/.howone/skills/hallmark/references/themes/lumen.md +478 -0
  41. package/templates/vite/.howone/skills/hallmark/references/typography.md +3 -3
  42. package/templates/vite/.howone/skills/hallmark/references/verbs/redesign.md +1 -1
  43. package/templates/vite/.howone/skills/howone/01-architect/01-app-generation.md +132 -176
  44. package/templates/vite/.howone/skills/howone/{02-database → 02-entity-schema}/01-schema-design.md +3 -1
  45. package/templates/vite/.howone/skills/howone/{04-ai → 03-ai-capabilities}/01-ai-capability-architecture.md +6 -5
  46. package/templates/vite/.howone/skills/howone/{04-ai/04-service-capability-catalog.md → 03-ai-capabilities/03-service-capability-catalog.md} +15 -11
  47. package/templates/vite/.howone/skills/howone/{03-sdk → 04-app-sdk}/01-client-setup.md +6 -4
  48. package/templates/vite/.howone/skills/howone/{03-sdk → 04-app-sdk}/07-ai-action-calls.md +3 -3
  49. package/templates/vite/.howone/skills/howone/{04-ai/03-ai-sdk-handoff.md → 04-app-sdk/08-ai-manifest-handoff.md} +2 -2
  50. package/templates/vite/.howone/skills/howone/SKILL.md +98 -131
  51. package/templates/vite/.howone/skills/howone/agents/openai.yaml +3 -3
  52. package/templates/vite/AGENTS.md +2 -2
  53. package/templates/vite/.howone/skills/hallmark/LICENSE +0 -21
  54. package/templates/vite/.howone/skills/hallmark/README.md +0 -147
  55. package/templates/vite/.howone/skills/hallmark/ROADMAP.md +0 -201
  56. package/templates/vite/.howone/skills/hallmark/docs/recipes.md +0 -186
  57. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-anya.jpg +0 -0
  58. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-bananastudio.jpg +0 -0
  59. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-hyperlane.jpg +0 -0
  60. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-najm.jpg +0 -0
  61. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-slow-pour.jpg +0 -0
  62. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-soroe.jpg +0 -0
  63. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-tally.jpg +0 -0
  64. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-wayfare.jpg +0 -0
  65. package/templates/vite/.howone/skills/hallmark/docs/study-examples.md +0 -176
  66. package/templates/vite/.howone/skills/hallmark/docs/talk-slides.md +0 -364
  67. package/templates/vite/.howone/skills/hallmark/package.json +0 -36
  68. package/templates/vite/.howone/skills/hallmark/site/OG-hallmark.png +0 -0
  69. package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/brief.md +0 -71
  70. package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/index.html +0 -64
  71. package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/style.css +0 -240
  72. package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/brief.md +0 -65
  73. package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/index.html +0 -105
  74. package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/style.css +0 -250
  75. package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/brief.md +0 -64
  76. package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/index.html +0 -131
  77. package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/style.css +0 -240
  78. package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/brief.md +0 -67
  79. package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/index.html +0 -86
  80. package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/style.css +0 -262
  81. package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/brief.md +0 -63
  82. package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/index.html +0 -167
  83. package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/style.css +0 -457
  84. package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/brief.md +0 -65
  85. package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/index.html +0 -159
  86. package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/style.css +0 -288
  87. package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/brief.md +0 -64
  88. package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/index.html +0 -146
  89. package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/style.css +0 -484
  90. package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/brief.md +0 -64
  91. package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/index.html +0 -116
  92. package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/style.css +0 -354
  93. package/templates/vite/.howone/skills/hallmark/site/_tests/09-slow-pour/index.html +0 -638
  94. package/templates/vite/.howone/skills/hallmark/site/_tests/10-owl-hours/index.html +0 -515
  95. package/templates/vite/.howone/skills/hallmark/site/_tests/11-soroe-ceramics/index.html +0 -515
  96. package/templates/vite/.howone/skills/hallmark/site/_tests/12-loafer/index.html +0 -608
  97. package/templates/vite/.howone/skills/hallmark/site/_tests/13-alma/index.html +0 -587
  98. package/templates/vite/.howone/skills/hallmark/site/_tests/README.md +0 -157
  99. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/BananaStudio-loop.mp4 +0 -0
  100. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/BananaStudio-still.jpg +0 -0
  101. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Hyperlane-example.mp4 +0 -0
  102. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Hyperlane-still.jpg +0 -0
  103. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Najm-loop.mp4 +0 -0
  104. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Najm-still.jpg +0 -0
  105. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Podcast-loop.mp4 +0 -0
  106. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/SaaS-loop.mp4 +0 -0
  107. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/SaaS-still.jpg +0 -0
  108. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Soroe-loop.mp4 +0 -0
  109. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Soroe-still.jpg +0 -0
  110. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/after-quiet-hour.png +0 -0
  111. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/anya-loop.mp4 +0 -0
  112. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/anya-still.jpg +0 -0
  113. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/audit-example.png +0 -0
  114. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/before-quiet-hour.png +0 -0
  115. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/example-redesign-uractivation.png +0 -0
  116. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/slow-pour-loop.mp4 +0 -0
  117. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/slow-pour-still.jpg +0 -0
  118. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/study-example.png +0 -0
  119. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/uractivation-after-loop.mp4 +0 -0
  120. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/wayfare-loop.mp4 +0 -0
  121. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/wayfare-still.jpg +0 -0
  122. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/01-coffeebox/index.html +0 -77
  123. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/01-coffeebox/style.css +0 -238
  124. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/02-loop/index.html +0 -110
  125. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/02-loop/style.css +0 -326
  126. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/03-mossroot/index.html +0 -134
  127. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/03-mossroot/style.css +0 -262
  128. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/README.md +0 -30
  129. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/README.md +0 -17
  130. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/audit-report.md +0 -56
  131. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/input.html +0 -160
  132. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/notes.md +0 -29
  133. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/input.html +0 -63
  134. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/notes.md +0 -72
  135. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/output.html +0 -374
  136. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/diagnosis.md +0 -52
  137. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/input-description.md +0 -29
  138. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/notes.md +0 -61
  139. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/output.css +0 -193
  140. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/output.html +0 -66
  141. package/templates/vite/.howone/skills/hallmark/site/css/base.css +0 -194
  142. package/templates/vite/.howone/skills/hallmark/site/css/components.css +0 -4886
  143. package/templates/vite/.howone/skills/hallmark/site/css/sections.css +0 -2072
  144. package/templates/vite/.howone/skills/hallmark/site/css/tokens.css +0 -1129
  145. package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/index.html +0 -475
  146. package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/styles.css +0 -1584
  147. package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/tokens.css +0 -96
  148. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/index.html +0 -344
  149. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/script.js +0 -103
  150. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/styles.css +0 -1103
  151. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/tokens.css +0 -83
  152. package/templates/vite/.howone/skills/hallmark/site/examples/najm/index.html +0 -368
  153. package/templates/vite/.howone/skills/hallmark/site/examples/najm/script.js +0 -133
  154. package/templates/vite/.howone/skills/hallmark/site/examples/najm/styles.css +0 -1062
  155. package/templates/vite/.howone/skills/hallmark/site/examples/najm/tokens.css +0 -97
  156. package/templates/vite/.howone/skills/hallmark/site/examples/tally/app.js +0 -84
  157. package/templates/vite/.howone/skills/hallmark/site/examples/tally/index.html +0 -446
  158. package/templates/vite/.howone/skills/hallmark/site/examples/tally/styles.css +0 -1087
  159. package/templates/vite/.howone/skills/hallmark/site/examples/tally/tokens.css +0 -101
  160. package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/index.html +0 -359
  161. package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/style.css +0 -1168
  162. package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/tokens.css +0 -81
  163. package/templates/vite/.howone/skills/hallmark/site/favicon-dark.svg +0 -5
  164. package/templates/vite/.howone/skills/hallmark/site/favicon-light.svg +0 -5
  165. package/templates/vite/.howone/skills/hallmark/site/index.html +0 -1043
  166. package/templates/vite/.howone/skills/hallmark/site/js/main.js +0 -1175
  167. package/templates/vite/.howone/skills/hallmark/vercel.json +0 -6
  168. package/templates/vite/.howone/skills/impeccable/SKILL.md +0 -168
  169. package/templates/vite/.howone/skills/impeccable/agents/impeccable-asset-producer.md +0 -101
  170. package/templates/vite/.howone/skills/impeccable/reference/adapt.md +0 -190
  171. package/templates/vite/.howone/skills/impeccable/reference/animate.md +0 -175
  172. package/templates/vite/.howone/skills/impeccable/reference/audit.md +0 -133
  173. package/templates/vite/.howone/skills/impeccable/reference/bolder.md +0 -113
  174. package/templates/vite/.howone/skills/impeccable/reference/brand.md +0 -118
  175. package/templates/vite/.howone/skills/impeccable/reference/clarify.md +0 -174
  176. package/templates/vite/.howone/skills/impeccable/reference/codex.md +0 -105
  177. package/templates/vite/.howone/skills/impeccable/reference/cognitive-load.md +0 -106
  178. package/templates/vite/.howone/skills/impeccable/reference/color-and-contrast.md +0 -105
  179. package/templates/vite/.howone/skills/impeccable/reference/colorize.md +0 -154
  180. package/templates/vite/.howone/skills/impeccable/reference/craft.md +0 -123
  181. package/templates/vite/.howone/skills/impeccable/reference/critique.md +0 -273
  182. package/templates/vite/.howone/skills/impeccable/reference/delight.md +0 -302
  183. package/templates/vite/.howone/skills/impeccable/reference/distill.md +0 -111
  184. package/templates/vite/.howone/skills/impeccable/reference/document.md +0 -427
  185. package/templates/vite/.howone/skills/impeccable/reference/extract.md +0 -69
  186. package/templates/vite/.howone/skills/impeccable/reference/harden.md +0 -347
  187. package/templates/vite/.howone/skills/impeccable/reference/heuristics-scoring.md +0 -234
  188. package/templates/vite/.howone/skills/impeccable/reference/interaction-design.md +0 -195
  189. package/templates/vite/.howone/skills/impeccable/reference/layout.md +0 -141
  190. package/templates/vite/.howone/skills/impeccable/reference/live.md +0 -622
  191. package/templates/vite/.howone/skills/impeccable/reference/motion-design.md +0 -109
  192. package/templates/vite/.howone/skills/impeccable/reference/onboard.md +0 -234
  193. package/templates/vite/.howone/skills/impeccable/reference/optimize.md +0 -258
  194. package/templates/vite/.howone/skills/impeccable/reference/overdrive.md +0 -130
  195. package/templates/vite/.howone/skills/impeccable/reference/personas.md +0 -179
  196. package/templates/vite/.howone/skills/impeccable/reference/polish.md +0 -242
  197. package/templates/vite/.howone/skills/impeccable/reference/product.md +0 -62
  198. package/templates/vite/.howone/skills/impeccable/reference/quieter.md +0 -99
  199. package/templates/vite/.howone/skills/impeccable/reference/responsive-design.md +0 -114
  200. package/templates/vite/.howone/skills/impeccable/reference/shape.md +0 -165
  201. package/templates/vite/.howone/skills/impeccable/reference/spatial-design.md +0 -100
  202. package/templates/vite/.howone/skills/impeccable/reference/teach.md +0 -156
  203. package/templates/vite/.howone/skills/impeccable/reference/typeset.md +0 -124
  204. package/templates/vite/.howone/skills/impeccable/reference/typography.md +0 -159
  205. package/templates/vite/.howone/skills/impeccable/reference/ux-writing.md +0 -107
  206. package/templates/vite/.howone/skills/impeccable/scripts/cleanup-deprecated.mjs +0 -284
  207. package/templates/vite/.howone/skills/impeccable/scripts/command-metadata.json +0 -94
  208. package/templates/vite/.howone/skills/impeccable/scripts/critique-storage.mjs +0 -242
  209. package/templates/vite/.howone/skills/impeccable/scripts/design-parser.mjs +0 -820
  210. package/templates/vite/.howone/skills/impeccable/scripts/detect-csp.mjs +0 -198
  211. package/templates/vite/.howone/skills/impeccable/scripts/detect.mjs +0 -21
  212. package/templates/vite/.howone/skills/impeccable/scripts/impeccable-paths.mjs +0 -110
  213. package/templates/vite/.howone/skills/impeccable/scripts/is-generated.mjs +0 -69
  214. package/templates/vite/.howone/skills/impeccable/scripts/live-accept.mjs +0 -595
  215. package/templates/vite/.howone/skills/impeccable/scripts/live-browser-session.js +0 -123
  216. package/templates/vite/.howone/skills/impeccable/scripts/live-browser.js +0 -4860
  217. package/templates/vite/.howone/skills/impeccable/scripts/live-complete.mjs +0 -75
  218. package/templates/vite/.howone/skills/impeccable/scripts/live-completion.mjs +0 -18
  219. package/templates/vite/.howone/skills/impeccable/scripts/live-inject.mjs +0 -446
  220. package/templates/vite/.howone/skills/impeccable/scripts/live-poll.mjs +0 -200
  221. package/templates/vite/.howone/skills/impeccable/scripts/live-resume.mjs +0 -48
  222. package/templates/vite/.howone/skills/impeccable/scripts/live-server.mjs +0 -838
  223. package/templates/vite/.howone/skills/impeccable/scripts/live-session-store.mjs +0 -254
  224. package/templates/vite/.howone/skills/impeccable/scripts/live-status.mjs +0 -47
  225. package/templates/vite/.howone/skills/impeccable/scripts/live-wrap.mjs +0 -632
  226. package/templates/vite/.howone/skills/impeccable/scripts/live.mjs +0 -247
  227. package/templates/vite/.howone/skills/impeccable/scripts/load-context.mjs +0 -141
  228. package/templates/vite/.howone/skills/impeccable/scripts/modern-screenshot.umd.js +0 -14
  229. package/templates/vite/.howone/skills/impeccable/scripts/pin.mjs +0 -214
  230. /package/templates/vite/.howone/skills/howone/{02-database → 02-entity-schema}/02-schema-operations.md +0 -0
  231. /package/templates/vite/.howone/skills/howone/{02-database → 02-entity-schema}/03-data-access-patterns.md +0 -0
  232. /package/templates/vite/.howone/skills/howone/{02-database → 02-entity-schema}/04-query-dsl-and-responses.md +0 -0
  233. /package/templates/vite/.howone/skills/howone/{02-database → 02-entity-schema}/05-ai-persistence-patterns.md +0 -0
  234. /package/templates/vite/.howone/skills/howone/{04-ai → 03-ai-capabilities}/02-workflow-contract-rules.md +0 -0
  235. /package/templates/vite/.howone/skills/howone/{04-ai/05-workflow-operations.md → 03-ai-capabilities/04-workflow-operations.md} +0 -0
  236. /package/templates/vite/.howone/skills/howone/{04-ai/06-ai-feature-playbooks.md → 03-ai-capabilities/05-ai-feature-playbooks.md} +0 -0
  237. /package/templates/vite/.howone/skills/howone/{03-sdk → 04-app-sdk}/02-entity-operations.md +0 -0
  238. /package/templates/vite/.howone/skills/howone/{03-sdk → 04-app-sdk}/03-auth.md +0 -0
  239. /package/templates/vite/.howone/skills/howone/{03-sdk → 04-app-sdk}/04-react-integration.md +0 -0
  240. /package/templates/vite/.howone/skills/howone/{03-sdk → 04-app-sdk}/05-file-upload.md +0 -0
  241. /package/templates/vite/.howone/skills/howone/{03-sdk → 04-app-sdk}/06-raw-http.md +0 -0
  242. /package/templates/vite/.howone/skills/howone/{03-sdk/08-extension-boundaries.md → 04-app-sdk/09-extension-boundaries.md} +0 -0
  243. /package/templates/vite/.howone/skills/howone/{03-sdk/09-workflow-execute-sse.md → 04-app-sdk/10-workflow-execute-sse.md} +0 -0
@@ -1,143 +1,110 @@
1
1
  ---
2
2
  name: howone
3
- description: Operating manual for HowOne generated app architecture and runtime contracts. Use when a task touches app generation flow, backend/dynamic entity schema design, data access, SDK bindings, frontend code that uses HowOne data, auth, uploads, public/private access, AI capabilities/workflows, AI result persistence, realtime/status/event flows, or any @howone/sdk / howone.entities / howone.public / howone.ai calls. Load first, then read the smallest relevant numbered track: 01-architect, 02-database, 03-sdk, or 04-ai.
3
+ description: HowOne generated app platform. Scope follows the user request. Load for architecture; add entity-schema, ai-capabilities, or app-sdk tracks only when those surfaces are needed.
4
4
  ---
5
5
 
6
- # HowOne App Architecture Skill
6
+ # HowOne Skill
7
7
 
8
- This skill is the operating manual for generated HowOne apps. Use it before making platform
9
- decisions for backend data, frontend data access, auth, AI capabilities, SDK bindings, or generated
10
- app code that depends on HowOne runtime behavior.
8
+ HowOne apps may be frontend-only, full-stack without AI, AI without custom backend, or full-stack
9
+ with AI and persisted data. **Scope always follows the user's request.** This file is the index;
10
+ processors defer here.
11
11
 
12
- Load the smallest set of numbered references that match the task, but do not skip this skill for
13
- backend schema design, frontend implementation, or AI features. The references define the contracts
14
- that app code must follow.
12
+ ## Mandatory flow
15
13
 
16
- ## Active Tracks
14
+ 1. `skill(name="howone")`
15
+ 2. `skill_read "01-architect/01-app-generation.md"` — always, before any platform design write
16
+ 3. `skill_read` the smallest set from the track index below that architect routing selects
17
+ 4. Platform design tools → sync → `{appRoot}/src/lib/sdk.ts` / app code — only for surfaces in scope
17
18
 
18
- | Track | Folder | Use For |
19
+ Inspect-only platform calls do not replace step 2 before the first design write.
20
+
21
+ ## Tracks
22
+
23
+ | Track | When needed | Design vs implement |
19
24
  |---|---|---|
20
- | `01-architect/` | App generation + manifest flow | End-to-end HowOne app generation flow: when to design backend, when to sync manifests, when to update SDK bindings, and how to choose auth/data posture. |
21
- | `02-database/` | Backend schema + data access design | Entity schema contract, schema operations, access modes, owner/public data posture, indexes, query DSL, AI output persistence, versions, and guardrails. |
22
- | `03-sdk/` | Frontend SDK usage | `src/lib/sdk.ts`, auth, React provider, entity calls, public data, uploads, raw HTTP, AI action calls. |
23
- | `04-ai/` | AI capability + workflow design | HowOne AI capability contracts, service capability selection, workflow create/update/status, schema rules, playbooks, persistence boundaries, and SDK handoff. |
25
+ | `01-architect/` | Always (scope, feasibility, posture, order) | Plan |
26
+ | `02-entity-schema/` | User needs HowOne persisted data | Design contracts |
27
+ | `03-ai-capabilities/` | User needs HowOne AI | Design contracts |
28
+ | `04-app-sdk/` | User calls HowOne via SDK after sync | Implement |
24
29
 
25
- ## Routing
30
+ ## Platform boundary (read architect for detail)
31
+
32
+ HowOne platform work must map to **contract evidence**: database manifest, AI manifest, AI service
33
+ catalog, platform tool schemas, or a documented `04-app-sdk/` reference.
34
+
35
+ | Class | Meaning | Agent action |
36
+ |---|---|---|
37
+ | Platform in scope | Ask is expressible through the surfaces above | Use matching track + design tools |
38
+ | App-owned | User's own ops stack, services, or infra (any technology) | Implement in `{appRoot}` app code/config; do not block |
39
+ | Platform gap | User wants a **platform** feature with no contract evidence | Stop platform path; explain missing surface; Support Policy if needed |
40
+
41
+ Do not treat unrelated user infrastructure (orchestration, custom servers, third-party products, etc.) as platform stop-loss. Do not model app-owned systems as fake HowOne entities or AI capabilities.
42
+
43
+ ## Track index (skill_read paths)
44
+
45
+ Read only files required for the current request.
46
+
47
+ ### `01-architect/`
48
+
49
+ | File | Use for |
50
+ |---|---|
51
+ | `01-app-generation.md` | Scope, platform vs app-owned, feasibility, data/auth posture, workflows, checklist |
52
+ | `02-manifest-codegen.md` | Generate `src/lib/sdk.ts` from synced manifests |
53
+
54
+ ### `02-entity-schema/`
55
+
56
+ | File | Use for |
57
+ |---|---|
58
+ | `01-schema-design.md` | Entity contract shape, fields, access, indexes |
59
+ | `02-schema-operations.md` | Preview/apply schema patches, versions |
60
+ | `03-data-access-patterns.md` | Public/private/own access, sharing |
61
+ | `04-query-dsl-and-responses.md` | Filters, sort, pagination, response mapping |
62
+ | `05-ai-persistence-patterns.md` | Storing AI results in entities |
63
+
64
+ ### `03-ai-capabilities/`
26
65
 
27
- Read references by task shape. Prefer exact references over generic examples.
28
-
29
- - New HowOne app or broad feature planning: read `01-architect/01-app-generation.md`.
30
- - Any feature touching backend data, frontend data access, or saved records: read the architect
31
- flow first, then the relevant database and SDK references below.
32
- - Any feature touching AI generation, AI workflow behavior, or AI outputs: read the AI references
33
- first, then the SDK handoff/action-call references.
34
- - AI capability, AI workflow generation/editing, or full-stack AI feature planning: read
35
- `04-ai/01-ai-capability-architecture.md`, `04-ai/04-service-capability-catalog.md`, and
36
- `04-ai/02-workflow-contract-rules.md`.
37
- - Backend database/schema creation or change: read `02-database/01-schema-design.md` and
38
- `02-database/02-schema-operations.md`.
39
- - AI output persistence, generation history, retry/resume, or saved AI results: read the `04-ai/`
40
- files first, then `02-database/05-ai-persistence-patterns.md` and
41
- `02-database/01-schema-design.md`.
42
- - After schema sync, when app code must call the entity: read
43
- `01-architect/02-manifest-codegen.md` and `03-sdk/02-entity-operations.md`.
44
- - Custom login page (your UI, HowOne APIs): `auth: 'custom'` in `createClient` (see `03-sdk/03-auth.md`),
45
- `HowOneProvider auth="none"` and keep the default bottom-right HowOne logo unless explicitly hidden. Default without `auth` = hosted HowOne login.
46
- - `src/lib/sdk.ts`, `createClient`, env vars, or generated bindings: read
47
- `03-sdk/01-client-setup.md` and `01-architect/02-manifest-codegen.md`.
48
- - Public landing pages or share URLs: read `02-database/03-data-access-patterns.md`,
49
- `03-sdk/02-entity-operations.md`, and `01-architect/02-manifest-codegen.md`.
50
- - File upload: read `03-sdk/05-file-upload.md`.
51
- - Raw HTTP escape hatch: read `03-sdk/06-raw-http.md`.
52
- - App-side AI action calls after `.howone/ai/manifest.json` exists: read
53
- `03-sdk/07-ai-action-calls.md` and `03-sdk/09-workflow-execute-sse.md`.
54
- - External workflow create/update/status: read `04-ai/05-workflow-operations.md`.
55
- - Common AI feature templates: read `04-ai/06-ai-feature-playbooks.md`.
56
-
57
- ## Reference Selection Protocol
58
-
59
- Before writing code, classify the touched surfaces:
60
-
61
- | Touched surface | Required references |
66
+ | File | Use for |
62
67
  |---|---|
63
- | New app, feature architecture, or uncertain data posture | `01-architect/01-app-generation.md` |
64
- | Entity/schema/access/index change | `02-database/01-schema-design.md`, `02-database/02-schema-operations.md` |
65
- | Existing synced manifest to TypeScript bindings | `01-architect/02-manifest-codegen.md` |
66
- | UI reads/writes entities | `03-sdk/01-client-setup.md`, `03-sdk/02-entity-operations.md` |
67
- | Public read/share flow | `02-database/03-data-access-patterns.md`, `03-sdk/02-entity-operations.md` |
68
- | Query filters/sort/pagination/response mapping | `02-database/04-query-dsl-and-responses.md` |
69
- | AI output persistence / generation history | `02-database/05-ai-persistence-patterns.md`, `04-ai/01-ai-capability-architecture.md` |
70
- | Auth/session/login behavior | `03-sdk/03-auth.md`, `03-sdk/04-react-integration.md` |
71
- | AI capability or workflow design | `04-ai/01-ai-capability-architecture.md`, `04-ai/04-service-capability-catalog.md`, `04-ai/02-workflow-contract-rules.md` |
72
- | External workflow create/update/status | `04-ai/05-workflow-operations.md` |
73
- | Common AI feature examples | `04-ai/06-ai-feature-playbooks.md` |
74
- | AI manifest handoff to app code | `04-ai/03-ai-sdk-handoff.md`, `03-sdk/07-ai-action-calls.md`, `03-sdk/09-workflow-execute-sse.md` |
75
- | File upload | `03-sdk/05-file-upload.md` |
76
- | Raw HTTP escape hatch | `03-sdk/06-raw-http.md` |
77
- | SDK extensibility / adapter boundaries | `03-sdk/08-extension-boundaries.md` |
78
-
79
- If a task spans multiple surfaces, read one reference from each surface before editing. Do not
80
- invent API parameters, response shapes, owner fields, workflow IDs, or output paths from memory.
81
-
82
- ## Core Workflow
83
-
84
- For app features that touch backend data:
85
-
86
- 1. Decide the data posture in the architect track: private user data, authenticated shared data,
87
- public list data, or public scoped share data.
88
- 2. Design or update the entity contract in the database track.
89
- 3. Use schema tools to preview/apply the same operations, then sync schema artifacts.
90
- 4. Read `.howone/database/manifest.json`.
91
- 5. Generate or update app SDK bindings from the manifest.
92
- 6. Implement frontend calls using the SDK track.
93
- 7. Validate with the app's typecheck/build.
94
-
95
- For app features that touch AI:
96
-
97
- 1. Decide the AI feature boundary in the AI track: one workflow per feature, except RAG uses
98
- indexing and query workflows.
99
- 2. Design or update the AI capability contract with `ai-capability-design`.
100
- 3. Preview/apply the same AI patch, then sync AI artifacts.
101
- 4. Submit external workflow create/update with `external-ai-capability`.
102
- 5. Preserve returned request IDs for the workflow status/background-task layer.
103
- 6. Read `.howone/ai/manifest.json`.
104
- 7. Generate or update app SDK bindings from the manifest.
105
- 8. Implement frontend calls using `howone.ai.*`.
106
- 9. If outputs are saved, map only durable product fields from the AI result into an entity schema,
107
- then follow the database workflow.
108
-
109
- For frontend-only SDK work:
110
-
111
- 1. Read existing `src/lib/sdk.ts`.
112
- 2. Read only the SDK reference for the touched surface.
113
- 3. Preserve existing generated bindings and import style.
114
- 4. Validate.
115
-
116
- ## Non-Negotiable Rules
117
-
118
- - Generate SDK bindings from synced manifests, not from memory.
119
- - Keep `.howone/` as manifest storage only; do not write generated source files there.
120
- - Configure `projectId` and `env` only in `createClient`. Auth APIs follow the same `env` (dev → `api.howone.dev`, not `api.howone.ai`).
121
- - Import `src/lib/sdk.ts` before any `@howone/sdk` auth call so environment is pinned.
122
- - Use `import.meta.env.VITE_HOWONE_PROJECT_ID` and `import.meta.env.VITE_HOWONE_ENV`; do not
123
- hardcode project IDs or add fallback env values.
124
- - For private user-owned data, authenticated APIs derive owner from JWT. Do not pass
125
- `created_by_id`, `created_by_user_id`, `createdById`, `ownerId`, or `puid`.
126
- - For `access.authenticated.read = "own"`, prefer `howone.entities.Entity.query.mine(...)`.
127
- - Public pages use `howone.public.entities.*` only when manifest access explicitly allows public
128
- reads or writes.
129
- - Default `createClient({ projectId, env })` uses **HowOne hosted login**. For a custom `/login` UI
130
- that still calls HowOne OTP/OAuth APIs, add `auth: 'custom'` and `HowOneProvider auth="none"`.
131
- - `HowOneProvider` may render the bottom-right HowOne `FloatingButton` logo by default. Do not remove
132
- it unless the user explicitly asks for `brand="hidden"` or `showBrandButton={false}`.
133
- - Do not add SDK-owned toast APIs, redirect overlays, or app-specific UI. Expose data, state, events,
134
- and callbacks; implement visible feedback in the generated frontend app.
135
- - SDK extensibility rule: default behavior must work without configuration, and custom behavior must
136
- enter through typed adapters/callbacks instead of hardcoded app UI or provider-specific branches.
137
- - AI workflows are implementation, not persistence. Never put CRUD, auth, upload handling, or app
138
- state management into the workflow capability contract.
139
- - For external workflow edits, pass `workflowConfigID` from a confirmed workflow status result; do
140
- not invent it or omit it.
141
- - If the user explicitly requires AI behavior that the available workflow service cannot support,
142
- stop that AI implementation path and report the unsupported requirement instead of faking,
143
- silently omitting, or replacing the AI capability with static behavior.
68
+ | `01-ai-capability-architecture.md` | Layers, boundaries, feature flow |
69
+ | `02-workflow-contract-rules.md` | Input/output JSON schemas for capabilities |
70
+ | `03-service-capability-catalog.md` | What the workflow service supports (feasibility) |
71
+ | `04-workflow-operations.md` | External workflow create/update/status |
72
+ | `05-ai-feature-playbooks.md` | Recurring product patterns |
73
+
74
+ ### `04-app-sdk/`
75
+
76
+ | File | Use for |
77
+ |---|---|
78
+ | `01-client-setup.md` | `createClient`, env, provider |
79
+ | `02-entity-operations.md` | `howone.entities` / public namespace |
80
+ | `03-auth.md` | Login, session, custom auth |
81
+ | `04-react-integration.md` | `HowOneProvider`, hooks |
82
+ | `05-file-upload.md` | Uploads |
83
+ | `06-raw-http.md` | Typed escape hatch |
84
+ | `07-ai-action-calls.md` | `howone.ai.*` runtime calls |
85
+ | `08-ai-manifest-handoff.md` | AI manifest `src/lib/sdk.ts` |
86
+ | `09-extension-boundaries.md` | Adapters, extension rules |
87
+ | `10-workflow-execute-sse.md` | Documented workflow status/streaming wire format |
88
+
89
+ ## Routing
90
+
91
+ All surface classification and minimum reads live in `01-architect/01-app-generation.md`. This
92
+ skill index lists files; architect decides which apply.
93
+
94
+ Mixed scope: read at least one file per touched track before writing.
95
+
96
+ ## Design order
97
+
98
+ ```text
99
+ architect → (optional) entity-schema and/or ai-capabilities → sync → app-sdk → UI
100
+ ```
101
+
102
+ Skip tracks the user did not require.
103
+
104
+ ## Rules
105
+
106
+ - When platform contracts apply: synced `{appRoot}/.howone/database/manifest.json` and/or
107
+ `{appRoot}/.howone/ai/manifest.json` plus tool results are source of truth.
108
+ - `.howone/` holds manifests only—not generated app source.
109
+ - Do not invent platform schemas, APIs, or identifiers absent from contracts/catalog/tools.
110
+ - Platform stop-loss: architect. User-owned external systems: integrate in app code.
@@ -1,4 +1,4 @@
1
1
  interface:
2
- display_name: "HowOne App Architecture"
3
- short_description: "Design HowOne database schemas, AI workflows, SDK bindings, auth, and app integration."
4
- default_prompt: "Use this skill to choose the right HowOne architecture track, then implement database schema, AI capability/workflow, SDK bindings, auth, or frontend SDK calls from synced manifests."
2
+ display_name: "HowOne"
3
+ short_description: "Generated app platform: scope-first architecture, optional entity schema, AI capabilities, and SDK integration from synced contracts."
4
+ default_prompt: "Load howone, read 01-architect/01-app-generation.md, then the smallest track files from SKILL.md for this request. Scope follows the user—not every app needs AI or backend."
@@ -69,8 +69,8 @@ Prefer failure-driven inspection over speculative context loading.
69
69
  ## HowOne Runtime and Auth
70
70
 
71
71
  - Use synced HowOne manifests plus `src/lib/sdk.ts` as the source of truth for generated entity and AI bindings.
72
- - Use the `howone-sdk` skill for HowOne app architecture, backend database schema design, manifest-to-SDK binding, and app-side SDK code.
73
- - Inside `howone-sdk`, read the smallest relevant numbered track: `01-architect/` for app flow, `02-database/` for schema/access/data design, and `03-sdk/` for frontend SDK/auth/entity calls.
72
+ - Use the `howone` skill: `skill(howone)` `SKILL.md` → `01-architect/01-app-generation.md` smallest track reads from the skill index. Scope follows the user request.
73
+ - Tracks: `01-architect/`, `02-entity-schema/`, `03-ai-capabilities/`, `04-app-sdk/` include only what the user needs.
74
74
  - Choose auth posture from the schema access contract, not from guesswork:
75
75
  - authenticated/private app data uses `howone.entities.*`; the backend derives ownership from the JWT
76
76
  - public pages use `howone.public.entities.*` only when the manifest explicitly allows public access
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 Hallmark contributors
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,147 +0,0 @@
1
- # Hallmark
2
-
3
- **A design skill for Claude Code, Cursor, and Codex that refuses to look AI-generated.**
4
-
5
- [Live demo →](https://www.usehallmark.com)  ·  twenty-two themes  ·  four verbs  ·  press `T` to cycle.
6
-
7
- Made by Together AI.
8
-
9
- <p align="center">
10
- <img src="site/OG-hallmark.png" alt="Hallmark — A design skill that refuses to look AI-generated" />
11
- </p>
12
-
13
- Hallmark encodes the anti-AI-slop consensus — typography, colour, layout, motion, microinteractions, structural variety — into one opinionated rule-set. It picks a macrostructure for the brief, dresses it in one of twenty-two themes, runs sixty-five slop-test gates plus a pre-emit self-critique before handing back, and refuses the on-distribution defaults every LLM was trained into.
14
-
15
- > **v1.0.0** — pre-emit critique on six axes, honest-copy enforcement, locked-token discipline, re-drawn-chrome ban, and a no-wrap rule for clickable text. Five new slop-test gates (56–60). The full rule-set lives in [`SKILL.md`](SKILL.md) and [`references/`](references/).
16
-
17
-
18
- ---
19
-
20
- ## What's distinct — quick map vs the field
21
-
22
- | | Hallmark | [frontend-design](https://github.com/anthropics/skills) (Anthropic) | [Open Design](https://github.com/nexu-io/open-design) | [Dembrandt](https://github.com/dembrandt/dembrandt) |
23
- | --- | --- | --- | --- | --- |
24
- | **Source of taste** | extracts DNA from a screenshot OR a URL (`study` verb) — image mode names roles + candidates; URL mode names exact fonts + tokens | art-director brief + ban list | menu of 72 brand presets (Linear, Stripe, Vercel, Notion…) | scrapes a live URL, emits computed tokens |
25
- | **Output unit** | macrostructure + theme + custom-craft, optional portable `design.md` | bans + brief framing | preset application | DTCG `tokens.json` |
26
- | **Refuses font ID** | image mode: yes — names role only; URL mode: names what the page declares | n/a | n/a | n/a (computes from CSS) |
27
- | **Refuses pixel-clone** | yes — DNA only, never pixels (both modes) | n/a | n/a | n/a (full token export) |
28
- | **Refuses third-party extraction** | yes — paid templates / competitors / unrelated sites auto-refused; `design.md` emission has a tighter layer with URL-mode attestation | n/a | n/a | n/a (extracts anything) |
29
- | **Tactile-rebellion alignment** | warm-paper, custom-craft, slopless canon | strong | medium | none — token-only |
30
- | **Pages by archetype** | 21 named macrostructures, picked per brief | by brief | 5 deterministic directions | n/a |
31
- | **Verbs** | 4 (default · `audit` · `redesign` · `study`) | 1 | 31 | 1 (CLI) |
32
-
33
- Hallmark's edge is **`study`** — every other tool ships a preset menu or a scraper. Hallmark is the only one that takes a screenshot *or* a URL of a design you admire, names what it sees (roles in image mode, exact fonts + tokens in URL mode), refuses paid-template-marketplace listings outright, and either rebuilds your content with the extracted DNA or emits a portable `design.md` you can hand to another AI tool — with a tighter refusal layer for the portable spec than for the diagnosis itself. Three worked study examples in [`docs/study-examples.md`](docs/study-examples.md).
34
-
35
- ---
36
-
37
- ## Four verbs
38
-
39
- | Verb | What it does |
40
- | --- | --- |
41
- | *(default)* | Build new UI. Asks for audience + use + tone (skippable — the skill states what it inferred). Picks a macrostructure, applies the rule-set, runs the slop test before handing back. |
42
- | `hallmark audit <target>` | Score existing code against the named anti-patterns + structural sameness. Punch list, no edits. |
43
- | `hallmark redesign <target> [--mood <name>]` | Throw out the structure, keep copy + IA + brand, rebuild with a deliberately different fingerprint. |
44
- | **`hallmark study <screenshot \| URL>`** | The differentiator. Extract the **DNA** from a design the user admires — macrostructure, archetypes, type-pairing, colour anchor — and produce a diagnosis report. Accepts either an attached screenshot or a URL to a live page. After the diagnosis the user can optionally rebuild *their* content using the extracted DNA, **or** lock the DNA into a portable `design.md` other AI tools (Cursor, v0, Bolt) can read directly. **URL mode** reads HTML / CSS via WebFetch — names exact fonts and exact colour values, can't judge rhythm, and falls back to asking for a screenshot if the page is auth-walled or a JS-only shell. **Refuses paid templates and competitor pages. Image mode names font roles (never font IDs); URL mode names actual fonts (the page declares them). Never copies pixels. `design.md` emission has a tighter refusal layer than the diagnosis itself — URL-mode emission asks the user to attest the source is theirs or a public reference for their own brand.** |
45
-
46
- ---
47
-
48
- ## Different briefs, different shapes
49
-
50
- A handful of examples below — each generated by exercising the skill on a different brief. The skill picks differently for every prompt; no two share a macrostructure or theme.
51
-
52
- <table>
53
- <tr>
54
- <td width="25%"><a href="https://www.usehallmark.com/examples/tally/"><img src="docs/screenshots/hero-tally.jpg" alt="Tally — SaaS product page hero" /></a></td>
55
- <td width="25%"><a href="https://www.usehallmark.com/examples/wayfare/"><img src="docs/screenshots/hero-wayfare.jpg" alt="Wayfare travel booking hero" /></a></td>
56
- <td width="25%"><a href="https://www.usehallmark.com/_tests/09-slow-pour/"><img src="docs/screenshots/hero-slow-pour.jpg" alt="Slow Pour coffee subscription hero" /></a></td>
57
- <td width="25%"><a href="https://www.usehallmark.com/examples/bananastudio/"><img src="docs/screenshots/hero-bananastudio.jpg" alt="BananaStudio creative studio hero" /></a></td>
58
- </tr>
59
- <tr>
60
- <td><b>Tally</b><br/><sub>SaaS product page · modern-minimal</sub></td>
61
- <td><b>Wayfare</b><br/><sub>Travel booking · atmospheric</sub></td>
62
- <td><b>Slow Pour</b><br/><sub>Small-batch coffee subscription</sub></td>
63
- <td><b>BananaStudio</b><br/><sub>Creative studio · playful motion</sub></td>
64
- </tr>
65
- <tr>
66
- <td><a href="https://www.usehallmark.com/_tests/06-anya-portfolio/"><img src="docs/screenshots/hero-anya.jpg" alt="Anya Reis personal site hero" /></a></td>
67
- <td><a href="https://www.usehallmark.com/examples/najm/"><img src="docs/screenshots/hero-najm.jpg" alt="NAJM Moroccan fashion brand hero" /></a></td>
68
- <td><a href="https://www.usehallmark.com/_tests/11-soroe-ceramics/"><img src="docs/screenshots/hero-soroe.jpg" alt="Søroe ceramics studio hero" /></a></td>
69
- <td><a href="https://www.usehallmark.com/examples/hyperlane/"><img src="docs/screenshots/hero-hyperlane.jpg" alt="Hyperlane developer infrastructure hero" /></a></td>
70
- </tr>
71
- <tr>
72
- <td><b>Anya Reis</b><br/><sub>Software architect personal site</sub></td>
73
- <td><b>NAJM</b><br/><sub>Moroccan fashion brand</sub></td>
74
- <td><b>Søroe</b><br/><sub>Small ceramics studio</sub></td>
75
- <td><b>Hyperlane</b><br/><sub>Developer infrastructure</sub></td>
76
- </tr>
77
- </table>
78
-
79
- Each page is its own self-contained HTML + CSS — no shared theme, no shared layout. Every one carries a `/* Hallmark · macrostructure: … */` stamp at the top of its CSS. See the full set under [`site/_tests/`](site/_tests/) or live at [www.usehallmark.com](https://www.usehallmark.com).
80
-
81
- ---
82
-
83
- ## What's inside
84
-
85
- - **[`SKILL.md`](SKILL.md)** — the routing file. Six-step design flow (including `Step 2.5 · Check project memory` reading `.hallmark/log.json`), 65-gate slop test, output contract, always-on `tokens.css` export.
86
- - **[`references/`](references/)** — short, opinionated rule files: typography, colour, layout, motion, microinteractions, interaction-and-states (with the input-state checklist), responsive, copy, anti-patterns, the 21 named macrostructures, the **40 component archetypes** with variation knobs (9 hero · 6 feature · 4 CTA · 4 testimonial · **8 footer · 9 nav**), the **4 hero polish patterns** (in `hero-enrichment.md`), the 6 primitive structure axes, the vision-extraction protocol for `study`, hero enrichment, custom-craft (CSS art over Lottie), assets, the slop-test gates, four genre rule-overlays (each with nav + footer voice routing), per-verb dispatchers, and the export-formats reference (Tailwind / DTCG / shadcn / tokens.css).
87
- - **[`docs/`](docs/)** — human-reading content: **[`recipes.md`](docs/recipes.md)** (8 worked briefs + a canonical try-it prompt) and **[`study-examples.md`](docs/study-examples.md)** (3 worked DNA-extractions). Not auto-loaded by the skill.
88
- - **[`site/`](site/)** — a self-demonstrating landing page. Hand-written HTML + CSS + ES module, no framework, no build step. **Twenty-two themes** clustered into four genres: **editorial** (Specimen, Editorial, Atelier, Newsprint, Salon, Linen, Almanac, Garden, Studio, Sport, Riso, Brutal, Manifesto), **modern-minimal** (Quiet, Coral, Violet), **atmospheric** (Midnight, Terminal, Bloom, Aurora, Halo), **playful** (Plume). Switching themes literally rebuilds the page — different hero archetype, different footer archetype, different nav archetype.
89
-
90
- ---
91
-
92
- ## What's distinct (the long list)
93
-
94
- - **One skill, four verbs.** Not eighteen commands.
95
- - **Genres broaden the range.** Hallmark routes a brief through one of four genres before picking a theme: **editorial** (default · the canonical anti-slop voice), **modern-minimal** (Stripe / Linear / ElevenLabs school), **atmospheric** (Suno / Runway / dark-AI-tool school), **playful** (post-Linear soft school). Each genre is its own rule overlay — atmospheric allows radial blooms; modern-minimal allows pure white and pill CTAs; editorial bans both. Detection is signal-based, silent default to editorial.
96
- - **Tone is a first-class decision.** "Clean and modern" is rejected. Pick an extreme — *editorial · brutalist · soft · technical · luxury · playful · austere*.
97
- - **Macrostructures over axes.** Pick one of 21 named whole-page shapes wholesale; the macrostructure stamp lives in the CSS comment, so the next Hallmark run picks something different.
98
- - **Within-archetype variation.** Two Bento Grids should not be twins; each archetype has 2–3 picked-per-output knobs.
99
- - **Microinteractions as discipline.** Silent success over celebratory toasts. Optimistic update + Undo over confirm dialogs. Hover delay 800 ms, focus delay 0 ms.
100
- - **A 65-gate slop test** runs before every output. One yes fails the build. Recent additions: typography discipline gates (39–40: max three font families per page, outlier face used in ≤ 2 slots), input-state gates (41–45: no border-width layout shift, focus ring via outline not border, input height matches button height, helper-text slot reserves height, disabled state needs three independent signals), contrast gates (46–50: APCA / WCAG thresholds, accent-ink token requirement, dark-section ink-on-ink check), **nav · footer · hero structural gates (51–55: AI nav fingerprint, AI footer fingerprint, hero centred-everything, hero padding asymmetry, decorative-without-purpose)**, **honest-copy + chrome + token + responsive gates (56–60: invented metrics, re-drawn UI chrome, mid-render token improvisation, two-line clickable text, emoji-as-feature-icon)**, and **layout-safety gates (61–65: 1fr image-track overflow, missing `overflow-x: clip`, display-header word-break, theme section-head mobile collapse, CSS-only radio tabs scroll-jumping)**.
101
- - **Project memory.** A per-project `.hallmark/log.json` records each run's macrostructure + theme + enrichment + brief summary. The skill reads the last 3–5 entries before picking and writes a new entry after each build, so consecutive Hallmark outputs in the same project don't repeat shapes or themes.
102
- - **Theme-diversification rule.** Two consecutive themes must differ on at least one of three axes: paper band (dark / mid / light), display style (italic-serif / roman-serif / geometric-sans / mono / display-heavy / system-native), accent hue (warm / cool / neutral / chromatic-other).
103
- - **Voice fixtures over LLM defaults.** Each of the 21 macrostructures ships with 2–3 example opening lines tuned to its tone. "Built for the modern team" is in the banned-phrases list.
104
- - **Hero enrichment is opt-in.** A typographic-only hero is always acceptable. When enrichment is right, the skill picks from a six-tier hierarchy: typography only → custom-built CSS art → hand-built SVG → generated illustration (Nanobanana / Recraft) → library → Lottie (last resort).
105
- - **Microinteractions default-on for SaaS-shaped archetypes.** Bento Grid, Stat-Led, Workbench, Marquee Hero pages ship with 2–3 purposeful microinteractions (number reveal, pricing lift, marquee, stagger) without the user having to ask. Editorial / Manifesto / Letter / Quote-Led pages stay still.
106
- - **SaaS page sequence.** Hero → social proof → features → testimonials → pricing → FAQ → CTA → footer. Real prices, not "contact sales for pricing." Specific testimonials with role + company.
107
- - **Wordmark may use a different display face.** A Geist-bodied SaaS page can set its wordmark in Fraunces. Same-family collapse on Bento / Stat-Led / Workbench / Marquee Hero is the new "un-branded" tell.
108
- - **`study` extracts DNA, not pixels.** Refusal heuristics, type-role vocabulary (no font ID guessing in image mode), confirmation step before any code. Accepts a screenshot *or* a URL — URL mode reads HTML / CSS via WebFetch and names exact fonts + exact tokens (trades the rhythm pass for accuracy on everything else), with a graceful screenshot fallback when the URL is auth-walled or a JS-only shell. Three worked examples in [`docs/study-examples.md`](docs/study-examples.md).
109
- - **Opt-in `design.md` lock-the-system flow — two entry points.** Iterate freely on the first builds; when the system is settled, say *"lock the system"* (or *"give me a design.md"*) and Hallmark extracts the build's tokens + voice into a portable design system at the project root. **Or**, after a `study` diagnosis, say *"lock the DNA"* and Hallmark emits the same `design.md` format seeded from the studied source — URL mode populates exact tokens + fonts; image mode populates estimated bands + candidate fonts. From that point on every Hallmark run defers to the file, the diversification rule inverts to consistency, and the file becomes the single source of truth for scaling the design across a real app. The study-mode emission carries a tighter refusal layer than the diagnosis itself — third-party URLs require user attestation (your own site / public reference for your own brand), competitors and paid templates are auto-refused. Phrase-triggered from either entry point, never auto-emitted. See [`references/design-md.md`](references/design-md.md).
110
-
111
- ---
112
-
113
- ## Install
114
-
115
- ```
116
- npx skills add nutlope/hallmark
117
- ```
118
-
119
- Or copy [`SKILL.md`](SKILL.md) + [`references/`](references/) into one of:
120
-
121
- - **Claude Code** — `~/.claude/skills/hallmark/`
122
- - **Cursor** — `.cursor/rules/hallmark.mdc` (body of `SKILL.md`, no frontmatter)
123
- - **Codex** — `~/.codex/skills/hallmark/` (personal, all projects) or `.codex/skills/hallmark/` (project-scoped, commit to repo)
124
-
125
- ## Updating
126
-
127
- ```
128
- npx skills add nutlope/hallmark
129
- ```
130
-
131
- Re-run any time to pull the latest. If the CLI complains the skill already exists, delete the install path first (`~/.claude/skills/hallmark/` on Claude Code, or `.agents/skills/hallmark/` if you ran `skills add` from a project directory) and re-run.
132
-
133
- To preview the landing page locally:
134
-
135
- ```
136
- cd site && python3 -m http.server 4173 # → http://localhost:4173
137
- ```
138
-
139
- Press `T` to cycle themes, the **shuffle button** (or `R`) to randomise, `?theme=studio` for a shareable link.
140
-
141
- Or visit the live deploy at **[www.usehallmark.com](https://www.usehallmark.com)**.
142
-
143
- ---
144
-
145
- ## Licence
146
-
147
- MIT. Use it, fork it, ship it.