@jaimevalasek/aioson 1.3.0 → 1.4.0

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 (213) hide show
  1. package/README.md +19 -2
  2. package/docs/pt/README.md +62 -2
  3. package/docs/pt/advisor-spec.md +5 -5
  4. package/docs/pt/agentes-customizados.md +670 -0
  5. package/docs/pt/agentes.md +111 -13
  6. package/docs/pt/automacao-squads.md +407 -0
  7. package/docs/pt/cenarios.md +3 -3
  8. package/docs/pt/clientes-ai.md +62 -0
  9. package/docs/pt/comandos-cli.md +167 -17
  10. package/docs/pt/deyvin.md +115 -0
  11. package/docs/pt/genome-3.0-spec.md +11 -11
  12. package/docs/pt/inicio-rapido.md +45 -0
  13. package/docs/pt/memoria-contexto.md +255 -0
  14. package/docs/pt/output-strategy-delivery.md +655 -0
  15. package/docs/pt/profiler-system.md +17 -17
  16. package/docs/pt/runtime-observability.md +5 -1
  17. package/docs/pt/skills.md +175 -0
  18. package/docs/pt/{squad-genoma.md → squad-genome.md} +81 -75
  19. package/docs/testing/genome-2.0-rollout.md +1 -1
  20. package/package.json +3 -3
  21. package/src/agents.js +21 -5
  22. package/src/backup-provider.js +303 -0
  23. package/src/cli.js +178 -2
  24. package/src/commands/agents.js +22 -4
  25. package/src/commands/backup.js +533 -0
  26. package/src/commands/cloud.js +17 -17
  27. package/src/commands/context-pack.js +45 -0
  28. package/src/commands/implementation-plan.js +340 -0
  29. package/src/commands/learning.js +134 -0
  30. package/src/commands/live.js +1583 -0
  31. package/src/commands/runtime.js +833 -2
  32. package/src/commands/scan-project.js +288 -24
  33. package/src/commands/setup-context.js +23 -0
  34. package/src/commands/skill.js +558 -0
  35. package/src/commands/squad-agent-create.js +788 -0
  36. package/src/commands/squad-doctor.js +51 -1
  37. package/src/commands/squad-investigate.js +261 -0
  38. package/src/commands/squad-learning.js +209 -0
  39. package/src/commands/squad-pipeline.js +247 -1
  40. package/src/commands/squad-plan.js +329 -0
  41. package/src/commands/squad-status.js +1 -1
  42. package/src/commands/squad-validate.js +57 -1
  43. package/src/commands/test-agents.js +6 -1
  44. package/src/commands/workflow-next.js +8 -1
  45. package/src/commands/workflow-status.js +250 -0
  46. package/src/constants.js +80 -16
  47. package/src/context-memory.js +837 -0
  48. package/src/context-writer.js +2 -0
  49. package/src/delivery-runner.js +319 -0
  50. package/src/genome-files.js +1 -1
  51. package/src/genome-format.js +1 -1
  52. package/src/i18n/messages/en.js +206 -7
  53. package/src/i18n/messages/es.js +123 -6
  54. package/src/i18n/messages/fr.js +122 -5
  55. package/src/i18n/messages/pt-BR.js +205 -12
  56. package/src/installer.js +30 -2
  57. package/src/lib/genomes/compat.js +1 -1
  58. package/src/runtime-store.js +780 -42
  59. package/src/session-handoff.js +77 -0
  60. package/template/.aioson/agents/analyst.md +36 -9
  61. package/template/.aioson/agents/architect.md +20 -5
  62. package/template/.aioson/agents/dev.md +135 -15
  63. package/template/.aioson/agents/deyvin.md +166 -0
  64. package/template/.aioson/agents/discovery-design-doc.md +25 -1
  65. package/template/.aioson/agents/{genoma.md → genome.md} +20 -20
  66. package/template/.aioson/agents/orache.md +371 -0
  67. package/template/.aioson/agents/orchestrator.md +37 -2
  68. package/template/.aioson/agents/pair.md +5 -0
  69. package/template/.aioson/agents/pm.md +17 -5
  70. package/template/.aioson/agents/product.md +58 -22
  71. package/template/.aioson/agents/profiler-enricher.md +1 -1
  72. package/template/.aioson/agents/profiler-forge.md +9 -9
  73. package/template/.aioson/agents/profiler-researcher.md +1 -1
  74. package/template/.aioson/agents/qa.md +17 -5
  75. package/template/.aioson/agents/setup.md +81 -5
  76. package/template/.aioson/agents/squad.md +675 -28
  77. package/template/.aioson/agents/ux-ui.md +277 -34
  78. package/template/.aioson/config.md +175 -0
  79. package/template/.aioson/context/spec.md.template +17 -0
  80. package/template/.aioson/genomes/.gitkeep +0 -0
  81. package/template/.aioson/installed-skills/.gitkeep +0 -0
  82. package/template/.aioson/locales/en/agents/analyst.md +26 -4
  83. package/template/.aioson/locales/en/agents/architect.md +10 -0
  84. package/template/.aioson/locales/en/agents/dev.md +89 -4
  85. package/template/.aioson/locales/en/agents/deyvin.md +129 -0
  86. package/template/.aioson/locales/en/agents/{genoma.md → genome.md} +14 -14
  87. package/template/.aioson/locales/en/agents/orchestrator.md +36 -2
  88. package/template/.aioson/locales/en/agents/pair.md +5 -0
  89. package/template/.aioson/locales/en/agents/pm.md +7 -0
  90. package/template/.aioson/locales/en/agents/product.md +35 -17
  91. package/template/.aioson/locales/en/agents/qa.md +7 -0
  92. package/template/.aioson/locales/en/agents/setup.md +51 -5
  93. package/template/.aioson/locales/en/agents/squad.md +203 -15
  94. package/template/.aioson/locales/en/agents/ux-ui.md +375 -35
  95. package/template/.aioson/locales/es/agents/analyst.md +16 -4
  96. package/template/.aioson/locales/es/agents/architect.md +10 -0
  97. package/template/.aioson/locales/es/agents/dev.md +70 -2
  98. package/template/.aioson/locales/es/agents/deyvin.md +89 -0
  99. package/template/.aioson/locales/es/agents/{genoma.md → genome.md} +13 -13
  100. package/template/.aioson/locales/es/agents/orache.md +103 -0
  101. package/template/.aioson/locales/es/agents/orchestrator.md +36 -2
  102. package/template/.aioson/locales/es/agents/pair.md +5 -0
  103. package/template/.aioson/locales/es/agents/pm.md +7 -0
  104. package/template/.aioson/locales/es/agents/product.md +13 -3
  105. package/template/.aioson/locales/es/agents/qa.md +7 -0
  106. package/template/.aioson/locales/es/agents/setup.md +28 -5
  107. package/template/.aioson/locales/es/agents/squad.md +221 -15
  108. package/template/.aioson/locales/es/agents/ux-ui.md +26 -25
  109. package/template/.aioson/locales/fr/agents/analyst.md +16 -4
  110. package/template/.aioson/locales/fr/agents/architect.md +10 -0
  111. package/template/.aioson/locales/fr/agents/dev.md +70 -2
  112. package/template/.aioson/locales/fr/agents/deyvin.md +89 -0
  113. package/template/.aioson/locales/fr/agents/{genoma.md → genome.md} +7 -7
  114. package/template/.aioson/locales/fr/agents/orache.md +104 -0
  115. package/template/.aioson/locales/fr/agents/orchestrator.md +36 -2
  116. package/template/.aioson/locales/fr/agents/pair.md +5 -0
  117. package/template/.aioson/locales/fr/agents/pm.md +7 -0
  118. package/template/.aioson/locales/fr/agents/product.md +13 -3
  119. package/template/.aioson/locales/fr/agents/qa.md +7 -0
  120. package/template/.aioson/locales/fr/agents/setup.md +28 -5
  121. package/template/.aioson/locales/fr/agents/squad.md +216 -10
  122. package/template/.aioson/locales/fr/agents/ux-ui.md +26 -25
  123. package/template/.aioson/locales/pt-BR/agents/analyst.md +26 -4
  124. package/template/.aioson/locales/pt-BR/agents/architect.md +10 -0
  125. package/template/.aioson/locales/pt-BR/agents/dev.md +93 -4
  126. package/template/.aioson/locales/pt-BR/agents/deyvin.md +129 -0
  127. package/template/.aioson/locales/pt-BR/agents/{genoma.md → genome.md} +49 -49
  128. package/template/.aioson/locales/pt-BR/agents/orache.md +137 -0
  129. package/template/.aioson/locales/pt-BR/agents/orchestrator.md +36 -2
  130. package/template/.aioson/locales/pt-BR/agents/pair.md +5 -0
  131. package/template/.aioson/locales/pt-BR/agents/pm.md +7 -0
  132. package/template/.aioson/locales/pt-BR/agents/product.md +35 -17
  133. package/template/.aioson/locales/pt-BR/agents/qa.md +7 -0
  134. package/template/.aioson/locales/pt-BR/agents/setup.md +51 -5
  135. package/template/.aioson/locales/pt-BR/agents/squad.md +486 -47
  136. package/template/.aioson/locales/pt-BR/agents/ux-ui.md +361 -22
  137. package/template/.aioson/my-agents/.gitkeep +0 -0
  138. package/template/.aioson/rules/.gitkeep +0 -0
  139. package/template/.aioson/rules/squad/.gitkeep +0 -0
  140. package/template/.aioson/rules/squad/README.md +50 -0
  141. package/template/.aioson/schemas/genome-meta.schema.json +1 -1
  142. package/template/.aioson/schemas/genome.schema.json +1 -1
  143. package/template/.aioson/schemas/squad-blueprint.schema.json +11 -0
  144. package/template/.aioson/schemas/squad-manifest.schema.json +257 -1
  145. package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +157 -0
  146. package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +407 -0
  147. package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +172 -0
  148. package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +490 -0
  149. package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +237 -0
  150. package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +289 -0
  151. package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +350 -0
  152. package/template/.aioson/skills/design/interface-design/SKILL.md +47 -0
  153. package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -0
  154. package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -0
  155. package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +71 -0
  156. package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -0
  157. package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -0
  158. package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +62 -0
  159. package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -0
  160. package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -0
  161. package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -0
  162. package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -0
  163. package/template/.aioson/skills/design-system/SKILL.md +92 -0
  164. package/template/.aioson/skills/design-system/cognitive-core-ui.skill +0 -0
  165. package/template/.aioson/skills/design-system/components/SKILL.md +274 -0
  166. package/template/.aioson/skills/design-system/components/SKILL.md:Zone.Identifier +0 -0
  167. package/template/.aioson/skills/design-system/dashboards/SKILL.md +184 -0
  168. package/template/.aioson/skills/design-system/dashboards/SKILL.md:Zone.Identifier +0 -0
  169. package/template/.aioson/skills/design-system/foundations/SKILL.md +250 -0
  170. package/template/.aioson/skills/design-system/foundations/SKILL.md:Zone.Identifier +0 -0
  171. package/template/.aioson/skills/design-system/motion/SKILL.md +197 -0
  172. package/template/.aioson/skills/design-system/motion/SKILL.md:Zone.Identifier +0 -0
  173. package/template/.aioson/skills/design-system/patterns/SKILL.md +231 -0
  174. package/template/.aioson/skills/design-system/patterns/SKILL.md:Zone.Identifier +0 -0
  175. package/template/.aioson/skills/squad/SKILL.md +58 -0
  176. package/template/.aioson/skills/squad/domains/.gitkeep +0 -0
  177. package/template/.aioson/skills/squad/formats/.gitkeep +0 -0
  178. package/template/.aioson/skills/squad/patterns/.gitkeep +0 -0
  179. package/template/.aioson/skills/squad/references/.gitkeep +0 -0
  180. package/template/.aioson/tasks/implementation-plan.md +288 -0
  181. package/template/.aioson/tasks/squad-create.md +1 -1
  182. package/template/.aioson/tasks/squad-execution-plan.md +279 -0
  183. package/template/.aioson/tasks/squad-export.md +1 -1
  184. package/template/.aioson/tasks/squad-investigate.md +44 -0
  185. package/template/.aioson/tasks/squad-learning-review.md +44 -0
  186. package/template/.aioson/tasks/squad-output-config.md +177 -0
  187. package/template/.aioson/tasks/squad-validate.md +1 -1
  188. package/template/.claude/commands/aioson/agent/deyvin.md +5 -0
  189. package/template/.claude/commands/aioson/agent/discovery-design-doc.md +5 -0
  190. package/template/.claude/commands/aioson/agent/genome.md +5 -0
  191. package/template/.claude/commands/aioson/agent/product.md +5 -0
  192. package/template/.claude/commands/aioson/agent/profiler-enricher.md +5 -0
  193. package/template/.claude/commands/aioson/agent/profiler-forge.md +5 -0
  194. package/template/.claude/commands/aioson/agent/profiler-researcher.md +5 -0
  195. package/template/.claude/commands/aioson/agent/squad.md +5 -0
  196. package/template/.gemini/GEMINI.md +2 -0
  197. package/template/.gemini/commands/aios-deyvin.toml +6 -0
  198. package/template/.gemini/commands/aios-pair.toml +6 -0
  199. package/template/AGENTS.md +34 -6
  200. package/template/CLAUDE.md +31 -4
  201. package/template/OPENCODE.md +6 -2
  202. package/template/squad-searches/.gitkeep +0 -0
  203. package/template/.aioson/skills/static/interface-design.md +0 -372
  204. package/template/.aioson/skills/static/premium-command-center-ui.md +0 -190
  205. /package/template/.aioson/{genomas → docs}/.gitkeep +0 -0
  206. /package/template/.claude/commands/aioson/{analyst.md → agent/analyst.md} +0 -0
  207. /package/template/.claude/commands/aioson/{architect.md → agent/architect.md} +0 -0
  208. /package/template/.claude/commands/aioson/{dev.md → agent/dev.md} +0 -0
  209. /package/template/.claude/commands/aioson/{orchestrator.md → agent/orchestrator.md} +0 -0
  210. /package/template/.claude/commands/aioson/{pm.md → agent/pm.md} +0 -0
  211. /package/template/.claude/commands/aioson/{qa.md → agent/qa.md} +0 -0
  212. /package/template/.claude/commands/aioson/{setup.md → agent/setup.md} +0 -0
  213. /package/template/.claude/commands/aioson/{ux-ui.md → agent/ux-ui.md} +0 -0
