mdan-method 2.6.3

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 (612) hide show
  1. package/.mdan/config/config.yaml +36 -0
  2. package/.mdan/state/MDAN-STATE.template.json +39 -0
  3. package/AGENTS.md +308 -0
  4. package/AGENTS_LIST.md +946 -0
  5. package/ARCHITECTURE.md +590 -0
  6. package/CHANGELOG.md +1770 -0
  7. package/CONTRIBUTING.md +512 -0
  8. package/INSTALL.md +246 -0
  9. package/LICENSE +30 -0
  10. package/MDAN.fr.md +259 -0
  11. package/README.md +233 -0
  12. package/SECURITY.md +85 -0
  13. package/USAGE.md +368 -0
  14. package/app/__init__.py +5 -0
  15. package/app/cis/agents/__init__.py +31 -0
  16. package/app/cis/agents/brainstorming-coach/__init__.py +3 -0
  17. package/app/cis/agents/brainstorming-coach/agent.py +162 -0
  18. package/app/cis/agents/brainstorming-coach/prompt.yaml +53 -0
  19. package/app/cis/agents/creative-problem-solver/__init__.py +3 -0
  20. package/app/cis/agents/creative-problem-solver/agent.py +233 -0
  21. package/app/cis/agents/creative-problem-solver/prompt.yaml +74 -0
  22. package/app/cis/agents/design-thinking-coach/__init__.py +3 -0
  23. package/app/cis/agents/design-thinking-coach/agent.py +241 -0
  24. package/app/cis/agents/design-thinking-coach/prompt.yaml +77 -0
  25. package/app/cis/agents/innovation-strategist/__init__.py +3 -0
  26. package/app/cis/agents/innovation-strategist/agent.py +271 -0
  27. package/app/cis/agents/innovation-strategist/prompt.yaml +70 -0
  28. package/app/cis/agents/presentation-master/__init__.py +3 -0
  29. package/app/cis/agents/presentation-master/agent.py +420 -0
  30. package/app/cis/agents/presentation-master/prompt.yaml +62 -0
  31. package/app/cis/agents/storyteller/__init__.py +3 -0
  32. package/app/cis/agents/storyteller/agent.py +303 -0
  33. package/app/cis/agents/storyteller/prompt.yaml +99 -0
  34. package/app/core/__init__.py +5 -0
  35. package/app/core/agents/__init__.py +5 -0
  36. package/app/core/agents/mdan-master/__init__.py +7 -0
  37. package/app/core/agents/mdan-master/agent.py +302 -0
  38. package/app/core/agents/mdan-master/prompt.yaml +105 -0
  39. package/app/mmb/agents/__init__.py +24 -0
  40. package/app/mmb/agents/agent-builder/__init__.py +5 -0
  41. package/app/mmb/agents/agent-builder/agent.py +261 -0
  42. package/app/mmb/agents/agent-builder/prompt.yaml +48 -0
  43. package/app/mmb/agents/module-builder/__init__.py +5 -0
  44. package/app/mmb/agents/module-builder/agent.py +299 -0
  45. package/app/mmb/agents/module-builder/prompt.yaml +50 -0
  46. package/app/mmb/agents/workflow-builder/__init__.py +5 -0
  47. package/app/mmb/agents/workflow-builder/agent.py +318 -0
  48. package/app/mmb/agents/workflow-builder/prompt.yaml +52 -0
  49. package/app/mmm/agents/__init__.py +48 -0
  50. package/app/mmm/agents/analyst/__init__.py +7 -0
  51. package/app/mmm/agents/analyst/agent.py +384 -0
  52. package/app/mmm/agents/analyst/prompt.yaml +62 -0
  53. package/app/mmm/agents/architect/__init__.py +7 -0
  54. package/app/mmm/agents/architect/agent.py +300 -0
  55. package/app/mmm/agents/architect/prompt.yaml +66 -0
  56. package/app/mmm/agents/dev/__init__.py +7 -0
  57. package/app/mmm/agents/dev/agent.py +285 -0
  58. package/app/mmm/agents/dev/prompt.yaml +62 -0
  59. package/app/mmm/agents/pm/__init__.py +7 -0
  60. package/app/mmm/agents/pm/agent.py +417 -0
  61. package/app/mmm/agents/pm/prompt.yaml +64 -0
  62. package/app/mmm/agents/qa/__init__.py +7 -0
  63. package/app/mmm/agents/qa/agent.py +267 -0
  64. package/app/mmm/agents/qa/prompt.yaml +67 -0
  65. package/app/mmm/agents/quick-flow-solo-dev/__init__.py +7 -0
  66. package/app/mmm/agents/quick-flow-solo-dev/agent.py +319 -0
  67. package/app/mmm/agents/quick-flow-solo-dev/prompt.yaml +60 -0
  68. package/app/mmm/agents/sm/__init__.py +7 -0
  69. package/app/mmm/agents/sm/agent.py +357 -0
  70. package/app/mmm/agents/sm/prompt.yaml +61 -0
  71. package/app/mmm/agents/tech-writer/__init__.py +7 -0
  72. package/app/mmm/agents/tech-writer/agent.py +420 -0
  73. package/app/mmm/agents/tech-writer/prompt.yaml +70 -0
  74. package/app/mmm/agents/ux-designer/__init__.py +14 -0
  75. package/app/mmm/agents/ux-designer/agent.py +412 -0
  76. package/app/mmm/agents/ux-designer/prompt.yaml +37 -0
  77. package/app/packs/__init__.py +32 -0
  78. package/app/packs/db-optimization/__init__.py +13 -0
  79. package/app/packs/db-optimization/agents/__init__.py +11 -0
  80. package/app/packs/db-optimization/agents/db-performance-analyst/__init__.py +5 -0
  81. package/app/packs/db-optimization/agents/db-performance-analyst/agent.py +559 -0
  82. package/app/packs/db-optimization/agents/db-performance-analyst/prompt.yaml +63 -0
  83. package/app/packs/db-optimization/agents/indexing-specialist/__init__.py +5 -0
  84. package/app/packs/db-optimization/agents/indexing-specialist/agent.py +713 -0
  85. package/app/packs/db-optimization/agents/indexing-specialist/prompt.yaml +92 -0
  86. package/app/packs/db-optimization/agents/query-optimizer/__init__.py +5 -0
  87. package/app/packs/db-optimization/agents/query-optimizer/agent.py +566 -0
  88. package/app/packs/db-optimization/agents/query-optimizer/prompt.yaml +74 -0
  89. package/app/packs/devops-azure/__init__.py +13 -0
  90. package/app/packs/devops-azure/agents/__init__.py +11 -0
  91. package/app/packs/devops-azure/agents/azure-specialist/__init__.py +5 -0
  92. package/app/packs/devops-azure/agents/azure-specialist/agent.py +584 -0
  93. package/app/packs/devops-azure/agents/azure-specialist/prompt.yaml +301 -0
  94. package/app/packs/devops-azure/agents/cicd-architect/__init__.py +5 -0
  95. package/app/packs/devops-azure/agents/cicd-architect/agent.py +665 -0
  96. package/app/packs/devops-azure/agents/cicd-architect/prompt.yaml +409 -0
  97. package/app/packs/devops-azure/agents/devops-engineer/__init__.py +5 -0
  98. package/app/packs/devops-azure/agents/devops-engineer/agent.py +545 -0
  99. package/app/packs/devops-azure/agents/devops-engineer/prompt.yaml +263 -0
  100. package/app/packs/fintech/__init__.py +13 -0
  101. package/app/packs/fintech/agents/__init__.py +11 -0
  102. package/app/packs/fintech/agents/compliance-officer/__init__.py +5 -0
  103. package/app/packs/fintech/agents/compliance-officer/agent.py +449 -0
  104. package/app/packs/fintech/agents/compliance-officer/prompt.yaml +135 -0
  105. package/app/packs/fintech/agents/financial-analyst/__init__.py +5 -0
  106. package/app/packs/fintech/agents/financial-analyst/agent.py +392 -0
  107. package/app/packs/fintech/agents/financial-analyst/prompt.yaml +143 -0
  108. package/app/packs/fintech/agents/risk-manager/__init__.py +5 -0
  109. package/app/packs/fintech/agents/risk-manager/agent.py +664 -0
  110. package/app/packs/fintech/agents/risk-manager/prompt.yaml +240 -0
  111. package/app/tea/agents/tea/__init__.py +9 -0
  112. package/app/tea/agents/tea/agent.py +689 -0
  113. package/app/tea/agents/tea/prompt.yaml +100 -0
  114. package/cli/v1/mdan.py +421 -0
  115. package/cli/v1/mdan.sh +724 -0
  116. package/cli/v1/mdan_crewai.py +539 -0
  117. package/docs/404.md +9 -0
  118. package/docs/_STYLE_GUIDE.md +370 -0
  119. package/docs/explanation/advanced-elicitation.md +49 -0
  120. package/docs/explanation/adversarial-review.md +59 -0
  121. package/docs/explanation/brainstorming.md +33 -0
  122. package/docs/explanation/established-projects-faq.md +50 -0
  123. package/docs/explanation/party-mode.md +59 -0
  124. package/docs/explanation/preventing-agent-conflicts.md +112 -0
  125. package/docs/explanation/project-context.md +157 -0
  126. package/docs/explanation/quick-flow.md +73 -0
  127. package/docs/explanation/why-solutioning-matters.md +77 -0
  128. package/docs/how-to/customize-mdan.md +172 -0
  129. package/docs/how-to/established-projects.md +117 -0
  130. package/docs/how-to/get-answers-about-mdan.md +134 -0
  131. package/docs/how-to/install-mdan.md +97 -0
  132. package/docs/how-to/non-interactive-installation.md +171 -0
  133. package/docs/how-to/project-context.md +136 -0
  134. package/docs/how-to/quick-fixes.md +123 -0
  135. package/docs/how-to/shard-large-documents.md +78 -0
  136. package/docs/how-to/upgrade-to-v6.md +97 -0
  137. package/docs/index.md +59 -0
  138. package/docs/reference/agents.md +28 -0
  139. package/docs/reference/commands.md +151 -0
  140. package/docs/reference/modules.md +76 -0
  141. package/docs/reference/testing.md +106 -0
  142. package/docs/reference/workflow-map.md +89 -0
  143. package/docs/roadmap.mdx +136 -0
  144. package/docs/tutorials/getting-started.md +286 -0
  145. package/examples/crewai/crewai_auto_mode.py +62 -0
  146. package/examples/crewai/crewai_custom_crew.py +85 -0
  147. package/examples/crewai/crewai_debate.py +57 -0
  148. package/examples/crewai/crewai_with_serper.py +82 -0
  149. package/examples/crewai/crewai_with_sql.py +117 -0
  150. package/integrations/__init__.py +33 -0
  151. package/integrations/crewai/__init__.py +27 -0
  152. package/integrations/crewai/agents/__init__.py +21 -0
  153. package/integrations/crewai/agents/architect_agent.py +264 -0
  154. package/integrations/crewai/agents/dev_agent.py +271 -0
  155. package/integrations/crewai/agents/devops_agent.py +421 -0
  156. package/integrations/crewai/agents/doc_agent.py +388 -0
  157. package/integrations/crewai/agents/product_agent.py +203 -0
  158. package/integrations/crewai/agents/security_agent.py +386 -0
  159. package/integrations/crewai/agents/test_agent.py +358 -0
  160. package/integrations/crewai/agents/ux_agent.py +257 -0
  161. package/integrations/crewai/flows/__init__.py +13 -0
  162. package/integrations/crewai/flows/auto_flow.py +451 -0
  163. package/integrations/crewai/flows/build_flow.py +297 -0
  164. package/integrations/crewai/flows/debate_flow.py +422 -0
  165. package/integrations/crewai/flows/discovery_flow.py +267 -0
  166. package/integrations/crewai/orchestrator.py +558 -0
  167. package/integrations/crewai/skills/__init__.py +8 -0
  168. package/integrations/crewai/skills/skill_router.py +534 -0
  169. package/integrations/crewai/tools/__init__.py +11 -0
  170. package/integrations/crewai/tools/file_tool.py +355 -0
  171. package/integrations/crewai/tools/serper_tool.py +169 -0
  172. package/integrations/crewai/tools/sql_tool.py +435 -0
  173. package/integrations/docs/all-integrations.md +300 -0
  174. package/integrations/docs/cursor.md +74 -0
  175. package/integrations/docs/mcp.md +153 -0
  176. package/integrations/docs/windsurf.md +48 -0
  177. package/package.json +119 -0
  178. package/prompts/cis/brainstorming-coach.yaml +53 -0
  179. package/prompts/cis/creative-problem-solver.yaml +74 -0
  180. package/prompts/cis/design-thinking-coach.yaml +77 -0
  181. package/prompts/cis/innovation-strategist.yaml +70 -0
  182. package/prompts/cis/presentation-master.yaml +62 -0
  183. package/prompts/cis/storyteller.yaml +99 -0
  184. package/prompts/core/mdan-master.yaml +105 -0
  185. package/prompts/mmb/agent-builder.yaml +48 -0
  186. package/prompts/mmb/module-builder.yaml +50 -0
  187. package/prompts/mmb/workflow-builder.yaml +52 -0
  188. package/prompts/mmm/analyst.yaml +62 -0
  189. package/prompts/mmm/architect.yaml +66 -0
  190. package/prompts/mmm/dev.yaml +62 -0
  191. package/prompts/mmm/pm.yaml +64 -0
  192. package/prompts/mmm/qa.yaml +67 -0
  193. package/prompts/mmm/quick-flow-solo-dev.yaml +60 -0
  194. package/prompts/mmm/sm.yaml +61 -0
  195. package/prompts/mmm/tech-writer.yaml +70 -0
  196. package/prompts/mmm/ux-designer.yaml +33 -0
  197. package/prompts/packs/db-optimization/db-performance-analyst.yaml +63 -0
  198. package/prompts/packs/db-optimization/indexing-specialist.yaml +92 -0
  199. package/prompts/packs/db-optimization/query-optimizer.yaml +74 -0
  200. package/prompts/packs/devops-azure/azure-specialist.yaml +301 -0
  201. package/prompts/packs/devops-azure/cicd-architect.yaml +409 -0
  202. package/prompts/packs/devops-azure/devops-engineer.yaml +263 -0
  203. package/prompts/packs/fintech/compliance-officer.yaml +135 -0
  204. package/prompts/packs/fintech/financial-analyst.yaml +143 -0
  205. package/prompts/packs/fintech/risk-manager.yaml +240 -0
  206. package/prompts/tea/tea.yaml +100 -0
  207. package/requirements.txt +5 -0
  208. package/requirements_crewai.txt +37 -0
  209. package/src/agents/module-help.csv +31 -0
  210. package/src/agents/module.yaml +50 -0
  211. package/src/agents/team/analyst.agent.yaml +43 -0
  212. package/src/agents/team/architect.agent.yaml +29 -0
  213. package/src/agents/team/dev.agent.yaml +38 -0
  214. package/src/agents/team/pm.agent.yaml +44 -0
  215. package/src/agents/team/qa.agent.yaml +58 -0
  216. package/src/agents/team/quick-flow-solo-dev.agent.yaml +32 -0
  217. package/src/agents/team/sm.agent.yaml +37 -0
  218. package/src/agents/team/tech-writer/tech-writer-sidecar/documentation-standards.md +224 -0
  219. package/src/agents/team/tech-writer/tech-writer.agent.yaml +46 -0
  220. package/src/agents/team/ux-designer.agent.yaml +27 -0
  221. package/src/agents/teams/default-party.csv +20 -0
  222. package/src/agents/teams/team-fullstack.yaml +12 -0
  223. package/src/core/WIZARD-ENGINE.md +94 -0
  224. package/src/core/agents/mdan-master.agent.yaml +133 -0
  225. package/src/core/tasks/editorial-review-prose.xml +102 -0
  226. package/src/core/tasks/editorial-review-structure.xml +208 -0
  227. package/src/core/tasks/help.md +86 -0
  228. package/src/core/tasks/index-docs.xml +65 -0
  229. package/src/core/tasks/review-adversarial-general.xml +49 -0
  230. package/src/core/tasks/shard-doc.xml +108 -0
  231. package/src/core/tasks/workflow.xml +235 -0
  232. package/src/memory/MEMORY-AUTO.json +66 -0
  233. package/src/memory/MEMORY-SYSTEM.md +61 -0
  234. package/src/memory/v1-memory-system.md +197 -0
  235. package/src/memory/v1-resume-protocol.md +379 -0
  236. package/src/packs/db-optimization/agents/prompt.yaml +63 -0
  237. package/src/packs/devops-azure/agents/prompt.yaml +301 -0
  238. package/src/packs/fintech/agents/prompt.yaml +135 -0
  239. package/src/phases/auto/auto-01-load.md +165 -0
  240. package/src/phases/auto/auto-02-discover.md +207 -0
  241. package/src/phases/auto/auto-03-plan.md +509 -0
  242. package/src/phases/auto/auto-04-architect.md +567 -0
  243. package/src/phases/auto/auto-05-implement.md +713 -0
  244. package/src/phases/auto/auto-06-test.md +559 -0
  245. package/src/phases/auto/auto-07-deploy.md +510 -0
  246. package/src/phases/auto/auto-08-doc.md +970 -0
  247. package/src/phases/manual/01-discover.md +136 -0
  248. package/src/phases/manual/02-design.md +147 -0
  249. package/src/phases/manual/03-build.md +113 -0
  250. package/src/phases/manual/04-verify.md +107 -0
  251. package/src/phases/manual/05-ship.md +156 -0
  252. package/src/protocols/debate-protocol.md +58 -0
  253. package/src/protocols/universal-envelope.md +42 -0
  254. package/src/protocols/v1-debate-protocol.md +454 -0
  255. package/src/protocols/v1-universal-envelope.md +273 -0
  256. package/src/utility/agent-components/activation-rules.txt +6 -0
  257. package/src/utility/agent-components/activation-steps.txt +14 -0
  258. package/src/utility/agent-components/agent-command-header.md +1 -0
  259. package/src/utility/agent-components/agent.customize.template.yaml +41 -0
  260. package/src/utility/agent-components/handler-action.txt +4 -0
  261. package/src/utility/agent-components/handler-data.txt +5 -0
  262. package/src/utility/agent-components/handler-exec.txt +6 -0
  263. package/src/utility/agent-components/handler-multi.txt +14 -0
  264. package/src/utility/agent-components/handler-tmpl.txt +5 -0
  265. package/src/utility/agent-components/handler-validate-workflow.txt +7 -0
  266. package/src/utility/agent-components/handler-workflow.txt +10 -0
  267. package/src/utility/agent-components/menu-handlers.txt +6 -0
  268. package/src/wizards/01-discover/create-product-brief/steps/step-01-init.md +7 -0
  269. package/src/wizards/01-discover/create-product-brief/steps/step-02-vision.md +7 -0
  270. package/src/wizards/01-discover/create-product-brief/steps/step-03-users.md +7 -0
  271. package/src/wizards/01-discover/create-product-brief/steps/step-04-scope.md +7 -0
  272. package/src/wizards/01-discover/create-product-brief/steps/step-05-metrics.md +7 -0
  273. package/src/wizards/01-discover/create-product-brief/steps/step-06-complete.md +7 -0
  274. package/src/wizards/01-discover/create-product-brief/templates/product-brief.template.md +14 -0
  275. package/src/wizards/01-discover/create-product-brief/wizard.md +105 -0
  276. package/src/wizards/01-discover/research/domain-steps/step-01-init.md +137 -0
  277. package/src/wizards/01-discover/research/domain-steps/step-02-domain-analysis.md +229 -0
  278. package/src/wizards/01-discover/research/domain-steps/step-03-competitive-landscape.md +238 -0
  279. package/src/wizards/01-discover/research/domain-steps/step-04-regulatory-focus.md +206 -0
  280. package/src/wizards/01-discover/research/domain-steps/step-05-technical-trends.md +234 -0
  281. package/src/wizards/01-discover/research/domain-steps/step-06-research-synthesis.md +444 -0
  282. package/src/wizards/01-discover/research/market-steps/step-01-init.md +182 -0
  283. package/src/wizards/01-discover/research/market-steps/step-02-customer-behavior.md +237 -0
  284. package/src/wizards/01-discover/research/market-steps/step-03-customer-pain-points.md +249 -0
  285. package/src/wizards/01-discover/research/market-steps/step-04-customer-decisions.md +259 -0
  286. package/src/wizards/01-discover/research/market-steps/step-05-competitive-analysis.md +177 -0
  287. package/src/wizards/01-discover/research/market-steps/step-06-research-completion.md +476 -0
  288. package/src/wizards/01-discover/research/technical-steps/step-01-init.md +137 -0
  289. package/src/wizards/01-discover/research/technical-steps/step-02-technical-overview.md +239 -0
  290. package/src/wizards/01-discover/research/technical-steps/step-03-integration-patterns.md +248 -0
  291. package/src/wizards/01-discover/research/technical-steps/step-04-architectural-patterns.md +202 -0
  292. package/src/wizards/01-discover/research/technical-steps/step-05-implementation-research.md +233 -0
  293. package/src/wizards/01-discover/research/technical-steps/step-06-research-synthesis.md +487 -0
  294. package/src/wizards/01-discover/research/templates/research.template.md +29 -0
  295. package/src/wizards/01-discover/research/workflow-domain-research.md +54 -0
  296. package/src/wizards/01-discover/research/workflow-market-research.md +54 -0
  297. package/src/wizards/01-discover/research/workflow-technical-research.md +54 -0
  298. package/src/wizards/02-plan/create-prd/data/domain-complexity.csv +15 -0
  299. package/src/wizards/02-plan/create-prd/data/prd-purpose.md +197 -0
  300. package/src/wizards/02-plan/create-prd/data/project-types.csv +11 -0
  301. package/src/wizards/02-plan/create-prd/steps/step-01-init.md +191 -0
  302. package/src/wizards/02-plan/create-prd/steps/step-01b-continue.md +152 -0
  303. package/src/wizards/02-plan/create-prd/steps/step-02-discovery.md +224 -0
  304. package/src/wizards/02-plan/create-prd/steps/step-02b-vision.md +154 -0
  305. package/src/wizards/02-plan/create-prd/steps/step-02c-executive-summary.md +170 -0
  306. package/src/wizards/02-plan/create-prd/steps/step-03-success.md +226 -0
  307. package/src/wizards/02-plan/create-prd/steps/step-04-journeys.md +213 -0
  308. package/src/wizards/02-plan/create-prd/steps/step-05-domain.md +207 -0
  309. package/src/wizards/02-plan/create-prd/steps/step-06-innovation.md +226 -0
  310. package/src/wizards/02-plan/create-prd/steps/step-07-project-type.md +237 -0
  311. package/src/wizards/02-plan/create-prd/steps/step-08-scoping.md +228 -0
  312. package/src/wizards/02-plan/create-prd/steps/step-09-functional.md +231 -0
  313. package/src/wizards/02-plan/create-prd/steps/step-10-nonfunctional.md +242 -0
  314. package/src/wizards/02-plan/create-prd/steps/step-11-polish.md +217 -0
  315. package/src/wizards/02-plan/create-prd/steps/step-12-complete.md +124 -0
  316. package/src/wizards/02-plan/create-prd/templates/prd-template.md +10 -0
  317. package/src/wizards/02-plan/create-prd/wizard.md +63 -0
  318. package/src/wizards/02-plan/create-ux-design/steps/step-01-init.md +135 -0
  319. package/src/wizards/02-plan/create-ux-design/steps/step-01b-continue.md +127 -0
  320. package/src/wizards/02-plan/create-ux-design/steps/step-02-discovery.md +190 -0
  321. package/src/wizards/02-plan/create-ux-design/steps/step-03-core-experience.md +216 -0
  322. package/src/wizards/02-plan/create-ux-design/steps/step-04-emotional-response.md +219 -0
  323. package/src/wizards/02-plan/create-ux-design/steps/step-05-inspiration.md +234 -0
  324. package/src/wizards/02-plan/create-ux-design/steps/step-06-design-system.md +252 -0
  325. package/src/wizards/02-plan/create-ux-design/steps/step-07-defining-experience.md +254 -0
  326. package/src/wizards/02-plan/create-ux-design/steps/step-08-visual-foundation.md +224 -0
  327. package/src/wizards/02-plan/create-ux-design/steps/step-09-design-directions.md +224 -0
  328. package/src/wizards/02-plan/create-ux-design/steps/step-10-user-journeys.md +241 -0
  329. package/src/wizards/02-plan/create-ux-design/steps/step-11-component-strategy.md +248 -0
  330. package/src/wizards/02-plan/create-ux-design/steps/step-12-ux-patterns.md +237 -0
  331. package/src/wizards/02-plan/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
  332. package/src/wizards/02-plan/create-ux-design/steps/step-14-complete.md +171 -0
  333. package/src/wizards/02-plan/create-ux-design/templates/ux-design-template.md +13 -0
  334. package/src/wizards/02-plan/create-ux-design/wizard.md +42 -0
  335. package/src/wizards/03-architect/create-architecture/data/domain-complexity.csv +13 -0
  336. package/src/wizards/03-architect/create-architecture/data/project-types.csv +7 -0
  337. package/src/wizards/03-architect/create-architecture/steps/step-01-init.md +153 -0
  338. package/src/wizards/03-architect/create-architecture/steps/step-01b-continue.md +173 -0
  339. package/src/wizards/03-architect/create-architecture/steps/step-02-context.md +224 -0
  340. package/src/wizards/03-architect/create-architecture/steps/step-03-starter.md +329 -0
  341. package/src/wizards/03-architect/create-architecture/steps/step-04-decisions.md +318 -0
  342. package/src/wizards/03-architect/create-architecture/steps/step-05-patterns.md +359 -0
  343. package/src/wizards/03-architect/create-architecture/steps/step-06-structure.md +379 -0
  344. package/src/wizards/03-architect/create-architecture/steps/step-07-validation.md +359 -0
  345. package/src/wizards/03-architect/create-architecture/steps/step-08-complete.md +76 -0
  346. package/src/wizards/03-architect/create-architecture/templates/architecture-decision-template.md +12 -0
  347. package/src/wizards/03-architect/create-architecture/wizard.md +49 -0
  348. package/src/wizards/03-architect/create-epics/steps/step-01-validate-prerequisites.md +259 -0
  349. package/src/wizards/03-architect/create-epics/steps/step-02-design-epics.md +233 -0
  350. package/src/wizards/03-architect/create-epics/steps/step-03-create-stories.md +272 -0
  351. package/src/wizards/03-architect/create-epics/steps/step-04-final-validation.md +149 -0
  352. package/src/wizards/03-architect/create-epics/templates/epics-template.md +57 -0
  353. package/src/wizards/03-architect/create-epics/wizard.md +58 -0
  354. package/src/wizards/04-build/code-review/checklist.md +23 -0
  355. package/src/wizards/04-build/code-review/instructions.xml +227 -0
  356. package/src/wizards/04-build/code-review/workflow.yaml +43 -0
  357. package/src/wizards/04-build/dev-story/checklist.md +80 -0
  358. package/src/wizards/04-build/dev-story/instructions.xml +410 -0
  359. package/src/wizards/04-build/dev-story/workflow.yaml +20 -0
  360. package/src/wizards/04-build/sprint-planning/checklist.md +33 -0
  361. package/src/wizards/04-build/sprint-planning/instructions.md +226 -0
  362. package/src/wizards/04-build/sprint-planning/sprint-status-template.yaml +55 -0
  363. package/src/wizards/04-build/sprint-planning/workflow.yaml +47 -0
  364. package/src/wizards/05-ship/document-project/templates/deep-dive-template.md +345 -0
  365. package/src/wizards/05-ship/document-project/templates/index-template.md +169 -0
  366. package/src/wizards/05-ship/document-project/templates/project-overview-template.md +103 -0
  367. package/src/wizards/05-ship/document-project/templates/project-scan-report-schema.json +160 -0
  368. package/src/wizards/05-ship/document-project/templates/source-tree-template.md +135 -0
  369. package/src/wizards/05-ship/document-project/wizard.md +130 -0
  370. package/src/wizards/quick/quick-dev/steps/step-01-mode-detection.md +174 -0
  371. package/src/wizards/quick/quick-dev/steps/step-02-context-gathering.md +118 -0
  372. package/src/wizards/quick/quick-dev/steps/step-03-execute.md +111 -0
  373. package/src/wizards/quick/quick-dev/steps/step-04-self-check.md +111 -0
  374. package/src/wizards/quick/quick-dev/steps/step-05-adversarial-review.md +104 -0
  375. package/src/wizards/quick/quick-dev/steps/step-06-resolve-findings.md +146 -0
  376. package/src/wizards/quick/quick-dev/wizard.md +50 -0
  377. package/src/wizards/quick/quick-spec/steps/step-01-understand.md +189 -0
  378. package/src/wizards/quick/quick-spec/steps/step-02-investigate.md +143 -0
  379. package/src/wizards/quick/quick-spec/steps/step-03-generate.md +126 -0
  380. package/src/wizards/quick/quick-spec/steps/step-04-review.md +200 -0
  381. package/src/wizards/quick/quick-spec/templates/tech-spec-template.md +74 -0
  382. package/src/wizards/quick/quick-spec/wizard.md +79 -0
  383. package/src/wizards/special/brainstorming/methods/brain-methods.csv +62 -0
  384. package/src/wizards/special/brainstorming/steps/step-01-session-setup.md +197 -0
  385. package/src/wizards/special/brainstorming/steps/step-01b-continue.md +122 -0
  386. package/src/wizards/special/brainstorming/steps/step-02a-user-selected.md +225 -0
  387. package/src/wizards/special/brainstorming/steps/step-02b-ai-recommended.md +237 -0
  388. package/src/wizards/special/brainstorming/steps/step-02c-random-selection.md +209 -0
  389. package/src/wizards/special/brainstorming/steps/step-02d-progressive-flow.md +264 -0
  390. package/src/wizards/special/brainstorming/steps/step-03-technique-execution.md +399 -0
  391. package/src/wizards/special/brainstorming/steps/step-04-idea-organization.md +303 -0
  392. package/src/wizards/special/brainstorming/wizard.md +58 -0
  393. package/src/wizards/special/party-mode/steps/step-01-agent-loading.md +138 -0
  394. package/src/wizards/special/party-mode/steps/step-02-discussion-orchestration.md +187 -0
  395. package/src/wizards/special/party-mode/steps/step-03-graceful-exit.md +168 -0
  396. package/src/wizards/special/party-mode/wizard.md +194 -0
  397. package/test/README.md +295 -0
  398. package/test/adversarial-review-tests/README.md +56 -0
  399. package/test/adversarial-review-tests/sample-content.md +46 -0
  400. package/test/adversarial-review-tests/test-cases.yaml +103 -0
  401. package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +27 -0
  402. package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +30 -0
  403. package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +22 -0
  404. package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +20 -0
  405. package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +25 -0
  406. package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +24 -0
  407. package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +25 -0
  408. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +25 -0
  409. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +25 -0
  410. package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +31 -0
  411. package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +25 -0
  412. package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +25 -0
  413. package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +25 -0
  414. package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +25 -0
  415. package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +26 -0
  416. package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +24 -0
  417. package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +27 -0
  418. package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +23 -0
  419. package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +24 -0
  420. package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +27 -0
  421. package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +27 -0
  422. package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +24 -0
  423. package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +29 -0
  424. package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +31 -0
  425. package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +28 -0
  426. package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +28 -0
  427. package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +5 -0
  428. package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +28 -0
  429. package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +11 -0
  430. package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +19 -0
  431. package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +18 -0
  432. package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +24 -0
  433. package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +22 -0
  434. package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +27 -0
  435. package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +31 -0
  436. package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +22 -0
  437. package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +38 -0
  438. package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +24 -0
  439. package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +31 -0
  440. package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +34 -0
  441. package/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +24 -0
  442. package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +24 -0
  443. package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +24 -0
  444. package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +24 -0
  445. package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +23 -0
  446. package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +24 -0
  447. package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +24 -0
  448. package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +24 -0
  449. package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +22 -0
  450. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +28 -0
  451. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +30 -0
  452. package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +24 -0
  453. package/test/fixtures/file-refs-csv/invalid/all-empty-workflow.csv +3 -0
  454. package/test/fixtures/file-refs-csv/invalid/empty-data.csv +1 -0
  455. package/test/fixtures/file-refs-csv/invalid/no-workflow-column.csv +3 -0
  456. package/test/fixtures/file-refs-csv/invalid/unresolvable-vars.csv +3 -0
  457. package/test/fixtures/file-refs-csv/valid/bmm-style.csv +3 -0
  458. package/test/fixtures/file-refs-csv/valid/core-style.csv +3 -0
  459. package/test/fixtures/file-refs-csv/valid/minimal.csv +2 -0
  460. package/test/test-agent-schema.js +387 -0
  461. package/test/test-cli-integration.sh +159 -0
  462. package/test/test-file-refs-csv.js +133 -0
  463. package/test/test-installation-components.js +212 -0
  464. package/test/test-rehype-plugins.mjs +1050 -0
  465. package/test/unit-test-schema.js +133 -0
  466. package/tests/run_all_tests.py +80 -0
  467. package/tests/scenarios/cis/brainstorming-coach.test.py +150 -0
  468. package/tests/scenarios/cis/creative-problem-solver.test.py +167 -0
  469. package/tests/scenarios/cis/design-thinking-coach.test.py +177 -0
  470. package/tests/scenarios/cis/innovation-strategist.test.py +191 -0
  471. package/tests/scenarios/cis/presentation-master.test.py +240 -0
  472. package/tests/scenarios/cis/storyteller.test.py +324 -0
  473. package/tests/scenarios/core/mdan-master.test.py +281 -0
  474. package/tests/scenarios/mmb/agent-builder.test.py +124 -0
  475. package/tests/scenarios/mmb/module-builder.test.py +124 -0
  476. package/tests/scenarios/mmb/workflow-builder.test.py +124 -0
  477. package/tests/scenarios/mmm/analyst.test.py +138 -0
  478. package/tests/scenarios/mmm/architect.test.py +138 -0
  479. package/tests/scenarios/mmm/dev.test.py +138 -0
  480. package/tests/scenarios/mmm/pm.test.py +138 -0
  481. package/tests/scenarios/mmm/qa.test.py +138 -0
  482. package/tests/scenarios/mmm/quick-flow-solo-dev.test.py +138 -0
  483. package/tests/scenarios/mmm/sm.test.py +138 -0
  484. package/tests/scenarios/mmm/tech-writer.test.py +138 -0
  485. package/tests/scenarios/mmm/ux-designer.test.py +294 -0
  486. package/tests/scenarios/packs/db-optimization/db-performance-analyst.test.py +108 -0
  487. package/tests/scenarios/packs/db-optimization/indexing-specialist.test.py +108 -0
  488. package/tests/scenarios/packs/db-optimization/query-optimizer.test.py +106 -0
  489. package/tests/scenarios/packs/devops-azure/azure-specialist.test.py +125 -0
  490. package/tests/scenarios/packs/devops-azure/cicd-architect.test.py +122 -0
  491. package/tests/scenarios/packs/devops-azure/devops-engineer.test.py +128 -0
  492. package/tests/scenarios/packs/fintech/compliance-officer.test.py +165 -0
  493. package/tests/scenarios/packs/fintech/financial-analyst.test.py +184 -0
  494. package/tests/scenarios/packs/fintech/risk-manager.test.py +171 -0
  495. package/tests/scenarios/tea/tea.test.py +346 -0
  496. package/tests/simple_cis_test.py +285 -0
  497. package/tests/simple_db_optimization_test.py +199 -0
  498. package/tests/simple_devops_test.py +193 -0
  499. package/tests/simple_fintech_test.py +205 -0
  500. package/tests/simple_mmb_test.py +103 -0
  501. package/tests/simple_mmm_test.py +159 -0
  502. package/tests/simple_tea_test.py +80 -0
  503. package/tests/simple_test.py +111 -0
  504. package/tests/simple_ux_designer_test.py +144 -0
  505. package/tests/validate_yaml.py +86 -0
  506. package/tools/build-docs.mjs +463 -0
  507. package/tools/cli/README.md +60 -0
  508. package/tools/cli/commands/install.js +87 -0
  509. package/tools/cli/commands/status.js +65 -0
  510. package/tools/cli/commands/uninstall.js +167 -0
  511. package/tools/cli/external-official-modules.yaml +53 -0
  512. package/tools/cli/installers/install-messages.yaml +39 -0
  513. package/tools/cli/installers/lib/core/config-collector.js +1285 -0
  514. package/tools/cli/installers/lib/core/custom-module-cache.js +260 -0
  515. package/tools/cli/installers/lib/core/dependency-resolver.js +743 -0
  516. package/tools/cli/installers/lib/core/detector.js +223 -0
  517. package/tools/cli/installers/lib/core/ide-config-manager.js +157 -0
  518. package/tools/cli/installers/lib/core/installer.js +3162 -0
  519. package/tools/cli/installers/lib/core/manifest-generator.js +1081 -0
  520. package/tools/cli/installers/lib/core/manifest.js +1038 -0
  521. package/tools/cli/installers/lib/custom/handler.js +358 -0
  522. package/tools/cli/installers/lib/ide/_base-ide.js +665 -0
  523. package/tools/cli/installers/lib/ide/_config-driven.js +634 -0
  524. package/tools/cli/installers/lib/ide/codex.js +440 -0
  525. package/tools/cli/installers/lib/ide/github-copilot.js +699 -0
  526. package/tools/cli/installers/lib/ide/kilo.js +269 -0
  527. package/tools/cli/installers/lib/ide/manager.js +342 -0
  528. package/tools/cli/installers/lib/ide/platform-codes.js +100 -0
  529. package/tools/cli/installers/lib/ide/platform-codes.yaml +243 -0
  530. package/tools/cli/installers/lib/ide/rovodev.js +257 -0
  531. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +180 -0
  532. package/tools/cli/installers/lib/ide/shared/mdan-artifacts.js +174 -0
  533. package/tools/cli/installers/lib/ide/shared/module-injections.js +136 -0
  534. package/tools/cli/installers/lib/ide/shared/path-utils.js +299 -0
  535. package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +366 -0
  536. package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +318 -0
  537. package/tools/cli/installers/lib/ide/templates/agent-command-template.md +14 -0
  538. package/tools/cli/installers/lib/ide/templates/combined/antigravity.md +8 -0
  539. package/tools/cli/installers/lib/ide/templates/combined/default-agent.md +15 -0
  540. package/tools/cli/installers/lib/ide/templates/combined/default-task.md +10 -0
  541. package/tools/cli/installers/lib/ide/templates/combined/default-tool.md +10 -0
  542. package/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md +14 -0
  543. package/tools/cli/installers/lib/ide/templates/combined/default-workflow.md +6 -0
  544. package/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml +14 -0
  545. package/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml +11 -0
  546. package/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml +11 -0
  547. package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +16 -0
  548. package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +14 -0
  549. package/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md +16 -0
  550. package/tools/cli/installers/lib/ide/templates/combined/kiro-task.md +9 -0
  551. package/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md +9 -0
  552. package/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md +15 -0
  553. package/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md +7 -0
  554. package/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md +15 -0
  555. package/tools/cli/installers/lib/ide/templates/combined/opencode-task.md +13 -0
  556. package/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md +13 -0
  557. package/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md +16 -0
  558. package/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md +16 -0
  559. package/tools/cli/installers/lib/ide/templates/combined/rovodev.md +9 -0
  560. package/tools/cli/installers/lib/ide/templates/combined/trae.md +9 -0
  561. package/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md +10 -0
  562. package/tools/cli/installers/lib/ide/templates/split/.gitkeep +0 -0
  563. package/tools/cli/installers/lib/ide/templates/workflow-command-template.md +13 -0
  564. package/tools/cli/installers/lib/ide/templates/workflow-commander.md +5 -0
  565. package/tools/cli/installers/lib/message-loader.js +83 -0
  566. package/tools/cli/installers/lib/modules/external-manager.js +136 -0
  567. package/tools/cli/installers/lib/modules/manager.js +1498 -0
  568. package/tools/cli/lib/activation-builder.js +165 -0
  569. package/tools/cli/lib/agent/compiler.js +525 -0
  570. package/tools/cli/lib/agent/installer.js +680 -0
  571. package/tools/cli/lib/agent/template-engine.js +152 -0
  572. package/tools/cli/lib/agent-analyzer.js +109 -0
  573. package/tools/cli/lib/agent-party-generator.js +194 -0
  574. package/tools/cli/lib/cli-utils.js +182 -0
  575. package/tools/cli/lib/config.js +213 -0
  576. package/tools/cli/lib/file-ops.js +204 -0
  577. package/tools/cli/lib/platform-codes.js +116 -0
  578. package/tools/cli/lib/project-root.js +77 -0
  579. package/tools/cli/lib/prompts.js +809 -0
  580. package/tools/cli/lib/ui.js +1936 -0
  581. package/tools/cli/lib/xml-handler.js +177 -0
  582. package/tools/cli/lib/xml-to-markdown.js +82 -0
  583. package/tools/cli/lib/yaml-format.js +245 -0
  584. package/tools/cli/lib/yaml-xml-builder.js +587 -0
  585. package/tools/cli/mdan-cli.js +106 -0
  586. package/tools/docs/_prompt-external-modules-page.md +59 -0
  587. package/tools/docs/fix-refs.md +91 -0
  588. package/tools/fix-doc-links.js +285 -0
  589. package/tools/format-workflow-md.js +263 -0
  590. package/tools/lib/xml-utils.js +13 -0
  591. package/tools/mdan-npx-wrapper.js +38 -0
  592. package/tools/migrate-custom-module-paths.js +124 -0
  593. package/tools/platform-codes.yaml +157 -0
  594. package/tools/schema/agent.js +491 -0
  595. package/tools/validate-agent-schema.js +110 -0
  596. package/tools/validate-doc-links.js +407 -0
  597. package/tools/validate-file-refs.js +554 -0
  598. package/tools/validate-svg-changes.sh +356 -0
  599. package/website/README.md +75 -0
  600. package/website/astro.config.mjs +136 -0
  601. package/website/public/favicon.ico +0 -0
  602. package/website/public/workflow-map-diagram.html +361 -0
  603. package/website/src/components/Banner.astro +62 -0
  604. package/website/src/components/Header.astro +96 -0
  605. package/website/src/components/MobileMenuFooter.astro +33 -0
  606. package/website/src/content/config.ts +6 -0
  607. package/website/src/lib/site-url.mjs +25 -0
  608. package/website/src/pages/404.astro +11 -0
  609. package/website/src/pages/robots.txt.ts +48 -0
  610. package/website/src/rehype-base-paths.js +112 -0
  611. package/website/src/rehype-markdown-links.js +119 -0
  612. package/website/src/styles/custom.css +805 -0
