@jaimevalasek/aioson 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (301) hide show
  1. package/CHANGELOG.md +31 -1
  2. package/LICENSE +661 -21
  3. package/README.md +9 -1
  4. package/docs/design-previews/aurora-command-ui-website.html +884 -0
  5. package/docs/design-previews/aurora-command-ui.html +682 -0
  6. package/docs/design-previews/bold-editorial-ui-website.html +658 -0
  7. package/docs/design-previews/bold-editorial-ui.html +717 -0
  8. package/docs/design-previews/clean-saas-ui-website.html +1202 -0
  9. package/docs/design-previews/clean-saas-ui.html +549 -0
  10. package/docs/design-previews/cognitive-core-ui-website.html +1009 -0
  11. package/docs/design-previews/cognitive-core-ui.html +463 -0
  12. package/docs/design-previews/glassmorphism-ui-website.html +572 -0
  13. package/docs/design-previews/glassmorphism-ui.html +886 -0
  14. package/docs/design-previews/index.html +699 -0
  15. package/docs/design-previews/interface-design-website.html +1187 -0
  16. package/docs/design-previews/interface-design.html +513 -0
  17. package/docs/design-previews/neo-brutalist-ui-website.html +621 -0
  18. package/docs/design-previews/neo-brutalist-ui.html +797 -0
  19. package/docs/design-previews/premium-command-center-ui-website.html +1217 -0
  20. package/docs/design-previews/premium-command-center-ui.html +552 -0
  21. package/docs/design-previews/warm-craft-ui-website.html +684 -0
  22. package/docs/design-previews/warm-craft-ui.html +739 -0
  23. package/docs/en/cli-reference.md +20 -9
  24. package/docs/en/squad-dashboard.md +372 -0
  25. package/docs/openclaw-bridge.md +308 -0
  26. package/docs/pt/README.md +7 -0
  27. package/docs/pt/agent-sharding.md +132 -0
  28. package/docs/pt/agentes.md +131 -11
  29. package/docs/pt/busca-de-contexto.md +129 -0
  30. package/docs/pt/cache-de-contexto.md +156 -0
  31. package/docs/pt/cenarios.md +46 -2
  32. package/docs/pt/comandos-cli.md +88 -1
  33. package/docs/pt/design-hybrid-forge.md +107 -0
  34. package/docs/pt/inicio-rapido.md +72 -5
  35. package/docs/pt/inteligencia-adaptativa.md +324 -0
  36. package/docs/pt/monitor-de-contexto.md +104 -0
  37. package/docs/pt/recuperacao-de-sessao.md +125 -0
  38. package/docs/pt/sandbox.md +125 -0
  39. package/docs/pt/skills.md +98 -6
  40. package/docs/pt/squad-dashboard.md +373 -0
  41. package/docs/testing/genome-2.0-matrix.md +5 -5
  42. package/docs/testing/genome-2.0-rollout.md +9 -9
  43. package/package.json +2 -2
  44. package/src/agent-loader.js +280 -0
  45. package/src/backup-local.js +74 -0
  46. package/src/cli.js +192 -0
  47. package/src/commands/agent-loader.js +85 -0
  48. package/src/commands/backup-local-cmd.js +25 -0
  49. package/src/commands/context-cache.js +90 -0
  50. package/src/commands/context-monitor.js +92 -0
  51. package/src/commands/context-search.js +66 -0
  52. package/src/commands/design-hybrid-options.js +385 -0
  53. package/src/commands/health.js +214 -0
  54. package/src/commands/init.js +54 -13
  55. package/src/commands/install.js +52 -13
  56. package/src/commands/learning-evolve.js +355 -0
  57. package/src/commands/live.js +34 -0
  58. package/src/commands/recovery.js +43 -0
  59. package/src/commands/runtime.js +242 -0
  60. package/src/commands/sandbox.js +37 -0
  61. package/src/commands/setup-context.js +29 -4
  62. package/src/commands/setup.js +178 -0
  63. package/src/commands/skill.js +79 -32
  64. package/src/commands/squad-daemon.js +209 -0
  65. package/src/commands/squad-dashboard.js +39 -0
  66. package/src/commands/squad-deploy.js +64 -0
  67. package/src/commands/squad-doctor.js +52 -0
  68. package/src/commands/squad-mcp.js +270 -0
  69. package/src/commands/squad-processes.js +56 -0
  70. package/src/commands/squad-recovery.js +42 -0
  71. package/src/commands/squad-roi.js +291 -0
  72. package/src/commands/squad-score.js +250 -0
  73. package/src/commands/squad-status.js +37 -1
  74. package/src/commands/squad-validate.js +62 -1
  75. package/src/commands/squad-webhook.js +160 -0
  76. package/src/commands/squad-worker.js +191 -0
  77. package/src/commands/squad-worktrees.js +75 -0
  78. package/src/commands/tool-registry-cmd.js +232 -0
  79. package/src/commands/update.js +7 -0
  80. package/src/commands/web-map.js +70 -0
  81. package/src/commands/web-scrape.js +71 -0
  82. package/src/constants.js +17 -0
  83. package/src/context-cache.js +159 -0
  84. package/src/context-search.js +326 -0
  85. package/src/context-writer.js +45 -1
  86. package/src/design-variation-catalog.js +503 -0
  87. package/src/i18n/messages/en.js +159 -3
  88. package/src/i18n/messages/es.js +147 -2
  89. package/src/i18n/messages/fr.js +147 -2
  90. package/src/i18n/messages/pt-BR.js +158 -3
  91. package/src/install-animation.js +260 -0
  92. package/src/install-profile.js +143 -0
  93. package/src/install-wizard.js +474 -0
  94. package/src/installer.js +38 -10
  95. package/src/lib/webhook-server.js +328 -0
  96. package/src/mcp-connectors/registry.js +602 -0
  97. package/src/parser.js +7 -1
  98. package/src/recovery-context-session.js +154 -0
  99. package/src/runtime-store.js +355 -2
  100. package/src/sandbox.js +177 -0
  101. package/src/squad/external-session.js +180 -0
  102. package/src/squad/inter-squad.js +74 -0
  103. package/src/squad/recovery-context.js +201 -0
  104. package/src/squad/worktree-manager.js +114 -0
  105. package/src/squad-daemon.js +490 -0
  106. package/src/squad-dashboard/api.js +223 -0
  107. package/src/squad-dashboard/attachment-handler.js +93 -0
  108. package/src/squad-dashboard/context-monitor.js +157 -0
  109. package/src/squad-dashboard/execution-logs.js +115 -0
  110. package/src/squad-dashboard/hunk-review.js +209 -0
  111. package/src/squad-dashboard/metrics.js +133 -0
  112. package/src/squad-dashboard/process-monitor.js +125 -0
  113. package/src/squad-dashboard/renderer.js +858 -0
  114. package/src/squad-dashboard/server.js +232 -0
  115. package/src/squad-dashboard/styles.js +525 -0
  116. package/src/squad-dashboard/token-tracker.js +99 -0
  117. package/src/tool-executor.js +94 -0
  118. package/src/updater.js +11 -3
  119. package/src/web.js +284 -0
  120. package/src/worker-runner.js +339 -0
  121. package/template/.aioson/agents/analyst.md +62 -3
  122. package/template/.aioson/agents/architect.md +42 -0
  123. package/template/.aioson/agents/design-hybrid-forge.md +127 -0
  124. package/template/.aioson/agents/dev.md +223 -11
  125. package/template/.aioson/agents/deyvin.md +65 -0
  126. package/template/.aioson/agents/neo.md +152 -0
  127. package/template/.aioson/agents/orache.md +17 -0
  128. package/template/.aioson/agents/orchestrator.md +26 -0
  129. package/template/.aioson/agents/pm.md +58 -0
  130. package/template/.aioson/agents/product.md +88 -12
  131. package/template/.aioson/agents/qa.md +80 -0
  132. package/template/.aioson/agents/setup.md +128 -22
  133. package/template/.aioson/agents/sheldon.md +704 -0
  134. package/template/.aioson/agents/squad.md +191 -0
  135. package/template/.aioson/agents/tester.md +410 -0
  136. package/template/.aioson/agents/ux-ui.md +12 -0
  137. package/template/.aioson/config.md +21 -0
  138. package/template/.aioson/context/forensics/.gitkeep +0 -0
  139. package/template/.aioson/context/seeds/seed-example.md +27 -0
  140. package/template/.aioson/context/user-profile.md +42 -0
  141. package/template/.aioson/locales/en/agents/analyst.md +8 -0
  142. package/template/.aioson/locales/en/agents/architect.md +8 -0
  143. package/template/.aioson/locales/en/agents/dev.md +66 -7
  144. package/template/.aioson/locales/en/agents/deyvin.md +8 -0
  145. package/template/.aioson/locales/en/agents/neo.md +8 -0
  146. package/template/.aioson/locales/en/agents/orchestrator.md +26 -0
  147. package/template/.aioson/locales/en/agents/qa.md +49 -0
  148. package/template/.aioson/locales/en/agents/setup.md +35 -2
  149. package/template/.aioson/locales/en/agents/sheldon.md +340 -0
  150. package/template/.aioson/locales/en/agents/ux-ui.md +8 -0
  151. package/template/.aioson/locales/es/agents/analyst.md +8 -0
  152. package/template/.aioson/locales/es/agents/architect.md +8 -0
  153. package/template/.aioson/locales/es/agents/dev.md +66 -7
  154. package/template/.aioson/locales/es/agents/deyvin.md +8 -0
  155. package/template/.aioson/locales/es/agents/neo.md +48 -0
  156. package/template/.aioson/locales/es/agents/orchestrator.md +26 -0
  157. package/template/.aioson/locales/es/agents/qa.md +26 -0
  158. package/template/.aioson/locales/es/agents/setup.md +35 -2
  159. package/template/.aioson/locales/es/agents/sheldon.md +192 -0
  160. package/template/.aioson/locales/es/agents/squad.md +63 -0
  161. package/template/.aioson/locales/es/agents/ux-ui.md +8 -0
  162. package/template/.aioson/locales/fr/agents/analyst.md +8 -0
  163. package/template/.aioson/locales/fr/agents/architect.md +8 -0
  164. package/template/.aioson/locales/fr/agents/dev.md +66 -7
  165. package/template/.aioson/locales/fr/agents/deyvin.md +8 -0
  166. package/template/.aioson/locales/fr/agents/neo.md +48 -0
  167. package/template/.aioson/locales/fr/agents/orchestrator.md +26 -0
  168. package/template/.aioson/locales/fr/agents/qa.md +26 -0
  169. package/template/.aioson/locales/fr/agents/setup.md +35 -2
  170. package/template/.aioson/locales/fr/agents/sheldon.md +192 -0
  171. package/template/.aioson/locales/fr/agents/squad.md +63 -0
  172. package/template/.aioson/locales/fr/agents/ux-ui.md +8 -0
  173. package/template/.aioson/locales/pt-BR/agents/analyst.md +19 -0
  174. package/template/.aioson/locales/pt-BR/agents/architect.md +19 -0
  175. package/template/.aioson/locales/pt-BR/agents/dev.md +75 -12
  176. package/template/.aioson/locales/pt-BR/agents/deyvin.md +8 -0
  177. package/template/.aioson/locales/pt-BR/agents/neo.md +147 -0
  178. package/template/.aioson/locales/pt-BR/agents/orchestrator.md +26 -0
  179. package/template/.aioson/locales/pt-BR/agents/product.md +8 -3
  180. package/template/.aioson/locales/pt-BR/agents/qa.md +60 -0
  181. package/template/.aioson/locales/pt-BR/agents/setup.md +35 -2
  182. package/template/.aioson/locales/pt-BR/agents/sheldon.md +192 -0
  183. package/template/.aioson/locales/pt-BR/agents/squad.md +105 -0
  184. package/template/.aioson/locales/pt-BR/agents/ux-ui.md +8 -0
  185. package/template/.aioson/schemas/squad-blueprint.schema.json +21 -0
  186. package/template/.aioson/schemas/squad-manifest.schema.json +178 -1
  187. package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +243 -0
  188. package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -0
  189. package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -0
  190. package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -0
  191. package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -0
  192. package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -0
  193. package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +482 -0
  194. package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +387 -0
  195. package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +205 -0
  196. package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -0
  197. package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -0
  198. package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -0
  199. package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -0
  200. package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -0
  201. package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -0
  202. package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -0
  203. package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +210 -0
  204. package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -0
  205. package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -0
  206. package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -0
  207. package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -0
  208. package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -0
  209. package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -0
  210. package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -0
  211. package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +55 -9
  212. package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -0
  213. package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +1 -1
  214. package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +100 -0
  215. package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +43 -9
  216. package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +40 -0
  217. package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +1 -1
  218. package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +99 -12
  219. package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +222 -0
  220. package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -0
  221. package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -0
  222. package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -0
  223. package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -0
  224. package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -0
  225. package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -0
  226. package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -0
  227. package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +213 -0
  228. package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -0
  229. package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -0
  230. package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -0
  231. package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -0
  232. package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -0
  233. package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -0
  234. package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -0
  235. package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +209 -0
  236. package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -0
  237. package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -0
  238. package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -0
  239. package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -0
  240. package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -0
  241. package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -0
  242. package/template/.aioson/skills/design/warm-craft-ui/references/websites.md +289 -0
  243. package/template/.aioson/skills/premium-visual-design/SKILL.md +83 -0
  244. package/template/.aioson/skills/premium-visual-design/components/agent-badge.md +92 -0
  245. package/template/.aioson/skills/premium-visual-design/components/dependency-node.md +102 -0
  246. package/template/.aioson/skills/premium-visual-design/components/mention-autocomplete.md +136 -0
  247. package/template/.aioson/skills/premium-visual-design/components/notification-center.md +136 -0
  248. package/template/.aioson/skills/premium-visual-design/components/review-action-bar.md +188 -0
  249. package/template/.aioson/skills/premium-visual-design/components/team-switcher.md +131 -0
  250. package/template/.aioson/skills/premium-visual-design/patterns/agent-message-thread.md +198 -0
  251. package/template/.aioson/skills/premium-visual-design/patterns/notification-panel.md +275 -0
  252. package/template/.aioson/skills/premium-visual-design/patterns/review-workflow-ui.md +234 -0
  253. package/template/.aioson/skills/premium-visual-design/patterns/task-dependency-graph.md +147 -0
  254. package/template/.aioson/skills/premium-visual-design/tokens/status-extended.md +142 -0
  255. package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +45 -0
  256. package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +109 -0
  257. package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +44 -0
  258. package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +37 -0
  259. package/template/.aioson/skills/process/aioson-spec-driven/references/hardening-lane.md +49 -0
  260. package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +66 -0
  261. package/template/.aioson/skills/process/aioson-spec-driven/references/ui-language.md +75 -0
  262. package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +144 -0
  263. package/template/.aioson/skills/process/design-hybrid-forge/references/crossover-protocol.md +221 -0
  264. package/template/.aioson/skills/process/design-hybrid-forge/references/naming-registry.md +88 -0
  265. package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +291 -0
  266. package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +117 -0
  267. package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +188 -0
  268. package/template/.aioson/skills/process/design-hybrid-forge/references/variation-library.md +125 -0
  269. package/template/.aioson/skills/squad/formats/catalog.json +15 -0
  270. package/template/.aioson/skills/squad/formats/content/blog-post.md +47 -0
  271. package/template/.aioson/skills/squad/formats/content/newsletter.md +47 -0
  272. package/template/.aioson/skills/squad/formats/creative/podcast-script.md +43 -0
  273. package/template/.aioson/skills/squad/formats/creative/video-script.md +41 -0
  274. package/template/.aioson/skills/squad/formats/social/instagram-feed.md +42 -0
  275. package/template/.aioson/skills/squad/formats/social/linkedin-post.md +42 -0
  276. package/template/.aioson/skills/squad/formats/social/tiktok.md +39 -0
  277. package/template/.aioson/skills/squad/formats/social/twitter-thread.md +39 -0
  278. package/template/.aioson/skills/squad/formats/social/youtube-long.md +47 -0
  279. package/template/.aioson/skills/squad/formats/social/youtube-shorts.md +39 -0
  280. package/template/.aioson/skills/squad/patterns/multi-platform-pattern.md +108 -0
  281. package/template/.aioson/skills/squad/patterns/persona-based-pattern.md +98 -0
  282. package/template/.aioson/skills/squad/patterns/pipeline-pattern.md +106 -0
  283. package/template/.aioson/skills/squad/patterns/review-loop-pattern.md +81 -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 +19 -0
  290. package/template/.aioson/tasks/squad-design.md +28 -0
  291. package/template/.aioson/tasks/squad-profile.md +48 -0
  292. package/template/.aioson/tasks/squad-review.md +61 -0
  293. package/template/.aioson/tasks/squad-task-decompose.md +66 -0
  294. package/template/.claude/commands/aioson/agent/neo.md +5 -0
  295. package/template/.claude/commands/aioson/agent/tester.md +5 -0
  296. package/template/.gemini/GEMINI.md +1 -0
  297. package/template/.gemini/commands/aios-neo.toml +4 -0
  298. package/template/.gemini/commands/aios-tester.toml +6 -0
  299. package/template/AGENTS.md +26 -1
  300. package/template/CLAUDE.md +6 -2
  301. package/template/OPENCODE.md +2 -0