@@ -0,0 +1,350 @@
1
+ # Websites & Landing Pages — Cognitive Core UI
2
+
3
+ Read after `design-tokens.md` and `components.md`. When building websites, leave `dashboards.md` out of context.
4
+
5
+ The Cognitive Core visual identity scales from dashboards to websites. Same typography, token system, and component vocabulary — but with more whitespace, hero typography, and narrative hierarchy.
6
+
7
+ A commercial page using this skill should feel **premium and technical, but still behave like a website.** It cannot look like an admin dashboard with the word "site" pasted on top.
8
+
9
+ ## Website Stance
10
+
11
+ **Use these traits:**
12
+ - Stronger narrative hierarchy — one message per section
13
+ - More whitespace between sections (`--space-16` to `--space-24`)
14
+ - Fewer panels above the fold — never five cards competing with the main message
15
+ - Larger display headings (`--text-5xl` for hero)
16
+ - Mono labels only as supporting spice, not the main reading experience
17
+ - One strong accent family carried through the whole page
18
+
19
+ **Avoid these traits:**
20
+ - Persistent sidebars on marketing pages
21
+ - Operational rails and dense status grids above the fold
22
+ - Dashboard feeds unless the brand explicitly needs that look
23
+ - Five equal-weight cards before the value proposition
24
+ - Cyan glow overuse — websites need calm areas
25
+ - Uppercase mono for entire paragraphs, nav groups, or section copy
26
+ - Every section bordered like a dashboard card
27
+
28
+ ## Website Anti-Patterns
29
+
30
+ 1. Do not use a dashboard shell for a landing page — no persistent sidebar, no live-feed panel.
31
+ 2. Do not place stat cards before the main value proposition unless the proof IS the product.
32
+ 3. Do not overuse cyan/teal glow. Websites need breathing room.
33
+ 4. Do not make every section a bordered card — alternate backgrounds instead.
34
+ 5. Do not use a hero that is just a grid of equal-weight feature cards. The hero must have ONE dominant message.
35
+
36
+ ---
37
+
38
+ ## Default theme for websites
39
+
40
+ - **Light theme**: Institutional sites, corporate, marketing pages, client-facing products
41
+ - **Dark theme**: Tech products, SaaS, developer tools, agencies
42
+ - **Both with toggle**: When the user asks, or when the site needs broad appeal
43
+
44
+ If the user does not specify, use **dark with a light option toggle** for tech/SaaS, or **light with a dark option toggle** for institutional/corporate.
45
+
46
+ ---
47
+
48
+ ## 1. Landing Page
49
+
50
+ ```
51
+ ┌────────────────────────────────────────────────────────┐
52
+ │ TOP BAR (sticky, bg-void on scroll, transparent hero) │
53
+ ├────────────────────────────────────────────────────────┤
54
+ │ │
55
+ │ HERO SECTION (padding: space-24 top, space-20 bottom) │
56
+ │ ┌──────────────────────────────────────────────────┐ │
57
+ │ │ MONO LABEL: tagline (centered) │ │
58
+ │ │ DISPLAY HEADING text-5xl, weight-black (centered)│ │
59
+ │ │ Subtitle: text-lg, text-secondary (centered) │ │
60
+ │ │ [CTA Primary Button] [Secondary Button] │ │
61
+ │ └──────────────────────────────────────────────────┘ │
62
+ │ │
63
+ ├────────────────────────────────────────────────────────┤
64
+ │ FEATURES (bg-surface, padding: space-20) │
65
+ │ Section Header (centered: mono label + display title) │
66
+ │ Card Grid: [InfoCard] [InfoCard] [InfoCard] 3-col │
67
+ │ │
68
+ ├────────────────────────────────────────────────────────┤
69
+ │ STATS (bg-base, padding: space-16) │
70
+ │ [StatCard] [StatCard] [StatCard] [StatCard] │
71
+ │ │
72
+ ├────────────────────────────────────────────────────────┤
73
+ │ SOCIAL PROOF (bg-surface, padding: space-16) │
74
+ │ Quote cards in 2-col grid or testimonial strip │
75
+ │ │
76
+ ├────────────────────────────────────────────────────────┤
77
+ │ CTA SECTION (bg-void, accent radial glow, space-20) │
78
+ │ Display heading + mono label + CTA Button (centered) │
79
+ │ │
80
+ ├────────────────────────────────────────────────────────┤
81
+ │ FOOTER (bg-void, border-top: border-subtle) │
82
+ │ [Brand | Links | Links | Newsletter or Social] │
83
+ └────────────────────────────────────────────────────────┘
84
+ ```
85
+
86
+ ### Hero section (required elements)
87
+
88
+ 1. **Mono label** above heading — category / tagline in monospace uppercase
89
+ 2. **Display heading** — `text-5xl`, `weight-black`, `tracking-tight`, `line-height: 1.1`
90
+ 3. **Subtitle** — 1–2 sentences, `text-lg`, `text-secondary`
91
+ 4. **Two CTAs** — primary (solid accent) + secondary (outline or ghost)
92
+ 5. **Optional**: hero visual (screenshot, illustration, or abstract mesh)
93
+
94
+ ```css
95
+ .hero {
96
+ min-height: 90vh; display: flex; align-items: center; justify-content: center;
97
+ padding: var(--space-24) var(--space-6) var(--space-20);
98
+ text-align: center;
99
+ background: var(--bg-base);
100
+ position: relative; overflow: hidden;
101
+ }
102
+ .hero-content { max-width: 760px; position: relative; z-index: 1; }
103
+ .hero-mono-label {
104
+ font-family: var(--font-mono); font-size: var(--text-xs);
105
+ color: var(--accent); letter-spacing: var(--tracking-widest);
106
+ text-transform: uppercase; margin-bottom: var(--space-4);
107
+ display: inline-flex; align-items: center; gap: var(--space-2);
108
+ }
109
+ .hero-heading {
110
+ font-family: var(--font-display); font-size: var(--text-5xl);
111
+ font-weight: var(--weight-black); color: var(--text-heading);
112
+ letter-spacing: var(--tracking-tight); line-height: 1.05;
113
+ margin-bottom: var(--space-5);
114
+ }
115
+ .hero-subtitle {
116
+ font-size: var(--text-lg); color: var(--text-secondary);
117
+ line-height: var(--leading-relaxed); margin-bottom: var(--space-8);
118
+ max-width: 560px; margin-left: auto; margin-right: auto;
119
+ }
120
+ .hero-actions { display: flex; gap: var(--space-3); justify-content: center; flex-wrap: wrap; }
121
+ ```
122
+
123
+ **Optional hero glow (dark theme):**
124
+ ```css
125
+ .hero::before {
126
+ content: ''; position: absolute; inset: 0;
127
+ background: radial-gradient(ellipse 800px 600px at 50% 30%, var(--accent-glow), transparent 70%);
128
+ pointer-events: none;
129
+ }
130
+ ```
131
+
132
+ ### Section max-width container
133
+
134
+ ```css
135
+ .container { max-width: 1200px; margin: 0 auto; padding: 0 var(--space-6); }
136
+ .section { padding: var(--space-20) var(--space-6); }
137
+ .section-header { text-align: center; margin-bottom: var(--space-10); }
138
+ .section-mono-label {
139
+ font-family: var(--font-mono); font-size: var(--text-xs);
140
+ color: var(--accent); letter-spacing: var(--tracking-widest);
141
+ text-transform: uppercase; margin-bottom: var(--space-3);
142
+ }
143
+ .section-heading {
144
+ font-family: var(--font-display); font-size: var(--text-3xl);
145
+ font-weight: var(--weight-black); color: var(--text-heading);
146
+ letter-spacing: var(--tracking-tight); line-height: var(--leading-tight);
147
+ }
148
+ ```
149
+
150
+ ### Features / Benefits section
151
+
152
+ Use Info Cards (from `components.md`) in a 3-column grid:
153
+
154
+ ```css
155
+ .features-grid {
156
+ display: grid; gap: var(--space-5);
157
+ grid-template-columns: repeat(3, 1fr);
158
+ }
159
+ @media (max-width: 900px) { .features-grid { grid-template-columns: 1fr; } }
160
+ ```
161
+
162
+ Each card: icon + mono label + heading + description paragraph. Use `var(--bg-elevated)` as card background for contrast against the section.
163
+
164
+ ### Stats section
165
+
166
+ Row of 4 stat cards. Use light background (`bg-surface`) for the stat numbers section:
167
+
168
+ ```css
169
+ .stats-section { background: var(--bg-surface); }
170
+ .stats-row { display: flex; gap: var(--space-5); flex-wrap: wrap; justify-content: center; }
171
+ .stats-row .stat-card { flex: 1; min-width: 180px; text-align: center; }
172
+ ```
173
+
174
+ Stat card center-aligned variant:
175
+ - Mono label centered
176
+ - Large number centered, accent color optional
177
+ - Short subtitle below
178
+
179
+ ### Social proof / Testimonials
180
+
181
+ ```css
182
+ .testimonials-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-5); }
183
+ @media (max-width: 768px) { .testimonials-grid { grid-template-columns: 1fr; } }
184
+ ```
185
+
186
+ Testimonial card:
187
+ ```css
188
+ .testimonial-card {
189
+ background: var(--bg-surface); border: 1px solid var(--border-subtle);
190
+ border-radius: var(--radius-lg); padding: var(--space-6);
191
+ }
192
+ .testimonial-quote {
193
+ font-size: var(--text-base); color: var(--text-primary);
194
+ line-height: var(--leading-relaxed); font-style: italic;
195
+ margin-bottom: var(--space-4);
196
+ }
197
+ .testimonial-author {
198
+ font-family: var(--font-mono); font-size: var(--text-xs);
199
+ color: var(--text-muted); letter-spacing: var(--tracking-wider); text-transform: uppercase;
200
+ }
201
+ ```
202
+
203
+ ### CTA section
204
+
205
+ ```css
206
+ .cta-section {
207
+ background: var(--bg-void); text-align: center;
208
+ position: relative; overflow: hidden;
209
+ }
210
+ .cta-section::before {
211
+ content: ''; position: absolute; inset: 0;
212
+ background: radial-gradient(ellipse 600px 400px at 50% 50%, var(--accent-glow), transparent);
213
+ pointer-events: none;
214
+ }
215
+ .cta-content { position: relative; z-index: 1; max-width: 640px; margin: 0 auto; }
216
+ ```
217
+
218
+ ### Top navigation (landing pages)
219
+
220
+ Same structure as dashboard top bar, with these differences:
221
+ - Initially transparent background, transitions to `bg-void` on scroll
222
+ - Links are page anchor links (`#features`, `#pricing`, `#about`)
223
+ - Add `data-scrolled` attribute via JS to trigger background fill
224
+
225
+ ```css
226
+ .topbar { transition: background var(--transition-slow), border-color var(--transition-slow); }
227
+ .topbar[data-scrolled="true"] {
228
+ background: var(--bg-void);
229
+ border-bottom: 1px solid var(--border-subtle);
230
+ backdrop-filter: blur(12px);
231
+ }
232
+ ```
233
+
234
+ ---
235
+
236
+ ## 2. Institutional / Corporate Site
237
+
238
+ Same as landing page with these additions:
239
+
240
+ ### About page
241
+ ```
242
+ Hero (short, 50vh) → Text block + values card grid → Team card grid → CTA
243
+ ```
244
+
245
+ ### Team card
246
+ ```css
247
+ .team-card { text-align: center; background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); padding: var(--space-6); }
248
+ .team-avatar { width: 80px; height: 80px; border-radius: 50%; border: 2px solid var(--border-subtle); margin: 0 auto var(--space-4); object-fit: cover; }
249
+ .team-name { font-weight: var(--weight-bold); color: var(--text-heading); }
250
+ .team-role { color: var(--accent); font-style: italic; font-size: var(--text-sm); }
251
+ .team-bio { font-size: var(--text-sm); color: var(--text-secondary); margin-top: var(--space-2); line-height: var(--leading-relaxed); }
252
+ ```
253
+
254
+ ### Services page
255
+ ```
256
+ Hero → Service cards grid (3-col) → Why Us stats row → CTA
257
+ ```
258
+
259
+ ### Contact page
260
+ ```
261
+ Two columns: [Left: contact info cards] [Right: form card]
262
+ ```
263
+
264
+ ---
265
+
266
+ ## 3. Footer
267
+
268
+ ```css
269
+ .footer {
270
+ background: var(--bg-void); border-top: 1px solid var(--border-subtle);
271
+ padding: var(--space-10) var(--space-6) var(--space-6);
272
+ }
273
+ .footer-grid {
274
+ display: grid; grid-template-columns: 2fr 1fr 1fr 1fr;
275
+ gap: var(--space-8); margin-bottom: var(--space-8);
276
+ }
277
+ .footer-brand { /* brand column */ }
278
+ .footer-col-label {
279
+ font-family: var(--font-mono); font-size: var(--text-xs);
280
+ color: var(--text-muted); letter-spacing: var(--tracking-widest);
281
+ text-transform: uppercase; margin-bottom: var(--space-4);
282
+ }
283
+ .footer-link {
284
+ display: block; color: var(--text-secondary); text-decoration: none;
285
+ font-size: var(--text-sm); margin-bottom: var(--space-2);
286
+ transition: color var(--transition-fast);
287
+ }
288
+ .footer-link:hover { color: var(--accent); }
289
+ .footer-bottom {
290
+ border-top: 1px solid var(--border-subtle); padding-top: var(--space-4);
291
+ display: flex; justify-content: space-between; align-items: center;
292
+ font-size: var(--text-sm); color: var(--text-muted);
293
+ }
294
+ @media (max-width: 768px) {
295
+ .footer-grid { grid-template-columns: 1fr 1fr; gap: var(--space-6); }
296
+ }
297
+ ```
298
+
299
+ ---
300
+
301
+ ## 4. Buttons (website variants)
302
+
303
+ Primary CTA button:
304
+ ```css
305
+ .btn-primary {
306
+ background: var(--accent); color: var(--bg-base);
307
+ font-family: var(--font-mono); font-size: var(--text-sm);
308
+ font-weight: var(--weight-semibold); letter-spacing: var(--tracking-wide);
309
+ text-transform: uppercase; padding: var(--space-3) var(--space-6);
310
+ border-radius: var(--radius-md); border: none; cursor: pointer;
311
+ transition: var(--transition-base);
312
+ box-shadow: 0 0 20px var(--accent-glow);
313
+ }
314
+ .btn-primary:hover {
315
+ background: var(--accent-hover);
316
+ box-shadow: 0 0 32px var(--accent-glow), 0 4px 12px rgba(0,0,0,0.2);
317
+ transform: translateY(-1px);
318
+ }
319
+ ```
320
+
321
+ Secondary button:
322
+ ```css
323
+ .btn-secondary {
324
+ background: transparent; color: var(--text-primary);
325
+ border: 1px solid var(--border-medium);
326
+ font-family: var(--font-mono); font-size: var(--text-sm);
327
+ font-weight: var(--weight-semibold); letter-spacing: var(--tracking-wide);
328
+ text-transform: uppercase; padding: var(--space-3) var(--space-6);
329
+ border-radius: var(--radius-md); cursor: pointer;
330
+ transition: var(--transition-base);
331
+ }
332
+ .btn-secondary:hover {
333
+ border-color: var(--border-accent);
334
+ color: var(--accent);
335
+ }
336
+ ```
337
+
338
+ ---
339
+
340
+ ## Key differences: dashboard vs website
341
+
342
+ | Aspect | Dashboard | Website |
343
+ |---|---|---|
344
+ | Default theme | Dark | Light (or dark for tech) |
345
+ | Section padding | `space-4 to space-5` | `space-16 to space-24` |
346
+ | Content max-width | Full layout with sidebar | `1200px` centered |
347
+ | Heading size | `text-2xl` max | `text-5xl` for hero |
348
+ | Cards | Dense, compact | Spacious, feature-oriented |
349
+ | Navigation | Tab-heavy, sidebar | Linear anchors, single bar |
350
+ | Background alternation | Same bg-base | Alternates `bg-base` / `bg-surface` |
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: interface-design
3
+ description: Interface Design is a craft-first packaged design skill for choosing an intentional visual direction, building a stable token system, and maintaining UI continuity across screens. Use it when `design_skill: interface-design` is selected or when the user explicitly chooses this broad craft package.
4
+ ---
5
+
6
+ # Interface Design
7
+
8
+ This is a general design-craft package.
9
+ It helps the agent make strong decisions when the user wants a deliberate, high-quality UI but has not chosen a niche visual language such as `cognitive-ui` or `premium-command-center-ui`.
10
+
11
+ ## Package structure
12
+
13
+ ```text
14
+ .aioson/skills/design/interface-design/
15
+ SKILL.md
16
+ references/
17
+ intent-and-domain.md
18
+ design-directions.md
19
+ tokens-and-depth.md
20
+ components-and-states.md
21
+ handoff-and-quality.md
22
+ ```
23
+
24
+ ## Activation rules
25
+
26
+ - Apply this package only when `design_skill: interface-design` is selected.
27
+ - Do not combine it with any other design skill.
28
+ - Use it when the user wants strong design craft but has not asked for a very specific visual system.
29
+
30
+ ## Loading guide
31
+
32
+ | Task | Load |
33
+ |---|---|
34
+ | Any visual work | `references/intent-and-domain.md` + `references/design-directions.md` |
35
+ | Tokens and system decisions | add `references/tokens-and-depth.md` |
36
+ | Component behavior | add `references/components-and-states.md` |
37
+ | Final delivery quality | add `references/handoff-and-quality.md` |
38
+
39
+ ## Positioning
40
+
41
+ Use this package for:
42
+ - general web apps
43
+ - websites that need strong craft but not a preset style language
44
+ - redesigns that need a clearer system
45
+ - multi-screen work where continuity matters
46
+
47
+ Do not use it when a more explicit visual package was selected.
@@ -0,0 +1,105 @@
1
+ # Components and States — Interface Design
2
+
3
+ ---
4
+
5
+ ## Component quality (mandatory for every component)
6
+
7
+ Define all six states before handing off to @dev:
8
+
9
+ | State | What to specify |
10
+ |---|---|
11
+ | Default | Baseline appearance |
12
+ | Hover | Subtle shift (background, border, or opacity) |
13
+ | Focus | Visible ring — `outline: 2px solid brand/primary; outline-offset: 2px` |
14
+ | Active / pressed | Slight scale or brightness change |
15
+ | Disabled | Reduced opacity (0.4–0.5), no cursor pointer, no hover effect |
16
+ | Loading | Skeleton or spinner — never block critical flow |
17
+
18
+ Container components also need:
19
+ - **Empty state** — illustration or message + primary action
20
+ - **Error state** — clear message + recovery action
21
+ - **Success confirmation** — when relevant, transient (not permanent)
22
+
23
+ ---
24
+
25
+ ## Forms
26
+
27
+ - Labels outside placeholders. Placeholders are hints, not labels.
28
+ - Validate on blur (not on keystroke, not on submit only).
29
+ - Inline field errors directly below the field. One global summary for multi-field failures.
30
+ - Disable the submit button and show progress during async operations.
31
+ - Input height minimum: 40px (desktop), 44px (mobile/touch) — **consumer/public-facing forms only.**
32
+
33
+ **Admin / operational form scale (settings, config, entity managers):**
34
+
35
+ ```
36
+ Label : text-[0.65rem] mb: 2px ← not text-sm mb-2
37
+ Input : px-3 py-2 text-xs radius 10–12px (height ~32px)
38
+ Select : px-3 py-2 text-xs radius 10–12px
39
+ Button : px-3 py-2 text-xs radius 10–12px
40
+ ```
41
+
42
+ The 40px minimum only applies to authenticated public flows (login, onboarding, checkout). In dense admin contexts, 32px controls reduce visual weight without usability loss — the audience is power users, not first-time visitors.
43
+
44
+ **Entity add/edit forms → Modal, not inline expansion:**
45
+ - Inline accordions (RevealPanel, details-based expansion) inside entity cards cause layout shift and make the page feel unstable
46
+ - Correct pattern: `+ Add` button + `Edit` button each open a centered modal (`max-w-448px`, `backdrop-blur overlay`)
47
+ - Modal form: single-column, `gap: 10px`, compact controls, full-width submit button
48
+
49
+ ---
50
+
51
+ ## Typography hierarchy
52
+
53
+ Size alone is never enough. Use weight + tracking + opacity to create layers:
54
+
55
+ ```
56
+ Page title : largest size, 600-weight, tight tracking
57
+ Section title : medium-large, 500-weight, normal tracking
58
+ Body : base size, 400-weight, comfortable line-height (1.5–1.6)
59
+ Helper / meta : small, 400-weight, muted color
60
+ Data / mono : monospace for numbers in tables, code, metrics
61
+ ```
62
+
63
+ ---
64
+
65
+ ## Layout and composition
66
+
67
+ - **Rhythm** — interfaces breathe unevenly: dense tool areas give way to open content. Same card size, same gaps everywhere = flatness = no one decided.
68
+ - **Proportions declare intent** — a 280px sidebar says "navigation serves content." A 360px sidebar says "these are peers." Know what your proportions are saying.
69
+ - **One focal point per screen** — the primary action dominates through size, position, contrast, or surrounding space. When everything competes equally, nothing wins.
70
+ - **Reading order** — 1. Page intent → 2. Primary action → 3. Supporting data. Never invert.
71
+
72
+ ---
73
+
74
+ ## Accessibility baseline (non-negotiable)
75
+
76
+ - Semantic HTML and proper landmarks (`<main>`, `<nav>`, `<header>`, `<aside>`)
77
+ - Full keyboard navigation — Tab order must match visual reading order
78
+ - Visible focus rings on all interactive elements
79
+ - Color contrast: 4.5:1 for body text, 3:1 for large text and UI components
80
+ - Never convey meaning through color alone — add icon, pattern, or text
81
+ - `aria-label` on icon-only buttons, `aria-live` on dynamic status regions
82
+ - `prefers-reduced-motion` fallback for all animations
83
+
84
+ ---
85
+
86
+ ## Motion rules
87
+
88
+ - Motion clarifies transitions, it does not decorate them.
89
+ - Duration: micro-interactions 100–150ms, page transitions 200–300ms.
90
+ - Easing: ease-out for entrances, ease-in for exits.
91
+ - Never animate properties that affect layout (width, height, padding). Animate transform and opacity only.
92
+ - Always provide `prefers-reduced-motion: reduce` fallback.
93
+
94
+ ---
95
+
96
+ ## Stack-specific notes
97
+
98
+ | Stack | Priority |
99
+ |---|---|
100
+ | Laravel + TALL | Flux UI / Livewire primitives first; custom only for signature moves |
101
+ | Filament | Built-in Filament components before any override |
102
+ | Next.js + shadcn/ui | shadcn primitives + Tailwind tokens; keep component boundaries clean |
103
+ | React + Tailwind | Design token CSS vars → Tailwind config → components |
104
+ | Vue + Nuxt | Nuxt UI or PrimeVue first; avoid mixing component libraries |
105
+ | Vanilla HTML | Define CSS custom properties at `:root`, semantic class names only |
@@ -0,0 +1,101 @@
1
+ # Design Directions — Interface Design
2
+
3
+ Choose ONE direction. Never mix. Mixing produces visual noise.
4
+ The chosen direction defines spacing, typography, border strategy, depth, and motion posture — before components are built.
5
+
6
+ ---
7
+
8
+ ## Precision & Density
9
+
10
+ *For: dashboards, admin panels, developer tools, power-user interfaces.*
11
+
12
+ ```
13
+ Foundation : Cool slate (borders-only depth)
14
+ Spacing : 4px base — scale: 4, 8, 12, 16, 24, 32
15
+ Colors : foreground=slate-900, secondary=slate-600, muted=slate-400,
16
+ faint=slate-200, border=rgba(0,0,0,0.08), accent=blue-600
17
+ Radius : 4px / 6px / 8px (sharp, technical)
18
+ Typography : system-ui, 11–18px, weights 400/500/600
19
+ monospace: SF Mono, Consolas (for data/code)
20
+ Components :
21
+ Button → 32px height, 8px/12px padding, 4px radius, 13px 500-weight
22
+ Card → 0.5px faint border, 12px padding, 6px radius, NO shadows
23
+ Table → 8px/12px cell padding, tabular-nums, 13px font, 1px bottom border
24
+ Rationale : borders-only maximizes density; compact sizing serves power users;
25
+ system fonts feel native and load instantly.
26
+ ```
27
+
28
+ ---
29
+
30
+ ## Warmth & Approachability
31
+
32
+ *For: consumer apps, collaborative tools, onboarding flows, customer-facing products.*
33
+
34
+ ```
35
+ Foundation : Warm stone (subtle shadows)
36
+ Spacing : 4px base — scale: 8, 12, 16, 24, 32, 48 (generous)
37
+ Colors : foreground=stone-900, secondary=stone-600, accent=orange-500,
38
+ surface=white on stone-50
39
+ Radius : 8px / 12px / 16px (rounded, friendly)
40
+ Typography : Inter, 13–24px, weights 400/500/600
41
+ Components :
42
+ Button → 40px height, 12px/20px padding, 8px radius
43
+ Card → 20px padding, 12px radius, white on stone-50
44
+ Input → 44px height, 12px/16px padding, 1.5px faint border
45
+ Rationale : subtle shadows add approachable depth; generous spacing enables
46
+ focused tasks; warm tones feel human and inviting.
47
+ ```
48
+
49
+ ---
50
+
51
+ ## Sophistication & Trust
52
+
53
+ *For: fintech, enterprise SaaS, operational products where clarity and trust matter more than novelty.*
54
+
55
+ ```
56
+ Foundation : Cool mineral (restrained layers)
57
+ Spacing : 4px base — scale: 4, 8, 12, 16, 24, 32
58
+ Colors : foreground=slate-950, secondary=slate-700, muted=slate-500,
59
+ surface=white, border=rgba(15,23,42,0.10), accent=blue-700
60
+ Radius : 8px / 10px / 12px (firm, not playful)
61
+ Typography : IBM Plex Sans or Public Sans, 12–20px, weights 400/500/600
62
+ Components :
63
+ Button → 38px height, 12px/18px padding, 10px radius
64
+ Card → 16px padding, 10px radius, subtle border, rare soft shadow
65
+ Table → 10px/14px cell padding, tabular-nums, quiet row dividers
66
+ Rationale : trust comes from control, not decoration; a restrained palette and
67
+ firm typography make the product feel expensive and dependable.
68
+ ```
69
+
70
+ ---
71
+
72
+ ## Premium Dark Platform
73
+
74
+ *For: premium dashboards, media/catalog products, command surfaces, high-density apps with persistent navigation.*
75
+
76
+ ```
77
+ Foundation : Graphite layers (borders-first)
78
+ Spacing : 4px base — scale: 4, 8, 12, 16, 24, 32
79
+ Colors : base=#0b1015, surface=#10161d, elevated=#151c24,
80
+ foreground=#f3f7fb, secondary=#b7c2cf, muted=#7f8b99,
81
+ border=rgba(255,255,255,0.08), accent=desaturated blue
82
+ Radius : 12px / 14px / 16px (premium, controlled)
83
+ Typography : Manrope, Geist, or IBM Plex Sans, 12–22px, weights 400/500/600
84
+ Components :
85
+ Button → 40px height, 12px/18px padding, 12px radius
86
+ Card → layered surfaces, 16px padding, 14px radius, no heavy glow
87
+ Sidebar → quiet active state, compact icon rhythm, clean section grouping
88
+ Rationale : premium dark works when contrast is controlled, surfaces are few,
89
+ and borders quietly separate the system without turning neon.
90
+ ```
91
+
92
+ ---
93
+
94
+ ## Other directions (adapt token specs above)
95
+
96
+ - **Data & Analysis** — cool blue, high-density tables, monospace for numbers, minimal chrome
97
+ - **Editorial** — strong typographic hierarchy, generous white space, restrained color
98
+ - **Commerce** — aspirational photography support, high contrast CTAs, smooth transitions
99
+ - **Minimal & Calm** — near-monochrome, whitespace as design element, hairline borders only
100
+ - **Boldness & Clarity** — stronger accent, harder contrast, one dominant focal move
101
+ - **Utility & Function** — minimal decoration, maximum legibility, near-invisible chrome
@@ -0,0 +1,71 @@
1
+ # Handoff and Quality — Interface Design
2
+
3
+ ---
4
+
5
+ ## Quality checks (run before delivering)
6
+
7
+ ### Swap test
8
+ Would swapping the typeface or layout make the design look like a different product?
9
+ If yes — good. If no — the design has no identity.
10
+
11
+ ### Squint test
12
+ Blur your eyes (or the screenshot). Does the visual hierarchy still read clearly?
13
+ If not — the hierarchy is too weak.
14
+
15
+ ### Signature test
16
+ Can you point to five specific decisions where your craft appears?
17
+ If you cannot name five — you defaulted somewhere.
18
+
19
+ ### Token test
20
+ Do your CSS variable names sound like they belong to THIS product?
21
+ Generic: `--color-primary`. Specific: `--slot-available`, `--urgency-amber`.
22
+
23
+ ---
24
+
25
+ ## Self-critique before delivery
26
+
27
+ Walk through each section before handing off:
28
+
29
+ 1. **Composition** — Does the layout have rhythm? Are proportions intentional? Is there one clear focal point?
30
+ 2. **Craft** — Is every spacing value on-grid? Does typography use weight + tracking + size (not size alone)? Do surfaces whisper hierarchy without thick borders or dramatic shadows?
31
+ 3. **Content** — Does the spec tell one coherent story? Could a real person at a real company act on this?
32
+ 4. **Structure** — Are there any hacks? Negative-margin workarounds? Arbitrary pixel values? Fix them.
33
+
34
+ **Ask yourself: "If a design lead reviewed this, what would they call out?" Fix that thing. Then ask again.**
35
+
36
+ ---
37
+
38
+ ## Handoff to @dev
39
+
40
+ A strong handoff includes:
41
+ - Explicit visual direction and anti-goals
42
+ - Design token block (fonts, colors, spacing, radius, depth strategy, motion posture)
43
+ - Per-screen layout notes with component names mapped to real library components
44
+ - Full state matrix (default / hover / focus / active / disabled / loading / empty / error / success)
45
+ - Responsive rules (mobile breakpoints, collapse behavior)
46
+ - Accessibility checklist items
47
+ - Any signature visual moves with implementation notes
48
+ - Anti-patterns to avoid
49
+
50
+ The `ui-spec.md` must be concise enough to code from directly. Not a design document — a build contract.
51
+
52
+ ---
53
+
54
+ ## Update design memory
55
+
56
+ When the work introduces or changes reusable design decisions, update `.interface-design/system.md` with:
57
+ - Final direction and anti-goals
58
+ - Token block
59
+ - Component pattern notes
60
+ - New exceptions or constraints
61
+
62
+ This file is the continuity layer between screens, agents, and future sessions.
63
+
64
+ ---
65
+
66
+ ## Quality bar
67
+
68
+ 1. The result must not look generic.
69
+ 2. Repeated elements must share spacing, radius, and depth logic.
70
+ 3. Typography hierarchy must be legible without decorative tricks.
71
+ 4. The screen must communicate purpose before style.