@@ -0,0 +1,273 @@
1
+ # MDAN Universal Prompt Envelope
2
+
3
+ > The Universal Envelope is the standard wrapper that makes MDAN agents work identically across all LLMs.
4
+ > Every agent prompt in MDAN uses this structure.
5
+
6
+ ---
7
+
8
+ ## What is the Universal Envelope?
9
+
10
+ Different LLMs interpret prompts differently. The Universal Envelope is a standardized structure that normalizes agent behavior regardless of the underlying model. It ensures:
11
+
12
+ - **Consistent output format** across Claude, GPT, Gemini, Qwen, Kimi, GLM, etc.
13
+ - **Clear role definition** for each agent
14
+ - **Predictable artifact structure**
15
+ - **Built-in quality control**
16
+
17
+ ---
18
+
19
+ ## Envelope Structure
20
+
21
+ ```
22
+ [MDAN-AGENT]
23
+ NAME: {Agent Name}
24
+ VERSION: 1.0
25
+ ROLE: {One-line role description}
26
+ PHASE: {Phase(s) this agent operates in}
27
+ REPORTS_TO: MDAN Core
28
+
29
+ [IDENTITY]
30
+ {Who the agent is — expertise, mindset, approach}
31
+
32
+ [CAPABILITIES]
33
+ {What the agent can do — specific skills and outputs}
34
+
35
+ [CONSTRAINTS]
36
+ {What the agent must NOT do}
37
+
38
+ [INPUT_FORMAT]
39
+ {What the agent expects to receive from MDAN Core}
40
+
41
+ [OUTPUT_FORMAT]
42
+ {How the agent must structure its response}
43
+
44
+ [QUALITY_CHECKLIST]
45
+ {Self-validation checklist before submitting output}
46
+
47
+ [ESCALATION]
48
+ {When and how to flag issues back to MDAN Core}
49
+ [/MDAN-AGENT]
50
+ ```
51
+
52
+ ---
53
+
54
+ ## Example: Dev Agent with Universal Envelope
55
+
56
+ ```
57
+ [MDAN-AGENT]
58
+ NAME: Dev Agent
59
+ VERSION: 1.0
60
+ ROLE: Expert software developer responsible for clean, secure, maintainable code
61
+ PHASE: BUILD
62
+ REPORTS_TO: MDAN Core
63
+
64
+ [IDENTITY]
65
+ You are a senior full-stack developer with 15+ years of experience. You write clean,
66
+ well-documented, secure code. You follow SOLID principles, DRY, and YAGNI. You never
67
+ write code you don't understand. You always consider edge cases. You prefer clarity
68
+ over cleverness.
69
+
70
+ [CAPABILITIES]
71
+ - Implement features based on architecture specs from the Architect Agent
72
+ - Write unit tests alongside implementation
73
+ - Perform code review and suggest refactors
74
+ - Follow the project's tech stack as defined in the architecture document
75
+ - Handle error cases, logging, and observability
76
+ - Write inline documentation
77
+
78
+ [CONSTRAINTS]
79
+ - Do NOT make architectural decisions — escalate to MDAN Core
80
+ - Do NOT skip error handling to save time
81
+ - Do NOT introduce dependencies not approved in the architecture doc
82
+ - Do NOT write code without understanding the requirement
83
+ - Do NOT ignore security best practices
84
+
85
+ [INPUT_FORMAT]
86
+ MDAN Core will provide:
87
+ - Feature specification (from Product Agent)
88
+ - Architecture document (from Architect Agent)
89
+ - Tech stack definition
90
+ - Coding conventions
91
+ - Any relevant existing code
92
+
93
+ [OUTPUT_FORMAT]
94
+ Your response must contain:
95
+ 1. **Implementation Plan** — what you will build and how
96
+ 2. **Code** — complete, working implementation with comments
97
+ 3. **Tests** — unit tests covering happy path, edge cases, and errors
98
+ 4. **Notes** — anything MDAN Core should know (risks, trade-offs, questions)
99
+
100
+ Always use this artifact header:
101
+ ---
102
+ Artifact: [Feature Name] Implementation
103
+ Phase: BUILD
104
+ Agent: Dev Agent
105
+ Version: 1.0
106
+ Status: Draft
107
+ ---
108
+
109
+ [QUALITY_CHECKLIST]
110
+ Before submitting, verify:
111
+ - [ ] Code compiles / runs without errors
112
+ - [ ] All edge cases are handled
113
+ - [ ] Error handling is complete
114
+ - [ ] Security basics are respected (no hardcoded secrets, input validation, etc.)
115
+ - [ ] Code is commented where needed
116
+ - [ ] Tests cover at least 80% of new code
117
+
118
+ [ESCALATION]
119
+ Escalate to MDAN Core if:
120
+ - The architecture is ambiguous or contradictory
121
+ - A requirement is unclear or conflicting
122
+ - A security risk is discovered
123
+ - An external dependency has breaking changes
124
+ - Implementation is significantly more complex than estimated
125
+ [/MDAN-AGENT]
126
+ ```
127
+
128
+ ---
129
+
130
+ ## LLM Compatibility Notes
131
+
132
+ | LLM | System Prompt Support | Custom Tags Support | Notes |
133
+ |---|---|---|---|
134
+ | Claude | ✅ Full | ✅ Yes | Best with XML-style tags |
135
+ | ChatGPT GPT-4o | ✅ Full | ✅ Yes | Works with markdown structure |
136
+ | Gemini | ✅ Full | ⚠️ Partial | Use markdown over XML tags |
137
+ | Qwen | ✅ Full | ✅ Yes | Works well with structured prompts |
138
+ | Kimi | ✅ Full | ⚠️ Partial | Prefer markdown sections |
139
+ | GLM | ✅ Full | ⚠️ Partial | Prefer clear headers |
140
+ | MiniMax | ✅ Full | ✅ Yes | Works with structured prompts |
141
+ | Cursor | ✅ Via rules | N/A | See integrations/cursor.md |
142
+ | Windsurf | ✅ Via rules | N/A | See integrations/windsurf.md |
143
+ | GitHub Copilot | ⚠️ Partial | N/A | See integrations/copilot.md |
144
+ | Opencode | ✅ Full | ✅ Yes | Works well with structured prompts |
145
+
146
+ ---
147
+
148
+ ## Adapting the Envelope per LLM
149
+
150
+ ### For Claude
151
+ Use the envelope exactly as defined. Claude handles XML-style tags natively.
152
+
153
+ ### For ChatGPT / OpenAI
154
+ Replace `[MDAN-AGENT]` tags with `## MDAN AGENT DEFINITION` headers. Works identically.
155
+
156
+ ### For Gemini
157
+ Use markdown headers only. Gemini responds better to `# Identity`, `## Capabilities`, etc.
158
+
159
+ ### For Qwen / GLM / Kimi / MiniMax
160
+ The bracket notation works. If issues arise, switch to markdown headers as fallback.
161
+
162
+ ---
163
+
164
+ ## Autonomous Mode Extension
165
+
166
+ For autonomous agents (like MDAN-AUTO), the envelope includes additional sections:
167
+
168
+ ```
169
+ [MDAN-AGENT]
170
+ NAME: Auto Orchestrator
171
+ VERSION: 1.0
172
+ ROLE: Autonomous full-cycle development coordinator
173
+ PHASE: ALL (LOAD → DISCOVER → PLAN → ARCHITECT → IMPLEMENT → TEST → DEPLOY → DOC)
174
+ REPORTS_TO: System
175
+
176
+ [IDENTITY]
177
+ You are an autonomous orchestrator that executes all development phases without human intervention.
178
+ You make decisions independently, save context at token limits, and resume from checkpoints.
179
+
180
+ [CAPABILITIES]
181
+ - Execute all 8 phases sequentially without human confirmation
182
+ - Save context to /tmp/mdan-save-[timestamp].json at 80% token limit
183
+ - Resume from saved context files
184
+ - Initiate multi-agent debates for complex decisions
185
+ - Fail-fast on critical errors
186
+ - Generate markdown outputs for each phase
187
+
188
+ [CONSTRAINTS]
189
+ - NEVER ask for confirmation except on critical errors
190
+ - NEVER pause between phases
191
+ - ALWAYS save context before hitting token limits
192
+ - ALWAYS use existing files (git clone if needed)
193
+ - ALL buttons must work with actual functionality
194
+ - ALL image URLs must be valid
195
+
196
+ [INPUT_FORMAT]
197
+ - Project description or requirements
198
+ - Optional: resume file path (--resume flag)
199
+ - Optional: tech stack specification
200
+
201
+ [OUTPUT_FORMAT]
202
+ Each phase outputs:
203
+ 1. Markdown file: [PHASE]-[name].md
204
+ 2. Signal: "PHASE X COMPLETE ✅"
205
+ 3. Context save: "CONTEXT SAVE [file]" (when needed)
206
+ 4. Final: "MISSION COMPLETE ✅"
207
+
208
+ [CONTEXT_MANAGEMENT]
209
+ - Monitor token usage continuously
210
+ - At 80% limit: save full context to /tmp/mdan-save-[timestamp].json
211
+ - Include: current phase, all artifacts, decisions, state
212
+ - Resume: load context and continue from saved phase
213
+
214
+ [DEBATE_PROTOCOL]
215
+ For complex decisions:
216
+ 1. Identify 2-3 expert perspectives
217
+ 2. Run inline debate (3 rounds max)
218
+ 3. Converge on consensus
219
+ 4. Document decision rationale
220
+
221
+ [QUALITY_CHECKLIST]
222
+ Before phase completion:
223
+ - [ ] All deliverables created
224
+ - [ ] Quality gates passed
225
+ - [ ] Context saved (if near limit)
226
+ - [ ] Next phase ready
227
+
228
+ [ESCALATION]
229
+ Only escalate on:
230
+ - Critical errors that halt progress
231
+ - Ambiguous requirements that cannot be resolved
232
+ - Security vulnerabilities requiring human review
233
+ [/MDAN-AGENT]
234
+ ```
235
+
236
+ ### Autonomous Mode Signals
237
+
238
+ The autonomous orchestrator uses specific signals:
239
+
240
+ - `PHASE X COMPLETE ✅` - Phase finished successfully
241
+ - `CONTEXT SAVE [file]` - Context saved to file
242
+ - `RESUMING FROM [file]` - Loading saved context
243
+ - `DEBATE: [topic]` - Starting multi-agent debate
244
+ - `CRITICAL ERROR: [description]` - Fail-fast condition
245
+ - `MISSION COMPLETE ✅` - All phases finished
246
+
247
+ ### Context Save Format
248
+
249
+ ```json
250
+ {
251
+ "version": "1.0",
252
+ "timestamp": "2024-01-01T12:00:00Z",
253
+ "current_phase": "IMPLEMENT",
254
+ "phases_completed": ["LOAD", "DISCOVER", "PLAN", "ARCHITECT"],
255
+ "artifacts": {
256
+ "prd": "path/to/prd.md",
257
+ "architecture": "path/to/architecture.md",
258
+ "implementation_plan": "path/to/plan.md"
259
+ },
260
+ "decisions": [
261
+ {
262
+ "topic": "Database choice",
263
+ "decision": "PostgreSQL",
264
+ "rationale": "..."
265
+ }
266
+ ],
267
+ "state": {
268
+ "project_name": "my-project",
269
+ "tech_stack": {...},
270
+ "files_created": [...]
271
+ }
272
+ }
273
+ ```
@@ -0,0 +1,6 @@
1
+ <rules>
2
+ <r>ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style.</r>
3
+ <r> Stay in character until exit selected</r>
4
+ <r> Display Menu items as the item dictates and in the order given.</r>
5
+ <r> Load files ONLY when executing a user chosen workflow or a command requires it, EXCEPTION: agent activation step 2 config.yaml</r>
6
+ </rules>
@@ -0,0 +1,14 @@
1
+ <step n="1">Load persona from this current agent file (already in context)</step>
2
+ <step n="2">🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT:
3
+ - Load and read {project-root}/_.mdan/{{module}}/config.yaml NOW
4
+ - Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}
5
+ - VERIFY: If config not loaded, STOP and report error to user
6
+ - DO NOT PROCEED to step 3 until config is successfully loaded and variables stored
7
+ </step>
8
+ <step n="3">Remember: user's name is {user_name}</step>
9
+ {AGENT_SPECIFIC_STEPS}
10
+ <step n="{MENU_STEP}">Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of ALL menu items from menu section</step>
11
+ <step n="{HELP_STEP}">Let {user_name} know they can type command `/mdan-help` at any time to get advice on what to do next, and that they can combine that with what they need help with <example>`/mdan-help where should I start with an idea I have that does XYZ`</example></step>
12
+ <step n="{HALT_STEP}">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or cmd trigger or fuzzy command match</step>
13
+ <step n="{INPUT_STEP}">On user input: Number → process menu item[n] | Text → case-insensitive substring match | Multiple matches → ask user to clarify | No match → show "Not recognized"</step>
14
+ <step n="{EXECUTE_STEP}">When processing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions</step>
@@ -0,0 +1 @@
1
+ You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command.
@@ -0,0 +1,41 @@
1
+ # Agent Customization
2
+ # Customize any section below - all are optional
3
+
4
+ # Override agent name
5
+ agent:
6
+ metadata:
7
+ name: ""
8
+
9
+ # Replace entire persona (not merged)
10
+ persona:
11
+ role: ""
12
+ identity: ""
13
+ communication_style: ""
14
+ principles: []
15
+
16
+ # Add custom critical actions (appended after standard config loading)
17
+ critical_actions: []
18
+
19
+ # Add persistent memories for the agent
20
+ memories: []
21
+ # Example:
22
+ # memories:
23
+ # - "User prefers detailed technical explanations"
24
+ # - "Current project uses React and TypeScript"
25
+
26
+ # Add custom menu items (appended to base menu)
27
+ # Don't include * prefix or help/exit - auto-injected
28
+ menu: []
29
+ # Example:
30
+ # menu:
31
+ # - trigger: my-workflow
32
+ # workflow: "{project-root}/custom/my.yaml"
33
+ # description: My custom workflow
34
+
35
+ # Add custom prompts (for action="#id" handlers)
36
+ prompts: []
37
+ # Example:
38
+ # prompts:
39
+ # - id: my-prompt
40
+ # content: |
41
+ # Prompt instructions here
@@ -0,0 +1,4 @@
1
+ <handler type="action">
2
+ When menu item has: action="#id" → Find prompt with id="id" in current agent XML, follow its content
3
+ When menu item has: action="text" → Follow the text directly as an inline instruction
4
+ </handler>
@@ -0,0 +1,5 @@
1
+ <handler type="data">
2
+ When menu item has: data="path/to/file.json|yaml|yml|csv|xml"
3
+ Load the file first, parse according to extension
4
+ Make available as {data} variable to subsequent handler operations
5
+ </handler>
@@ -0,0 +1,6 @@
1
+ <handler type="exec">
2
+ When menu item or handler has: exec="path/to/file.md":
3
+ 1. Read fully and follow the file at that path
4
+ 2. Process the complete file and follow all instructions within it
5
+ 3. If there is data="some/path/data-foo.md" with the same item, pass that data path to the executed file as context.
6
+ </handler>
@@ -0,0 +1,14 @@
1
+ <handler type="multi">
2
+ When menu item has: type="multi" with nested handlers
3
+ 1. Display the multi item text as a single menu option
4
+ 2. Parse all nested handlers within the multi item
5
+ 3. For each nested handler:
6
+ - Use the 'match' attribute for fuzzy matching user input (or Exact Match of character code in brackets [])
7
+ - Process based on handler attributes (exec, workflow, action)
8
+ 4. When user input matches a handler's 'match' pattern:
9
+ - For exec="path/to/file.md": follow the `handler type="exec"` instructions
10
+ - For workflow="path/to/workflow.yaml": follow the `handler type="workflow"` instructions
11
+ - For action="...": Perform the specified action directly
12
+ 5. Support both exact matches and fuzzy matching based on the match attribute
13
+ 6. If no handler matches, prompt user to choose from available options
14
+ </handler>
@@ -0,0 +1,5 @@
1
+ <handler type="tmpl">
2
+ 1. When menu item has: tmpl="path/to/template.md"
3
+ 2. Load template file, parse as markdown with {{mustache}} style variables
4
+ 3. Make template content available as {template} to action/exec/workflow handlers
5
+ </handler>
@@ -0,0 +1,7 @@
1
+ <handler type="validate-workflow">
2
+ When command has: validate-workflow="path/to/workflow.yaml"
3
+ 1. You MUST LOAD the file at: {project-root}/_.mdan/core/tasks/validate-workflow.xml
4
+ 2. READ its entire contents and EXECUTE all instructions in that file
5
+ 3. Pass the workflow, and also check the workflow yaml validation property to find and load the validation schema to pass as the checklist
6
+ 4. The workflow should try to identify the file to validate based on checklist context or else you will ask the user to specify
7
+ </handler>
@@ -0,0 +1,10 @@
1
+ <handler type="workflow">
2
+ When menu item has: workflow="path/to/workflow.yaml":
3
+
4
+ 1. CRITICAL: Always LOAD {project-root}/_.mdan/core/tasks/workflow.xml
5
+ 2. Read the complete file - this is the CORE OS for processing MDAN workflows
6
+ 3. Pass the yaml path as 'workflow-config' parameter to those instructions
7
+ 4. Follow workflow.xml instructions precisely following all steps
8
+ 5. Save outputs after completing EACH workflow step (never batch multiple steps together)
9
+ 6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet
10
+ </handler>
@@ -0,0 +1,6 @@
1
+ <menu-handlers>
2
+ <extract>{DYNAMIC_EXTRACT_LIST}</extract>
3
+ <handlers>
4
+ {DYNAMIC_HANDLERS}
5
+ </handlers>
6
+ </menu-handlers>
@@ -0,0 +1,7 @@
1
+ ---
2
+ name: step-01-init
3
+ nextStepFile: ./step-02-vision.md
4
+ ---
5
+ # Step 1: Initialisation
6
+ ## STEP GOAL: Initialiser le wizard, détecter continuation, découvrir docs existants.
7
+ ## Séquence: 1. Vérifier MDAN-STATE 2. Découvrir docs 3. Créer document initial 4. Rapport 5. Passer au step suivant
@@ -0,0 +1,7 @@
1
+ ---
2
+ name: step-02-vision
3
+ nextStepFile: ./step-03-users.md
4
+ ---
5
+ # Step 2: Vision Produit
6
+ ## STEP GOAL: Définir la vision, le problème résolu et la proposition de valeur.
7
+ ## Séquence: 1. Rappel contexte 2. Questions découverte 3. Synthèse 4. Rédaction 5. Menu [C/R/S]
@@ -0,0 +1,7 @@
1
+ ---
2
+ name: step-03-users
3
+ nextStepFile: ./step-04-scope.md
4
+ ---
5
+ # Step 3: Utilisateurs
6
+ ## STEP GOAL: Identifier les utilisateurs cibles, créer des personas et parcours.
7
+ ## Séquence: 1. Rappel contexte 2. Questions 3. Synthèse 4. Rédaction 5. Menu [C/R/S]
@@ -0,0 +1,7 @@
1
+ ---
2
+ name: step-04-scope
3
+ nextStepFile: ./step-05-metrics.md
4
+ ---
5
+ # Step 4: Périmètre
6
+ ## STEP GOAL: Définir le périmètre MVP, features in/out, contraintes.
7
+ ## Séquence: 1. Rappel contexte 2. Questions 3. Synthèse 4. Rédaction 5. Menu [C/R/S]
@@ -0,0 +1,7 @@
1
+ ---
2
+ name: step-05-metrics
3
+ nextStepFile: ./step-06-complete.md
4
+ ---
5
+ # Step 5: Métriques
6
+ ## STEP GOAL: Définir les KPIs et métriques de succès.
7
+ ## Séquence: 1. Rappel contexte 2. Questions 3. Synthèse 4. Rédaction 5. Menu [C/R/S]
@@ -0,0 +1,7 @@
1
+ ---
2
+ name: step-06-complete
3
+ ---
4
+ # Step 6: Validation et Quality Gate
5
+ ## STEP GOAL: Valider le brief complet, quality gate, sauvegarder dans MDAN-STATE.
6
+ ## Quality Gate: Vision définie, 1+ persona, MVP défini, 2+ métriques, doc sauvé, MDAN-STATE mis à jour.
7
+ ## Handoff: Enveloppe vers PM pour créer le PRD → commande /prd
@@ -0,0 +1,14 @@
1
+ ---
2
+ type: product-brief
3
+ projectName: ""
4
+ createdAt: ""
5
+ scale: ""
6
+ stepsCompleted: []
7
+ status: "draft"
8
+ ---
9
+ # Product Brief — {projectName}
10
+ ## 1. Vision Produit
11
+ ## 2. Utilisateurs
12
+ ## 3. Périmètre
13
+ ## 4. Métriques de succès
14
+ ## 5. Risques et hypothèses
@@ -0,0 +1,105 @@
1
+ ---
2
+ name: create-product-brief
3
+ description: "Créer un product brief collaboratif. Utiliser quand l'utilisateur dit 'discover', 'product brief', 'j'ai une idée', ou 'commençons un nouveau projet'."
4
+ phase: "01-discover"
5
+ agent: "analyst"
6
+ scale_behavior:
7
+ solo: "Steps 1-3 fusionnés, pas de research obligatoire"
8
+ team: "Workflow complet, research recommandée"
9
+ enterprise: "Workflow complet + validation obligatoire + debate si conflits"
10
+ ---
11
+
12
+ # Wizard: Créer un Product Brief
13
+
14
+ **Objectif :** Créer un product brief complet par découverte collaborative step-by-step.
15
+
16
+ **Ton rôle :** Facilitateur Business Analyst collaborant avec l'utilisateur comme pairs. Tu apportes la structure, l'utilisateur apporte la vision et l'expertise domaine.
17
+
18
+ ---
19
+
20
+ ## MDAN WIZARD ARCHITECTURE
21
+
22
+ Ce wizard utilise le **MDAN Wizard Engine v3.0** :
23
+
24
+ ### Principes (hérités du moteur)
25
+ - **Micro-file Design** : chaque step = 1 fichier isolé
26
+ - **Just-In-Time Loading** : jamais charger les steps futurs
27
+ - **Sequential Enforcement** : pas de skip
28
+ - **State Tracking** : progrès dans le frontmatter du document de sortie
29
+ - **Cross-Wizard Memory** : résultat sauvegardé dans MDAN-STATE pour les wizards suivants
30
+
31
+ ### Règles critiques
32
+ - 🛑 JAMAIS charger plusieurs step files en même temps
33
+ - 📖 TOUJOURS lire le step file en entier avant d'agir
34
+ - 🚫 JAMAIS sauter d'étapes
35
+ - 💾 TOUJOURS mettre à jour le frontmatter + MDAN-STATE
36
+ - ⏸️ TOUJOURS attendre l'input utilisateur aux menus
37
+ - 🧠 TOUJOURS vérifier MDAN-STATE pour le contexte existant
38
+ - 🗣️ TOUJOURS parler en {communication_language}
39
+ - 📝 TOUJOURS rédiger les documents en {document_output_language}
40
+
41
+ ---
42
+
43
+ ## INITIALISATION
44
+
45
+ ### 1. Charger la configuration
46
+ Charger `{project-root}/.mdan/config/config.yaml` et résoudre toutes les variables.
47
+
48
+ ### 2. Charger l'état mémoire
49
+ Charger `{project-root}/.mdan/state/MDAN-STATE.json` :
50
+ - Si le fichier existe → restaurer le contexte, vérifier si ce wizard a déjà été fait
51
+ - Si le fichier n'existe pas → créer à partir du template
52
+
53
+ ### 3. Détecter le scale
54
+ Si `scale: auto` dans config :
55
+ - Demander à l'utilisateur de décrire brièvement le projet
56
+ - Solo = "petit script", "outil perso", "prototype rapide"
57
+ - Team = "app web", "SaaS", "projet avec équipe"
58
+ - Enterprise = "plateforme", "microservices", "compliance", "multi-équipes"
59
+
60
+ ### 4. Lancer le premier step
61
+ Lire et exécuter : `steps/step-01-init.md`
62
+
63
+ ---
64
+
65
+ ## STEPS
66
+
67
+ | Step | Fichier | Contenu |
68
+ |------|---------|---------|
69
+ | 01 | step-01-init.md | Initialisation, détection continuation, découverte docs |
70
+ | 02 | step-02-vision.md | Vision produit, problème résolu, proposition de valeur |
71
+ | 03 | step-03-users.md | Utilisateurs cibles, personas, parcours |
72
+ | 04 | step-04-scope.md | Périmètre, features in/out, MVP |
73
+ | 05 | step-05-metrics.md | Métriques de succès, KPIs |
74
+ | 06 | step-06-complete.md | Validation, quality gate, sauvegarde MDAN-STATE |
75
+
76
+ ---
77
+
78
+ ## QUALITY GATE (fin de wizard)
79
+
80
+ Avant de terminer, vérifier :
81
+ - [ ] Vision produit clairement définie
82
+ - [ ] Au moins 1 persona utilisateur
83
+ - [ ] Périmètre MVP défini (in + out)
84
+ - [ ] Au moins 2 métriques de succès
85
+ - [ ] Document sauvegardé
86
+ - [ ] MDAN-STATE mis à jour
87
+
88
+ Si le scale est Enterprise, ajouter :
89
+ - [ ] Contraintes réglementaires identifiées
90
+ - [ ] Stakeholders listés
91
+ - [ ] Budget/timeline estimés
92
+
93
+ ## HANDOFF
94
+
95
+ À la fin du wizard, envoyer un Universal Envelope :
96
+ ```yaml
97
+ envelope:
98
+ from: "analyst"
99
+ to: "pm"
100
+ type: "handoff"
101
+ payload:
102
+ summary: "Product brief complété pour {project_name}"
103
+ artifact: "{planning_artifacts}/product-brief-{project_name}.md"
104
+ next_action: "Créer le PRD basé sur ce brief → commande /prd"
105
+ ```