@robbiesrobotics/alice-agents 1.5.10 → 1.5.13

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 (629) hide show
  1. package/README.md +15 -24
  2. package/bin/alice-install.mjs +5 -22
  3. package/lib/agent-registry.mjs +50 -9
  4. package/lib/alice-runtime-adapter.mjs +50 -0
  5. package/lib/doctor.mjs +1 -32
  6. package/lib/hermes-installer.mjs +33 -51
  7. package/lib/installer.mjs +171 -249
  8. package/lib/manifest.mjs +14 -9
  9. package/lib/prompter.mjs +2 -34
  10. package/lib/runtime-installer.mjs +314 -0
  11. package/lib/workspace-scaffolder.mjs +193 -17
  12. package/package.json +14 -9
  13. package/templates/agents-pro.json +147 -36
  14. package/templates/agents-starter.json +207 -7
  15. package/templates/workspaces/_shared/AGENTS-orchestrator.md +19 -9
  16. package/templates/workspaces/_shared/AGENTS.md +9 -0
  17. package/templates/workspaces/_shared/HEARTBEAT.md +18 -0
  18. package/templates/workspaces/_shared/PLAYBOOK.md +6 -6
  19. package/templates/workspaces/_shared/SOUL-coding.md +20 -0
  20. package/templates/workspaces/_shared/SOUL-hermes.md +20 -0
  21. package/templates/workspaces/_shared/SOUL-orchestrator.md +20 -0
  22. package/templates/workspaces/_shared/SOUL.md +20 -0
  23. package/templates/workspaces/athena/AGENTS.md +172 -0
  24. package/templates/workspaces/athena/SOUL.md +59 -0
  25. package/templates/workspaces/athena/TOOLS.md +63 -0
  26. package/templates/workspaces/devon/AGENTS.md +50 -34
  27. package/templates/workspaces/devon/TOOLS.md +20 -37
  28. package/templates/workspaces/dylan/AGENTS.md +44 -34
  29. package/templates/workspaces/dylan/TOOLS.md +11 -35
  30. package/templates/workspaces/felix/AGENTS.md +50 -34
  31. package/templates/workspaces/felix/TOOLS.md +20 -45
  32. package/templates/workspaces/morgan/AGENTS.md +48 -39
  33. package/templates/workspaces/morgan/TOOLS.md +26 -9
  34. package/templates/workspaces/priya/AGENTS.md +68 -0
  35. package/templates/workspaces/priya/TOOLS.md +32 -0
  36. package/templates/workspaces/quinn/AGENTS.md +50 -34
  37. package/templates/workspaces/quinn/TOOLS.md +30 -48
  38. package/templates/workspaces/sasha/AGENTS.md +68 -0
  39. package/templates/workspaces/sasha/TOOLS.md +32 -0
  40. package/bin/alice-cloud.cjs +0 -385
  41. package/lib/mission-control.mjs +0 -242
  42. package/snapshots/.gitkeep +0 -0
  43. package/templates/mission-control-bridge/index.ts +0 -695
  44. package/templates/mission-control-bridge/openclaw.plugin.json +0 -8
  45. package/templates/mission-control-bridge/package.json +0 -11
  46. package/templates/skills/.gitkeep +0 -0
  47. package/templates/skills/acculynx/SKILL.md +0 -183
  48. package/templates/skills/acculynx/references/analysis_template.py +0 -116
  49. package/templates/skills/acculynx/references/dashboard_page.tsx +0 -641
  50. package/templates/skills/claude-code/.gitkeep +0 -0
  51. package/templates/skills/claude-code/SKILL.md +0 -111
  52. package/templates/skills/coding-agent/SKILL.md +0 -68
  53. package/templates/skills/crawl4ai/SKILL.md +0 -119
  54. package/templates/skills/crawl4ai/scripts/crwl +0 -3
  55. package/templates/workspaces/.gitkeep +0 -0
  56. package/templates/workspaces/_shared/.gitkeep +0 -0
  57. package/templates/workspaces/accuscope/AGENTS.md +0 -38
  58. package/templates/workspaces/accuscope/FEEDBACK.md +0 -27
  59. package/templates/workspaces/accuscope/HEARTBEAT.md +0 -26
  60. package/templates/workspaces/accuscope/IDENTITY.md +0 -48
  61. package/templates/workspaces/accuscope/LEARNINGS.md +0 -46
  62. package/templates/workspaces/accuscope/MEMORY.md +0 -47
  63. package/templates/workspaces/accuscope/PLAYBOOK.md +0 -65
  64. package/templates/workspaces/accuscope/SOUL.md +0 -40
  65. package/templates/workspaces/accuscope/TOOLS.md +0 -63
  66. package/templates/workspaces/accuscope/USER.md +0 -39
  67. package/templates/workspaces/aiden/AGENTS.md +0 -52
  68. package/templates/workspaces/aiden/FEEDBACK.md +0 -12
  69. package/templates/workspaces/aiden/HEARTBEAT.md +0 -9
  70. package/templates/workspaces/aiden/IDENTITY.md +0 -6
  71. package/templates/workspaces/aiden/LEARNINGS.md +0 -6
  72. package/templates/workspaces/aiden/MEMORY.md +0 -22
  73. package/templates/workspaces/aiden/PLAYBOOK.md +0 -16
  74. package/templates/workspaces/aiden/SOUL.md +0 -39
  75. package/templates/workspaces/aiden/TOOLS.md +0 -57
  76. package/templates/workspaces/aiden/USER.md +0 -17
  77. package/templates/workspaces/alex/AGENTS.md +0 -52
  78. package/templates/workspaces/alex/FEEDBACK.md +0 -11
  79. package/templates/workspaces/alex/HEARTBEAT.md +0 -9
  80. package/templates/workspaces/alex/IDENTITY.md +0 -6
  81. package/templates/workspaces/alex/LEARNINGS.md +0 -5
  82. package/templates/workspaces/alex/MEMORY.md +0 -22
  83. package/templates/workspaces/alex/PLAYBOOK.md +0 -16
  84. package/templates/workspaces/alex/SOUL.md +0 -40
  85. package/templates/workspaces/alex/TOOLS.md +0 -56
  86. package/templates/workspaces/alex/USER.md +0 -13
  87. package/templates/workspaces/aria/AGENTS.md +0 -18
  88. package/templates/workspaces/aria/FEEDBACK.md +0 -12
  89. package/templates/workspaces/aria/HEARTBEAT.md +0 -32
  90. package/templates/workspaces/aria/IDENTITY.md +0 -12
  91. package/templates/workspaces/aria/LEARNINGS.md +0 -31
  92. package/templates/workspaces/aria/MEMORY.md +0 -29
  93. package/templates/workspaces/aria/PLAYBOOK.md +0 -71
  94. package/templates/workspaces/aria/SOUL.md +0 -57
  95. package/templates/workspaces/aria/TOOLS.md +0 -47
  96. package/templates/workspaces/aria/USER.md +0 -18
  97. package/templates/workspaces/audrey/AGENTS.md +0 -59
  98. package/templates/workspaces/audrey/FEEDBACK.md +0 -11
  99. package/templates/workspaces/audrey/HEARTBEAT.md +0 -9
  100. package/templates/workspaces/audrey/IDENTITY.md +0 -6
  101. package/templates/workspaces/audrey/LEARNINGS.md +0 -5
  102. package/templates/workspaces/audrey/MEMORY.md +0 -22
  103. package/templates/workspaces/audrey/PLAYBOOK.md +0 -16
  104. package/templates/workspaces/audrey/SOUL.md +0 -39
  105. package/templates/workspaces/audrey/TOOLS.md +0 -15
  106. package/templates/workspaces/audrey/USER.md +0 -13
  107. package/templates/workspaces/avery/AGENTS.md +0 -52
  108. package/templates/workspaces/avery/FEEDBACK.md +0 -12
  109. package/templates/workspaces/avery/HEARTBEAT.md +0 -5
  110. package/templates/workspaces/avery/IDENTITY.md +0 -6
  111. package/templates/workspaces/avery/LEARNINGS.md +0 -6
  112. package/templates/workspaces/avery/MEMORY.md +0 -22
  113. package/templates/workspaces/avery/PLAYBOOK.md +0 -16
  114. package/templates/workspaces/avery/SOUL.md +0 -40
  115. package/templates/workspaces/avery/TOOLS.md +0 -47
  116. package/templates/workspaces/avery/USER.md +0 -17
  117. package/templates/workspaces/avery/skills/claude-code/SKILL.md +0 -38
  118. package/templates/workspaces/avery/skills/claude-code/claude_code +0 -55
  119. package/templates/workspaces/caleb/AGENTS.md +0 -52
  120. package/templates/workspaces/caleb/FEEDBACK.md +0 -11
  121. package/templates/workspaces/caleb/HEARTBEAT.md +0 -9
  122. package/templates/workspaces/caleb/IDENTITY.md +0 -6
  123. package/templates/workspaces/caleb/LEARNINGS.md +0 -5
  124. package/templates/workspaces/caleb/MEMORY.md +0 -22
  125. package/templates/workspaces/caleb/PLAYBOOK.md +0 -16
  126. package/templates/workspaces/caleb/SOUL.md +0 -39
  127. package/templates/workspaces/caleb/TOOLS.md +0 -30
  128. package/templates/workspaces/caleb/USER.md +0 -13
  129. package/templates/workspaces/clara/AGENTS.md +0 -59
  130. package/templates/workspaces/clara/FEEDBACK.md +0 -12
  131. package/templates/workspaces/clara/HEARTBEAT.md +0 -5
  132. package/templates/workspaces/clara/IDENTITY.md +0 -6
  133. package/templates/workspaces/clara/LEARNINGS.md +0 -6
  134. package/templates/workspaces/clara/MEMORY.md +0 -22
  135. package/templates/workspaces/clara/PLAYBOOK.md +0 -16
  136. package/templates/workspaces/clara/SOUL.md +0 -39
  137. package/templates/workspaces/clara/TOOLS.md +0 -15
  138. package/templates/workspaces/clara/USER.md +0 -17
  139. package/templates/workspaces/daphne/AGENTS.md +0 -59
  140. package/templates/workspaces/daphne/FEEDBACK.md +0 -18
  141. package/templates/workspaces/daphne/HEARTBEAT.md +0 -5
  142. package/templates/workspaces/daphne/IDENTITY.md +0 -6
  143. package/templates/workspaces/daphne/LEARNINGS.md +0 -6
  144. package/templates/workspaces/daphne/MEMORY.md +0 -22
  145. package/templates/workspaces/daphne/PLAYBOOK.md +0 -48
  146. package/templates/workspaces/daphne/SOUL.md +0 -39
  147. package/templates/workspaces/daphne/TOOLS.md +0 -15
  148. package/templates/workspaces/daphne/USER.md +0 -17
  149. package/templates/workspaces/darius/AGENTS.md +0 -52
  150. package/templates/workspaces/darius/FEEDBACK.md +0 -12
  151. package/templates/workspaces/darius/HEARTBEAT.md +0 -5
  152. package/templates/workspaces/darius/IDENTITY.md +0 -6
  153. package/templates/workspaces/darius/LEARNINGS.md +0 -6
  154. package/templates/workspaces/darius/MEMORY.md +0 -22
  155. package/templates/workspaces/darius/PLAYBOOK.md +0 -16
  156. package/templates/workspaces/darius/SOUL.md +0 -40
  157. package/templates/workspaces/darius/TOOLS.md +0 -57
  158. package/templates/workspaces/darius/USER.md +0 -17
  159. package/templates/workspaces/darius/skills/claude-code/SKILL.md +0 -38
  160. package/templates/workspaces/darius/skills/claude-code/claude_code +0 -55
  161. package/templates/workspaces/devon/FEEDBACK.md +0 -11
  162. package/templates/workspaces/devon/HEARTBEAT.md +0 -5
  163. package/templates/workspaces/devon/IDENTITY.md +0 -6
  164. package/templates/workspaces/devon/LEARNINGS.md +0 -11
  165. package/templates/workspaces/devon/MEMORY.md +0 -22
  166. package/templates/workspaces/devon/PLAYBOOK.md +0 -16
  167. package/templates/workspaces/devon/SOUL.md +0 -40
  168. package/templates/workspaces/devon/USER.md +0 -13
  169. package/templates/workspaces/devon/check_github.py +0 -12
  170. package/templates/workspaces/devon/check_mc_env.py +0 -30
  171. package/templates/workspaces/devon/check_sb.py +0 -34
  172. package/templates/workspaces/devon/check_vercel.py +0 -12
  173. package/templates/workspaces/devon/get_mc_files.py +0 -17
  174. package/templates/workspaces/devon/write_heartbeat.py +0 -67
  175. package/templates/workspaces/dylan/.env.example +0 -33
  176. package/templates/workspaces/dylan/00007_verify_licenses_table.sql +0 -100
  177. package/templates/workspaces/dylan/FEEDBACK.md +0 -28
  178. package/templates/workspaces/dylan/HEARTBEAT.md +0 -5
  179. package/templates/workspaces/dylan/IDENTITY.md +0 -6
  180. package/templates/workspaces/dylan/LEARNINGS.md +0 -70
  181. package/templates/workspaces/dylan/MEMORY.md +0 -22
  182. package/templates/workspaces/dylan/PLAYBOOK.md +0 -16
  183. package/templates/workspaces/dylan/SOUL.md +0 -42
  184. package/templates/workspaces/dylan/STRIPE_PIPELINE.md +0 -185
  185. package/templates/workspaces/dylan/USER.md +0 -17
  186. package/templates/workspaces/dylan/n8n-stripe-welcome-workflow.json +0 -123
  187. package/templates/workspaces/dylan/skills/claude-code/SKILL.md +0 -38
  188. package/templates/workspaces/dylan/skills/claude-code/claude_code +0 -55
  189. package/templates/workspaces/dylan/stripe-webhook-handler.py +0 -433
  190. package/templates/workspaces/dylan/test_mock_webhook.py +0 -103
  191. package/templates/workspaces/elena/AGENTS.md +0 -59
  192. package/templates/workspaces/elena/FEEDBACK.md +0 -11
  193. package/templates/workspaces/elena/HEARTBEAT.md +0 -9
  194. package/templates/workspaces/elena/IDENTITY.md +0 -6
  195. package/templates/workspaces/elena/LEARNINGS.md +0 -5
  196. package/templates/workspaces/elena/MEMORY.md +0 -22
  197. package/templates/workspaces/elena/PLAYBOOK.md +0 -16
  198. package/templates/workspaces/elena/SOUL.md +0 -39
  199. package/templates/workspaces/elena/TOOLS.md +0 -15
  200. package/templates/workspaces/elena/USER.md +0 -13
  201. package/templates/workspaces/eva/AGENTS.md +0 -59
  202. package/templates/workspaces/eva/FEEDBACK.md +0 -11
  203. package/templates/workspaces/eva/HEARTBEAT.md +0 -9
  204. package/templates/workspaces/eva/IDENTITY.md +0 -6
  205. package/templates/workspaces/eva/LEARNINGS.md +0 -5
  206. package/templates/workspaces/eva/MEMORY.md +0 -22
  207. package/templates/workspaces/eva/PLAYBOOK.md +0 -16
  208. package/templates/workspaces/eva/SOUL.md +0 -39
  209. package/templates/workspaces/eva/TOOLS.md +0 -15
  210. package/templates/workspaces/eva/USER.md +0 -13
  211. package/templates/workspaces/felix/FEEDBACK.md +0 -11
  212. package/templates/workspaces/felix/HEARTBEAT.md +0 -5
  213. package/templates/workspaces/felix/IDENTITY.md +0 -6
  214. package/templates/workspaces/felix/LEARNINGS.md +0 -17
  215. package/templates/workspaces/felix/MEMORY.md +0 -22
  216. package/templates/workspaces/felix/PLAYBOOK.md +0 -16
  217. package/templates/workspaces/felix/SOUL.md +0 -40
  218. package/templates/workspaces/felix/USER.md +0 -13
  219. package/templates/workspaces/felix/fidelia-psychology.html +0 -1594
  220. package/templates/workspaces/felix/task.txt +0 -164
  221. package/templates/workspaces/hannah/AGENTS.md +0 -59
  222. package/templates/workspaces/hannah/FEEDBACK.md +0 -12
  223. package/templates/workspaces/hannah/HEARTBEAT.md +0 -5
  224. package/templates/workspaces/hannah/IDENTITY.md +0 -6
  225. package/templates/workspaces/hannah/LEARNINGS.md +0 -6
  226. package/templates/workspaces/hannah/MEMORY.md +0 -22
  227. package/templates/workspaces/hannah/PLAYBOOK.md +0 -16
  228. package/templates/workspaces/hannah/SOUL.md +0 -39
  229. package/templates/workspaces/hannah/TOOLS.md +0 -15
  230. package/templates/workspaces/hannah/USER.md +0 -17
  231. package/templates/workspaces/isaac/AGENTS.md +0 -52
  232. package/templates/workspaces/isaac/FEEDBACK.md +0 -12
  233. package/templates/workspaces/isaac/HEARTBEAT.md +0 -9
  234. package/templates/workspaces/isaac/IDENTITY.md +0 -6
  235. package/templates/workspaces/isaac/LEARNINGS.md +0 -6
  236. package/templates/workspaces/isaac/MEMORY.md +0 -22
  237. package/templates/workspaces/isaac/PLAYBOOK.md +0 -16
  238. package/templates/workspaces/isaac/SOUL.md +0 -40
  239. package/templates/workspaces/isaac/TOOLS.md +0 -52
  240. package/templates/workspaces/isaac/USER.md +0 -17
  241. package/templates/workspaces/isaac/skills/claude-code/SKILL.md +0 -38
  242. package/templates/workspaces/isaac/skills/claude-code/claude_code +0 -55
  243. package/templates/workspaces/logan/AGENTS.md +0 -59
  244. package/templates/workspaces/logan/FEEDBACK.md +0 -11
  245. package/templates/workspaces/logan/HEARTBEAT.md +0 -9
  246. package/templates/workspaces/logan/IDENTITY.md +0 -6
  247. package/templates/workspaces/logan/LEARNINGS.md +0 -5
  248. package/templates/workspaces/logan/MEMORY.md +0 -22
  249. package/templates/workspaces/logan/PLAYBOOK.md +0 -16
  250. package/templates/workspaces/logan/SOUL.md +0 -39
  251. package/templates/workspaces/logan/TOOLS.md +0 -15
  252. package/templates/workspaces/logan/USER.md +0 -13
  253. package/templates/workspaces/maxxipro/AGENTS.md +0 -29
  254. package/templates/workspaces/maxxipro/FEEDBACK.md +0 -19
  255. package/templates/workspaces/maxxipro/HEARTBEAT.md +0 -22
  256. package/templates/workspaces/maxxipro/IDENTITY.md +0 -35
  257. package/templates/workspaces/maxxipro/KNOWLEDGE.md +0 -335
  258. package/templates/workspaces/maxxipro/LEARNINGS.md +0 -47
  259. package/templates/workspaces/maxxipro/MEMORY.md +0 -60
  260. package/templates/workspaces/maxxipro/OUTREACH_TEMPLATES.md +0 -143
  261. package/templates/workspaces/maxxipro/PLAYBOOK.md +0 -81
  262. package/templates/workspaces/maxxipro/SOUL.md +0 -146
  263. package/templates/workspaces/maxxipro/TOOLS.md +0 -81
  264. package/templates/workspaces/maxxipro/USER.md +0 -40
  265. package/templates/workspaces/morgan/FEEDBACK.md +0 -19
  266. package/templates/workspaces/morgan/HEARTBEAT.md +0 -5
  267. package/templates/workspaces/morgan/IDENTITY.md +0 -6
  268. package/templates/workspaces/morgan/LEARNINGS.md +0 -18
  269. package/templates/workspaces/morgan/MEMORY.md +0 -22
  270. package/templates/workspaces/morgan/PLAYBOOK.md +0 -16
  271. package/templates/workspaces/morgan/SOUL.md +0 -39
  272. package/templates/workspaces/morgan/USER.md +0 -13
  273. package/templates/workspaces/nadia/AGENTS.md +0 -59
  274. package/templates/workspaces/nadia/FEEDBACK.md +0 -12
  275. package/templates/workspaces/nadia/HEARTBEAT.md +0 -5
  276. package/templates/workspaces/nadia/IDENTITY.md +0 -6
  277. package/templates/workspaces/nadia/LEARNINGS.md +0 -6
  278. package/templates/workspaces/nadia/MEMORY.md +0 -22
  279. package/templates/workspaces/nadia/PLAYBOOK.md +0 -16
  280. package/templates/workspaces/nadia/SOUL.md +0 -39
  281. package/templates/workspaces/nadia/TOOLS.md +0 -15
  282. package/templates/workspaces/nadia/USER.md +0 -13
  283. package/templates/workspaces/nate/AGENTS.md +0 -24
  284. package/templates/workspaces/nate/FEEDBACK.md +0 -12
  285. package/templates/workspaces/nate/HEARTBEAT.md +0 -33
  286. package/templates/workspaces/nate/IDENTITY.md +0 -15
  287. package/templates/workspaces/nate/LEARNINGS.md +0 -33
  288. package/templates/workspaces/nate/MEMORY.md +0 -39
  289. package/templates/workspaces/nate/PLAYBOOK.md +0 -160
  290. package/templates/workspaces/nate/SOUL.md +0 -50
  291. package/templates/workspaces/nate/TOOLS.md +0 -111
  292. package/templates/workspaces/nate/USER.md +0 -32
  293. package/templates/workspaces/olivia/.last-openclaw-version +0 -1
  294. package/templates/workspaces/olivia/.npmrc.tmp +0 -0
  295. package/templates/workspaces/olivia/AGENTS.md +0 -77
  296. package/templates/workspaces/olivia/ALPHA_CODING_BENCHMARK.txt +0 -148
  297. package/templates/workspaces/olivia/ALPHA_MODEL_GUIDE.md +0 -393
  298. package/templates/workspaces/olivia/FEEDBACK.md +0 -13
  299. package/templates/workspaces/olivia/HEADTOHEAD_BENCHMARK.txt +0 -1289
  300. package/templates/workspaces/olivia/HEARTBEAT.md +0 -267
  301. package/templates/workspaces/olivia/IDENTITY.md +0 -6
  302. package/templates/workspaces/olivia/LEARNINGS.md +0 -708
  303. package/templates/workspaces/olivia/MEMORY.md +0 -202
  304. package/templates/workspaces/olivia/MISSION_CONTROL_DESIGN_SPEC_v1.md +0 -1143
  305. package/templates/workspaces/olivia/MVP-COMPLETION-SUMMARY.md +0 -175
  306. package/templates/workspaces/olivia/NETWORK_IMPLEMENTATION_PLAN.md +0 -1556
  307. package/templates/workspaces/olivia/NEW_NODES_BENCHMARK.txt +0 -947
  308. package/templates/workspaces/olivia/PLAYBOOK.md +0 -42
  309. package/templates/workspaces/olivia/SELF-HEALING-COMPLETE.md +0 -150
  310. package/templates/workspaces/olivia/SOUL.md +0 -42
  311. package/templates/workspaces/olivia/TOOLS.md +0 -15
  312. package/templates/workspaces/olivia/USER.md +0 -17
  313. package/templates/workspaces/olivia/alicefleet-supabase-credentials.md +0 -50
  314. package/templates/workspaces/olivia/dzombo-copy-rewrite.md +0 -115
  315. package/templates/workspaces/olivia/dzombo-implementation-plan.md +0 -1248
  316. package/templates/workspaces/olivia/fidelia-psychology.html +0 -1594
  317. package/templates/workspaces/olivia/lead_debug.png +0 -0
  318. package/templates/workspaces/olivia/minimatch-10.2.4.tgz +0 -0
  319. package/templates/workspaces/olivia/operation-bllm-research.md +0 -157
  320. package/templates/workspaces/olivia/qa-audit-mission-control-v2.md +0 -538
  321. package/templates/workspaces/olivia/roofmaxx_logo.svg +0 -1
  322. package/templates/workspaces/olivia/roofmaxx_social.jpg +0 -0
  323. package/templates/workspaces/olivia/skills/1password/SKILL.md +0 -53
  324. package/templates/workspaces/olivia/skills/1password/_meta.json +0 -6
  325. package/templates/workspaces/olivia/skills/afrexai-recruiting-engine/README.md +0 -57
  326. package/templates/workspaces/olivia/skills/afrexai-recruiting-engine/SKILL.md +0 -534
  327. package/templates/workspaces/olivia/skills/afrexai-recruiting-engine/_meta.json +0 -6
  328. package/templates/workspaces/olivia/skills/agent-security/SKILL.md +0 -69
  329. package/templates/workspaces/olivia/skills/agent-security/_meta.json +0 -6
  330. package/templates/workspaces/olivia/skills/agentic-security-audit/SKILL.md +0 -855
  331. package/templates/workspaces/olivia/skills/agentic-security-audit/_meta.json +0 -6
  332. package/templates/workspaces/olivia/skills/ai-automation-consulting/SKILL.md +0 -67
  333. package/templates/workspaces/olivia/skills/ai-automation-consulting/_meta.json +0 -6
  334. package/templates/workspaces/olivia/skills/ai-automation-consulting/skill.json +0 -12
  335. package/templates/workspaces/olivia/skills/ai-presentation-maker/SKILL.md +0 -1104
  336. package/templates/workspaces/olivia/skills/ai-presentation-maker/_meta.json +0 -6
  337. package/templates/workspaces/olivia/skills/ai-productivity-audit/SKILL.md +0 -181
  338. package/templates/workspaces/olivia/skills/ai-productivity-audit/_meta.json +0 -6
  339. package/templates/workspaces/olivia/skills/ai-researcher/README.md +0 -31
  340. package/templates/workspaces/olivia/skills/ai-researcher/SKILL.md +0 -59
  341. package/templates/workspaces/olivia/skills/ai-researcher/_meta.json +0 -6
  342. package/templates/workspaces/olivia/skills/ai-seo-writer/README.md +0 -19
  343. package/templates/workspaces/olivia/skills/ai-seo-writer/SKILL.md +0 -100
  344. package/templates/workspaces/olivia/skills/ai-seo-writer/_meta.json +0 -6
  345. package/templates/workspaces/olivia/skills/analytics-tracking-2/SKILL.md +0 -309
  346. package/templates/workspaces/olivia/skills/analytics-tracking-2/_meta.json +0 -6
  347. package/templates/workspaces/olivia/skills/api-doc-writer/SKILL.md +0 -232
  348. package/templates/workspaces/olivia/skills/api-doc-writer/_meta.json +0 -6
  349. package/templates/workspaces/olivia/skills/api-generator/SKILL.md +0 -49
  350. package/templates/workspaces/olivia/skills/api-generator/_meta.json +0 -6
  351. package/templates/workspaces/olivia/skills/api-generator/tips.md +0 -10
  352. package/templates/workspaces/olivia/skills/apple-notes/SKILL.md +0 -50
  353. package/templates/workspaces/olivia/skills/apple-notes/_meta.json +0 -6
  354. package/templates/workspaces/olivia/skills/apple-reminders/SKILL.md +0 -67
  355. package/templates/workspaces/olivia/skills/apple-reminders/_meta.json +0 -6
  356. package/templates/workspaces/olivia/skills/automation-workflows/SKILL.md +0 -267
  357. package/templates/workspaces/olivia/skills/automation-workflows/_meta.json +0 -6
  358. package/templates/workspaces/olivia/skills/autoresearch/SKILL.md +0 -46
  359. package/templates/workspaces/olivia/skills/autoresearch/aria_write.py +0 -148
  360. package/templates/workspaces/olivia/skills/autoresearch/autoresearch.py +0 -75
  361. package/templates/workspaces/olivia/skills/azure-devops/SKILL.md +0 -115
  362. package/templates/workspaces/olivia/skills/azure-devops/_meta.json +0 -6
  363. package/templates/workspaces/olivia/skills/blogwatcher/SKILL.md +0 -46
  364. package/templates/workspaces/olivia/skills/blogwatcher/_meta.json +0 -6
  365. package/templates/workspaces/olivia/skills/blucli/SKILL.md +0 -27
  366. package/templates/workspaces/olivia/skills/blucli/_meta.json +0 -6
  367. package/templates/workspaces/olivia/skills/check-analytics/SKILL.md +0 -92
  368. package/templates/workspaces/olivia/skills/check-analytics/_meta.json +0 -6
  369. package/templates/workspaces/olivia/skills/cloud-architect/SKILL.md +0 -89
  370. package/templates/workspaces/olivia/skills/cloud-architect/_meta.json +0 -6
  371. package/templates/workspaces/olivia/skills/cloud-infra-automation/SKILL.md +0 -50
  372. package/templates/workspaces/olivia/skills/cloud-infra-automation/_meta.json +0 -6
  373. package/templates/workspaces/olivia/skills/cloud-storage/SKILL.md +0 -61
  374. package/templates/workspaces/olivia/skills/cloud-storage/_meta.json +0 -6
  375. package/templates/workspaces/olivia/skills/cloud-storage/auth.md +0 -97
  376. package/templates/workspaces/olivia/skills/cloud-storage/costs.md +0 -88
  377. package/templates/workspaces/olivia/skills/cloud-storage/providers.md +0 -55
  378. package/templates/workspaces/olivia/skills/copywriting-pro/SKILL.md +0 -107
  379. package/templates/workspaces/olivia/skills/copywriting-pro/_meta.json +0 -6
  380. package/templates/workspaces/olivia/skills/data-analyst-pro/SKILL.md +0 -21
  381. package/templates/workspaces/olivia/skills/data-analyst-pro/_meta.json +0 -6
  382. package/templates/workspaces/olivia/skills/database-designer/README.md +0 -388
  383. package/templates/workspaces/olivia/skills/database-designer/SKILL.md +0 -66
  384. package/templates/workspaces/olivia/skills/database-designer/_meta.json +0 -6
  385. package/templates/workspaces/olivia/skills/database-designer/index_optimizer.py +0 -926
  386. package/templates/workspaces/olivia/skills/database-designer/migration_generator.py +0 -1199
  387. package/templates/workspaces/olivia/skills/database-designer/schema_analyzer.py +0 -982
  388. package/templates/workspaces/olivia/skills/deploy-agent/SKILL.md +0 -255
  389. package/templates/workspaces/olivia/skills/deploy-agent/_meta.json +0 -6
  390. package/templates/workspaces/olivia/skills/devops-automation-pack/SKILL.md +0 -72
  391. package/templates/workspaces/olivia/skills/devops-automation-pack/_meta.json +0 -6
  392. package/templates/workspaces/olivia/skills/devops-automation-pack/deploy.sh +0 -0
  393. package/templates/workspaces/olivia/skills/financial-analysis-agent/SKILL.md +0 -489
  394. package/templates/workspaces/olivia/skills/financial-analysis-agent/_meta.json +0 -6
  395. package/templates/workspaces/olivia/skills/gdpr-compliance-tracker/README.md +0 -72
  396. package/templates/workspaces/olivia/skills/gdpr-compliance-tracker/SKILL.md +0 -226
  397. package/templates/workspaces/olivia/skills/gdpr-compliance-tracker/_meta.json +0 -6
  398. package/templates/workspaces/olivia/skills/gifgrep/SKILL.md +0 -47
  399. package/templates/workspaces/olivia/skills/gifgrep/_meta.json +0 -6
  400. package/templates/workspaces/olivia/skills/github/SKILL.md +0 -47
  401. package/templates/workspaces/olivia/skills/github/_meta.json +0 -6
  402. package/templates/workspaces/olivia/skills/gog/SKILL.md +0 -36
  403. package/templates/workspaces/olivia/skills/gog/_meta.json +0 -6
  404. package/templates/workspaces/olivia/skills/growth-strategy-hub/SKILL.md +0 -135
  405. package/templates/workspaces/olivia/skills/growth-strategy-hub/_meta.json +0 -6
  406. package/templates/workspaces/olivia/skills/growth-strategy-hub/metadata.json +0 -4
  407. package/templates/workspaces/olivia/skills/hetzner-cloud/SKILL.md +0 -130
  408. package/templates/workspaces/olivia/skills/hetzner-cloud/_meta.json +0 -6
  409. package/templates/workspaces/olivia/skills/himalaya/SKILL.md +0 -217
  410. package/templates/workspaces/olivia/skills/himalaya/_meta.json +0 -6
  411. package/templates/workspaces/olivia/skills/hotel-recommendation/SKILL.md +0 -117
  412. package/templates/workspaces/olivia/skills/hotel-recommendation/_meta.json +0 -6
  413. package/templates/workspaces/olivia/skills/hr-policy-generator/SKILL.md +0 -54
  414. package/templates/workspaces/olivia/skills/hr-policy-generator/_meta.json +0 -6
  415. package/templates/workspaces/olivia/skills/human-writing/SKILL.md +0 -41
  416. package/templates/workspaces/olivia/skills/human-writing/_meta.json +0 -6
  417. package/templates/workspaces/olivia/skills/imsg/SKILL.md +0 -25
  418. package/templates/workspaces/olivia/skills/imsg/_meta.json +0 -6
  419. package/templates/workspaces/olivia/skills/in-depth-research/SKILL.md +0 -124
  420. package/templates/workspaces/olivia/skills/in-depth-research/_meta.json +0 -6
  421. package/templates/workspaces/olivia/skills/in-depth-research/methodology.md +0 -75
  422. package/templates/workspaces/olivia/skills/in-depth-research/output-formats.md +0 -168
  423. package/templates/workspaces/olivia/skills/in-depth-research/sources.md +0 -80
  424. package/templates/workspaces/olivia/skills/javascript-skills/README.md +0 -71
  425. package/templates/workspaces/olivia/skills/javascript-skills/SKILL.md +0 -746
  426. package/templates/workspaces/olivia/skills/javascript-skills/_meta.json +0 -6
  427. package/templates/workspaces/olivia/skills/leadership-strategy-playbook/SKILL.md +0 -147
  428. package/templates/workspaces/olivia/skills/leadership-strategy-playbook/_meta.json +0 -6
  429. package/templates/workspaces/olivia/skills/market-research-agent/README.md +0 -29
  430. package/templates/workspaces/olivia/skills/market-research-agent/SKILL.md +0 -52
  431. package/templates/workspaces/olivia/skills/market-research-agent/_meta.json +0 -6
  432. package/templates/workspaces/olivia/skills/marketing-analytics/SKILL.md +0 -74
  433. package/templates/workspaces/olivia/skills/marketing-analytics/_meta.json +0 -6
  434. package/templates/workspaces/olivia/skills/marketing-master-io/SKILL.md +0 -125
  435. package/templates/workspaces/olivia/skills/marketing-master-io/_meta.json +0 -6
  436. package/templates/workspaces/olivia/skills/marketing-strategy-pmm/SKILL.md +0 -398
  437. package/templates/workspaces/olivia/skills/marketing-strategy-pmm/_meta.json +0 -6
  438. package/templates/workspaces/olivia/skills/meta-ads-analytics/SKILL.md +0 -53
  439. package/templates/workspaces/olivia/skills/meta-ads-analytics/_meta.json +0 -6
  440. package/templates/workspaces/olivia/skills/obsidian/SKILL.md +0 -55
  441. package/templates/workspaces/olivia/skills/obsidian/_meta.json +0 -6
  442. package/templates/workspaces/olivia/skills/openclaw-accounting/SKILL.md +0 -125
  443. package/templates/workspaces/olivia/skills/openclaw-accounting/_meta.json +0 -6
  444. package/templates/workspaces/olivia/skills/openclaw-security-toolkit/CHANGELOG.md +0 -35
  445. package/templates/workspaces/olivia/skills/openclaw-security-toolkit/CHANNELLOG.md +0 -73
  446. package/templates/workspaces/olivia/skills/openclaw-security-toolkit/README.md +0 -161
  447. package/templates/workspaces/olivia/skills/openclaw-security-toolkit/SKILL.md +0 -130
  448. package/templates/workspaces/olivia/skills/openclaw-security-toolkit/_meta.json +0 -6
  449. package/templates/workspaces/olivia/skills/openclaw-security-toolkit/config.json +0 -36
  450. package/templates/workspaces/olivia/skills/openclaw-security-toolkit/metadata.json +0 -19
  451. package/templates/workspaces/olivia/skills/openhue/SKILL.md +0 -30
  452. package/templates/workspaces/olivia/skills/openhue/_meta.json +0 -6
  453. package/templates/workspaces/olivia/skills/orgx-operations-agent/SKILL.md +0 -41
  454. package/templates/workspaces/olivia/skills/orgx-operations-agent/_meta.json +0 -6
  455. package/templates/workspaces/olivia/skills/outreach/SKILL.md +0 -84
  456. package/templates/workspaces/olivia/skills/outreach/_meta.json +0 -6
  457. package/templates/workspaces/olivia/skills/outreach/by-type.md +0 -166
  458. package/templates/workspaces/olivia/skills/outreach/templates.md +0 -154
  459. package/templates/workspaces/olivia/skills/outreach/tracking.md +0 -145
  460. package/templates/workspaces/olivia/skills/persona-hr-coordinator/SKILL.md +0 -38
  461. package/templates/workspaces/olivia/skills/persona-hr-coordinator/_meta.json +0 -6
  462. package/templates/workspaces/olivia/skills/personal-productivity/SKILL.md +0 -161
  463. package/templates/workspaces/olivia/skills/personal-productivity/_meta.json +0 -6
  464. package/templates/workspaces/olivia/skills/personal-productivity/index.js +0 -363
  465. package/templates/workspaces/olivia/skills/personal-productivity/package.json +0 -15
  466. package/templates/workspaces/olivia/skills/personal-travel/README.md +0 -34
  467. package/templates/workspaces/olivia/skills/personal-travel/SKILL.md +0 -46
  468. package/templates/workspaces/olivia/skills/personal-travel/_meta.json +0 -6
  469. package/templates/workspaces/olivia/skills/presentation-html-generator-skill/SKILL.md +0 -185
  470. package/templates/workspaces/olivia/skills/presentation-html-generator-skill/_meta.json +0 -6
  471. package/templates/workspaces/olivia/skills/product-manager/SKILL.md +0 -77
  472. package/templates/workspaces/olivia/skills/product-manager/_meta.json +0 -6
  473. package/templates/workspaces/olivia/skills/quant-strategy/SKILL.md +0 -28
  474. package/templates/workspaces/olivia/skills/quant-strategy/_meta.json +0 -6
  475. package/templates/workspaces/olivia/skills/sales-pipeline-tracker/README.md +0 -29
  476. package/templates/workspaces/olivia/skills/sales-pipeline-tracker/SKILL.md +0 -45
  477. package/templates/workspaces/olivia/skills/sales-pipeline-tracker/_meta.json +0 -6
  478. package/templates/workspaces/olivia/skills/security-auditor/SKILL.md +0 -399
  479. package/templates/workspaces/olivia/skills/security-auditor/_meta.json +0 -6
  480. package/templates/workspaces/olivia/skills/security-hardening/SKILL.md +0 -296
  481. package/templates/workspaces/olivia/skills/security-hardening/_meta.json +0 -6
  482. package/templates/workspaces/olivia/skills/security-scanner/SKILL.md +0 -67
  483. package/templates/workspaces/olivia/skills/security-scanner/_meta.json +0 -6
  484. package/templates/workspaces/olivia/skills/seo-optimization/SKILL.md +0 -31
  485. package/templates/workspaces/olivia/skills/seo-optimization/_meta.json +0 -6
  486. package/templates/workspaces/olivia/skills/service-booking/SKILL.md +0 -193
  487. package/templates/workspaces/olivia/skills/service-booking/_meta.json +0 -6
  488. package/templates/workspaces/olivia/skills/sme-hr-automation/SKILL.md +0 -131
  489. package/templates/workspaces/olivia/skills/sme-hr-automation/_meta.json +0 -6
  490. package/templates/workspaces/olivia/skills/social-media-scheduler/README.md +0 -29
  491. package/templates/workspaces/olivia/skills/social-media-scheduler/SKILL.md +0 -49
  492. package/templates/workspaces/olivia/skills/social-media-scheduler/_meta.json +0 -6
  493. package/templates/workspaces/olivia/skills/sonoscli/SKILL.md +0 -26
  494. package/templates/workspaces/olivia/skills/sonoscli/_meta.json +0 -6
  495. package/templates/workspaces/olivia/skills/strategy-advisor/SKILL.md +0 -33
  496. package/templates/workspaces/olivia/skills/strategy-advisor/_meta.json +0 -6
  497. package/templates/workspaces/olivia/skills/summarize/SKILL.md +0 -49
  498. package/templates/workspaces/olivia/skills/summarize/_meta.json +0 -6
  499. package/templates/workspaces/olivia/skills/things-mac/SKILL.md +0 -61
  500. package/templates/workspaces/olivia/skills/things-mac/_meta.json +0 -6
  501. package/templates/workspaces/olivia/skills/travel-itinerary-planner/SKILL.md +0 -121
  502. package/templates/workspaces/olivia/skills/travel-itinerary-planner/_meta.json +0 -6
  503. package/templates/workspaces/olivia/skills/travel-manager/SKILL.md +0 -36
  504. package/templates/workspaces/olivia/skills/travel-manager/_meta.json +0 -6
  505. package/templates/workspaces/olivia/skills/travel-planning/SKILL.md +0 -238
  506. package/templates/workspaces/olivia/skills/travel-planning/_meta.json +0 -6
  507. package/templates/workspaces/olivia/skills/travel-planning/booking-guide.md +0 -91
  508. package/templates/workspaces/olivia/skills/travel-planning/memory-template.md +0 -111
  509. package/templates/workspaces/olivia/skills/travel-planning/multi-city.md +0 -131
  510. package/templates/workspaces/olivia/skills/travel-planning/packing-templates.md +0 -155
  511. package/templates/workspaces/olivia/skills/travel-planning/setup.md +0 -66
  512. package/templates/workspaces/olivia/skills/update-it-all/SKILL.md +0 -143
  513. package/templates/workspaces/olivia/skills/update-it-all/_meta.json +0 -6
  514. package/templates/workspaces/olivia/skills/voice/SKILL.md +0 -62
  515. package/templates/workspaces/olivia/skills/weather/SKILL.md +0 -49
  516. package/templates/workspaces/olivia/skills/weather/_meta.json +0 -6
  517. package/templates/workspaces/olivia/skills/web-researcher/SKILL.md +0 -21
  518. package/templates/workspaces/olivia/skills/web-researcher/_meta.json +0 -6
  519. package/templates/workspaces/olivia/skills/website-seo/SKILL.md +0 -284
  520. package/templates/workspaces/olivia/skills/website-seo/_meta.json +0 -6
  521. package/templates/workspaces/olivia/stripe-welcome-n8n.json +0 -103
  522. package/templates/workspaces/olivia/test2.wav.wav +0 -0
  523. package/templates/workspaces/olivia/test_speech.json +0 -1
  524. package/templates/workspaces/olivia/test_speech.srt +0 -0
  525. package/templates/workspaces/olivia/test_speech.tsv +0 -1
  526. package/templates/workspaces/olivia/test_speech.txt +0 -0
  527. package/templates/workspaces/olivia/test_speech.vtt +0 -2
  528. package/templates/workspaces/owen/AGENTS.md +0 -59
  529. package/templates/workspaces/owen/FEEDBACK.md +0 -12
  530. package/templates/workspaces/owen/HEARTBEAT.md +0 -5
  531. package/templates/workspaces/owen/IDENTITY.md +0 -6
  532. package/templates/workspaces/owen/LEARNINGS.md +0 -46
  533. package/templates/workspaces/owen/MEMORY.md +0 -22
  534. package/templates/workspaces/owen/PLAYBOOK.md +0 -16
  535. package/templates/workspaces/owen/SOUL.md +0 -39
  536. package/templates/workspaces/owen/TOOLS.md +0 -15
  537. package/templates/workspaces/owen/USER.md +0 -17
  538. package/templates/workspaces/parker/AGENTS.md +0 -59
  539. package/templates/workspaces/parker/FEEDBACK.md +0 -11
  540. package/templates/workspaces/parker/HEARTBEAT.md +0 -5
  541. package/templates/workspaces/parker/IDENTITY.md +0 -6
  542. package/templates/workspaces/parker/LEARNINGS.md +0 -17
  543. package/templates/workspaces/parker/MEMORY.md +0 -22
  544. package/templates/workspaces/parker/PLAYBOOK.md +0 -16
  545. package/templates/workspaces/parker/SOUL.md +0 -39
  546. package/templates/workspaces/parker/TOOLS.md +0 -15
  547. package/templates/workspaces/parker/USER.md +0 -13
  548. package/templates/workspaces/quinn/FEEDBACK.md +0 -11
  549. package/templates/workspaces/quinn/HEARTBEAT.md +0 -5
  550. package/templates/workspaces/quinn/IDENTITY.md +0 -6
  551. package/templates/workspaces/quinn/LEARNINGS.md +0 -35
  552. package/templates/workspaces/quinn/MEMORY.md +0 -22
  553. package/templates/workspaces/quinn/PLAYBOOK.md +0 -16
  554. package/templates/workspaces/quinn/SOUL.md +0 -40
  555. package/templates/workspaces/quinn/USER.md +0 -17
  556. package/templates/workspaces/quinn/alice-login-page.png +0 -0
  557. package/templates/workspaces/rowan/AGENTS.md +0 -59
  558. package/templates/workspaces/rowan/FEEDBACK.md +0 -12
  559. package/templates/workspaces/rowan/HEARTBEAT.md +0 -5
  560. package/templates/workspaces/rowan/IDENTITY.md +0 -6
  561. package/templates/workspaces/rowan/LEARNINGS.md +0 -12
  562. package/templates/workspaces/rowan/MEMORY.md +0 -22
  563. package/templates/workspaces/rowan/PLAYBOOK.md +0 -16
  564. package/templates/workspaces/rowan/SOUL.md +0 -40
  565. package/templates/workspaces/rowan/TOOLS.md +0 -59
  566. package/templates/workspaces/rowan/USER.md +0 -17
  567. package/templates/workspaces/selena/AGENTS.md +0 -59
  568. package/templates/workspaces/selena/FEEDBACK.md +0 -12
  569. package/templates/workspaces/selena/HEARTBEAT.md +0 -5
  570. package/templates/workspaces/selena/IDENTITY.md +0 -6
  571. package/templates/workspaces/selena/LEARNINGS.md +0 -24
  572. package/templates/workspaces/selena/MEMORY.md +0 -22
  573. package/templates/workspaces/selena/PLAYBOOK.md +0 -16
  574. package/templates/workspaces/selena/SOUL.md +0 -40
  575. package/templates/workspaces/selena/TOOLS.md +0 -47
  576. package/templates/workspaces/selena/USER.md +0 -17
  577. package/templates/workspaces/selena/kids-ai-security-compliance-plan.md +0 -791
  578. package/templates/workspaces/selena/kidspark-coppa-compliance-audit.md +0 -866
  579. package/templates/workspaces/sloane/AGENTS.md +0 -59
  580. package/templates/workspaces/sloane/FEEDBACK.md +0 -12
  581. package/templates/workspaces/sloane/HEARTBEAT.md +0 -9
  582. package/templates/workspaces/sloane/IDENTITY.md +0 -6
  583. package/templates/workspaces/sloane/LEARNINGS.md +0 -6
  584. package/templates/workspaces/sloane/MEMORY.md +0 -22
  585. package/templates/workspaces/sloane/PLAYBOOK.md +0 -16
  586. package/templates/workspaces/sloane/SOUL.md +0 -39
  587. package/templates/workspaces/sloane/TOOLS.md +0 -15
  588. package/templates/workspaces/sloane/USER.md +0 -13
  589. package/templates/workspaces/smoketestagent/AGENTS.md +0 -52
  590. package/templates/workspaces/smoketestagent/FEEDBACK.md +0 -3
  591. package/templates/workspaces/smoketestagent/HEARTBEAT.md +0 -14
  592. package/templates/workspaces/smoketestagent/IDENTITY.md +0 -6
  593. package/templates/workspaces/smoketestagent/LEARNINGS.md +0 -3
  594. package/templates/workspaces/smoketestagent/MEMORY.md +0 -24
  595. package/templates/workspaces/smoketestagent/PLAYBOOK.md +0 -7
  596. package/templates/workspaces/smoketestagent/SOUL.md +0 -32
  597. package/templates/workspaces/smoketestagent/TOOLS.md +0 -13
  598. package/templates/workspaces/smoketestagent/USER.md +0 -5
  599. package/templates/workspaces/sophie/AGENTS.md +0 -59
  600. package/templates/workspaces/sophie/FEEDBACK.md +0 -12
  601. package/templates/workspaces/sophie/HEARTBEAT.md +0 -9
  602. package/templates/workspaces/sophie/IDENTITY.md +0 -6
  603. package/templates/workspaces/sophie/LEARNINGS.md +0 -6
  604. package/templates/workspaces/sophie/MEMORY.md +0 -22
  605. package/templates/workspaces/sophie/PLAYBOOK.md +0 -16
  606. package/templates/workspaces/sophie/SOUL.md +0 -39
  607. package/templates/workspaces/sophie/TOOLS.md +0 -15
  608. package/templates/workspaces/sophie/USER.md +0 -17
  609. package/templates/workspaces/tommy/AGENTS.md +0 -59
  610. package/templates/workspaces/tommy/FEEDBACK.md +0 -12
  611. package/templates/workspaces/tommy/HEARTBEAT.md +0 -9
  612. package/templates/workspaces/tommy/IDENTITY.md +0 -6
  613. package/templates/workspaces/tommy/LEARNINGS.md +0 -6
  614. package/templates/workspaces/tommy/MEMORY.md +0 -22
  615. package/templates/workspaces/tommy/PLAYBOOK.md +0 -16
  616. package/templates/workspaces/tommy/SOUL.md +0 -39
  617. package/templates/workspaces/tommy/TOOLS.md +0 -15
  618. package/templates/workspaces/tommy/USER.md +0 -17
  619. package/templates/workspaces/uma/AGENTS.md +0 -59
  620. package/templates/workspaces/uma/FEEDBACK.md +0 -11
  621. package/templates/workspaces/uma/HEARTBEAT.md +0 -5
  622. package/templates/workspaces/uma/IDENTITY.md +0 -6
  623. package/templates/workspaces/uma/LEARNINGS.md +0 -11
  624. package/templates/workspaces/uma/MEMORY.md +0 -22
  625. package/templates/workspaces/uma/PLAYBOOK.md +0 -16
  626. package/templates/workspaces/uma/SOUL.md +0 -39
  627. package/templates/workspaces/uma/TOOLS.md +0 -15
  628. package/templates/workspaces/uma/USER.md +0 -13
  629. package/tools/.gitkeep +0 -0
