@jaimevalasek/aioson 1.3.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. package/CHANGELOG.md +31 -1
  2. package/LICENSE +661 -21
  3. package/README.md +22 -3
  4. package/docs/en/squad-dashboard.md +372 -0
  5. package/docs/openclaw-bridge.md +308 -0
  6. package/docs/pt/README.md +62 -2
  7. package/docs/pt/advisor-spec.md +5 -5
  8. package/docs/pt/agentes-customizados.md +670 -0
  9. package/docs/pt/agentes.md +235 -23
  10. package/docs/pt/automacao-squads.md +407 -0
  11. package/docs/pt/cenarios.md +49 -5
  12. package/docs/pt/clientes-ai.md +62 -0
  13. package/docs/pt/comandos-cli.md +226 -17
  14. package/docs/pt/deyvin.md +115 -0
  15. package/docs/pt/genome-3.0-spec.md +11 -11
  16. package/docs/pt/inicio-rapido.md +63 -2
  17. package/docs/pt/memoria-contexto.md +255 -0
  18. package/docs/pt/output-strategy-delivery.md +655 -0
  19. package/docs/pt/profiler-system.md +17 -17
  20. package/docs/pt/runtime-observability.md +5 -1
  21. package/docs/pt/skills.md +175 -0
  22. package/docs/pt/squad-dashboard.md +373 -0
  23. package/docs/pt/{squad-genoma.md → squad-genome.md} +81 -75
  24. package/docs/testing/genome-2.0-matrix.md +5 -5
  25. package/docs/testing/genome-2.0-rollout.md +10 -10
  26. package/package.json +4 -4
  27. package/src/agents.js +21 -5
  28. package/src/backup-local.js +74 -0
  29. package/src/backup-provider.js +303 -0
  30. package/src/cli.js +276 -2
  31. package/src/commands/agents.js +22 -4
  32. package/src/commands/backup-local-cmd.js +25 -0
  33. package/src/commands/backup.js +533 -0
  34. package/src/commands/cloud.js +17 -17
  35. package/src/commands/context-pack.js +45 -0
  36. package/src/commands/implementation-plan.js +340 -0
  37. package/src/commands/learning.js +134 -0
  38. package/src/commands/live.js +1583 -0
  39. package/src/commands/runtime.js +1075 -2
  40. package/src/commands/scan-project.js +288 -24
  41. package/src/commands/setup-context.js +30 -2
  42. package/src/commands/skill.js +558 -0
  43. package/src/commands/squad-agent-create.js +788 -0
  44. package/src/commands/squad-daemon.js +209 -0
  45. package/src/commands/squad-dashboard.js +39 -0
  46. package/src/commands/squad-deploy.js +64 -0
  47. package/src/commands/squad-doctor.js +103 -1
  48. package/src/commands/squad-investigate.js +261 -0
  49. package/src/commands/squad-learning.js +209 -0
  50. package/src/commands/squad-mcp.js +270 -0
  51. package/src/commands/squad-pipeline.js +247 -1
  52. package/src/commands/squad-plan.js +329 -0
  53. package/src/commands/squad-processes.js +56 -0
  54. package/src/commands/squad-recovery.js +42 -0
  55. package/src/commands/squad-roi.js +291 -0
  56. package/src/commands/squad-score.js +250 -0
  57. package/src/commands/squad-status.js +38 -2
  58. package/src/commands/squad-validate.js +118 -1
  59. package/src/commands/squad-webhook.js +160 -0
  60. package/src/commands/squad-worker.js +191 -0
  61. package/src/commands/squad-worktrees.js +75 -0
  62. package/src/commands/test-agents.js +6 -1
  63. package/src/commands/web-map.js +70 -0
  64. package/src/commands/web-scrape.js +71 -0
  65. package/src/commands/workflow-next.js +8 -1
  66. package/src/commands/workflow-status.js +250 -0
  67. package/src/constants.js +88 -16
  68. package/src/context-memory.js +837 -0
  69. package/src/context-writer.js +47 -1
  70. package/src/delivery-runner.js +319 -0
  71. package/src/genome-files.js +1 -1
  72. package/src/genome-format.js +1 -1
  73. package/src/i18n/messages/en.js +333 -8
  74. package/src/i18n/messages/es.js +240 -6
  75. package/src/i18n/messages/fr.js +239 -5
  76. package/src/i18n/messages/pt-BR.js +330 -12
  77. package/src/installer.js +30 -2
  78. package/src/lib/genomes/compat.js +1 -1
  79. package/src/lib/webhook-server.js +328 -0
  80. package/src/mcp-connectors/registry.js +602 -0
  81. package/src/runtime-store.js +1037 -42
  82. package/src/session-handoff.js +77 -0
  83. package/src/squad/external-session.js +180 -0
  84. package/src/squad/inter-squad.js +74 -0
  85. package/src/squad/recovery-context.js +201 -0
  86. package/src/squad/worktree-manager.js +114 -0
  87. package/src/squad-daemon.js +490 -0
  88. package/src/squad-dashboard/api.js +223 -0
  89. package/src/squad-dashboard/attachment-handler.js +93 -0
  90. package/src/squad-dashboard/context-monitor.js +157 -0
  91. package/src/squad-dashboard/execution-logs.js +115 -0
  92. package/src/squad-dashboard/hunk-review.js +209 -0
  93. package/src/squad-dashboard/metrics.js +133 -0
  94. package/src/squad-dashboard/process-monitor.js +125 -0
  95. package/src/squad-dashboard/renderer.js +858 -0
  96. package/src/squad-dashboard/server.js +232 -0
  97. package/src/squad-dashboard/styles.js +525 -0
  98. package/src/squad-dashboard/token-tracker.js +99 -0
  99. package/src/web.js +284 -0
  100. package/src/worker-runner.js +339 -0
  101. package/template/.aioson/agents/analyst.md +40 -9
  102. package/template/.aioson/agents/architect.md +24 -5
  103. package/template/.aioson/agents/dev.md +254 -25
  104. package/template/.aioson/agents/deyvin.md +174 -0
  105. package/template/.aioson/agents/discovery-design-doc.md +25 -1
  106. package/template/.aioson/agents/{genoma.md → genome.md} +20 -20
  107. package/template/.aioson/agents/neo.md +152 -0
  108. package/template/.aioson/agents/orache.md +388 -0
  109. package/template/.aioson/agents/orchestrator.md +63 -2
  110. package/template/.aioson/agents/pair.md +5 -0
  111. package/template/.aioson/agents/pm.md +17 -5
  112. package/template/.aioson/agents/product.md +113 -29
  113. package/template/.aioson/agents/profiler-enricher.md +1 -1
  114. package/template/.aioson/agents/profiler-forge.md +9 -9
  115. package/template/.aioson/agents/profiler-researcher.md +1 -1
  116. package/template/.aioson/agents/qa.md +18 -5
  117. package/template/.aioson/agents/setup.md +138 -18
  118. package/template/.aioson/agents/sheldon.md +603 -0
  119. package/template/.aioson/agents/squad.md +866 -28
  120. package/template/.aioson/agents/tester.md +254 -0
  121. package/template/.aioson/agents/ux-ui.md +289 -34
  122. package/template/.aioson/config.md +181 -0
  123. package/template/.aioson/context/spec.md.template +17 -0
  124. package/template/.aioson/genomes/.gitkeep +0 -0
  125. package/template/.aioson/installed-skills/.gitkeep +0 -0
  126. package/template/.aioson/locales/en/agents/analyst.md +34 -4
  127. package/template/.aioson/locales/en/agents/architect.md +18 -0
  128. package/template/.aioson/locales/en/agents/dev.md +155 -11
  129. package/template/.aioson/locales/en/agents/deyvin.md +137 -0
  130. package/template/.aioson/locales/en/agents/{genoma.md → genome.md} +14 -14
  131. package/template/.aioson/locales/en/agents/neo.md +8 -0
  132. package/template/.aioson/locales/en/agents/orchestrator.md +62 -2
  133. package/template/.aioson/locales/en/agents/pair.md +5 -0
  134. package/template/.aioson/locales/en/agents/pm.md +7 -0
  135. package/template/.aioson/locales/en/agents/product.md +35 -17
  136. package/template/.aioson/locales/en/agents/qa.md +56 -0
  137. package/template/.aioson/locales/en/agents/setup.md +53 -6
  138. package/template/.aioson/locales/en/agents/sheldon.md +340 -0
  139. package/template/.aioson/locales/en/agents/squad.md +203 -15
  140. package/template/.aioson/locales/en/agents/ux-ui.md +383 -35
  141. package/template/.aioson/locales/es/agents/analyst.md +24 -4
  142. package/template/.aioson/locales/es/agents/architect.md +18 -0
  143. package/template/.aioson/locales/es/agents/dev.md +136 -9
  144. package/template/.aioson/locales/es/agents/deyvin.md +97 -0
  145. package/template/.aioson/locales/es/agents/{genoma.md → genome.md} +13 -13
  146. package/template/.aioson/locales/es/agents/neo.md +48 -0
  147. package/template/.aioson/locales/es/agents/orache.md +103 -0
  148. package/template/.aioson/locales/es/agents/orchestrator.md +62 -2
  149. package/template/.aioson/locales/es/agents/pair.md +5 -0
  150. package/template/.aioson/locales/es/agents/pm.md +7 -0
  151. package/template/.aioson/locales/es/agents/product.md +13 -3
  152. package/template/.aioson/locales/es/agents/qa.md +33 -0
  153. package/template/.aioson/locales/es/agents/setup.md +30 -6
  154. package/template/.aioson/locales/es/agents/sheldon.md +192 -0
  155. package/template/.aioson/locales/es/agents/squad.md +284 -15
  156. package/template/.aioson/locales/es/agents/ux-ui.md +34 -25
  157. package/template/.aioson/locales/fr/agents/analyst.md +24 -4
  158. package/template/.aioson/locales/fr/agents/architect.md +18 -0
  159. package/template/.aioson/locales/fr/agents/dev.md +136 -9
  160. package/template/.aioson/locales/fr/agents/deyvin.md +97 -0
  161. package/template/.aioson/locales/fr/agents/{genoma.md → genome.md} +7 -7
  162. package/template/.aioson/locales/fr/agents/neo.md +48 -0
  163. package/template/.aioson/locales/fr/agents/orache.md +104 -0
  164. package/template/.aioson/locales/fr/agents/orchestrator.md +62 -2
  165. package/template/.aioson/locales/fr/agents/pair.md +5 -0
  166. package/template/.aioson/locales/fr/agents/pm.md +7 -0
  167. package/template/.aioson/locales/fr/agents/product.md +13 -3
  168. package/template/.aioson/locales/fr/agents/qa.md +33 -0
  169. package/template/.aioson/locales/fr/agents/setup.md +30 -6
  170. package/template/.aioson/locales/fr/agents/sheldon.md +192 -0
  171. package/template/.aioson/locales/fr/agents/squad.md +279 -10
  172. package/template/.aioson/locales/fr/agents/ux-ui.md +34 -25
  173. package/template/.aioson/locales/pt-BR/agents/analyst.md +45 -4
  174. package/template/.aioson/locales/pt-BR/agents/architect.md +29 -0
  175. package/template/.aioson/locales/pt-BR/agents/dev.md +167 -15
  176. package/template/.aioson/locales/pt-BR/agents/deyvin.md +137 -0
  177. package/template/.aioson/locales/pt-BR/agents/{genoma.md → genome.md} +49 -49
  178. package/template/.aioson/locales/pt-BR/agents/neo.md +147 -0
  179. package/template/.aioson/locales/pt-BR/agents/orache.md +137 -0
  180. package/template/.aioson/locales/pt-BR/agents/orchestrator.md +62 -2
  181. package/template/.aioson/locales/pt-BR/agents/pair.md +5 -0
  182. package/template/.aioson/locales/pt-BR/agents/pm.md +7 -0
  183. package/template/.aioson/locales/pt-BR/agents/product.md +43 -20
  184. package/template/.aioson/locales/pt-BR/agents/qa.md +67 -0
  185. package/template/.aioson/locales/pt-BR/agents/setup.md +53 -6
  186. package/template/.aioson/locales/pt-BR/agents/sheldon.md +192 -0
  187. package/template/.aioson/locales/pt-BR/agents/squad.md +591 -47
  188. package/template/.aioson/locales/pt-BR/agents/ux-ui.md +369 -22
  189. package/template/.aioson/my-agents/.gitkeep +0 -0
  190. package/template/.aioson/rules/.gitkeep +0 -0
  191. package/template/.aioson/rules/squad/.gitkeep +0 -0
  192. package/template/.aioson/rules/squad/README.md +50 -0
  193. package/template/.aioson/schemas/genome-meta.schema.json +1 -1
  194. package/template/.aioson/schemas/genome.schema.json +1 -1
  195. package/template/.aioson/schemas/squad-blueprint.schema.json +32 -0
  196. package/template/.aioson/schemas/squad-manifest.schema.json +434 -1
  197. package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +205 -0
  198. package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -0
  199. package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -0
  200. package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -0
  201. package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -0
  202. package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -0
  203. package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -0
  204. package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -0
  205. package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +210 -0
  206. package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -0
  207. package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -0
  208. package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -0
  209. package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -0
  210. package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -0
  211. package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -0
  212. package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -0
  213. package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +203 -0
  214. package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -0
  215. package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +407 -0
  216. package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +272 -0
  217. package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +524 -0
  218. package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +277 -0
  219. package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +289 -0
  220. package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +437 -0
  221. package/template/.aioson/skills/design/interface-design/SKILL.md +47 -0
  222. package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -0
  223. package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -0
  224. package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +71 -0
  225. package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -0
  226. package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -0
  227. package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +62 -0
  228. package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -0
  229. package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -0
  230. package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -0
  231. package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -0
  232. package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +209 -0
  233. package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -0
  234. package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -0
  235. package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -0
  236. package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -0
  237. package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -0
  238. package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -0
  239. package/template/.aioson/skills/design/warm-craft-ui/references/websites.md +289 -0
  240. package/template/.aioson/skills/design-system/SKILL.md +92 -0
  241. package/template/.aioson/skills/design-system/cognitive-core-ui.skill +0 -0
  242. package/template/.aioson/skills/design-system/components/SKILL.md +274 -0
  243. package/template/.aioson/skills/design-system/components/SKILL.md:Zone.Identifier +0 -0
  244. package/template/.aioson/skills/design-system/dashboards/SKILL.md +184 -0
  245. package/template/.aioson/skills/design-system/dashboards/SKILL.md:Zone.Identifier +0 -0
  246. package/template/.aioson/skills/design-system/foundations/SKILL.md +250 -0
  247. package/template/.aioson/skills/design-system/foundations/SKILL.md:Zone.Identifier +0 -0
  248. package/template/.aioson/skills/design-system/motion/SKILL.md +197 -0
  249. package/template/.aioson/skills/design-system/motion/SKILL.md:Zone.Identifier +0 -0
  250. package/template/.aioson/skills/design-system/patterns/SKILL.md +231 -0
  251. package/template/.aioson/skills/design-system/patterns/SKILL.md:Zone.Identifier +0 -0
  252. package/template/.aioson/skills/premium-visual-design/SKILL.md +83 -0
  253. package/template/.aioson/skills/premium-visual-design/components/agent-badge.md +92 -0
  254. package/template/.aioson/skills/premium-visual-design/components/dependency-node.md +102 -0
  255. package/template/.aioson/skills/premium-visual-design/components/mention-autocomplete.md +136 -0
  256. package/template/.aioson/skills/premium-visual-design/components/notification-center.md +136 -0
  257. package/template/.aioson/skills/premium-visual-design/components/review-action-bar.md +188 -0
  258. package/template/.aioson/skills/premium-visual-design/components/team-switcher.md +131 -0
  259. package/template/.aioson/skills/premium-visual-design/patterns/agent-message-thread.md +198 -0
  260. package/template/.aioson/skills/premium-visual-design/patterns/notification-panel.md +275 -0
  261. package/template/.aioson/skills/premium-visual-design/patterns/review-workflow-ui.md +234 -0
  262. package/template/.aioson/skills/premium-visual-design/patterns/task-dependency-graph.md +147 -0
  263. package/template/.aioson/skills/premium-visual-design/tokens/status-extended.md +142 -0
  264. package/template/.aioson/skills/squad/SKILL.md +58 -0
  265. package/template/.aioson/skills/squad/domains/.gitkeep +0 -0
  266. package/template/.aioson/skills/squad/formats/.gitkeep +0 -0
  267. package/template/.aioson/skills/squad/formats/catalog.json +15 -0
  268. package/template/.aioson/skills/squad/formats/content/blog-post.md +47 -0
  269. package/template/.aioson/skills/squad/formats/content/newsletter.md +47 -0
  270. package/template/.aioson/skills/squad/formats/creative/podcast-script.md +43 -0
  271. package/template/.aioson/skills/squad/formats/creative/video-script.md +41 -0
  272. package/template/.aioson/skills/squad/formats/social/instagram-feed.md +42 -0
  273. package/template/.aioson/skills/squad/formats/social/linkedin-post.md +42 -0
  274. package/template/.aioson/skills/squad/formats/social/tiktok.md +39 -0
  275. package/template/.aioson/skills/squad/formats/social/twitter-thread.md +39 -0
  276. package/template/.aioson/skills/squad/formats/social/youtube-long.md +47 -0
  277. package/template/.aioson/skills/squad/formats/social/youtube-shorts.md +39 -0
  278. package/template/.aioson/skills/squad/patterns/.gitkeep +0 -0
  279. package/template/.aioson/skills/squad/patterns/multi-platform-pattern.md +108 -0
  280. package/template/.aioson/skills/squad/patterns/persona-based-pattern.md +98 -0
  281. package/template/.aioson/skills/squad/patterns/pipeline-pattern.md +106 -0
  282. package/template/.aioson/skills/squad/patterns/review-loop-pattern.md +81 -0
  283. package/template/.aioson/skills/squad/references/.gitkeep +0 -0
  284. package/template/.aioson/skills/squad/references/checklist-templates.md +122 -0
  285. package/template/.aioson/skills/squad/references/executor-archetypes.md +123 -0
  286. package/template/.aioson/skills/squad/references/workflow-templates.md +169 -0
  287. package/template/.aioson/skills/static/debugging-protocol.md +42 -0
  288. package/template/.aioson/skills/static/git-worktrees.md +36 -0
  289. package/template/.aioson/tasks/implementation-plan.md +307 -0
  290. package/template/.aioson/tasks/squad-create.md +1 -1
  291. package/template/.aioson/tasks/squad-design.md +28 -0
  292. package/template/.aioson/tasks/squad-execution-plan.md +279 -0
  293. package/template/.aioson/tasks/squad-export.md +1 -1
  294. package/template/.aioson/tasks/squad-investigate.md +44 -0
  295. package/template/.aioson/tasks/squad-learning-review.md +44 -0
  296. package/template/.aioson/tasks/squad-output-config.md +177 -0
  297. package/template/.aioson/tasks/squad-profile.md +48 -0
  298. package/template/.aioson/tasks/squad-review.md +61 -0
  299. package/template/.aioson/tasks/squad-task-decompose.md +66 -0
  300. package/template/.aioson/tasks/squad-validate.md +1 -1
  301. package/template/.claude/commands/aioson/agent/deyvin.md +5 -0
  302. package/template/.claude/commands/aioson/agent/discovery-design-doc.md +5 -0
  303. package/template/.claude/commands/aioson/agent/genome.md +5 -0
  304. package/template/.claude/commands/aioson/agent/neo.md +5 -0
  305. package/template/.claude/commands/aioson/agent/product.md +5 -0
  306. package/template/.claude/commands/aioson/agent/profiler-enricher.md +5 -0
  307. package/template/.claude/commands/aioson/agent/profiler-forge.md +5 -0
  308. package/template/.claude/commands/aioson/agent/profiler-researcher.md +5 -0
  309. package/template/.claude/commands/aioson/agent/squad.md +5 -0
  310. package/template/.claude/commands/aioson/agent/tester.md +5 -0
  311. package/template/.gemini/GEMINI.md +3 -0
  312. package/template/.gemini/commands/aios-deyvin.toml +6 -0
  313. package/template/.gemini/commands/aios-neo.toml +4 -0
  314. package/template/.gemini/commands/aios-pair.toml +6 -0
  315. package/template/.gemini/commands/aios-tester.toml +6 -0
  316. package/template/AGENTS.md +37 -6
  317. package/template/CLAUDE.md +34 -4
  318. package/template/OPENCODE.md +8 -2
  319. package/template/squad-searches/.gitkeep +0 -0
  320. package/template/.aioson/skills/static/interface-design.md +0 -372
  321. package/template/.aioson/skills/static/premium-command-center-ui.md +0 -190
  322. /package/template/.aioson/{genomas → docs}/.gitkeep +0 -0
  323. /package/template/.claude/commands/aioson/{analyst.md → agent/analyst.md} +0 -0
  324. /package/template/.claude/commands/aioson/{architect.md → agent/architect.md} +0 -0
  325. /package/template/.claude/commands/aioson/{dev.md → agent/dev.md} +0 -0
  326. /package/template/.claude/commands/aioson/{orchestrator.md → agent/orchestrator.md} +0 -0
  327. /package/template/.claude/commands/aioson/{pm.md → agent/pm.md} +0 -0
  328. /package/template/.claude/commands/aioson/{qa.md → agent/qa.md} +0 -0
  329. /package/template/.claude/commands/aioson/{setup.md → agent/setup.md} +0 -0
  330. /package/template/.claude/commands/aioson/{ux-ui.md → agent/ux-ui.md} +0 -0
