@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,231 @@
1
+ ---
2
+ name: design-patterns
3
+ description: Page-level layout patterns for the Cognitive Core design system — dashboard shell, settings page, auth page, list-detail, command center, landing page, frontpage, and institutional page layouts. Load foundations and components first. Use when you need to compose a full page or screen layout.
4
+ ---
5
+
6
+ # Patterns — Page-Level Layouts
7
+
8
+ Requires: `foundations/SKILL.md` + `components/SKILL.md` loaded first.
9
+
10
+ These patterns define how to compose components into full page layouts. Each pattern includes a structure diagram, which components to use, and spacing rules.
11
+
12
+ ## 1. Dashboard Shell
13
+
14
+ The base layout for any admin/dashboard interface.
15
+
16
+ ```
17
+ ┌────────────────────────────────────────────────────────┐
18
+ │ TOP BAR (sticky, bg-void, z-sticky) │
19
+ ├────────────────────────────────────────────────────────┤
20
+ │ STATS ROW: [StatCard] [StatCard] [StatCard] [StatCard]│
21
+ ├────────────────────────────────────────────────────────┤
22
+ │ TAB BAR (border-bottom) │
23
+ ├───────────┬────────────────────────────────────────────┤
24
+ │ SIDEBAR │ CONTENT │
25
+ │ 200-220px │ ┌─ Section Header ──────────────────┐ │
26
+ │ │ │ Grid: [Card] [Card] [Card] [Card] │ │
27
+ │ │ └───────────────────────────────────┘ │
28
+ │ │ ┌─ Section Header ──────────────────┐ │
29
+ │ │ │ Grid: [Card] [Card] [Card] │ │
30
+ │ │ └───────────────────────────────────┘ │
31
+ └───────────┴────────────────────────────────────────────┘
32
+ ```
33
+
34
+ **CSS skeleton:**
35
+ ```css
36
+ .shell { min-height: 100vh; background: var(--bg-base); }
37
+ .stats-row { display: flex; gap: var(--space-3); padding: var(--space-5) var(--space-5) 0; flex-wrap: wrap; }
38
+ .main-layout { display: flex; min-height: calc(100vh - 230px); }
39
+ .sidebar { width: 200px; flex-shrink: 0; border-right: 1px solid var(--border-subtle); padding: var(--space-4); }
40
+ .content { flex: 1; padding: var(--space-4) var(--space-5); overflow-y: auto; }
41
+ .card-grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
42
+ ```
43
+
44
+ **Variant — with feature panels:**
45
+ Below stats and above card grid, add a two-column row: `grid-template-columns: 1fr 280px`. Left = DNA Panel. Right = Mode Panel.
46
+
47
+ ## 2. Detail Page (Entity Profile)
48
+
49
+ For viewing a single entity (product, user, project, contact).
50
+
51
+ ```
52
+ ┌────────────────────────────────────────────────────────┐
53
+ │ TOP BAR │
54
+ ├────────────────────────────────────────────────────────┤
55
+ │ Breadcrumbs: Gallery → Entity Name │
56
+ │ PROFILE HEADER (avatar, name, badges, stat cards) │
57
+ ├────────────────────────────────────────────────────────┤
58
+ │ TAB BAR (Geral | DNA | Comunicação | Histórico) │
59
+ ├───────────┬────────────────────────────────────────────┤
60
+ │ SIDEBAR │ TAB CONTENT │
61
+ │ │ (varies per tab — DNA panel, card grid, │
62
+ │ │ table, etc.) │
63
+ └───────────┴────────────────────────────────────────────┘
64
+ ```
65
+
66
+ **Breadcrumbs:** `font-size: var(--text-sm)`, `color: var(--text-muted)`, active item in `--text-primary`.
67
+
68
+ ## 3. Settings Page
69
+
70
+ ```
71
+ ┌────────────────────────────────────────────────────────┐
72
+ │ TOP BAR │
73
+ ├───────────┬────────────────────────────────────────────┤
74
+ │ SIDEBAR │ SETTINGS TITLE │
75
+ │ │ ┌─ Card ─────────────────────────────┐ │
76
+ │ General │ │ SECTION LABEL │ │
77
+ │ Security │ │ [Label] [Input] │ │
78
+ │ Billing │ │ [Label] [Input] │ │
79
+ │ Team │ │ [Label] [Select] │ │
80
+ │ API │ │ [Save Button] │ │
81
+ │ │ └─────────────────────────────────────┘ │
82
+ │ │ ┌─ Card ─────────────────────────────┐ │
83
+ │ │ │ DANGER ZONE (red border accent) │ │
84
+ │ │ └─────────────────────────────────────┘ │
85
+ └───────────┴────────────────────────────────────────────┘
86
+ ```
87
+
88
+ - Sidebar items map to form card sections
89
+ - Each section is a card with mono label header + form fields
90
+ - Danger zone card: `border-color: var(--semantic-red-dim)` with red-tinted actions
91
+
92
+ ## 4. Auth Page (Login / Register)
93
+
94
+ ```
95
+ ┌────────────────────────────────────────────────────────┐
96
+ │ bg-void (full screen) │
97
+ │ │
98
+ │ ┌─ Card (max-w 420px) ──────────┐ │
99
+ │ │ [Logo] AppName │ │
100
+ │ │ SUBTITLE │ │
101
+ │ │ │ │
102
+ │ │ MONO LABEL: email │ │
103
+ │ │ [Input] │ │
104
+ │ │ MONO LABEL: password │ │
105
+ │ │ [Input] │ │
106
+ │ │ [Primary Button: full width] │ │
107
+ │ │ │ │
108
+ │ │ or ─── divider ─── or │ │
109
+ │ │ [Secondary Button: Google] │ │
110
+ │ │ Link: forgot / register │ │
111
+ │ └────────────────────────────────┘ │
112
+ │ │
113
+ │ radial glow behind card │
114
+ └────────────────────────────────────────────────────────┘
115
+ ```
116
+
117
+ - Full viewport, centered flex, `background: var(--bg-void)`
118
+ - Card with `var(--bg-surface)`, `max-width: 420px`, `border-radius: var(--radius-xl)`
119
+ - Optional: radial glow effect behind card (like Mode Panel)
120
+
121
+ ## 5. List-Detail (Split View)
122
+
123
+ ```
124
+ ┌────────────────────────────────────────────────────────┐
125
+ │ TOP BAR │
126
+ ├────────────────────────────────────────────────────────┤
127
+ │ TAB BAR + Filter badges │
128
+ ├──────────────────────┬─────────────────────────────────┤
129
+ │ LIST (scrollable) │ DETAIL PANEL │
130
+ │ ┌──────────────┐ │ Profile Header (compact) │
131
+ │ │ Item (active) │ │ Stat Cards row │
132
+ │ ├──────────────┤ │ Tab sub-navigation │
133
+ │ │ Item │ │ Content (DNA Panel, table, │
134
+ │ ├──────────────┤ │ etc.) │
135
+ │ │ Item │ │ │
136
+ │ └──────────────┘ │ │
137
+ └──────────────────────┴─────────────────────────────────┘
138
+ ```
139
+
140
+ - List panel: `width: 340px`, `border-right: 1px solid var(--border-subtle)`
141
+ - Active item: `background: var(--bg-elevated)`, `border-left: 3px solid var(--accent)`
142
+ - Detail panel: flex: 1, scrollable independently
143
+
144
+ ## 6. Landing Page / Frontpage
145
+
146
+ Default theme: **light**. Uses generous spacing and hero typography.
147
+
148
+ ```
149
+ ┌────────────────────────────────────────────────────────┐
150
+ │ TOP BAR (transparent → bg-void on scroll) │
151
+ ├────────────────────────────────────────────────────────┤
152
+ │ │
153
+ │ HERO SECTION (padding: space-24) │
154
+ │ ┌──────────────────────────────────────────────┐ │
155
+ │ │ MONO LABEL: tagline │ │
156
+ │ │ DISPLAY HEADING (text-5xl, weight-black) │ │
157
+ │ │ Subtitle paragraph (text-lg, text-secondary) │ │
158
+ │ │ [CTA Button] [Secondary Button] │ │
159
+ │ └──────────────────────────────────────────────┘ │
160
+ │ │
161
+ ├────────────────────────────────────────────────────────┤
162
+ │ FEATURES SECTION (bg-surface, padding: space-20) │
163
+ │ Section Header (centered) │
164
+ │ [InfoCard] [InfoCard] [InfoCard] (3-col grid) │
165
+ │ │
166
+ ├────────────────────────────────────────────────────────┤
167
+ │ STATS SECTION (bg-base, padding: space-16) │
168
+ │ [StatCard] [StatCard] [StatCard] [StatCard] │
169
+ │ │
170
+ ├────────────────────────────────────────────────────────┤
171
+ │ SOCIAL PROOF / TESTIMONIALS (bg-surface) │
172
+ │ Quote cards in 2-col grid │
173
+ │ │
174
+ ├────────────────────────────────────────────────────────┤
175
+ │ CTA SECTION (accent glow background) │
176
+ │ Display heading + CTA button (centered) │
177
+ │ │
178
+ ├────────────────────────────────────────────────────────┤
179
+ │ FOOTER (bg-void) │
180
+ │ Columns: Brand | Links | Links | Newsletter │
181
+ └────────────────────────────────────────────────────────┘
182
+ ```
183
+
184
+ **Key differences from dashboard:**
185
+ - Sections are full-width with alternating `bg-base` / `bg-surface`
186
+ - Spacing between sections: `padding: var(--space-20) var(--space-6)`
187
+ - Hero heading: `--text-5xl` on desktop, `--text-3xl` on mobile
188
+ - Content max-width: `1200px`, centered with `margin: 0 auto`
189
+ - Section headers centered: `text-align: center`
190
+ - CTA section: `background: var(--bg-surface)` with `radial-gradient` glow
191
+
192
+ ## 7. Institutional / Corporate
193
+
194
+ Same as Landing Page but with these pages:
195
+
196
+ - **About page**: Hero + text blocks + team card grid (avatar cards with name, role, social)
197
+ - **Services page**: Hero + service info cards (icon + title + desc) in 3-col grid
198
+ - **Contact page**: Two columns — left: text + info cards, right: form card
199
+
200
+ Team card variant:
201
+ ```
202
+ ┌───────────────────┐
203
+ │ [Avatar] │
204
+ │ Team Member │ ← text-heading, weight-bold
205
+ │ CEO │ ← text-accent, italic
206
+ │ Short bio text │ ← text-secondary, text-sm
207
+ │ [Social icons] │
208
+ └───────────────────┘
209
+ ```
210
+
211
+ ## Responsive Breakpoints
212
+
213
+ Apply to all patterns:
214
+ ```css
215
+ /* Mobile: single column, sidebar collapses, stats stack */
216
+ @media (max-width: 768px) {
217
+ .main-layout { flex-direction: column; }
218
+ .sidebar { width: 100%; border-right: none; border-bottom: 1px solid var(--border-subtle); }
219
+ .card-grid { grid-template-columns: 1fr; }
220
+ .stats-row { flex-direction: column; }
221
+ .hero-heading { font-size: var(--text-3xl); }
222
+ }
223
+ /* Tablet: 2-col grid */
224
+ @media (min-width: 768px) and (max-width: 1024px) {
225
+ .card-grid { grid-template-columns: repeat(2, 1fr); }
226
+ }
227
+ /* Desktop: 3-4 col grid */
228
+ @media (min-width: 1024px) {
229
+ .card-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
230
+ }
231
+ ```
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: premium-visual-design
3
+ version: 2.1.0
4
+ description: Premium Visual Design System v2.1 — Dark-first design language for AIOSON Squad Dashboard. Provides tokens, patterns, and components for inter-squad UI: agent threads, dependency graphs, review workflows, notification center, team switcher. Use when building or reviewing any Squad Dashboard UI, inter-squad communication interface, or task/review workflow screens. Triggers on: "squad dashboard UI", "agent message thread", "task dependency", "hunk review", "notification center", "team switcher", "@mention", "review workflow".
5
+ ---
6
+
7
+ # Premium Visual Design System v2.1
8
+
9
+ Design system for AIOSON Squad Dashboard v3 and inter-squad UI. Dark-first, density-optimized, terminal-adjacent aesthetic.
10
+
11
+ ## What's in v2.1
12
+
13
+ ### Additions in v2.1.0
14
+ - `tokens/status-extended.md` — blocked/ready/solo/auto/human/review state tokens
15
+ - `patterns/agent-message-thread.md` — inter-squad feed with @mentions and reactions
16
+ - `patterns/task-dependency-graph.md` — SVG-based DAG with zero external deps
17
+ - `patterns/review-workflow-ui.md` — hunk-level code review with approve/reject flow
18
+ - `patterns/notification-panel.md` — notification center with filters and grouping
19
+ - `components/team-switcher.md` — sidebar squad navigation component
20
+ - `components/mention-autocomplete.md` — @agent, @squad, #task autocomplete
21
+ - `components/notification-center.md` — bell icon + badge + dropdown panel
22
+ - `components/dependency-node.md` — individual DAG node component
23
+ - `components/review-action-bar.md` — approve/reject/comment action bar
24
+ - `components/agent-badge.md` — auto/human/solo agent type indicator
25
+
26
+ ## Architecture
27
+
28
+ ```
29
+ skills/premium-visual-design/
30
+ ├── SKILL.md ← Router (this file)
31
+ ├── tokens/
32
+ │ └── status-extended.md ← State & status color tokens
33
+ ├── patterns/
34
+ │ ├── agent-message-thread.md ← Inter-squad message feed
35
+ │ ├── task-dependency-graph.md ← DAG visualization
36
+ │ ├── review-workflow-ui.md ← Review + diff + hunks
37
+ │ └── notification-panel.md ← Notification list with filters
38
+ └── components/
39
+ ├── agent-badge.md ← Agent type badge
40
+ ├── team-switcher.md ← Squad sidebar nav
41
+ ├── mention-autocomplete.md ← @mention dropdown
42
+ ├── notification-center.md ← Bell + badge + panel
43
+ ├── dependency-node.md ← DAG node
44
+ └── review-action-bar.md ← Approve/reject bar
45
+ ```
46
+
47
+ ## Design Language
48
+
49
+ **Aesthetic**: Dark terminal-adjacent. Dense but not cluttered. Monospace accents.
50
+
51
+ **Color foundation** (CSS variables, dark theme):
52
+ ```css
53
+ --bg: #0f1117; /* deep background */
54
+ --bg-card: #1a1d27; /* card surface */
55
+ --bg-hover: #222632; /* hover/elevated */
56
+ --border: #2a2e3a; /* subtle borders */
57
+ --text: #e1e4eb; /* primary text */
58
+ --text-muted: #8b8fa3; /* secondary text */
59
+ --accent: #6c8aff; /* primary accent (indigo) */
60
+ --accent-dim: rgba(108,138,255,0.15);
61
+ --success: #4ade80; /* green */
62
+ --warning: #fbbf24; /* amber */
63
+ --danger: #f87171; /* red */
64
+ --cyan: #22d3ee; /* cyan accent */
65
+ --purple: #c084fc; /* purple accent */
66
+ ```
67
+
68
+ ## Loading guide for agents
69
+
70
+ | Task | Load |
71
+ |------|------|
72
+ | Agent message feed | tokens/status-extended → components/agent-badge → components/mention-autocomplete → patterns/agent-message-thread |
73
+ | Task dependencies | tokens/status-extended → components/dependency-node → patterns/task-dependency-graph |
74
+ | Code review | tokens/status-extended → components/review-action-bar → patterns/review-workflow-ui |
75
+ | Notifications | tokens/status-extended → components/notification-center → patterns/notification-panel |
76
+ | Squad nav | tokens/status-extended → components/team-switcher |
77
+ | Full dashboard | Load all in order: tokens → components → patterns |
78
+
79
+ ## Changelog
80
+
81
+ ### v2.1.0 (2026-03-24)
82
+ - Added 11 new artefacts: 1 token file, 4 patterns, 6 components
83
+ - All artefacts target Squad Dashboard v3 (PRD 19.2) and inter-squad communication UI
@@ -0,0 +1,92 @@
1
+ # Agent Badge Component
2
+
3
+ Visual badge identifying the execution type of an agent: `auto`, `human`, or `solo`.
4
+
5
+ ## Anatomy
6
+
7
+ ```
8
+ ┌──────────┐ ┌──────────┐ ┌──────────┐
9
+ │ ⚡ auto │ │ 👤 human │ │ ◆ solo │
10
+ └──────────┘ └──────────┘ └──────────┘
11
+ cyan amber muted
12
+ ```
13
+
14
+ ## Types
15
+
16
+ | Type | Icon | Color token | Meaning |
17
+ |------|------|------------|---------|
18
+ | `auto` | ⚡ | `--state-auto` (#22d3ee) | Fully autonomous — no human gates |
19
+ | `human` | 👤 | `--state-human` (#fbbf24) | Human-in-the-loop agent |
20
+ | `solo` | ◆ | `--state-solo` (#8b8fa3) | Single agent, no squad context |
21
+
22
+ ## Sizes
23
+
24
+ | Size class | Height | Font |
25
+ |-----------|--------|------|
26
+ | `sm` | 18px | 10px |
27
+ | (default) | 24px | 12px |
28
+ | `lg` | 32px | 14px |
29
+
30
+ ## CSS
31
+
32
+ ```css
33
+ .agent-badge {
34
+ display: inline-flex;
35
+ align-items: center;
36
+ gap: 4px;
37
+ padding: 2px 8px;
38
+ border-radius: 4px;
39
+ font-size: 12px;
40
+ font-weight: 500;
41
+ border: 1px solid transparent;
42
+ white-space: nowrap;
43
+ }
44
+
45
+ .agent-badge-auto {
46
+ background: rgba(34, 211, 238, 0.12);
47
+ color: var(--state-auto, #22d3ee);
48
+ border-color: rgba(34, 211, 238, 0.25);
49
+ }
50
+
51
+ .agent-badge-human {
52
+ background: rgba(251, 191, 36, 0.12);
53
+ color: var(--state-human, #fbbf24);
54
+ border-color: rgba(251, 191, 36, 0.25);
55
+ }
56
+
57
+ .agent-badge-solo {
58
+ background: rgba(139, 143, 163, 0.12);
59
+ color: var(--state-solo, #8b8fa3);
60
+ border-color: rgba(139, 143, 163, 0.25);
61
+ }
62
+
63
+ /* Sizes */
64
+ .agent-badge.sm { padding: 1px 6px; font-size: 10px; }
65
+ .agent-badge.lg { padding: 4px 12px; font-size: 14px; }
66
+ ```
67
+
68
+ ## HTML Examples
69
+
70
+ ```html
71
+ <!-- Default sizes -->
72
+ <span class="agent-badge agent-badge-auto">⚡ auto</span>
73
+ <span class="agent-badge agent-badge-human">👤 human</span>
74
+ <span class="agent-badge agent-badge-solo">◆ solo</span>
75
+
76
+ <!-- Small (in team-switcher or compact lists) -->
77
+ <span class="agent-badge agent-badge-auto sm">⚡</span>
78
+
79
+ <!-- Large (agent profile header) -->
80
+ <span class="agent-badge agent-badge-human lg">👤 human-gate</span>
81
+ ```
82
+
83
+ ## Usage in context
84
+
85
+ **In agent card header**: place badge after agent name, same line.
86
+ ```html
87
+ <h4>planner <span class="agent-badge agent-badge-auto sm">⚡ auto</span></h4>
88
+ ```
89
+
90
+ **In team-switcher**: use `sm` to avoid crowding the sidebar item.
91
+
92
+ **In process list**: show alongside agent slug in the Processes tab.
@@ -0,0 +1,102 @@
1
+ # Dependency Node Component
2
+
3
+ Individual node in the task dependency graph. Rendered as an SVG `<g>` element.
4
+
5
+ ## Dimensions
6
+
7
+ - Width: `120px`
8
+ - Height: `44px`
9
+ - Corner radius: `6px`
10
+ - Status bar: left `4px` wide, full height
11
+
12
+ ## Anatomy
13
+
14
+ ```
15
+ ┌─┬────────────────────────┐
16
+ │█│ write-prd [▶] │ ← task slug + status icon (right)
17
+ │█│ planner │ ← agent slug (muted, smaller)
18
+ └─┴────────────────────────┘
19
+ ↑ 4px status bar (color by state)
20
+ ```
21
+
22
+ ## SVG Structure
23
+
24
+ ```svg
25
+ <g class="dep-node" data-status="running" data-task="write-prd">
26
+ <!-- Background rect -->
27
+ <rect width="120" height="44" rx="6"
28
+ fill="#1a1d27" stroke="#2a2e3a" stroke-width="1"/>
29
+
30
+ <!-- Status bar (left edge) -->
31
+ <rect width="4" height="44" rx="2"
32
+ fill="#6c8aff"/> <!-- color changes by status -->
33
+
34
+ <!-- Task slug -->
35
+ <text x="16" y="18"
36
+ font-size="12" font-weight="600" fill="#e1e4eb"
37
+ font-family="monospace">write-prd</text>
38
+
39
+ <!-- Agent label -->
40
+ <text x="16" y="32"
41
+ font-size="10" fill="#8b8fa3"
42
+ font-family="monospace">planner</text>
43
+
44
+ <!-- Status label (right side) -->
45
+ <text x="112" y="18"
46
+ font-size="9" fill="#6c8aff"
47
+ text-anchor="end">running</text>
48
+
49
+ <!-- Connector port — left (incoming edges) -->
50
+ <circle cx="0" cy="22" r="3" fill="#2a2e3a" stroke="#6c8aff" stroke-width="1"/>
51
+
52
+ <!-- Connector port — right (outgoing edges) -->
53
+ <circle cx="120" cy="22" r="3" fill="#2a2e3a" stroke="#6c8aff" stroke-width="1"/>
54
+ </g>
55
+ ```
56
+
57
+ ## Status Bar Colors
58
+
59
+ Map from `status-extended.md` tokens:
60
+
61
+ | Status | Color | Hex |
62
+ |--------|-------|-----|
63
+ | `pending` | `--state-idle` | `#8b8fa3` |
64
+ | `ready` | `--state-ready` | `#4ade80` |
65
+ | `running` | `--state-running` | `#6c8aff` |
66
+ | `blocked` | `--state-blocked` | `#f87171` |
67
+ | `done` | `--state-done` | `#4ade80` |
68
+ | `error` | `--state-error` | `#f87171` |
69
+ | `review` | `--state-review` | `#c084fc` |
70
+
71
+ ## CSS (applied to SVG via class)
72
+
73
+ ```css
74
+ .dep-node rect:first-of-type {
75
+ transition: stroke 0.15s, stroke-width 0.15s;
76
+ }
77
+
78
+ .dep-node:hover rect:first-of-type {
79
+ stroke: var(--accent);
80
+ stroke-width: 1.5;
81
+ }
82
+
83
+ .dep-node.selected rect:first-of-type {
84
+ stroke: var(--accent);
85
+ stroke-width: 2;
86
+ }
87
+
88
+ .dep-node { cursor: pointer; }
89
+ ```
90
+
91
+ ## Connector Ports
92
+
93
+ Ports are small circles at `(0, 22)` (left, for incoming) and `(120, 22)` (right, outgoing). Show on hover using CSS opacity:
94
+
95
+ ```css
96
+ .dep-node circle { opacity: 0; transition: opacity 0.15s; }
97
+ .dep-node:hover circle { opacity: 1; }
98
+ ```
99
+
100
+ ## Usage
101
+
102
+ Used inside the task dependency graph pattern (`task-dependency-graph.md`). Each node is a `<g>` positioned by the layout algorithm at `transform="translate(x, y)"`.
@@ -0,0 +1,136 @@
1
+ # Mention Autocomplete Component
2
+
3
+ Dropdown that appears when typing `@` (agents/squads) or `#` (tasks) in any text input.
4
+
5
+ ## Anatomy
6
+
7
+ ```
8
+ ┌─ @write ──────────────────────────┐
9
+ │ Agents │
10
+ │ ● writer alpha-squad │ ← highlighted (keyboard/hover)
11
+ │ planner alpha-squad │
12
+ │ Squads │
13
+ │ bravo-squad │
14
+ └────────────────────────────────────┘
15
+ ```
16
+
17
+ ## Trigger rules
18
+
19
+ | Character | Shows | Groups |
20
+ |-----------|-------|--------|
21
+ | `@` | Agents, then Squads | "Agents" / "Squads" |
22
+ | `#` | Tasks | "Tasks" |
23
+
24
+ Filter list in real-time as user types after the trigger character.
25
+
26
+ ## HTML Structure
27
+
28
+ ```html
29
+ <div class="mention-dropdown" id="mention-dropdown" hidden>
30
+ <!-- Agents group -->
31
+ <div class="mention-group-label">Agents</div>
32
+ <div class="mention-item selected" data-value="@writer" tabindex="-1">
33
+ <span class="mention-item-icon">🤖</span>
34
+ <span class="mention-item-name">writer</span>
35
+ <span class="mention-item-sub">alpha-squad</span>
36
+ </div>
37
+ <div class="mention-item" data-value="@planner" tabindex="-1">
38
+ <span class="mention-item-icon">🤖</span>
39
+ <span class="mention-item-name">planner</span>
40
+ <span class="mention-item-sub">alpha-squad</span>
41
+ </div>
42
+
43
+ <!-- Squads group -->
44
+ <div class="mention-group-label">Squads</div>
45
+ <div class="mention-item" data-value="@bravo-squad" tabindex="-1">
46
+ <span class="mention-item-icon">👥</span>
47
+ <span class="mention-item-name">bravo-squad</span>
48
+ <span class="mention-item-sub">squad</span>
49
+ </div>
50
+ </div>
51
+ ```
52
+
53
+ ## CSS
54
+
55
+ ```css
56
+ .mention-dropdown {
57
+ position: absolute;
58
+ background: var(--bg-card);
59
+ border: 1px solid var(--border);
60
+ border-radius: 6px;
61
+ width: 260px;
62
+ max-height: 240px;
63
+ overflow-y: auto;
64
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
65
+ z-index: 1000;
66
+ }
67
+
68
+ .mention-group-label {
69
+ font-size: 10px;
70
+ text-transform: uppercase;
71
+ color: var(--text-muted);
72
+ padding: 6px 12px 2px;
73
+ letter-spacing: 0.4px;
74
+ }
75
+
76
+ .mention-item {
77
+ display: flex;
78
+ align-items: center;
79
+ gap: 8px;
80
+ padding: 7px 12px;
81
+ cursor: pointer;
82
+ font-size: 13px;
83
+ transition: background 0.1s;
84
+ }
85
+
86
+ .mention-item:hover,
87
+ .mention-item.selected {
88
+ background: var(--accent-dim);
89
+ }
90
+
91
+ .mention-item-icon {
92
+ font-size: 14px;
93
+ flex-shrink: 0;
94
+ }
95
+
96
+ .mention-item-name {
97
+ font-weight: 500;
98
+ flex: 1;
99
+ }
100
+
101
+ .mention-item-sub {
102
+ font-size: 11px;
103
+ color: var(--text-muted);
104
+ }
105
+ ```
106
+
107
+ ## Keyboard navigation (JS spec)
108
+
109
+ 1. `@` or `#` typed in the input → show dropdown, filter to matching items
110
+ 2. `ArrowDown` / `ArrowUp` → move `.selected` class between `.mention-item` rows
111
+ 3. `Enter` → insert selected item's `data-value` + trailing space into the input, close dropdown
112
+ 4. `Escape` → close dropdown without inserting
113
+ 5. Click on `.mention-item` → same as Enter
114
+ 6. Any non-matching char → re-filter, hide if no results
115
+
116
+ ## Resulting inline markup
117
+
118
+ After insertion, wrap the mention in a `<span>`:
119
+
120
+ ```html
121
+ <!-- Agent mention -->
122
+ <span class="mention mention-agent" data-slug="writer">@writer</span>
123
+
124
+ <!-- Squad mention -->
125
+ <span class="mention mention-squad" data-slug="bravo-squad">@bravo-squad</span>
126
+
127
+ <!-- Task mention -->
128
+ <span class="mention mention-task" data-slug="write-prd">#write-prd</span>
129
+ ```
130
+
131
+ ```css
132
+ .mention { padding: 1px 4px; border-radius: 3px; font-weight: 500; }
133
+ .mention-agent { background: var(--accent-dim); color: var(--accent); }
134
+ .mention-squad { background: rgba(34,211,238,0.10); color: var(--cyan, #22d3ee); }
135
+ .mention-task { background: rgba(192,132,252,0.10); color: var(--purple, #c084fc); }
136
+ ```