@@ -1,1143 +0,0 @@
1
- # Mission Control Pro — Complete Design Spec v1.0
2
- **Author:** Nadia (A.L.I.C.E. Design & UX Specialist)
3
- **Status:** LOCKED — Felix implements from this. No design decisions during implementation.
4
- **Date:** 2026-03-18
5
-
6
- ---
7
-
8
- ## TABLE OF CONTENTS
9
-
10
- 1. [Emotional Target & Brand Philosophy](#1-emotional-target--brand-philosophy)
11
- 2. [Design Token System](#2-design-token-system)
12
- 3. [Brand Expression Guidelines](#3-brand-expression-guidelines)
13
- 4. [Global Component Standards](#4-global-component-standards)
14
- 5. [Mobile-First Breakpoints](#5-mobile-first-breakpoints)
15
- 6. [Loading State Standard](#6-loading-state-standard)
16
- 7. [Error State Standard](#7-error-state-standard)
17
- 8. [Motion & Animation Principles](#8-motion--animation-principles)
18
- 9. [First Login Experience](#9-first-login-experience)
19
- 10. [Page Specs](#10-page-specs)
20
- - [Login](#101-login)
21
- - [Home (Dashboard)](#102-home-dashboard)
22
- - [My Team](#103-my-team)
23
- - [Sessions](#104-sessions)
24
- - [Approvals](#105-approvals)
25
- - [Workflows](#106-workflows)
26
- - [Settings](#107-settings)
27
- 11. [Copy & Language Standards](#11-copy--language-standards)
28
-
29
- ---
30
-
31
- ## 1. EMOTIONAL TARGET & BRAND PHILOSOPHY
32
-
33
- ### The Emotional Target
34
-
35
- A user in Mission Control should feel:
36
- - **In control** — I can see everything, I can act on anything
37
- - **Informed** — I know what's happening right now, without digging
38
- - **Capable** — My team is running; I'm the one making it go
39
- - **Present** — This place feels alive, not archival
40
-
41
- A user should NOT feel:
42
- - Overwhelmed by data density
43
- - Confused about what to do next
44
- - Like they're managing tickets in a queue
45
- - Like they're looking at logs from a dead process
46
-
47
- ### The Core Brand Story
48
-
49
- A.L.I.C.E. is a team of AI specialists, not a tool. Mission Control is where you manage that team. The design must reinforce this mental model at every touchpoint:
50
-
51
- - **Language:** "Your team" not "your agents." "In a session" not "running." "Waiting on you" not "pending."
52
- - **Presence:** Active agents should pulse. Running sessions should show live tickers. The UI communicates that your team is already working — you're checking in on them.
53
- - **Structure:** The layout should feel like a command center, not an admin panel. Information hierarchy matters: status first, then detail.
54
-
55
- ### Palette Semantics (NON-NEGOTIABLE)
56
-
57
- | Color | Meaning | Do | Don't |
58
- |-------|---------|-----|-------|
59
- | Emerald-500 (`#00bb7f`) | Alive, working, healthy, success | Active status dots, success confirmations, primary CTAs | Decorative accents, borders for style |
60
- | Zinc-950/900 | Infrastructure, structure, the container | Backgrounds, surfaces | Text |
61
- | Zinc-400/500 | Secondary information, metadata | Supporting copy, timestamps | Primary actions |
62
- | Red-500 | Error, failure, danger | Error states only | Warning states |
63
- | Amber-400 | Warning, attention needed | Warnings, degraded states | Errors |
64
- | Blue-400 | Pending, in-progress, informational | Loading, pending approvals | Success |
65
-
66
- **The rule:** If you're using emerald, it must mean something is alive or succeeded. If nothing is alive or succeeded, don't use emerald.
67
-
68
- ---
69
-
70
- ## 2. DESIGN TOKEN SYSTEM
71
-
72
- ### Canonical Token Values
73
-
74
- ```css
75
- /* Backgrounds */
76
- --bg-base: #09090b; /* zinc-950 — page background */
77
- --surface-0: #09090b; /* zinc-950 — same as base */
78
- --surface-1: #18181b; /* zinc-900 — cards, panels */
79
- --surface-2: #27272a; /* zinc-800 — inputs, code blocks, nested surfaces */
80
- --surface-3: #3f3f46; /* zinc-700 — hover states on surface-2 */
81
-
82
- /* Text */
83
- --text-primary: #fafafa; /* zinc-50 — headings, important body */
84
- --text-secondary: #a1a1aa; /* zinc-400 — supporting text, labels */
85
- --text-tertiary: #71717a; /* zinc-500 — placeholders, disabled, metadata */
86
-
87
- /* Borders */
88
- --border-subtle: rgba(39,39,42,0.5); /* zinc-800/50 */
89
- --border-default: #3f3f46; /* zinc-700 */
90
- --border-strong: #52525b; /* zinc-600 */
91
-
92
- /* Accent */
93
- --accent: #00bb7f; /* emerald-500 — primary actions, active state */
94
- --accent-hover: #00a36e; /* emerald-600 — hover on accent elements */
95
- --accent-subtle: rgba(0,187,127,0.1); /* emerald for backgrounds/glows */
96
- --accent-text: #00bb7f; /* emerald text on dark surfaces */
97
-
98
- /* Status */
99
- --status-active: #00bb7f; /* emerald-500 */
100
- --status-error: #ef4444; /* red-500 */
101
- --status-warn: #fbbf24; /* amber-400 */
102
- --status-pending: #60a5fa; /* blue-400 */
103
- --status-idle: #52525b; /* zinc-600 */
104
-
105
- /* Agent identity colors (intentional purple spectrum) */
106
- --agent-0: #8b5cf6; /* violet-500 */
107
- --agent-1: #a855f7; /* purple-500 */
108
- --agent-2: #c084fc; /* purple-400 */
109
- --agent-3: #d946ef; /* fuchsia-500 */
110
- --agent-4: #e879f9; /* fuchsia-400 */
111
- --agent-5: #7c3aed; /* violet-600 */
112
- --agent-6: #9333ea; /* purple-600 */
113
- --agent-7: #a21caf; /* fuchsia-700 */
114
- ```
115
-
116
- ### Token Usage Rules
117
-
118
- 1. Never use raw hex values in components — always use tokens
119
- 2. `--accent` is reserved for interactive/status meaning only
120
- 3. Surface nesting: bg-base → surface-1 → surface-2 (max 3 levels deep)
121
- 4. Agent colors are assigned by index at render time, stable per session
122
-
123
- ---
124
-
125
- ## 3. BRAND EXPRESSION GUIDELINES
126
-
127
- ### The "A" Logo Mark
128
-
129
- **Logo anatomy:**
130
- - Square emerald box (`--accent`, 4px border-radius)
131
- - White "A" letterform, bold, centered
132
- - The box IS the brand mark — it appears everywhere the brand needs to be present
133
-
134
- **Usage rules:**
135
-
136
- | Context | Variant | Size | Spec |
137
- |---------|---------|------|------|
138
- | Sidebar (expanded) | Icon + wordmark "A.L.I.C.E." | Icon: 28×28px, text: 16px semibold | 8px gap between icon and text |
139
- | Sidebar (collapsed) | Icon only | 28×28px | Centered in sidebar |
140
- | Login page | Icon + wordmark stacked | Icon: 48×48px, text: 24px semibold | 12px gap, centered |
141
- | Browser tab (favicon) | Icon only | 16×16px | |
142
- | Email/notification | Icon only (if supported) | 32×32px | |
143
-
144
- **Spacing rule:** The logo always has at least its own width in clear space on each side.
145
-
146
- **Never:**
147
- - Stretch or recolor the emerald box
148
- - Use the wordmark without the icon mark
149
- - Place on a surface lighter than `--surface-1`
150
- - Use a different font for "A.L.I.C.E." — it is always the app's heading font, semibold
151
-
152
- ### Wordmark Typography
153
-
154
- "A.L.I.C.E." uses the app's heading font (Inter or system font stack), weight 600, tracking normal. Never all-lowercase. The periods are part of the name.
155
-
156
- "Mission Control" appears as a subtitle below on login only — size 14px, `--text-secondary`, weight 400.
157
-
158
- ---
159
-
160
- ## 4. GLOBAL COMPONENT STANDARDS
161
-
162
- ### The Decision: Hybrid with Clear Boundaries
163
-
164
- **AH (A.L.I.C.E. House) components win for:**
165
- - StatusDot / StatusBadge — all agent/session status indicators
166
- - AgentAvatar — all agent identity displays
167
- - SessionCard — all session list items
168
- - ApprovalCard — all approval items
169
- - SidebarNav — the global sidebar
170
- - PageHeader — top of every page
171
- - StatCard — dashboard metric cards
172
-
173
- **Shadcn wins for:**
174
- - Dialog / Sheet / Modal — all overlay/drawer patterns
175
- - DropdownMenu — all dropdown menus
176
- - Tooltip — all tooltips
177
- - Switch / Checkbox / RadioGroup — all form controls
178
- - Select / Combobox — all select inputs
179
- - Input / Textarea — all text inputs
180
- - Tabs — tab navigation within pages
181
- - Badge — generic status labels (but NOT agent/session status — use AH StatusBadge)
182
- - Table — data tables (but NOT sessions table — use AH SessionCard)
183
- - Skeleton — loading states
184
- - Toast / Sonner — notifications
185
-
186
- **The rule:** If an AH component exists for the concept, use it. Shadcn fills the gaps for generic form/overlay patterns. Never mix them on a single page without this justification.
187
-
188
- ### No Mixing Rule
189
-
190
- A page may use both AH and shadcn components only when:
191
- 1. They serve different levels (AH for domain concepts, shadcn for generic UI primitives)
192
- 2. The AH component is not available for that specific pattern
193
-
194
- Settings was the offender — it now uses shadcn throughout (forms, inputs, tabs) with AH components only for agent-specific displays.
195
-
196
- ---
197
-
198
- ## 5. MOBILE-FIRST BREAKPOINTS
199
-
200
- ### Breakpoint Scale
201
-
202
- ```
203
- sm: 640px — phone landscape / large phone
204
- md: 768px — tablet portrait
205
- lg: 1024px — tablet landscape / small desktop
206
- xl: 1280px — desktop
207
- 2xl: 1536px — wide desktop
208
- ```
209
-
210
- ### Sidebar Behavior by Breakpoint
211
-
212
- | Breakpoint | Sidebar | Content |
213
- |---|---|---|
214
- | < 640px (mobile) | Hidden, accessible via hamburger → Sheet overlay | Full width |
215
- | 640px–1023px (sm/md) | Collapsed icon rail (48px wide) | Remaining width |
216
- | 1024px–1279px (lg) | Expanded (220px) | Remaining width |
217
- | 1280px+ (xl) | Expanded (240px) | Remaining width |
218
-
219
- ### Layout Grid by Breakpoint
220
-
221
- | Breakpoint | Columns | Gutter | Page padding |
222
- |---|---|---|---|
223
- | < 640px | 1 | 16px | 16px |
224
- | sm (640px+) | 1–2 | 16px | 24px |
225
- | md (768px+) | 2 | 24px | 32px |
226
- | lg (1024px+) | 2–3 | 24px | 32px |
227
- | xl (1280px+) | 3–4 | 32px | 40px |
228
-
229
- ### What Changes at Each Breakpoint
230
-
231
- **< 640px (mobile):**
232
- - Sidebar hidden → hamburger menu in top bar
233
- - All tables become card stacks (no horizontal scroll)
234
- - Stat cards stack 1-per-row
235
- - Approvals: full-width stacked cards, approve/reject as full-width buttons
236
- - Sessions: full-width cards with truncated content
237
- - No inline split-panels; everything is single-column
238
-
239
- **640px–767px (sm):**
240
- - Sidebar icon rail visible
241
- - Stat cards: 2-per-row
242
- - Sessions: 2-column card grid
243
- - Approvals: still stacked but with horizontal action buttons
244
-
245
- **768px–1023px (md):**
246
- - Stat cards: 2–3-per-row
247
- - Sessions: list view or 2-column grid
248
- - Approvals: full layout minus detail panel
249
-
250
- **1024px+ (lg+):**
251
- - Full desktop layout
252
- - Approvals: master-detail panel layout
253
- - Sessions: full table or card list with metadata columns visible
254
-
255
- ---
256
-
257
- ## 6. LOADING STATE STANDARD
258
-
259
- ### When to Use Skeleton vs Spinner
260
-
261
- | Pattern | Use When |
262
- |---------|---------|
263
- | **Skeleton** | Loading page-level content for the first time (data hasn't arrived yet, expected < 3s) |
264
- | **Skeleton** | Refreshing a list where we know the shape of content |
265
- | **Inline spinner** (16px) | A single action is in-flight (submitting a form, triggering an agent) |
266
- | **Button spinner** | A button has been clicked and is waiting for confirmation |
267
- | **Full-page spinner** | NEVER — always prefer skeleton |
268
- | **Overlay spinner** | Blocking modal action only (e.g., deleting an agent — can't navigate away) |
269
-
270
- ### Skeleton Spec
271
-
272
- ```
273
- Background: --surface-2 (#27272a)
274
- Shimmer: animate-pulse (opacity 0.4 → 1.0, duration 1.5s, ease-in-out)
275
- Border-radius: matches the component it's replacing
276
- Min-height: matches the approximate height of real content
277
- ```
278
-
279
- **Skeleton variants to implement:**
280
-
281
- - `SkeletonStatCard` — 120px tall, full width of stat card
282
- - `SkeletonSessionCard` — 72px tall, full width of session card row
283
- - `SkeletonAgentCard` — matches AgentCard dimensions
284
- - `SkeletonApprovalCard` — matches ApprovalCard height
285
- - `SkeletonTableRow` — 3 lines: title, subtitle, badge
286
- - `SkeletonText` — generic line skeleton (widths: full, 75%, 50%)
287
-
288
- ### Skeleton Counts
289
-
290
- | Page | Skeleton count on first load |
291
- |------|-----|
292
- | Home | 4× SkeletonStatCard, 3× SkeletonSessionCard |
293
- | My Team | 6× SkeletonAgentCard |
294
- | Sessions | 5× SkeletonSessionCard |
295
- | Approvals | 3× SkeletonApprovalCard |
296
- | Workflows | 4× SkeletonTableRow |
297
- | Settings | Section-level skeleton (don't skeleton individual fields) |
298
-
299
- ### Transition from Skeleton → Content
300
-
301
- - Fade in: `opacity 0 → 1`, duration `200ms`, no layout shift
302
- - Stagger: 50ms delay between list items (max 5 items staggered, then simultaneous)
303
-
304
- ---
305
-
306
- ## 7. ERROR STATE STANDARD
307
-
308
- ### Error Hierarchy
309
-
310
- **Level 1 — Inline field error:** Form validation failures
311
- - Red text below field, 12px, `--status-error`
312
- - Icon: `AlertCircle` (12px, inline before text)
313
- - Never use toast for field errors
314
-
315
- **Level 2 — Section error:** A card/section failed to load
316
- - Replace skeleton with an error card:
317
- - Surface-1 background, red-500/20 border
318
- - `AlertTriangle` icon (20px, `--status-error`)
319
- - Message: "Couldn't load [section name]"
320
- - CTA: "Try again" button (ghost, small)
321
-
322
- **Level 3 — Page-level error:** Full page failed (e.g., 500, auth failure)
323
- - Centered in content area
324
- - `AlertTriangle` icon (48px, `--status-error`)
325
- - Heading: "Something went wrong"
326
- - Body: Specific error message if available, otherwise: "We couldn't load this page. This is likely temporary."
327
- - CTA: Primary button "Reload page" + ghost button "Go home"
328
-
329
- **Level 4 — Toast notification:** Action failed (e.g., user triggered something that failed)
330
- - Sonner toast, variant: `error`
331
- - Duration: 5 seconds
332
- - Message: "[Action] failed — [brief reason if available]"
333
- - Example: "Couldn't approve task — please try again"
334
-
335
- ### API Error Mapping
336
-
337
- | HTTP Status | UX Treatment |
338
- |-------------|-------------|
339
- | 401 | Redirect to login, no error shown |
340
- | 403 | Level 3 error: "You don't have access to this" |
341
- | 404 | Level 3 error: "[Resource] not found" |
342
- | 429 | Level 2 or 4 with "Too many requests — slow down" |
343
- | 500–503 | Level 3 with retry CTA |
344
- | Network offline | Persistent banner at top of page: "No connection — working offline" |
345
-
346
- ---
347
-
348
- ## 8. MOTION & ANIMATION PRINCIPLES
349
-
350
- ### The Rule
351
-
352
- **Animate to communicate, never to decorate.**
353
-
354
- Every animation must answer the question: "what does this motion tell the user?" If there's no answer, remove it.
355
-
356
- ### Animation Inventory
357
-
358
- | Element | Animation | Spec | Reason |
359
- |---------|-----------|------|--------|
360
- | Active status dot | Pulse ring (scale 1→1.5, opacity 1→0) | 2s loop, ease-in-out | "This agent is alive right now" |
361
- | Session duration ticker | Numeric increment | Real-time, no easing | Counter communicates live work |
362
- | Sidebar expand/collapse | Width transition | 150ms, ease-out | Spatial navigation |
363
- | Detail panel slide-in (Approvals) | Slide from right | 200ms, ease-out | Panel appears from its trigger |
364
- | Sheet/dialog open | Slide up (mobile) / fade+scale (desktop) | 200ms, ease-out | Standard shadcn behavior |
365
- | Page transitions | Fade | 150ms, ease | Not jarring |
366
- | Skeleton → content | Fade in | 200ms | Smooth reveal |
367
- | Toast appearance | Slide up from bottom | shadcn/sonner default | Don't override |
368
- | Button loading state | Spinner replaces text/icon | Immediate, no transition | Action feedback |
369
- | Hover on cards | Background shift to surface-2 | 100ms | Affordance |
370
- | Hover on nav items | Background shift | 100ms | Affordance |
371
-
372
- ### What Does NOT Animate
373
-
374
- - Text content (no typewriter effects)
375
- - Color changes on status (instant — delayed color change is confusing)
376
- - Table sort/filter (instant)
377
- - Form inputs (instant focus ring)
378
- - Any "decorative" parallax or scroll effects
379
- - Stat card numbers (no counting animation — can feel like deception)
380
-
381
- ### Reduced Motion
382
-
383
- All animations must respect `prefers-reduced-motion`. When reduced motion is enabled:
384
- - Remove pulsing status rings (show static dot)
385
- - Remove slide/fade transitions (instant show/hide)
386
- - Keep spinner (it's functional)
387
- - Keep duration ticker (it's informational)
388
-
389
- ---
390
-
391
- ## 9. FIRST LOGIN EXPERIENCE
392
-
393
- ### The Problem
394
-
395
- A brand new Pro user has: 0 agents configured, 0 sessions, 0 approvals, 0 workflows. If we show empty states everywhere, it feels like a broken app. We need the first login to feel like a command center that's ready to activate — not a ghost town.
396
-
397
- ### First Login Detection
398
-
399
- Detect "new user" state when: `agents.count === 0 && sessions.total === 0`
400
-
401
- This triggers the **Activation Mode** UX (described per-page below).
402
-
403
- ### Global First Login Treatment
404
-
405
- **Welcome Banner** (appears once, dismissible, Home page only):
406
-
407
- ```
408
- ┌─────────────────────────────────────────────────────────────┐
409
- │ ⚡ Welcome to Mission Control │
410
- │ Your A.L.I.C.E. team is ready to be assembled. Start by │
411
- │ adding your first specialist — they'll handle tasks, │
412
- │ answer questions, and work while you sleep. │
413
- │ │
414
- │ [Add your first agent →] [Dismiss] │
415
- └─────────────────────────────────────────────────────────────┘
416
- ```
417
-
418
- - Background: `--surface-1` with a subtle emerald-500/10 left border (4px)
419
- - Dismiss stores to localStorage, never shows again
420
- - CTA routes to My Team → Add Agent
421
-
422
- ### First Login Per Page
423
-
424
- Each page spec below includes "First Login State" — what a zero-data user sees.
425
-
426
- ---
427
-
428
- ## 10. PAGE SPECS
429
-
430
- ---
431
-
432
- ### 10.1 LOGIN
433
-
434
- #### Layout Spec
435
-
436
- ```
437
- All breakpoints: Single centered column
438
- Max-width: 400px
439
- Horizontal padding: 24px
440
- Vertical: Centered in viewport (flexbox, min-height 100vh)
441
- ```
442
-
443
- **Structure:**
444
- ```
445
- [A logo mark + "A.L.I.C.E." wordmark] ← centered, 48px icon
446
- [Mission Control] ← 14px, text-secondary, 8px below wordmark
447
- [32px gap]
448
- [Email input]
449
- [Password input]
450
- [16px gap]
451
- [Sign In — full width, primary button]
452
- [24px gap]
453
- [Forgot password — text link, centered, 14px]
454
- ```
455
-
456
- #### Component Inventory (SHADCN throughout)
457
-
458
- - `Input` — email, password fields
459
- - `Button` — sign in (primary, full width)
460
- - Custom: Logo mark (AH component or inline SVG)
461
- - No card/surface wrapper — form floats directly on bg-base
462
-
463
- #### Empty / Zero State
464
-
465
- N/A — login has no empty state.
466
-
467
- #### Interaction Spec
468
-
469
- | Interaction | Behavior |
470
- |---|---|
471
- | Form submit | Button shows inline spinner (left of text), text stays visible, disabled state |
472
- | Failed login | Level 1 inline error below password field: "Incorrect email or password" |
473
- | Network error | Level 4 toast: "Sign in failed — check your connection" |
474
- | Success | Fade transition to Home (150ms) |
475
- | Enter key | Submits form if both fields populated |
476
- | Password field | Show/hide toggle (eye icon, right side of input) |
477
-
478
- #### Done Criteria
479
-
480
- - [ ] Logo matches sidebar exactly (same icon component)
481
- - [ ] Form is centered vertically on all screen sizes
482
- - [ ] Error states appear inline (not toast) for credential failures
483
- - [ ] Loading state on button during submission
484
- - [ ] Accessible: tab order Email → Password → Submit
485
-
486
- ---
487
-
488
- ### 10.2 HOME (DASHBOARD)
489
-
490
- #### Layout Spec
491
-
492
- **Desktop (lg+):**
493
- ```
494
- PageHeader: "Mission Control" [greeting: "Good morning, Rob"]
495
- [Welcome Banner if first login]
496
- [Stat Cards row: 4 cards, equal width, gap-4]
497
- [16px gap]
498
- [2-column layout, 2/3 + 1/3]
499
- Left: Active Sessions (list)
500
- Right: Team Overview (mini-list of agents by status)
501
- [16px gap]
502
- [Recent Activity (full width, last 10 events)]
503
- ```
504
-
505
- **Tablet (md):**
506
- ```
507
- Stat cards: 2×2 grid
508
- Main layout: Single column (Sessions, then Team, then Activity)
509
- ```
510
-
511
- **Mobile (< 640px):**
512
- ```
513
- Stat cards: 2×2 grid (compact)
514
- All sections: stacked single column
515
- ```
516
-
517
- #### Stat Card Spec
518
-
519
- 4 cards:
520
- 1. **Active Now** — count of currently running sessions (emerald if >0, zinc if 0)
521
- 2. **Pending Approvals** — count awaiting action (amber if >0, zinc if 0)
522
- 3. **Team Size** — count of configured agents
523
- 4. **Sessions Today** — total sessions started today
524
-
525
- StatCard anatomy:
526
- ```
527
- [Icon (24px)] [Label (12px, text-tertiary, uppercase, tracking-wide)]
528
- [Value (32px, semibold, text-primary)]
529
- [Trend/subtitle (12px, text-secondary)] ← optional
530
- ```
531
-
532
- Surface-1 card, 16px padding, subtle border-default.
533
-
534
- #### Empty State Spec
535
-
536
- **First Login State (Activation Mode):**
537
-
538
- Replace stat cards with a single "Activation Panel":
539
- ```
540
- ┌──────────────────────────────────────────────────────┐
541
- │ Command Center — Standby │
542
- │ │
543
- │ Your team hasn't been assembled yet. │
544
- │ Add your first A.L.I.C.E. specialist to start. │
545
- │ │
546
- │ Step 1 ○ Add a specialist [Go to My Team →] │
547
- │ Step 2 ○ Start your first session │
548
- │ Step 3 ○ Configure a workflow │
549
- └──────────────────────────────────────────────────────┘
550
- ```
551
- Background: surface-1, left border accent-subtle (2px emerald).
552
-
553
- **Active Sessions — empty (has agents, no running sessions):**
554
- ```
555
- Icon: `Zap` (24px, text-tertiary)
556
- Text: "No active sessions"
557
- Sub: "Your team is standing by."
558
- CTA: none (this is fine — not every state needs a CTA)
559
- ```
560
-
561
- **Team Overview — empty:**
562
- ```
563
- Text: "No team members"
564
- CTA: [Add first specialist →] → routes to My Team
565
- ```
566
-
567
- **Recent Activity — empty:**
568
- ```
569
- Icon: `Clock` (24px, text-tertiary)
570
- Text: "No recent activity"
571
- Sub: "Actions and events will appear here."
572
- ```
573
-
574
- #### Component Inventory
575
-
576
- - AH: `StatCard`, `SessionCard` (mini variant), `AgentAvatar`, `StatusDot`
577
- - Shadcn: `Skeleton`, `Badge` (for activity labels)
578
- - Custom: `WelcomeBanner`, `ActivationPanel` (first login only)
579
-
580
- #### Interaction Spec
581
-
582
- | Interaction | Behavior |
583
- |---|---|
584
- | Stat card — Active Now click | Routes to Sessions, filtered to active |
585
- | Stat card — Pending Approvals click | Routes to Approvals |
586
- | Session card click | Opens session detail (sheet or navigate) |
587
- | Agent in Team Overview click | Routes to My Team, scrolls to agent |
588
- | Refresh | Pull-to-refresh on mobile; automatic 30s polling on desktop |
589
-
590
- #### Done Criteria
591
-
592
- - [ ] Stat cards show live data, emerald when nonzero for Active/Approvals
593
- - [ ] Active sessions show live duration tickers
594
- - [ ] Responsive: 4-col stat cards on desktop, 2×2 on mobile
595
- - [ ] First login: Activation Panel replaces stat cards
596
- - [ ] Welcome Banner appears once for new users, dismissible
597
- - [ ] Empty states use exact copy/icon spec above
598
-
599
- ---
600
-
601
- ### 10.3 MY TEAM
602
-
603
- #### Layout Spec
604
-
605
- **Desktop (lg+):**
606
- ```
607
- PageHeader: "My Team" [subtitle: "N specialists"] [CTA: "Add Specialist" button]
608
- [Agent cards: CSS grid, 3 columns, gap-4]
609
- ```
610
-
611
- **Tablet (md):**
612
- ```
613
- Agent cards: 2 columns
614
- ```
615
-
616
- **Mobile (< 640px):**
617
- ```
618
- Agent cards: 1 column (full width stacked)
619
- CTA button: Full width below page header
620
- ```
621
-
622
- #### Agent Card Spec
623
-
624
- ```
625
- ┌────────────────────────────────────────┐
626
- │ [Avatar: initials + agent color ring] │
627
- │ [Name — 16px semibold] │
628
- │ [Role/specialty — 14px text-secondary] │
629
- │ [StatusDot + status label] │
630
- │ ───────────────────────────────────── │
631
- │ [Sessions today: N] [Last active: Xm] │
632
- │ [Configure →] │
633
- └────────────────────────────────────────┘
634
- ```
635
-
636
- - Card: surface-1, 20px padding, border-default, 8px border-radius
637
- - Avatar: 48×48px circle, initials (2-letter), colored background from `--agent-N` tokens
638
- - Status dot: 8px, pulsing ring if active
639
- - Hover: card lifts (border-strong, shadow-lg transition 100ms)
640
-
641
- #### Empty State Spec
642
-
643
- **First Login State:**
644
- ```
645
- [Centered in content area]
646
- Icon: `Users` (48px, text-tertiary)
647
- Heading: "Assemble your team"
648
- Body: "Add your first A.L.I.C.E. specialist. Each one handles a domain — coding, research, writing, analysis. Your team works while you work (and while you sleep)."
649
- CTA: [Add your first specialist] — primary button
650
- ```
651
-
652
- This is NOT a generic "no data" message. It tells the user what the product does and makes adding an agent feel like a meaningful action.
653
-
654
- **Search/filter returns no results:**
655
- ```
656
- Icon: `SearchX` (32px, text-tertiary)
657
- Text: "No specialists match '[query]'"
658
- CTA: [Clear filter] — ghost button
659
- ```
660
-
661
- #### Component Inventory
662
-
663
- - AH: `AgentCard`, `AgentAvatar`, `StatusDot`, `StatusBadge`, `PageHeader`
664
- - Shadcn: `Dialog` (add/edit agent), `Input` (search), `Select` (filter by status), `Skeleton`, `Button`
665
-
666
- #### Interaction Spec
667
-
668
- | Interaction | Behavior |
669
- |---|---|
670
- | Agent card click | Opens agent detail Sheet (right panel) |
671
- | "Configure" button | Same as card click — opens agent Sheet |
672
- | Agent status dot click | No action — it's informational only |
673
- | "Add Specialist" | Opens Dialog — multi-step: Name → Role → Config |
674
- | Add agent — step transitions | Slide left/right within dialog, no full dialog remount |
675
- | Delete agent | Confirmation dialog: "Remove [Name] from your team?" — destructive button |
676
- | Agent active | Pulsing emerald ring on avatar, status dot pulses |
677
-
678
- **Agent Add/Edit Dialog:**
679
- - Step 1: Name + emoji/avatar choice
680
- - Step 2: Role/specialty select (from preset list + custom)
681
- - Step 3: Model + config (API key, temperature, etc.)
682
- - Footer: [Back] [Next / Save]
683
-
684
- #### Done Criteria
685
-
686
- - [ ] Agent cards show correct status with pulsing dots for active agents
687
- - [ ] Agent color assignments are consistent (same agent always same color)
688
- - [ ] Empty state uses exact copy above — no generic "no agents found"
689
- - [ ] Add/edit dialog works as multi-step flow, not separate pages
690
- - [ ] Mobile: cards are full-width, scannable without horizontal scroll
691
-
692
- ---
693
-
694
- ### 10.4 SESSIONS
695
-
696
- #### Layout Spec
697
-
698
- **Desktop (lg+):**
699
- ```
700
- PageHeader: "Sessions" [Filter bar] [New Session button]
701
- [Filter row: Status tabs (All / Active / Completed / Failed) + Search input + Date range]
702
- [Sessions list: full-width cards, stacked]
703
- ```
704
-
705
- **Tablet (md):**
706
- ```
707
- Same as desktop, filter row wraps to 2 rows
708
- ```
709
-
710
- **Mobile (< 640px):**
711
- ```
712
- PageHeader: "Sessions" [New Session button — icon only on mobile]
713
- Filter: Status tabs scroll horizontally (no wrap)
714
- Search: Below tabs, full width
715
- Sessions: Stacked cards, full width
716
- NO table view — always cards on mobile
717
- ```
718
-
719
- **The sessions table on desktop is abolished.** Sessions are always cards. The table view caused mobile overflow issues and was harder to scan than cards.
720
-
721
- #### Session Card Spec (standard)
722
-
723
- ```
724
- ┌────────────────────────────────────────────────────────┐
725
- │ [StatusDot] [Session name/title — 14px semibold] [▶] │
726
- │ [Agent name + avatar (16px)] [Duration: 00:04:23] │
727
- │ [Last message preview — 13px text-secondary, 1 line] │
728
- │ [Tags/labels] [Started: 2h ago] │
729
- └────────────────────────────────────────────────────────┘
730
- ```
731
-
732
- **Active session variant:**
733
- - Left border: 3px emerald (`--accent`)
734
- - Duration ticker: live, counts up in real-time
735
- - StatusDot: pulsing emerald
736
-
737
- **Failed session variant:**
738
- - Left border: 3px red-500
739
- - StatusDot: static red
740
- - Duration replaced with: "Failed · 4 min ago"
741
-
742
- **Pending session variant:**
743
- - Left border: 3px blue-400
744
- - StatusDot: static blue
745
- - Shows "Waiting for approval" instead of duration
746
-
747
- #### Empty State Spec
748
-
749
- **First Login (no sessions ever):**
750
- ```
751
- Icon: `MessageSquare` (48px, text-tertiary) — the chat/conversation metaphor
752
- Heading: "No sessions yet"
753
- Body: "Sessions are conversations between you and your team. Start one to see your specialists in action."
754
- CTA: [Start a session] → Opens New Session dialog
755
- ```
756
-
757
- **Filtered to Active — no active sessions:**
758
- ```
759
- Icon: `Coffee` (32px, text-tertiary) ← intentional: your team is at rest
760
- Text: "Your team is standing by"
761
- Sub: "No active sessions right now."
762
- CTA: [Start a session] — ghost button
763
- ```
764
-
765
- **Filtered to Failed — no failures:**
766
- ```
767
- Icon: `CheckCircle` (32px, --status-active)
768
- Text: "No failures"
769
- Sub: "All good."
770
- [No CTA]
771
- ```
772
-
773
- **Search returns nothing:**
774
- ```
775
- Icon: `SearchX` (32px, text-tertiary)
776
- Text: "No sessions match '[query]'"
777
- CTA: [Clear search]
778
- ```
779
-
780
- #### Component Inventory
781
-
782
- - AH: `SessionCard`, `StatusDot`, `StatusBadge`, `AgentAvatar`, `PageHeader`
783
- - Shadcn: `Tabs` (status filter), `Input` (search), `Dialog` (new session), `Sheet` (session detail), `Skeleton`, `Button`, `Badge` (labels)
784
-
785
- #### Interaction Spec
786
-
787
- | Interaction | Behavior |
788
- |---|---|
789
- | Session card click | Opens session detail Sheet (slides in from right) |
790
- | Session detail Sheet | Shows full message history + metadata + actions |
791
- | Active session — live ticker | Updates every second, no flicker |
792
- | "New Session" button | Opens dialog: Select agent → Enter prompt → Start |
793
- | Status tab switch | Instant filter, no loading state if data cached |
794
- | Search | Debounce 300ms, searches name + agent + content preview |
795
- | Session — Stop button | Confirmation: "Stop this session?" — not destructive dialog, inline |
796
- | Session — Retry (failed) | Immediate action, shows button spinner, refreshes card |
797
- | Pull to refresh (mobile) | Refreshes list |
798
-
799
- #### Done Criteria
800
-
801
- - [ ] NO horizontal scroll on mobile — ever
802
- - [ ] Active sessions show live duration tickers
803
- - [ ] Status tabs filter instantly
804
- - [ ] Session cards have correct left-border color by status
805
- - [ ] Empty states use exact copy above
806
- - [ ] Session detail Sheet works on all breakpoints
807
- - [ ] First login empty state communicates what sessions ARE
808
-
809
- ---
810
-
811
- ### 10.5 APPROVALS
812
-
813
- #### Layout Spec
814
-
815
- **Desktop (lg+):**
816
- ```
817
- PageHeader: "Approvals" [Badge: N pending]
818
- [Master-detail layout: 360px left panel + flexible right panel]
819
- Left: Scrollable list of approval cards
820
- Right: Selected approval detail (empty state if nothing selected)
821
- ```
822
-
823
- **Tablet (md):**
824
- ```
825
- Full-width list only — no detail panel
826
- Tapping an approval opens a Sheet (bottom sheet or right sheet)
827
- ```
828
-
829
- **Mobile (< 640px): [CRITICAL — this was broken, now fixed]**
830
- ```
831
- Full-width stacked cards
832
- NO side-by-side layout
833
- Tap to open detail Sheet (slides up from bottom)
834
- Approve / Reject buttons: full-width, stacked at bottom of Sheet
835
- ```
836
-
837
- #### Approval Card Spec
838
-
839
- ```
840
- ┌────────────────────────────────────────────────────────┐
841
- │ [AgentAvatar 32px] [Agent name — 13px semibold] │
842
- │ [Request title — 14px, text-primary, 2-line clamp] │
843
- │ [Type badge: tool_call / file_write / etc.] │
844
- │ [Waiting: 4m 32s ago] [→ Approve] [✕ Reject] │
845
- └────────────────────────────────────────────────────────┘
846
- ```
847
-
848
- **Selected state (desktop):** Highlighted with border-strong, background surface-2.
849
-
850
- #### Approval Detail Panel Spec (desktop right panel)
851
-
852
- ```
853
- [Agent + request type header]
854
- [Full request context — code block or prose, scrollable]
855
- [Impact summary: what happens if approved / rejected]
856
- [Approve button — full width, primary (emerald)]
857
- [Reject button — full width, destructive (outline)]
858
- [Add note — optional textarea, shows on demand]
859
- ```
860
-
861
- **Nothing selected state (desktop right panel):**
862
- ```
863
- [Centered vertically]
864
- Icon: `MousePointerClick` (32px, text-tertiary)
865
- Text: "Select an approval to review"
866
- ```
867
-
868
- #### Empty State Spec
869
-
870
- **No pending approvals:**
871
- ```
872
- Icon: `CheckCircle2` (48px, --status-active) ← emerald — this is a good thing
873
- Heading: "All caught up"
874
- Body: "No approvals waiting. Your team is running without blockers."
875
- [No CTA]
876
- ```
877
-
878
- Note: This is the one empty state where we use emerald — because zero pending approvals IS a success state.
879
-
880
- **First Login (will look like the above since no agents = no approvals):**
881
- Same "All caught up" state — no special case needed here.
882
-
883
- #### Component Inventory
884
-
885
- - AH: `ApprovalCard`, `AgentAvatar`, `StatusBadge`, `PageHeader`
886
- - Shadcn: `Sheet` (mobile/tablet detail), `Textarea` (note input), `Button`, `Skeleton`, `Badge` (type labels), `ScrollArea` (for detail content)
887
-
888
- #### Interaction Spec
889
-
890
- | Interaction | Behavior |
891
- |---|---|
892
- | Card click (desktop) | Loads detail in right panel (150ms fade) |
893
- | Card click (mobile/tablet) | Opens bottom Sheet |
894
- | Approve (card inline) | Immediate optimistic update, card fades out (200ms), success toast |
895
- | Reject (card inline) | Immediate optimistic update, card fades out (200ms) |
896
- | Approve (detail panel) | Same optimistic update |
897
- | Add note | Textarea expands inline, "Submit with note" replaces "Approve" |
898
- | Empty right panel | Shows "Select an approval" message — see spec above |
899
- | Waiting timer | Live counter per card — updates every second |
900
-
901
- **Optimistic updates:** When a user approves/rejects, the card immediately leaves the list. If the action fails, the card comes back with an error toast: "Couldn't [approve/reject] — please try again"
902
-
903
- #### Done Criteria
904
-
905
- - [ ] Mobile: full-width stacked cards, NO overflow, Sheet for detail
906
- - [ ] Desktop: master-detail layout, right panel shows selection
907
- - [ ] Waiting timers are live
908
- - [ ] Optimistic updates on approve/reject
909
- - [ ] Empty state uses emerald (it IS a success state)
910
- - [ ] "All caught up" copy — not "No approvals found"
911
-
912
- ---
913
-
914
- ### 10.6 WORKFLOWS
915
-
916
- #### Layout Spec
917
-
918
- **Desktop (lg+):**
919
- ```
920
- PageHeader: "Workflows" [CTA: "New Workflow" button]
921
- [Status filter tabs: All / Active / Draft / Archived]
922
- [Workflow table/list: full width]
923
- ```
924
-
925
- **Mobile (< 640px):**
926
- ```
927
- PageHeader: "Workflows" [New Workflow — icon button]
928
- Filter: Horizontal scrolling tabs
929
- Workflows: Stacked cards (not table rows)
930
- ```
931
-
932
- #### Workflow Card/Row Spec
933
-
934
- **Desktop (table-like rows):**
935
- ```
936
- [StatusDot] [Workflow name — 14px semibold] [Description — text-secondary, truncated]
937
- [Agent(s) — avatar stack] [Trigger: cron/event label] [Last run: Xh ago] [Run count]
938
- [Actions: Run now / Edit / Archive — overflow menu]
939
- ```
940
-
941
- **Mobile (cards):**
942
- ```
943
- [Workflow name + StatusDot]
944
- [Description — 2 lines]
945
- [Next run: Xh from now OR Last run: Xh ago]
946
- [Actions: kebab menu]
947
- ```
948
-
949
- #### Empty State Spec
950
-
951
- **First Login / No Workflows:**
952
- ```
953
- Icon: `GitBranch` (48px, text-tertiary)
954
- Heading: "No workflows yet"
955
- Body: "Workflows are automated sequences your team runs on a schedule or trigger. Set one up to let your team work independently."
956
- CTA: [Create your first workflow] — primary button
957
- ```
958
-
959
- **Filter: Active — no active workflows:**
960
- ```
961
- Icon: `Zap` (32px, text-tertiary)
962
- Text: "No active workflows"
963
- Sub: "Activate a workflow or create a new one."
964
- CTA: [New Workflow] — ghost button
965
- ```
966
-
967
- **Filter: Archived:**
968
- ```
969
- Icon: `Archive` (32px, text-tertiary)
970
- Text: "Nothing archived"
971
- ```
972
-
973
- #### Component Inventory
974
-
975
- - AH: `StatusDot`, `AgentAvatar`, `PageHeader`, `StatusBadge`
976
- - Shadcn: `Table` (desktop rows), `Tabs` (filter), `DropdownMenu` (row actions), `Dialog` (workflow builder), `Sheet` (workflow detail/edit), `Skeleton`, `Button`
977
-
978
- #### Interaction Spec
979
-
980
- | Interaction | Behavior |
981
- |---|---|
982
- | Row click | Opens workflow detail Sheet |
983
- | "Run now" | Triggers run, button shows spinner, success toast when started |
984
- | "Edit" | Opens workflow edit Dialog/Sheet |
985
- | "Archive" | Confirmation inline: "Archive this workflow?" with undo toast |
986
- | Status toggle | Switch on row — optimistic, instant |
987
- | New workflow | Opens multi-step Dialog (trigger → agent → actions → review) |
988
- | Sort columns | Instant client-side sort if data loaded |
989
-
990
- #### Done Criteria
991
-
992
- - [ ] Mobile: workflows render as cards (no table overflow)
993
- - [ ] Run now action gives immediate feedback
994
- - [ ] Empty states use exact copy — specifically the "let your team work independently" framing
995
- - [ ] Workflow builder dialog is multi-step
996
-
997
- ---
998
-
999
- ### 10.7 SETTINGS
1000
-
1001
- #### Layout Spec
1002
-
1003
- **All breakpoints:**
1004
- ```
1005
- PageHeader: "Settings"
1006
- [Vertical tab navigation on left (desktop) / Horizontal tabs (mobile)]
1007
- [Content panel on right (desktop) / Full width below tabs (mobile)]
1008
- ```
1009
-
1010
- **Desktop:** Left nav 200px, content fills remainder
1011
- **Mobile:** Tabs scroll horizontally at top, content below full-width
1012
-
1013
- **Settings Tabs:**
1014
- 1. General
1015
- 2. Account
1016
- 3. Team (agent defaults)
1017
- 4. Integrations
1018
- 5. Knowledge (previously standalone page — now settings sub-section)
1019
- 6. Notifications
1020
- 7. Billing
1021
-
1022
- #### Component Inventory (SHADCN THROUGHOUT — no AH mixing)
1023
-
1024
- - All `Input`, `Textarea`, `Select`, `Switch`, `Checkbox`, `RadioGroup` — Shadcn
1025
- - All `Tabs` — Shadcn
1026
- - `Button` — Shadcn
1027
- - Section headers — custom styled (not AH PageHeader)
1028
- - Knowledge base items — custom (not Knowledge page component)
1029
- - Agent display in Team tab — AH `AgentAvatar` only (not full AgentCard)
1030
-
1031
- **The previous Settings problem was mixing AH page-level components in a sub-section context.** Settings uses shadcn primitives throughout. The only AH component allowed is `AgentAvatar` as a display element.
1032
-
1033
- #### Empty State Spec
1034
-
1035
- **Integrations — no connected integrations:**
1036
- ```
1037
- Icon: `Plug` (32px, text-tertiary)
1038
- Text: "No integrations connected"
1039
- Sub: "Connect your tools to extend what your team can do."
1040
- [Integration cards shown regardless — connection is the CTA]
1041
- ```
1042
-
1043
- **Knowledge — no documents:**
1044
- ```
1045
- Icon: `BookOpen` (32px, text-tertiary)
1046
- Text: "No knowledge sources"
1047
- Sub: "Add documents or URLs to give your team context."
1048
- CTA: [Add knowledge source] — primary button
1049
- ```
1050
-
1051
- **Notifications — no notification rules:**
1052
- ```
1053
- Text: "Using default notification settings."
1054
- [Settings form shown — not a blocking empty state]
1055
- ```
1056
-
1057
- #### Interaction Spec
1058
-
1059
- | Interaction | Behavior |
1060
- |---|---|
1061
- | Setting change | Auto-save with debounce 800ms, subtle "Saved" indicator (text fades in/out near the field) |
1062
- | Explicit save forms | "Save changes" button, shows spinner on click |
1063
- | Destructive actions | Confirmation dialog (e.g., delete account, clear knowledge base) |
1064
- | Tab switch | Instant (no loading) |
1065
- | Knowledge upload | Drop zone + file picker, progress bar during upload |
1066
- | Integration connect | Opens OAuth flow or token input Sheet |
1067
-
1068
- **Auto-save indicator:**
1069
- - Appears as "Saved ✓" in text-secondary/text-tertiary near the relevant section
1070
- - Fades in at 200ms, waits 2s, fades out at 200ms
1071
- - Does NOT use toast for individual setting saves
1072
-
1073
- #### Done Criteria
1074
-
1075
- - [ ] All form components are shadcn — no AH components except AgentAvatar
1076
- - [ ] No mixed component systems on any settings tab
1077
- - [ ] Auto-save works for toggle/select fields
1078
- - [ ] Knowledge tab works equivalently to the previous standalone page
1079
- - [ ] Mobile: horizontal scroll tabs, full-width content
1080
- - [ ] Tabs are keyboard navigable
1081
-
1082
- ---
1083
-
1084
- ## 11. COPY & LANGUAGE STANDARDS
1085
-
1086
- ### The Mental Model in Copy
1087
-
1088
- | Context | Use | Never use |
1089
- |---------|-----|-----------|
1090
- | Agent collection | "Your team" | "Your agents", "Your bots" |
1091
- | Individual agent | "[Name], your [Role] specialist" | "Agent ID: xyz" |
1092
- | Active session | "[Name] is in a session" | "Process running" |
1093
- | Pending approval | "[Name] is waiting for you" | "Approval #4892 pending" |
1094
- | Session history | "N sessions this week" | "N tasks completed" |
1095
- | Idle agent | "[Name] is standing by" | "Agent idle" |
1096
-
1097
- ### Empty State Copy Principles
1098
-
1099
- 1. **Describe potential, not absence.** "No sessions yet" → "Sessions are conversations with your team. Start one."
1100
- 2. **First-person team language.** "Your team is standing by" not "No data found"
1101
- 3. **Emerald empty states are success states.** "All caught up" when approvals are empty.
1102
- 4. **Only use CTA in empty state if there's a clear next action.** Not every empty state needs a button.
1103
-
1104
- ### Timestamps
1105
-
1106
- - < 1 minute: "Just now"
1107
- - 1–59 minutes: "Xm ago"
1108
- - 1–23 hours: "Xh ago"
1109
- - Yesterday: "Yesterday at HH:MM"
1110
- - Older: "Mar 14" or "Mar 14, 2025" if different year
1111
-
1112
- ### Status Labels
1113
-
1114
- | Status | Display label |
1115
- |--------|--------------|
1116
- | active | "Active" |
1117
- | running | "In session" |
1118
- | idle | "Standing by" |
1119
- | pending | "Waiting" |
1120
- | failed | "Failed" |
1121
- | offline | "Offline" |
1122
- | disabled | "Disabled" |
1123
-
1124
- ---
1125
-
1126
- ## APPENDIX: DONE CRITERIA SUMMARY
1127
-
1128
- A page is "done" when:
1129
-
1130
- 1. ✅ All breakpoints render without overflow or layout break
1131
- 2. ✅ All empty states show exact spec copy and icon (not placeholder text)
1132
- 3. ✅ Component system matches spec (no mixing violations)
1133
- 4. ✅ Loading states use correct skeleton variant
1134
- 5. ✅ Error states follow the 4-level hierarchy
1135
- 6. ✅ Active/live elements animate per the motion spec
1136
- 7. ✅ Reduced motion respected
1137
- 8. ✅ Token usage matches the canonical token system (no raw hex)
1138
- 9. ✅ First login experience shows Activation Mode content where specified
1139
- 10. ✅ Tab/keyboard navigation works on all interactive elements
1140
-
1141
- ---
1142
-
1143
- *Spec locked. Implementation questions → Nadia. No design decisions in PRs.*