@@ -0,0 +1,205 @@
1
+ ---
2
+ name: bold-editorial-ui
3
+ description: Bold Editorial UI is a design system for high-impact, typographically-driven interfaces inspired by premium editorial design, fashion magazines, and creative agency portfolios. Use it when `design_skill: bold-editorial-ui` is set in project.context.md OR when the user explicitly asks for "bold", "editorial", "dramatic typography", "magazine style", "Stripe-like", "Vercel-like", "premium marketing", "cinematic", "agency portfolio", or similar. Ideal for landing pages, product marketing, creative portfolios, SaaS marketing sites, and any product where visual impact and storytelling matter more than density. Supports websites, landing pages, and apps — dark by default with a light variant. Do NOT use this skill unless explicitly selected.
4
+ ---
5
+
6
+ # Bold Editorial UI
7
+
8
+ A design system where **typography is the architecture and contrast is the material**. Bold Editorial sits at the intersection of premium magazine design and modern digital craft — interfaces that feel authored, cinematic, and unforgettable.
9
+
10
+ **This is one visual system.** Never combine it with another design skill.
11
+
12
+ ## Package structure
13
+
14
+ ```text
15
+ .aioson/skills/design/bold-editorial-ui/
16
+ SKILL.md <- you are here (load this first)
17
+ references/
18
+ art-direction.md <- intent, expression modes, signature moves, anti-generic tests
19
+ design-tokens.md <- CSS variables dark + light, typography, token guardrails
20
+ components.md <- All reusable components (display headings, buttons, cards, inputs, etc.)
21
+ patterns.md <- Page layouts: app shell, marketing, documentation, dashboard, auth
22
+ dashboards.md <- Dashboard presets: marketing, developer, analytics, content, executive
23
+ websites.md <- Landing page, product page layouts + hero patterns + anti-patterns
24
+ motion.md <- Animations: cinematic entrances, scroll-driven, hover, page transitions
25
+ ```
26
+
27
+ ## Activation rules
28
+
29
+ - Apply this package **only** when `project.context.md` contains `design_skill: "bold-editorial-ui"` or the user explicitly chooses it.
30
+ - If another design skill is selected, do **not** load this package.
31
+ - Never auto-select this skill — always require explicit confirmation.
32
+ - If no skill is set yet, the active agent must ask or confirm before applying.
33
+
34
+ ## Responsibility boundary
35
+
36
+ This skill defines:
37
+ - Visual direction and aesthetic DNA
38
+ - Design tokens (colors, typography, spacing, radius, shadows)
39
+ - Component vocabulary and anatomy
40
+ - Page composition patterns
41
+ - Theme switching behavior (dark/light)
42
+
43
+ This skill does **not** decide:
44
+ - Stack (React, Vue, Blade, HTML, etc.)
45
+ - Output format (single file, multi-file, CSS modules, Tailwind, etc.)
46
+ - Icon library choice
47
+ - Whether a theme toggle exists in the product (the agent decides)
48
+
49
+ ## Loading guide
50
+
51
+ Always load only what the current task needs:
52
+
53
+ | Task | Load |
54
+ |---|---|
55
+ | Any UI work | `references/design-tokens.md` |
56
+ | Reusable components | `references/design-tokens.md` + `references/components.md` |
57
+ | Dashboard or admin panel | `references/art-direction.md` + `references/design-tokens.md` + `references/components.md` + `references/patterns.md` + `references/dashboards.md` |
58
+ | Detail / settings page | `references/art-direction.md` + `references/design-tokens.md` + `references/components.md` + `references/patterns.md` |
59
+ | Landing page or website | `references/art-direction.md` + `references/design-tokens.md` + `references/components.md` + `references/websites.md` |
60
+ | Motion / animation | add `references/motion.md` when animation materially improves the result |
61
+ | Full UI build | all seven reference files |
62
+
63
+ ## Visual signature — three pillars
64
+
65
+ 1. **Typographic drama** — Typography oversized as the primary design element. Display fonts with personality. Lettering as architecture. Headlines that occupy 40–60% of the viewport. The type IS the visual — not decoration supporting a layout, but the layout itself. Sizes go up to 128px. Tracking tight. Weight bold to black.
66
+ 2. **Cinematic contrast** — Extreme contrast between light and dark. Sections that alternate between deep near-black and pure white. Color transitions like film cuts. Nothing in the middle — every surface either commits to dark or light. The drama of film stills, not the comfort of day-to-day.
67
+ 3. **Editorial rhythm** — A grid that breaks intentionally. Asymmetry as principle. Sections with different cadences — dense → breathing → impact → pause. Each scroll should feel like turning the page of a premium magazine. Hierarchy through scale, not color.
68
+
69
+ ## Theme system
70
+
71
+ ```html
72
+ <div data-theme="dark"> <!-- or data-theme="light" -->
73
+ ```
74
+
75
+ - **Dark (default)**: Landing pages, portfolios, product marketing, premium experiences, SaaS marketing sites
76
+ - **Light**: Institutional, documentation, content-heavy editorial, case study pages
77
+ - **Both with toggle**: When the product spans both contexts or user preference is required
78
+
79
+ If the user does not specify: default to **dark with a light variant** available.
80
+
81
+ ## Visual DNA
82
+
83
+ ### Colors — dark theme (default)
84
+ - Background void: `#050505` (near-black, not navy)
85
+ - Background base: `#0A0A0A` (main background)
86
+ - Surface: `#141414` (cards, panels)
87
+ - Elevated: `#1E1E1E` (hover, nested, modals)
88
+ - Primary accent: `#FF4D2A` (energetic red-orange) — CTAs, highlights, key moments
89
+ - Text heading: `#FFFFFF` (pure white — maximum contrast)
90
+ - Text primary: `#B8B8B8`
91
+ - Text secondary: `#787878`
92
+ - Text muted: `#484848`
93
+
94
+ ### Colors — light theme
95
+ - Background void: `#F5F5F0` (off-white, slightly warm)
96
+ - Background base: `#FAFAF7`
97
+ - Surface: `#FFFFFF`
98
+ - Elevated: `#EFEFEA`
99
+ - Primary accent: `#E03A18` (deeper red-orange for light backgrounds)
100
+ - Text heading: `#0A0A0A` (near-black)
101
+ - Text primary: `#3A3A3A`
102
+ - Text secondary: `#7A7A7A`
103
+ - Text muted: `#AAAAAA`
104
+
105
+ ### Typography
106
+ - Display headings: `Clash Display`, `Impact` fallback — weight 700, tracking `-0.04em`, line-height `0.9` at large sizes
107
+ - Body: `Inter`, `weight-regular (400)`, `line-height: 1.65`
108
+ - Metadata/captions: `JetBrains Mono`, `weight-500`, `uppercase`, `tracking-widest`, `font-size: 0.75rem`
109
+ - Stats/numbers: `Clash Display`, `weight-bold (700)`, sizes `text-3xl` and up
110
+
111
+ ### Layout structure (marketing sites)
112
+ ```
113
+ +-----------------------------------------------------------+
114
+ | TOP BAR: [Logo] [Nav — minimal] [CTA] |
115
+ +-----------------------------------------------------------+
116
+ | |
117
+ | HERO — full-viewport or near-full |
118
+ | Headline dominates: 60–80% of hero height |
119
+ | One CTA, one subtitle max |
120
+ | |
121
+ +-----------------------------------------------------------+
122
+ | SECTION — alternating rhythm |
123
+ | Dense feature → white breathing → impact counter |
124
+ | → pause with testimonial → dark CTA |
125
+ | |
126
+ +-----------------------------------------------------------+
127
+ | FOOTER — bg-void, minimal |
128
+ +-----------------------------------------------------------+
129
+ ```
130
+
131
+ ### Signature details
132
+ - **Minimal radius**: cards `radius-lg` (8px), buttons `radius-md` (6px) — sharp and adult, not bubbly
133
+ - **Dramatic shadows**: `0 8px 24px rgba(0,0,0,0.35)` — deep, cinematic drops
134
+ - **Accent glow**: `0 0 60px rgba(255, 77, 42, 0.15)` — used only on featured/hero elements
135
+ - **Mono captions**: Every category, date, overline, and metadata uses JetBrains Mono + uppercase + wide tracking
136
+ - **Display-only font for impact numbers**: stat counters, big headlines, manifesto text
137
+ - **White sections as dramatic counterpoint**: light sections inside dark pages feel like spotlight moments
138
+
139
+ ## Application rules
140
+
141
+ - Treat `references/design-tokens.md` as the source of truth for ALL tokens.
142
+ - Treat `references/art-direction.md` as the source of truth for expression, signature moves, and anti-generic decisions.
143
+ - Resolve the page variant before composing: marketing/landing pages use narrative editorial pacing; apps use structured dark shell with focused hierarchy.
144
+ - Never combine this package with `warm-craft-ui`, `clean-saas-ui`, `glassmorphism-ui`, `neo-brutalist-ui`, or any other design skill in the same task.
145
+ - Reuse the project's component library if one exists — map Bold Editorial tokens onto it instead of rebuilding primitives.
146
+ - Adapt code examples to the active stack. Reference snippets are design specifications, not copy-paste code.
147
+ - Accessibility, responsiveness, and production semantics are the agent's responsibility (not this skill).
148
+
149
+ ## Intent before visuals
150
+
151
+ Before choosing layout, answer all three:
152
+
153
+ 1. Who is the human arriving at this page right now?
154
+ 2. What is the single impression or action that must land?
155
+ 3. How should this interface feel — in concrete, visceral words, not generic labels?
156
+
157
+ Bad answers:
158
+ - "for users"
159
+ - "show features"
160
+ - "bold and modern"
161
+
162
+ Good answers:
163
+ - "developer evaluating a new infrastructure product at 11pm"
164
+ - "creative director deciding whether to shortlist an agency"
165
+ - "cinematic, authoritative, like a product launch trailer"
166
+
167
+ ## Workflow discipline
168
+
169
+ 1. Audit the current page or existing UI before changing visuals.
170
+ 2. Explore the product domain and choose one expression mode from `references/art-direction.md`.
171
+ 3. Name one signature move and repeat it intentionally across the page.
172
+ 4. Consolidate repeating patterns instead of inventing new card/button variants per screen.
173
+ 5. Build from tokens first, then components, then page composition.
174
+ 6. Validate state parity before finishing: default, hover, active, focus, disabled.
175
+ 7. Validate contrast: white text on dark surfaces must exceed WCAG AA. Light sections must re-verify independently.
176
+
177
+ ## Non-negotiable quality gates
178
+
179
+ - Never use a generic dark theme — `#0A0A0A` is near-black, intentionally chosen, not "dark mode gray".
180
+ - Never use blue, teal, or purple as the primary accent — this is red-orange or nothing.
181
+ - Display font is non-negotiable — if Clash Display is unavailable, use Cabinet Grotesk or Syne, not Inter.
182
+ - Typography must carry the hierarchy before color does — if the type scale is wrong, no color fix will help.
183
+ - The grid must break intentionally at least once per page — a fully regular grid is anti-editorial.
184
+ - Mono captions are the connective tissue — overlines, categories, and metadata must use `font-mono`.
185
+ - Never add a warm tint, rounded corners above `radius-xl` (16px), or serif fonts — these belong to Warm Craft.
186
+ - Accent glow (`shadow-glow`) is reserved for one element per viewport — the hero CTA or the featured card.
187
+ - Every section alternation (dark → light → dark) must feel like a deliberate cut, not an accident.
188
+ - Sameness is failure. If the result could be a generic dark SaaS landing page, iterate before presenting.
189
+ - Every full page must have one typographic statement that could stand alone as a poster.
190
+
191
+ ## Delivery modes
192
+
193
+ ### Greenfield
194
+ 1. Choose page variant (marketing, app, dashboard, documentation)
195
+ 2. Load relevant references
196
+ 3. Apply token scope from `design-tokens.md`
197
+ 4. Compose layout from `patterns.md` or `websites.md`
198
+ 5. Build components from `components.md`
199
+
200
+ ### Brownfield
201
+ 1. Audit existing UI before rewriting
202
+ 2. Map Bold Editorial tokens onto the existing component library
203
+ 3. Fix token scope issues (font/color variables must be on the correct container)
204
+ 4. Consolidate duplicate variants before introducing new ones
205
+ 5. Prefer targeted upgrades over full rewrites unless the user asks for a redesign
@@ -0,0 +1,338 @@
1
+ # Art Direction — Bold Editorial UI
2
+
3
+ Read this file for any page-level work where differentiation matters: landing pages, apps, dashboards, portfolios, and major marketing flows.
4
+
5
+ This file exists to stop Bold Editorial from collapsing into the same dark card layout with big white type every time.
6
+
7
+ The system stays coherent, but the expression must change with the product, the audience, and the dominant message.
8
+
9
+ ---
10
+
11
+ ## Core Rule
12
+
13
+ **Same drama, different character.**
14
+
15
+ Keep the Bold Editorial DNA:
16
+ - extreme typographic scale as the primary design tool
17
+ - cinematic dark/light contrast
18
+ - editorial rhythm and intentional grid-breaking
19
+ - mono captions as structural connective tissue
20
+
21
+ But do **not** keep the exact same composition, hero treatment, or typographic moment from project to project.
22
+
23
+ ---
24
+
25
+ ## Mandatory Pre-Build Outputs
26
+
27
+ Before designing a full page, produce all of these:
28
+
29
+ 1. **Human**
30
+ The real person arriving at this page right now — their mindset, context, what they just came from.
31
+
32
+ 2. **Main action**
33
+ The one impression, decision, or action that must land on this screen.
34
+
35
+ 3. **Felt quality**
36
+ Concrete visceral words: `cinematic`, `authoritative`, `electric`, `precise`, `confident`, `intense`, `premium`, `editorial`, `stark`, `magnetic`.
37
+ Never use empty labels like `bold and modern` or `premium feel`.
38
+
39
+ 4. **Domain vocabulary**
40
+ At least 5 concepts from the product's world.
41
+ Example for a developer tool: `pipeline`, `deploy`, `latency`, `incident`, `artifact`.
42
+
43
+ 5. **Material world**
44
+ At least 5 materials or textures belonging to that product world.
45
+ Example: brushed metal, matte black cardstock, cinema screen, exposed concrete, carbon fiber, architect's blueprint, overexposed film.
46
+
47
+ 6. **Defaults to avoid**
48
+ Name 3 obvious choices that would make this feel like a generic AI-generated dark landing page.
49
+
50
+ 7. **Signature move**
51
+ One memorable typographic or compositional move that appears in at least 5 places on the page.
52
+
53
+ If you cannot produce these seven, you are not ready to compose the page.
54
+
55
+ ---
56
+
57
+ ## Expression Modes
58
+
59
+ Choose **one primary mode** per screen. You may borrow a small amount from a secondary mode only after the main expression is established.
60
+
61
+ ### 1. Manifesto
62
+
63
+ Use for:
64
+ - brand pages
65
+ - about/mission pages
66
+ - vision statements
67
+ - advocacy products
68
+ - philosophical software (tools that believe in something)
69
+
70
+ Feel:
71
+ - powerful
72
+ - intentional
73
+ - confident
74
+ - philosophical — every word was chosen
75
+
76
+ Composition:
77
+ - typography at extreme scale dominates full sections
78
+ - statements as compositional blocks — each section IS a statement
79
+ - negative space used as punctuation between ideas
80
+ - one color only; images minimal or absent
81
+ - reader must scroll through the argument
82
+
83
+ Visual cues:
84
+ - display font at `text-5xl` to `text-6xl`
85
+ - zero decorative elements — the typography is decoration
86
+ - wide tracking on overlines (`tracking-widest`, mono, uppercase)
87
+ - accent used only once per scroll viewport, as a highlight or underline
88
+
89
+ Signature ideas:
90
+ - full-section statement in `text-6xl` that spans 3–4 lines
91
+ - scroll-triggered word reveal (each word appears sequentially)
92
+ - single accent underline beneath the most important phrase per section
93
+ - quote wall: alternating large and small quotes, dark and light backgrounds
94
+
95
+ ---
96
+
97
+ ### 2. Product Theater
98
+
99
+ Use for:
100
+ - SaaS marketing pages
101
+ - developer tool launches
102
+ - infrastructure products
103
+ - API or platform announcements
104
+
105
+ Feel:
106
+ - premium
107
+ - technical
108
+ - precise
109
+ - exciting — something important is happening
110
+
111
+ Composition:
112
+ - hero with oversized product screenshot or terminal output as the visual centerpiece
113
+ - headline frames the product, not the other way around
114
+ - feature sections use product shots as the primary visual — code blocks as decoration
115
+ - dark background makes the product interface feel illuminated
116
+
117
+ Visual cues:
118
+ - dark near-black background with product UI "glowing" on top
119
+ - subtle grid lines or dot-grid decorative elements
120
+ - badge/chip accents in mono (`[v2.1.0]`, `[BETA]`, `[OPEN SOURCE]`)
121
+ - metric counters that animate on scroll entry
122
+
123
+ Signature ideas:
124
+ - floating product frame with 1–2deg tilt and `shadow-glow`
125
+ - code block used as a visual element (syntax-highlighted, framed in mono)
126
+ - animated counter reveal for key metrics (e.g., "4,000ms → 120ms")
127
+ - gradient radial centered on the product visual — subtle spotlight
128
+
129
+ ---
130
+
131
+ ### 3. Gallery Editorial
132
+
133
+ Use for:
134
+ - portfolios
135
+ - creative agencies
136
+ - fashion or lifestyle brands
137
+ - architecture studios
138
+ - photography platforms
139
+
140
+ Feel:
141
+ - curated
142
+ - sophisticated
143
+ - dramatic
144
+ - confident silence — the work speaks
145
+
146
+ Composition:
147
+ - images occupy large portions; type acts as editorial annotation
148
+ - grid breaks intentionally — asymmetric layouts, deliberate overlaps
149
+ - alternating full-bleed and contained sections
150
+ - hover reveals editorial metadata (year, category, client)
151
+
152
+ Visual cues:
153
+ - images in high-contrast, possibly treated to black-and-white with accent highlights
154
+ - intentional typographic overlaps on images (caption over corner of image)
155
+ - mono captions in small size — stark contrast against large imagery
156
+ - accent color used only for link underlines or hover-reveal text
157
+
158
+ Signature ideas:
159
+ - image reveal on scroll entry (clip-path wipe from bottom to top, 800ms)
160
+ - split-screen project showcase (image left, title + details right)
161
+ - hover-tilt media cards with subtle perspective transform
162
+ - project number counter in mono (`01 / 08`) as navigation
163
+
164
+ ---
165
+
166
+ ### 4. Data Story
167
+
168
+ Use for:
169
+ - annual reports
170
+ - case study pages
171
+ - research presentations
172
+ - impact pages
173
+ - before/after narrative
174
+
175
+ Feel:
176
+ - authoritative
177
+ - intelligent
178
+ - compelling
179
+ - structured — the argument builds section by section
180
+
181
+ Composition:
182
+ - large statistical numbers as heroes for each section
183
+ - charts integrated into the narrative (not after it)
184
+ - horizontal scroll or sticky-section technique for timelines
185
+ - prose and data interleaved — not separate blocks
186
+
187
+ Visual cues:
188
+ - display font for dramatic numbers (metric, counter, percentage)
189
+ - mono font for all data labels, axis text, timestamps
190
+ - accent color highlights single critical data point per chart
191
+ - horizontal dividers as section transitions
192
+
193
+ Signature ideas:
194
+ - animated counter on scroll entry (0 → final value, 1200ms)
195
+ - horizontal scroll data story with sticky headline
196
+ - infographic section with subtle grid overlay
197
+ - pull-out stat in `text-5xl` display font flanked by explanatory body
198
+
199
+ ---
200
+
201
+ ### 5. Cinematic Dark
202
+
203
+ Use for:
204
+ - gaming products
205
+ - entertainment platforms
206
+ - premium subscriptions
207
+ - luxury products
208
+ - streaming or media services
209
+
210
+ Feel:
211
+ - immersive
212
+ - atmospheric
213
+ - intense
214
+ - cinematic — like entering a film
215
+
216
+ Composition:
217
+ - full-screen sections, video or image as background with overlay
218
+ - minimal UI, maximal atmosphere
219
+ - type floats over imagery with gradient masks
220
+ - each section a scene, not a content block
221
+
222
+ Visual cues:
223
+ - gradient overlays using near-black (not pure black) — preserves depth in imagery
224
+ - grain/noise texture at 3% opacity over everything
225
+ - accent as flash or highlight — single word, CTA, one key object
226
+ - typography ultra-bold, often all-caps for section titles
227
+ - scroll reveals each section as a curtain rising
228
+
229
+ Signature ideas:
230
+ - video hero with text overlay and gradient mask at bottom (text legible, video atmospheric)
231
+ - grain texture background applied globally at very low opacity
232
+ - cinematic color grade feel — desaturated mid-tones, preserved highlights
233
+ - section transitions as hard cuts (instant background swap, no fade)
234
+
235
+ ---
236
+
237
+ ## Signature Move Library
238
+
239
+ Pick one and commit. Do not apply three weak gestures when one strong one would do.
240
+
241
+ ### Apps
242
+ - stat counters in `text-4xl` display font — the number IS the content, not decoration
243
+ - mono badge strips along the top of sections (`[LIVE]`, `[v1.0]`, `[2024]`)
244
+ - dark command/search bar as primary interaction — keyboard-first, editorial
245
+
246
+ ### Dashboards
247
+ - key metric in display font at `text-5xl` — one number that defines the page
248
+ - horizontal metric strip with mono labels and no card borders — raw data aesthetic
249
+ - accent used only on the single most important chart line or bar
250
+
251
+ ### Landing Pages
252
+ - opening section with headline at `text-5xl` or larger, no accompanying image — the type is enough
253
+ - alternating dark-and-light sections as cinematic scene cuts
254
+ - metric counter strip that animates on scroll — numbers are the proof
255
+
256
+ ### Websites
257
+ - quote or statement section in display italic at `text-2xl`+, no decoration needed
258
+ - case study cards with image overlay + hover-reveal full title
259
+ - footer as minimalist manifesto — a single closing statement in large type, then links
260
+
261
+ Rule:
262
+ - your signature move must appear in at least 5 concrete places, or it is not a real signature.
263
+
264
+ ---
265
+
266
+ ## Anti-Generic Tests
267
+
268
+ Run these before presenting:
269
+
270
+ ### Swap Test
271
+ If you replaced:
272
+ - the display font with Inter or Roboto
273
+ - the red-orange accent with generic blue
274
+ - the near-black backgrounds with dark gray `#1F2937`
275
+
276
+ and the page still felt mostly the same — the typography is not working hard enough. The font, the scale, and the contrast ARE the differentiator.
277
+
278
+ ### Squint Test
279
+ Blur your eyes:
280
+ - Is there one unmistakable typographic anchor per section?
281
+ - Does the dark/light rhythm feel like a deliberate sequence?
282
+ - Does any section feel generic without squinting?
283
+
284
+ The editorial rhythm must be legible at blurred vision.
285
+
286
+ ### Signature Test
287
+ Point to 5 exact places where the chosen signature appears.
288
+ If you cannot name them, you do not have a signature.
289
+
290
+ ### Magazine Test (unique to Bold Editorial)
291
+ If you printed this page, would it look compelling in a premium print magazine?
292
+ - Is the type large and intentional enough?
293
+ - Does the layout have editorial pacing — not everything the same size?
294
+ - Would a creative director approve it?
295
+
296
+ If no: the typographic scale is not aggressive enough. Push harder.
297
+
298
+ ### Drift Test
299
+ Does any element feel like it belongs to Warm Craft (rounded, warm, soft) or Clean SaaS (neutral, gray, business)?
300
+ - Check: rounded corners above `radius-xl` → reduce
301
+ - Check: serif headings → replace with display font
302
+ - Check: warm beige backgrounds → make them near-black or pure white
303
+ - Check: soft blue accents → replace with red-orange
304
+
305
+ ---
306
+
307
+ ## Variation Rules By Surface Type
308
+
309
+ ### Apps
310
+ - Dark shell, not warm shell. The app should feel like a professional tool, not a productivity diary.
311
+ - Navigation: minimal chrome. Top bar transparent or near-transparent. Sidebar slim and labeled in mono.
312
+ - Content area: generous, breathing, but not soft. Sharp edges, dark cards.
313
+
314
+ ### Dashboards
315
+ - Stat numbers are the hero — `text-4xl` display font minimum, no decorative frames around them.
316
+ - Charts: accent color highlights one line/bar. The rest in muted tones. No rainbow palettes.
317
+ - Avoid equal-size KPI card rows — find the hero insight and give it disproportionate size.
318
+
319
+ ### Landing Pages
320
+ - The hero headline must be uncomfortable to shrink. If reducing type size feels "fine," it's too small.
321
+ - Section rhythm is non-negotiable: dense → white space → impact → pause. Never four identical sections.
322
+ - No stock illustrations. No warm hand-drawn graphics. No blue. No rounded pill buttons everywhere.
323
+
324
+ ### Websites
325
+ - Not every page needs to be dark. Light sections inside dark pages are the drama.
326
+ - Institutional does not mean boring — extreme typography can make a boring subject feel significant.
327
+ - Let typography and composition carry authority before reaching for photography or illustrations.
328
+
329
+ ---
330
+
331
+ ## Non-Negotiable Expression Rules
332
+
333
+ 1. One accent color, one expression mode, one signature move per page.
334
+ 2. Typography must establish hierarchy before layout does — if the type scale is weak, nothing fixes it.
335
+ 3. Every section must earn its existence: is this denser than the last? More spacious? More intense?
336
+ 4. The grid can break, but every break must be intentional. Random asymmetry is not editorial.
337
+ 5. If the design feels "good," push it until it feels "authored." Good is the enemy of editorial.
338
+ 6. Mono captions are the connective tissue — every overline, label, category, and metadata uses mono.