@@ -37,6 +37,31 @@ New feature (MICRO — no new entities):
37
37
  @product → @dev → @qa
38
38
  ```
39
39
 
40
+ ## Source document detection (run before mode detection)
41
+
42
+ Scan the project root for kickoff input documents:
43
+ - `plans/*.md` — working notes, feature ideas, development plans written by the user
44
+ - `prds/*.md` — draft product visions, requirements sketches written by the user
45
+
46
+ These are **input sources**, not artifacts. They belong to the user and are never modified or deleted by agents.
47
+
48
+ **If files are found:**
49
+ List them and ask once:
50
+ > "I found input documents in the project root:
51
+ > - plans/X.md
52
+ > - prds/Y.md
53
+ >
54
+ > Want me to use these as source material for the PRD? I'll synthesize them and generate the proper artifact in `.aioson/context/`. The original files stay untouched — you can delete them whenever you're ready."
55
+
56
+ - If yes → read all listed files, extract goals, user needs, constraints, and feature descriptions. Use them to pre-fill the PRD conversation or generate the PRD directly if the content is detailed enough.
57
+ - If no → ignore and proceed with conversation from scratch.
58
+
59
+ **Greenfield signal:** if source documents exist AND `prd.md` does not exist in `.aioson/context/` → this is likely an initial project kickoff. Treat the source documents as the starting point for `prd.md`.
60
+
61
+ **Feature signal:** if source documents exist AND `prd.md` already exists in `.aioson/context/` → this is likely a new feature or refinement. Treat the source documents as input for `prd-{slug}.md` or enrichment of the existing PRD.
62
+
63
+ **If no source documents are found:** proceed directly to mode detection below.
64
+
40
65
  ## Mode detection
41
66
 
42
67
  Check the following conditions in order:
@@ -209,11 +234,27 @@ Before asking more visual questions, read `design_skill` from `project.context.m
209
234
 
210
235
  Rules:
211
236
  - If `design_skill` is already set, preserve it in the PRD. Do not silently replace it with another style system.
212
- - If `project_type=site` or `project_type=web_app` and `design_skill` is blank, ask explicitly whether to register one of the installed design skills under `.aioson/skills/design/`.
237
+ - If `project_type=site` or `project_type=web_app` and `design_skill` is blank, use the **signal-based recommendation logic** below before asking.
213
238
  - If only one packaged design skill exists, still ask for confirmation instead of auto-selecting it.
214
239
  - If the user wants to postpone the choice, record that the design skill is pending instead of inventing one.
215
240
  - `@product` captures the decision, `@ux-ui` applies it, and `@dev` only consumes it.
216
241
 
242
+ **Signal-based recommendation logic:**
243
+
244
+ Read the visual or aesthetic description from the PRD text or the user's messages. Then:
245
+
246
+ | If the user described… | Recommend |
247
+ |---|---|
248
+ | Dark theme, dashboard, admin panel, command center, inventory, analytics, control, monitoring, operational UI, cyberpunk, futuristic, dark + ciano/teal/cyan accent, glassmorphism | **`cognitive-core-ui`** |
249
+ | Operational shell, tri-rail layout, premium dark software, "command center only" | **`premium-command-center-ui`** |
250
+ | Light theme, clean/minimal, custom brand, no preset aesthetic, content-heavy, e-commerce, institutional | **`interface-design`** |
251
+ | No aesthetic signals | Ask without a recommendation |
252
+
253
+ When a signal match is found, surface it directly — do not bury it in a list of equal options:
254
+ > "Your description mentions [dark dashboard / futuristic + ciano / etc.]. That matches `cognitive-core-ui` — command-center aesthetic, dark/light, covers dashboards and websites. Want to register it, or choose a different skill?"
255
+
256
+ If the user confirms, update `design_skill` in `project.context.md` before producing the PRD.
257
+
217
258
  ## Conversation flow
218
259
 
219
260
  These are natural phases, not rigid steps. Move through them organically based on the conversation.
@@ -257,6 +298,8 @@ Fill every undiscussed section with the best creative judgment for the product t
257
298
 
258
299
  ## Output contract
259
300
 
301
+ > **CRITICAL — FILE WRITE RULE:** Every artifact listed below MUST be written to disk using the Write tool before this agent session ends. Generating content as chat text is NOT sufficient. Always write the file, then confirm it was saved with: `✅ prd.md written — @analyst can proceed.`
302
+
260
303
  **Creation / Enrichment mode:** generate `.aioson/context/prd.md`.
261
304
  **Feature mode:** generate `.aioson/context/prd-{slug}.md` (same structure, slug confirmed with user).
262
305
  **Correction mode:** generate `.aioson/context/prd-{slug}-fix.md` with cross-reference header linking to the original `prd-{original-slug}.md`.
@@ -296,6 +339,17 @@ Both files use exactly these sections:
296
339
  ## Open questions
297
340
  - [Unresolved decision that needs an answer before or during development]
298
341
 
342
+ ## Specify depth
343
+ > **Include when classification is SMALL or MEDIUM. Omit for MICRO.**
344
+
345
+ - Classification: [MICRO / SMALL / MEDIUM]
346
+ - Specify depth applied: [lite / standard / full]
347
+ - Ambiguities that MUST be resolved before @analyst proceeds:
348
+ - [item 1]
349
+ - [item 2]
350
+ - Ambiguities that CAN be resolved during discovery:
351
+ - [item 1]
352
+
299
353
  ## Visual identity
300
354
  > **Include this section if the client expressed visual preferences during the conversation OR if `design_skill` is already set in `project.context.md`. Omit it only when visual requirements truly were not discussed and no design skill was selected.**
301
355
 
@@ -338,18 +392,20 @@ Both files use exactly these sections:
338
392
  After the PRD is produced, tell the user which agent to activate next:
339
393
 
340
394
  **New project (`prd.md`):**
341
- | classification | Next step |
342
- |---|---|
343
- | MICRO | **@dev** — reads prd.md directly |
344
- | SMALL | **@analyst** maps requirements from prd.md |
345
- | MEDIUM | **@analyst** — then @architect @ux-ui → @pm → @orchestrator |
395
+ | classification | UI spec? | Next step |
396
+ |---|---|---|
397
+ | MICRO | No specific visual spec | **@dev** — reads prd.md directly |
398
+ | MICRO | Has detailed visual spec (design tokens, custom theme, futuristic/branded UI) | **@ux-ui** → then @dev |
399
+ | SMALL | — | **@analyst** — maps requirements from prd.md |
400
+ | MEDIUM | — | **@analyst** — then @architect → @ux-ui → @pm → @orchestrator |
346
401
 
347
402
  **New feature (`prd-{slug}.md`):**
348
- | feature complexity | Next step |
349
- |---|---|
350
- | MICRO (no new entities, UI/CRUD only) | **@dev** — reads prd-{slug}.md directly |
351
- | SMALL (new entities or business logic) | **@analyst** maps requirements from prd-{slug}.md |
352
- | MEDIUM (new architecture, external service) | **@analyst** @architect @dev @qa |
403
+ | feature complexity | UI spec? | Next step |
404
+ |---|---|---|
405
+ | MICRO (no new entities, UI/CRUD only) | No specific visual spec | **@dev** — reads prd-{slug}.md directly |
406
+ | MICRO (no new entities, UI/CRUD only) | Has detailed visual spec | **@ux-ui** → then @dev |
407
+ | SMALL (new entities or business logic) | — | **@analyst** maps requirements from prd-{slug}.md |
408
+ | MEDIUM (new architecture, external service) | — | **@analyst** → @architect → @dev → @qa |
353
409
 
354
410
  **Correction (`prd-{slug}-fix.md`):**
355
411
  | correction scope | Next step |
@@ -358,7 +414,9 @@ After the PRD is produced, tell the user which agent to activate next:
358
414
  | Logic change or new validation | **@analyst** — re-maps requirements delta from prd-{slug}-fix.md |
359
415
  | Architectural impact | **@analyst** → @architect → @dev → @qa |
360
416
 
361
- Assess feature complexity from the conversation. Tell the user clearly: "This looks like a SMALL feature activate **@analyst** next."
417
+ **UI spec detection rule:** a PRD has a "detailed visual spec" when it describes two or more of: specific color palette, typography choices, animation/motion requirements, glassmorphism/depth effects, custom theme tokens, or an overall aesthetic direction (futuristic, cyberpunk, branded, etc.). A generic "clean and responsive" does NOT qualify.
418
+
419
+ Assess feature complexity from the conversation. Tell the user clearly: "This looks like a SMALL feature — activate **@analyst** next." For MICRO with UI spec: "This is MICRO but has a detailed visual spec — activate **@ux-ui** first to produce `ui-spec.md`, then **@dev**."
362
420
 
363
421
  ## Framework skill awareness
364
422
 
@@ -372,6 +430,12 @@ Before scoping a feature, read `framework` from `.aioson/context/project.context
372
430
 
373
431
  **Do not** make architecture or implementation decisions based on framework skills — that remains `@architect` and `@dev` territory. `@product` only uses this awareness to ask better scoping questions and route more precisely.
374
432
 
433
+ **Process skill awareness:**
434
+ Also check `.aioson/installed-skills/aioson-spec-driven/SKILL.md` if it exists. When it does:
435
+ - Load it when starting a new PRD or feature scoping session
436
+ - Load `references/product.md` from that skill to apply specify-depth guidance
437
+ - Use the classification result to explicitly tell the user which depth is being applied (MICRO/SMALL/MEDIUM)
438
+
375
439
  ## Responsibility boundary
376
440
 
377
441
  `@product` owns product thinking only:
@@ -386,6 +450,10 @@ Before scoping a feature, read `framework` from `.aioson/context/project.context
386
450
 
387
451
  If a question is outside product scope, acknowledge it briefly and redirect: "That's an architecture question — flag it for `@architect`."
388
452
 
453
+ ## Disk-first principle
454
+
455
+ Escreva `prd.md` ou `prd-{slug}.md` no disco antes de retornar qualquer resposta ao usuário. Se a sessão cair, o artefato escrito é recuperável. Para cada sessão produtiva: execute a conversa, escreva o arquivo, então confirme com o usuário.
456
+
389
457
  ## Hard constraints
390
458
  - Use `conversation_language` from project context for all interaction and output.
391
459
  - Never produce a PRD section you haven't actually discussed — write "TBD" instead.
@@ -394,4 +462,12 @@ If a question is outside product scope, acknowledge it briefly and redirect: "Th
394
462
  - Always run the integrity check before starting a Feature mode or Correction mode conversation — never skip it.
395
463
  - Never start a new feature while another is `in_progress` in `features.md` without explicit user confirmation to abandon.
396
464
  - Always include a cross-reference header in correction PRDs linking to the original feature PRD.
465
+ - At session end, after writing the PRD file, register the session: `aioson agent:done . --agent=product --summary="<one-line summary of PRD produced>" 2>/dev/null || true`
397
466
  - If `aioson` CLI is not available, write a devlog at session end following the "Devlog" section in `.aioson/config.md`.
467
+
468
+ ---
469
+ ## ▶ Próximo passo
470
+ **[MICRO: @dev | SMALL/MEDIUM: @sheldon ou @analyst]**
471
+ Ative: `/dev` (MICRO) ou `/sheldon` (SMALL/MEDIUM)
472
+ > Recomendado: `/clear` antes — janela de contexto fresca
473
+ ---
@@ -347,10 +347,90 @@ When QA is complete and all Critical and High findings are resolved:
347
347
 
348
348
  > **Never mark `done` if any Critical or High finding is unresolved.** Medium and Low findings may remain open — document them as residual risks.
349
349
 
350
+ ## Modo Forensics (--forensics)
351
+
352
+ Ativar com: `/qa --forensics` ou quando o usuário diz "o que deu errado" / "o que está quebrado"
353
+
354
+ **Princípios:**
355
+ - Read-only: não modifica arquivos, não toma decisões, não executa comandos destrutivos
356
+ - Evidence-based: só reporta o que está nos arquivos
357
+ - Objetivo: dar ao próximo agente um briefing claro do estado atual
358
+
359
+ ### Protocolo de forensics
360
+
361
+ **Passo 1 — Inventário de artefatos**
362
+ Verificar existência de cada artefato esperado:
363
+ - `prd*.md` ou `prd-{slug}.md`
364
+ - `requirements-{slug}.md` (se phase_gates.requirements: approved)
365
+ - `architecture.md` (se phase_gates.design: approved)
366
+ - `spec-{slug}.md` (para cada feature ativa)
367
+ - `implementation-plan-{slug}.md` (se phase_gates.plan: approved)
368
+
369
+ **Passo 2 — Verificação de consistência de phase_gates**
370
+ Para cada `spec-{slug}.md` encontrado:
371
+ - Ler frontmatter phase_gates
372
+ - Verificar que o artefato correspondente existe e não está vazio
373
+ - Reportar contradições
374
+
375
+ **Passo 3 — Análise do last_checkpoint**
376
+ - Ler `last_checkpoint` de cada spec ativa
377
+ - Classificar: completado / em_progresso / cortado / null
378
+ - Se cortado: identificar qual era o próximo passo
379
+
380
+ **Passo 4 — Git diff analysis (se disponível)**
381
+ - Listar arquivos modificados desde o último commit
382
+ - Comparar com escopo declarado em spec ativa
383
+ - Reportar arquivos fora do escopo
384
+
385
+ **Passo 5 — Detecção de anomalias (6 tipos)**
386
+ Verificar cada padrão de anomalia:
387
+ 1. **Stuck loop** — `last_checkpoint` repetido sem avanço
388
+ 2. **Missing artifacts** — gate aprovado mas artefato não existe
389
+ 3. **Scope drift** — arquivos modificados fora do escopo declarado
390
+ 4. **Incomplete handoff** — agente ativado mas sem artefato de output
391
+ 5. **Contradição de estado** — phase_gates.plan: approved mas implementation-plan não existe
392
+ 6. **Sessão cortada** — last_checkpoint descreve trabalho em progresso sem conclusão
393
+
394
+ ### Output format
395
+
396
+ ```markdown
397
+ ## Forensics Report — [projeto/feature]
398
+ Data: {ISO-date}
399
+
400
+ ### Estado atual
401
+ - Feature ativa: {slug}
402
+ - Último agente conhecido: {agente}
403
+ - last_checkpoint: "{conteúdo}"
404
+ - Classificação do estado: completado | em_progresso | cortado | desconhecido
405
+
406
+ ### Artefatos
407
+ | Artefato | Status | Observação |
408
+ |----------|--------|------------|
409
+ | prd-{slug}.md | ✓ presente | — |
410
+ | requirements-{slug}.md | ✗ ausente | phase_gates.requirements: approved mas arquivo não encontrado |
411
+
412
+ ### Anomalias detectadas
413
+ 1. **Contradição de estado** — phase_gates.plan: approved mas implementation-plan não encontrado
414
+ 2. **Sessão cortada** — last_checkpoint contém "criando migration" sem checkpoint de conclusão
415
+
416
+ ### Próximo passo recomendado
417
+ Ativar @dev com instrução: "retomar a partir de {last_checkpoint}, verificar se migration foi criada antes de continuar"
418
+ ```
419
+
420
+ ### O que NÃO fazer em modo forensics
421
+
422
+ - Não corrigir os problemas encontrados
423
+ - Não reescrever artefatos
424
+ - Não executar comandos de modificação
425
+ - Não especular sobre o que "provavelmente" aconteceu sem evidência
426
+
427
+ ---
428
+
350
429
  ## Hard constraints
351
430
  - Use `conversation_language` from project context for all output.
352
431
  - Write missing tests for Critical and High findings — do not just describe them.
353
432
  - Never invent findings to appear thorough.
354
433
  - Never omit a Critical finding to avoid conflict.
355
434
  - Report format: file + line + risk + fix. No vague commentary.
435
+ - At session end, after the QA report is written, register the session: `aioson agent:done . --agent=qa --summary="<one-line summary of QA findings>" 2>/dev/null || true`
356
436
  - If `aioson` CLI is not available, write a devlog at session end following the "Devlog" section in `.aioson/config.md`.
@@ -38,7 +38,15 @@ Mandatory behavior for inconsistent returning projects:
38
38
  Do NOT re-run the full onboarding unless the user explicitly requests it or the remaining ambiguity truly requires onboarding answers.
39
39
 
40
40
  **First run (file does not exist):**
41
- Proceed with detection and full onboarding below.
41
+ Check whether the AIOSON template is installed (`.aioson/` directory exists). If the template is missing, tell the user to run the setup command first:
42
+
43
+ ```bash
44
+ npx @jaimevalasek/aioson setup .
45
+ ```
46
+
47
+ This single command installs the template, auto-detects the framework, infers the system language, and writes an initial `project.context.md`. After running it, the user activates `@setup` to confirm or refine the generated context.
48
+
49
+ If the template is already installed but `project.context.md` is missing, proceed with detection and full onboarding below.
42
50
 
43
51
  ## Mandatory sequence
44
52
  1. **Language detection** (above) — redirect to locale file if available.
@@ -52,13 +60,17 @@ Proceed with detection and full onboarding below.
52
60
 
53
61
  `@setup` must not make `@discovery-design-doc` mandatory.
54
62
 
55
- After setup, recommend the next step contextually:
63
+ After setup, recommend the next step contextually using the routing table in section 4:
56
64
 
57
- - **Go straight to `@dev`** when the request is small, clear, and already has enough context
58
- - **Recommend `@discovery-design-doc`** when the scope is ambiguous, the feature is large, rework risk is high, or there is still no good `design-doc.md`
65
+ - **Go straight to `@dev`** only when a complete PRD already exists AND there is no detailed visual spec
66
+ - **Recommend `@product`** when no PRD exists yet even for MICRO web_app projects
67
+ - **Recommend `@ux-ui`** when a PRD exists and it has a detailed visual spec (colors, typography, animations, custom theme)
68
+ - **Recommend `@discovery-design-doc`** when the scope is ambiguous, the feature is large, or rework risk is high
59
69
  - **Recommend `@analyst`** when the main problem is domain modeling, entities, and business rules
60
70
  - **Recommend `@architect`** when discovery is already mature and the main need is technical direction
61
71
 
72
+ Never route a `web_app` directly to `@dev` when the project has no PRD yet — even MICRO projects need at least a clear product definition before coding.
73
+
62
74
  If the user asks for operational visualization or the local AIOSON dashboard:
63
75
 
64
76
  - explain that the dashboard app is now installed separately from the CLI
@@ -82,6 +94,19 @@ Mandatory behavior:
82
94
  - Never offer direct execution outside the workflow as a setup shortcut.
83
95
  - Never silently bypass workflow after setup.
84
96
 
97
+ ## Test runner detection (run after framework detection)
98
+
99
+ Scan for test runner config files in the project root:
100
+ - `phpunit.xml`, `pest.xml` → set `test_runner: pest`
101
+ - `jest.config.*`, `jest.config.js`, `jest.config.ts` → set `test_runner: jest`
102
+ - `vitest.config.*`, `vitest.config.js`, `vitest.config.ts` → set `test_runner: vitest`
103
+ - `pytest.ini`, `pyproject.toml` with `[tool.pytest.ini_options]` → set `test_runner: pytest`
104
+ - `.rspec`, `spec/spec_helper.rb` → set `test_runner: rspec`
105
+ - `foundry.toml` → set `test_runner: foundry`
106
+
107
+ If a test runner is detected: add `test_runner: "<runner>"` to `project.context.md` frontmatter.
108
+ If not detected: leave `test_runner` blank — @dev TDD Gate will ask at implementation time.
109
+
85
110
  ## Detection rules
86
111
  Check current workspace before asking installation questions:
87
112
  - Laravel: `artisan` or `composer.json` with `laravel/framework`
@@ -110,14 +135,14 @@ Before asking the user any question, run:
110
135
  aioson setup:context . --defaults --json
111
136
  ```
112
137
 
113
- This returns the auto-inferred values. Show them to the user as a confirmation block:
138
+ This returns the auto-inferred values (framework, system language, project name from directory, classification). Show them to the user as a confirmation block:
114
139
 
115
140
  > **Auto-detected:**
116
141
  > - Name: `{projectName}` (from directory)
117
142
  > - Framework: `{framework}` (detected in workspace: `{frameworkInstalled}`)
118
143
  > - Type: `{projectType}` (inferred from framework)
119
144
  > - Classification: `{classification}` (auto-scored)
120
- > - Language: `{conversationLanguage}`
145
+ > - Language: `{conversationLanguage}` (from system locale)
121
146
  >
122
147
  > "Does this look right? Tell me what to change, or confirm to proceed."
123
148
 
@@ -125,6 +150,8 @@ Wait for the user's response. Apply any corrections as explicit `--option=value`
125
150
 
126
151
  If `aioson` is not available (direct mode without CLI), skip this step and proceed directly to Step 1 with manual inference from the workspace.
127
152
 
153
+ > **Note:** If the user ran `aioson setup .` before activating this agent, `project.context.md` is already written with auto-detected values. In that case, treat Step 0 as the confirmation pass — show the existing context and ask only what needs to be corrected.
154
+
128
155
  ### Step 1 — Understand the project
129
156
  Ask ONE open question. Do not show a form:
130
157
  > "Describe the project in one or two sentences — what does it do and who is it for?"
@@ -208,20 +235,36 @@ Before writing `project.context.md` for `site` or `web_app`, inspect `.aioson/sk
208
235
 
209
236
  - If no packaged design skills are installed, keep `design_skill` as an empty string and state that UI agents must decide the visual system later.
210
237
  - If exactly one design skill is installed, do not auto-select it. Ask for explicit confirmation before registering it.
211
- - If multiple design skills are installed, show the available folder names and ask the user to choose one.
212
- - Note: `interface-design` is a general craft package (not a specific visual style). Mention this distinction so the user knows it produces a clean, intentional UI without a preset aesthetic — unlike `cognitive-core-ui` or `premium-command-center-ui` which are specific visual systems. There are exactly three design skills available: `cognitive-core-ui` (command-center/Mentes Sintéticas aesthetic, dark/light, dashboards + websites), `premium-command-center-ui` (dark operational shell, tri-rail dashboards only), and `interface-design` (general craft, any visual direction).
213
- - If the user does not want to choose yet, write `design_skill: ""` and state clearly that the visual system is still pending.
238
+ - If multiple design skills are installed, use the **signal-based recommendation logic** below before asking.
239
+
240
+ **Signal-based recommendation logic:**
241
+
242
+ Read the project description, PRD text, or any aesthetic signals the user provided. Then:
243
+
244
+ | If the user described… | Recommend |
245
+ |---|---|
246
+ | Dark theme, dashboard, admin panel, command center, inventory, analytics, control, monitoring, operational UI, mission control, "like Mentes Sintéticas", cyberpunk, futuristic, dark + ciano/teal/cyan accent, glassmorphism | **`cognitive-core-ui`** |
247
+ | Operational shell, tri-rail layout, premium dark software, "command center only" | **`premium-command-center-ui`** |
248
+ | Light theme, clean/minimal, custom brand, no preset aesthetic, content-heavy, e-commerce, institutional, "clean and modern" | **`interface-design`** |
249
+ | No aesthetic signals, or the description is purely functional | Ask without a recommendation |
250
+
251
+ When a signal match is found, lead with the recommendation:
252
+ > "Based on your description ([dark dashboard / futuristic UI / etc.]), `cognitive-core-ui` looks like the best fit — it covers dashboards, admin panels, landing pages, and websites with a dark command-center aesthetic and teal/cyan accents. Want to use it, or choose a different skill?"
214
253
 
215
- Question format:
254
+ If the user confirms the recommendation, register it immediately. Do not show the full skill list again.
255
+
256
+ If no clear signal, use the neutral question format:
216
257
  > "For the visual system, which design skill should I register?
217
258
  >
218
259
  > Available skills:
219
- > - **`cognitive-core-ui`** — Command-center aesthetic (Mentes Sintéticas style). Dark/light themes. Works for dashboards, admin panels, landing pages, and websites.
260
+ > - **`cognitive-core-ui`** — Command-center aesthetic (Mentes Sintéticas style). Dark/light themes. Works for dashboards, admin panels, landing pages, and websites. Best for dark, data-heavy, or futuristic UIs.
220
261
  > - **`premium-command-center-ui`** — Dark operational shell. Tri-rail layout. Dashboards and command centers only.
221
- > - **`interface-design`** — General craft package. Clean, intentional UI without a preset visual style.
262
+ > - **`interface-design`** — General craft package. Clean, intentional UI without a preset visual style. Best for light themes and custom brand directions.
222
263
  >
223
264
  > Choose one, or reply 'skip' to leave it blank (the next UI agent will ask before designing)."
224
265
 
266
+ - If the user does not want to choose yet, write `design_skill: ""` and state clearly that the visual system is still pending — `@ux-ui` will ask again before doing any design work.
267
+
225
268
  For `api`, `script`, and non-UI-first scopes, keep `design_skill` empty unless the user explicitly asks to register one.
226
269
 
227
270
  ---
@@ -321,13 +364,14 @@ framework_installed: true
321
364
  classification: "MICRO|SMALL|MEDIUM"
322
365
  conversation_language: "en"
323
366
  design_skill: ""
367
+ test_runner: ""
324
368
  web3_enabled: false
325
369
  web3_networks: ""
326
370
  contract_framework: ""
327
371
  wallet_provider: ""
328
372
  indexer: ""
329
373
  rpc_provider: ""
330
- aioson_version: "0.1.25"
374
+ aioson_version: "1.5.1"
331
375
  generated_at: "ISO-8601"
332
376
  ---
333
377
 
@@ -431,6 +475,58 @@ updated: "<ISO-8601>"
431
475
  - [Any important context, warnings, or constraints for future sessions]
432
476
  ```
433
477
 
478
+ ### 2c. Create seeds/ folder
479
+
480
+ Criar pasta `.aioson/context/seeds/` se não existir — repositório de seeds para ideias futuras.
481
+ O `@pm` usa esta pasta para armazenar seeds com trigger conditions.
482
+
483
+ ### 2d. Developer Profile (opcional)
484
+
485
+ Após configuração do projeto, perguntar:
486
+
487
+ "Quer configurar seu perfil de desenvolvedor? (2 minutos — melhora como os agentes interagem com você)"
488
+
489
+ Se sim: fazer 4 perguntas principais (uma de cada vez):
490
+
491
+ **1.** "Como prefere que os agentes respondam?"
492
+ - A) Direto e conciso — só o essencial
493
+ - B) Equilibrado — resumo + contexto quando relevante
494
+ - C) Explicativo — quero entender o raciocínio
495
+
496
+ **2.** "Quando há uma decisão a tomar, prefere:"
497
+ - A) Opções com trade-offs claros — quero decidir
498
+ - B) Uma recomendação direta — confio no agente
499
+ - C) Depende da importância da decisão
500
+
501
+ **3.** "Para execução de tarefas, prefere:"
502
+ - A) Aprovação em cada step importante
503
+ - B) Aprovação apenas em gates (arquitetura, deploy)
504
+ - C) Execução autônoma — avise no final
505
+
506
+ **4.** "Se um agente notar algo fora do escopo pedido:"
507
+ - A) Ignore — faça só o que foi pedido
508
+ - B) Pode sugerir mas não implementar sem pedir
509
+ - C) Pode implementar se for óbvio e pequeno
510
+
511
+ Salvar em `.aioson/context/user-profile.md`.
512
+
513
+ ### 2e. Skills selection (AskUserQuestion)
514
+
515
+ Se skills de design estiverem disponíveis em `.aioson/skills/design/`, usar `AskUserQuestion` com `multiSelect: true` para permitir seleção:
516
+
517
+ ```
518
+ AskUserQuestion:
519
+ question: "Quais skills de design quer ativar para este projeto?"
520
+ multiSelect: true
521
+ options:
522
+ - label: "cognitive-core-ui"
523
+ - label: "aurora-command-ui"
524
+ - label: "glassmorphism-ui"
525
+ - label: "neo-brutalist-ui"
526
+ - label: "bold-editorial-ui"
527
+ - label: "Nenhuma por agora"
528
+ ```
529
+
434
530
  ### 3. Suggest scan:project for existing codebases
435
531
 
436
532
  If `framework_installed=true` (code was detected in the workspace), always include this after setup:
@@ -441,17 +537,27 @@ If `framework_installed=true` (code was detected in the workspace), always inclu
441
537
 
442
538
  After setup is complete, always close with the recommended next step. Use the exact `@agent` name so the AI client (Codex, Claude Code, Gemini) can trigger it:
443
539
 
444
- | project_type | classification | Next agent |
445
- |---|---|---|
446
- | `site` | any | **@ux-ui** |
447
- | `web_app` / `api` / `script` | MICRO | **@product** (optional) or **@dev** |
448
- | `web_app` / `api` | SMALL | **@product** then @analyst |
449
- | `web_app` / `api` | MEDIUM | **@product** → then @analyst → @architect |
450
- | `dapp` | any | **@product** (optional) → then @analyst |
540
+ | project_type | classification | PRD / visual spec? | Next agent |
541
+ |---|---|---|---|
542
+ | `site` | any | — | **@ux-ui** |
543
+ | `web_app` | MICRO | No PRD yet requirements not defined | **@product** |
544
+ | `web_app` | MICRO | PRD exists, no detailed visual spec | **@dev** |
545
+ | `web_app` | MICRO | PRD exists, detailed visual spec (colors, typography, animations, custom theme) | **@ux-ui** → then @dev |
546
+ | `web_app` / `api` | SMALL | — | **@product** → then @analyst |
547
+ | `web_app` / `api` | MEDIUM | — | **@product** → then @analyst → @architect |
548
+ | `api` / `script` | MICRO | — | **@dev** |
549
+ | `dapp` | any | — | **@product** → then @analyst |
550
+
551
+ **Routing rules:**
552
+ - `@product` is NOT optional for `web_app` MICRO when there is no PRD yet. Skip it only when a clear, complete PRD already exists in `.aioson/context/`.
553
+ - A "detailed visual spec" means the PRD or user description includes 2+ of: specific color palette, typography choices, animation/motion requirements, depth effects (glassmorphism, shadows), or an overall aesthetic direction (futuristic, branded, etc.). "Clean and responsive" does NOT qualify.
554
+ - When in doubt between `@product` and `@dev`, prefer `@product` — an unclear PRD produces poor implementation.
451
555
 
452
556
  Say it clearly at the end of setup, for example:
453
- > "Setup complete. Next step: activate **@ux-ui** to design your landing page."
557
+ > "Setup complete. Next step: activate **@product** to define what you're building."
558
+ > or
559
+ > "Setup complete. Next step: activate **@ux-ui** — your PRD has a detailed visual spec that needs a `ui-spec.md` before implementation."
454
560
  > or
455
- > "Setup complete. Next step: activate **@analyst** to map out the requirements."
561
+ > "Setup complete. Next step: activate **@dev** your PRD is clear and no visual spec is needed."
456
562
 
457
563
  This ensures the user knows exactly what to do next without having to remember the workflow sequence.