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,86 @@
1
+ ---
2
+ name: help
3
+ description: 'Analyzes what is done and the users query and offers advice on what to do next. Use if user says what should I do next or what do I do now'
4
+ ---
5
+
6
+ # Task: MDAN Help
7
+
8
+ ## ROUTING RULES
9
+
10
+ - **Empty `phase` = anytime** — Universal tools work regardless of workflow state
11
+ - **Numbered phases indicate sequence** — Phases like `1-discover` → `2-define` → `3-build` → `4-ship` flow in order (naming varies by module)
12
+ - **Phase with no Required Steps** - If an entire phase has no required, true items, the entire phase is optional. If it is sequentially before another phase, it can be recommended, but always be clear with the use what the true next required item is.
13
+ - **Stay in module** — Guide through the active module's workflow based on phase+sequence ordering
14
+ - **Descriptions contain routing** — Read for alternate paths (e.g., "back to previous if fixes needed")
15
+ - **`required=true` blocks progress** — Required workflows must complete before proceeding to later phases
16
+ - **Artifacts reveal completion** — Search resolved output paths for `outputs` patterns, fuzzy-match found files to workflow rows
17
+
18
+ ## DISPLAY RULES
19
+
20
+ ### Command-Based Workflows
21
+ When `command` field has a value:
22
+ - Show the command prefixed with `/` (e.g., `/mdan-bmm-create-prd`)
23
+
24
+ ### Agent-Based Workflows
25
+ When `command` field is empty:
26
+ - User loads agent first via `/agent-command`
27
+ - Then invokes by referencing the `code` field or describing the `name` field
28
+ - Do NOT show a slash command — show the code value and agent load instruction instead
29
+
30
+ Example presentation for empty command:
31
+ ```
32
+ Explain Concept (EC)
33
+ Load: /tech-writer, then ask to "EC about [topic]"
34
+ Agent: Tech Writer
35
+ Description: Create clear technical explanations with examples...
36
+ ```
37
+
38
+ ## MODULE DETECTION
39
+
40
+ - **Empty `module` column** → universal tools (work across all modules)
41
+ - **Named `module`** → module-specific workflows
42
+
43
+ Detect the active module from conversation context, recent workflows, or user query keywords. If ambiguous, ask the user.
44
+
45
+ ## INPUT ANALYSIS
46
+
47
+ Determine what was just completed:
48
+ - Explicit completion stated by user
49
+ - Workflow completed in current conversation
50
+ - Artifacts found matching `outputs` patterns
51
+ - If `index.md` exists, read it for additional context
52
+ - If still unclear, ask: "What workflow did you most recently complete?"
53
+
54
+ ## EXECUTION
55
+
56
+ 1. **Load catalog** — Load `{project-root}/_.mdan/_config/mdan-help.csv`
57
+
58
+ 2. **Resolve output locations and config** — Scan each folder under `{project-root}/_.mdan/` (except `_config`) for `config.yaml`. For each workflow row, resolve its `output-location` variables against that module's config so artifact paths can be searched. Also extract `communication_language` and `project_knowledge` from each scanned module's config.
59
+
60
+ 3. **Ground in project knowledge** — If `project_knowledge` resolves to an existing path, read available documentation files (architecture docs, project overview, tech stack references) for grounding context. Use discovered project facts when composing any project-specific output. Never fabricate project-specific details — if documentation is unavailable, state so.
61
+
62
+ 4. **Detect active module** — Use MODULE DETECTION above
63
+
64
+ 5. **Analyze input** — Task may provide a workflow name/code, conversational phrase, or nothing. Infer what was just completed using INPUT ANALYSIS above.
65
+
66
+ 6. **Present recommendations** — Show next steps based on:
67
+ - Completed workflows detected
68
+ - Phase/sequence ordering (ROUTING RULES)
69
+ - Artifact presence
70
+
71
+ **Optional items first** — List optional workflows until a required step is reached
72
+ **Required items next** — List the next required workflow
73
+
74
+ For each item, apply DISPLAY RULES above and include:
75
+ - Workflow **name**
76
+ - **Command** OR **Code + Agent load instruction** (per DISPLAY RULES)
77
+ - **Agent** title and display name from the CSV (e.g., "🎨 Alex (Designer)")
78
+ - Brief **description**
79
+
80
+ 7. **Additional guidance to convey**:
81
+ - Present all output in `{communication_language}`
82
+ - Run each workflow in a **fresh context window**
83
+ - For **validation workflows**: recommend using a different high-quality LLM if available
84
+ - For conversational requests: match the user's tone while presenting clearly
85
+
86
+ 8. Return to the calling process after presenting recommendations.
@@ -0,0 +1,65 @@
1
+ <task id="_.mdan/core/tasks/index-docs" name="Index Docs"
2
+ description="Generates or updates an index.md to reference all docs in the folder. Use if user requests to create or update an index of all files in a specific folder">
3
+ <llm critical="true">
4
+ <i>MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER</i>
5
+ <i>DO NOT skip steps or change the sequence</i>
6
+ <i>HALT immediately when halt-conditions are met</i>
7
+ <i>Each action xml tag within step xml tag is a REQUIRED action to complete that step</i>
8
+ <i>Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution</i>
9
+ </llm>
10
+
11
+ <flow>
12
+ <step n="1" title="Scan Directory">
13
+ <i>List all files and subdirectories in the target location</i>
14
+ </step>
15
+
16
+ <step n="2" title="Group Content">
17
+ <i>Organize files by type, purpose, or subdirectory</i>
18
+ </step>
19
+
20
+ <step n="3" title="Generate Descriptions">
21
+ <i>Read each file to understand its actual purpose and create brief (3-10 word) descriptions based on the content, not just the
22
+ filename</i>
23
+ </step>
24
+
25
+ <step n="4" title="Create/Update Index">
26
+ <i>Write or update index.md with organized file listings</i>
27
+ </step>
28
+ </flow>
29
+
30
+ <output-format>
31
+ <example>
32
+ # Directory Index
33
+
34
+ ## Files
35
+
36
+ - **[filename.ext](./filename.ext)** - Brief description
37
+ - **[another-file.ext](./another-file.ext)** - Brief description
38
+
39
+ ## Subdirectories
40
+
41
+ ### subfolder/
42
+
43
+ - **[file1.ext](./subfolder/file1.ext)** - Brief description
44
+ - **[file2.ext](./subfolder/file2.ext)** - Brief description
45
+
46
+ ### another-folder/
47
+
48
+ - **[file3.ext](./another-folder/file3.ext)** - Brief description
49
+ </example>
50
+ </output-format>
51
+
52
+ <halt-conditions critical="true">
53
+ <i>HALT if target directory does not exist or is inaccessible</i>
54
+ <i>HALT if user does not have write permissions to create index.md</i>
55
+ </halt-conditions>
56
+
57
+ <validation>
58
+ <i>Use relative paths starting with ./</i>
59
+ <i>Group similar files together</i>
60
+ <i>Read file contents to generate accurate descriptions - don't guess from filenames</i>
61
+ <i>Keep descriptions concise but informative (3-10 words)</i>
62
+ <i>Sort alphabetically within groups</i>
63
+ <i>Skip hidden files (starting with .) unless specified</i>
64
+ </validation>
65
+ </task>
@@ -0,0 +1,49 @@
1
+ <!-- if possible, run this in a separate subagent or process with read access to the project,
2
+ but no context except the content to review -->
3
+
4
+ <task id="_.mdan/core/tasks/review-adversarial-general.xml" name="Adversarial Review (General)"
5
+ description="Perform a Cynical Review and produce a findings report. Use when the user requests a critical review of something">
6
+ <objective>Cynically review content and produce findings</objective>
7
+
8
+ <inputs>
9
+ <input name="content" desc="Content to review - diff, spec, story, doc, or any artifact" />
10
+ <input name="also_consider" required="false"
11
+ desc="Optional areas to keep in mind during review alongside normal adversarial analysis" />
12
+ </inputs>
13
+
14
+ <llm critical="true">
15
+ <i>MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER</i>
16
+ <i>DO NOT skip steps or change the sequence</i>
17
+ <i>HALT immediately when halt-conditions are met</i>
18
+ <i>Each action xml tag within step xml tag is a REQUIRED action to complete that step</i>
19
+
20
+ <i>You are a cynical, jaded reviewer with zero patience for sloppy work</i>
21
+ <i>The content was submitted by a clueless weasel and you expect to find problems</i>
22
+ <i>Be skeptical of everything</i>
23
+ <i>Look for what's missing, not just what's wrong</i>
24
+ <i>Use a precise, professional tone - no profanity or personal attacks</i>
25
+ </llm>
26
+
27
+ <flow>
28
+ <step n="1" title="Receive Content">
29
+ <action>Load the content to review from provided input or context</action>
30
+ <action>If content to review is empty, ask for clarification and abort task</action>
31
+ <action>Identify content type (diff, branch, uncommitted changes, document, etc.)</action>
32
+ </step>
33
+
34
+ <step n="2" title="Adversarial Analysis" critical="true">
35
+ <mandate>Review with extreme skepticism - assume problems exist</mandate>
36
+ <action>Find at least ten issues to fix or improve in the provided content</action>
37
+ </step>
38
+
39
+ <step n="3" title="Present Findings">
40
+ <action>Output findings as a Markdown list (descriptions only)</action>
41
+ </step>
42
+ </flow>
43
+
44
+ <halt-conditions>
45
+ <condition>HALT if zero findings - this is suspicious, re-analyze or ask for guidance</condition>
46
+ <condition>HALT if content is empty or unreadable</condition>
47
+ </halt-conditions>
48
+
49
+ </task>
@@ -0,0 +1,108 @@
1
+ <task id="_.mdan/core/tasks/shard-doc" name="Shard Document"
2
+ description="Splits large markdown documents into smaller, organized files based on level 2 (default) sections. Use if the user says perform shard document">
3
+ <objective>Split large markdown documents into smaller, organized files based on level 2 sections using @kayvan/markdown-tree-parser tool</objective>
4
+
5
+ <llm critical="true">
6
+ <i>MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER</i>
7
+ <i>DO NOT skip steps or change the sequence</i>
8
+ <i>HALT immediately when halt-conditions are met</i>
9
+ <i>Each action xml tag within step xml tag is a REQUIRED action to complete that step</i>
10
+ <i>Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution</i>
11
+ </llm>
12
+
13
+ <critical-context>
14
+ <i>Uses `npx @kayvan/markdown-tree-parser` to automatically shard documents by level 2 headings and generate an index</i>
15
+ </critical-context>
16
+
17
+ <flow>
18
+ <step n="1" title="Get Source Document">
19
+ <action>Ask user for the source document path if not provided already</action>
20
+ <action>Verify file exists and is accessible</action>
21
+ <action>Verify file is markdown format (.md extension)</action>
22
+ <action if="file not found or not markdown">HALT with error message</action>
23
+ </step>
24
+
25
+ <step n="2" title="Get Destination Folder">
26
+ <action>Determine default destination: same location as source file, folder named after source file without .md extension</action>
27
+ <action>Example: /path/to/architecture.md → /path/to/architecture/</action>
28
+ <action>Ask user for the destination folder path ([y] to confirm use of default: [suggested-path], else enter a new path)</action>
29
+ <action if="user accepts default">Use the suggested destination path</action>
30
+ <action if="user provides custom path">Use the custom destination path</action>
31
+ <action>Verify destination folder exists or can be created</action>
32
+ <action>Check write permissions for destination</action>
33
+ <action if="permission denied">HALT with error message</action>
34
+ </step>
35
+
36
+ <step n="3" title="Execute Sharding">
37
+ <action>Inform user that sharding is beginning</action>
38
+ <action>Execute command: `npx @kayvan/markdown-tree-parser explode [source-document] [destination-folder]`</action>
39
+ <action>Capture command output and any errors</action>
40
+ <action if="command fails">HALT and display error to user</action>
41
+ </step>
42
+
43
+ <step n="4" title="Verify Output">
44
+ <action>Check that destination folder contains sharded files</action>
45
+ <action>Verify index.md was created in destination folder</action>
46
+ <action>Count the number of files created</action>
47
+ <action if="no files created">HALT with error message</action>
48
+ </step>
49
+
50
+ <step n="5" title="Report Completion">
51
+ <action>Display completion report to user including:</action>
52
+ <i>- Source document path and name</i>
53
+ <i>- Destination folder path</i>
54
+ <i>- Number of section files created</i>
55
+ <i>- Confirmation that index.md was created</i>
56
+ <i>- Any tool output or warnings</i>
57
+ <action>Inform user that sharding completed successfully</action>
58
+ </step>
59
+
60
+ <step n="6" title="Handle Original Document">
61
+ <critical>Keeping both the original and sharded versions defeats the purpose of sharding and can cause confusion</critical>
62
+ <action>Present user with options for the original document:</action>
63
+
64
+ <ask>What would you like to do with the original document `[source-document-name]`?
65
+
66
+ Options:
67
+ [d] Delete - Remove the original (recommended - shards can always be recombined)
68
+ [m] Move to archive - Move original to a backup/archive location
69
+ [k] Keep - Leave original in place (NOT recommended - defeats sharding purpose)
70
+
71
+ Your choice (d/m/k):</ask>
72
+
73
+ <check if="user selects 'd' (delete)">
74
+ <action>Delete the original source document file</action>
75
+ <action>Confirm deletion to user: "✓ Original document deleted: [source-document-path]"</action>
76
+ <note>The document can be reconstructed from shards by concatenating all section files in order</note>
77
+ </check>
78
+
79
+ <check if="user selects 'm' (move)">
80
+ <action>Determine default archive location: same directory as source, in an "archive" subfolder</action>
81
+ <action>Example: /path/to/architecture.md → /path/to/archive/architecture.md</action>
82
+ <ask>Archive location ([y] to use default: [default-archive-path], or provide custom path):</ask>
83
+ <action if="user accepts default">Use default archive path</action>
84
+ <action if="user provides custom path">Use custom archive path</action>
85
+ <action>Create archive directory if it doesn't exist</action>
86
+ <action>Move original document to archive location</action>
87
+ <action>Confirm move to user: "✓ Original document moved to: [archive-path]"</action>
88
+ </check>
89
+
90
+ <check if="user selects 'k' (keep)">
91
+ <action>Display warning to user:</action>
92
+ <output>⚠️ WARNING: Keeping both original and sharded versions is NOT recommended.
93
+
94
+ This creates confusion because:
95
+ - The discover_inputs protocol may load the wrong version
96
+ - Updates to one won't reflect in the other
97
+ - You'll have duplicate content taking up space
98
+
99
+ Consider deleting or archiving the original document.</output>
100
+ <action>Confirm user choice: "Original document kept at: [source-document-path]"</action>
101
+ </check>
102
+ </step>
103
+ </flow>
104
+
105
+ <halt-conditions critical="true">
106
+ <i>HALT if npx command fails or produces no output files</i>
107
+ </halt-conditions>
108
+ </task>
@@ -0,0 +1,235 @@
1
+ <task id="_.mdan/core/tasks/workflow.xml" name="Execute Workflow" internal="true">
2
+ <objective>Execute given workflow by loading its configuration, following instructions, and producing output</objective>
3
+
4
+ <llm critical="true">
5
+ <mandate>Always read COMPLETE files - NEVER use offset/limit when reading any workflow related files</mandate>
6
+ <mandate>Instructions are MANDATORY - either as file path, steps or embedded list in YAML, XML or markdown</mandate>
7
+ <mandate>Execute ALL steps in instructions IN EXACT ORDER</mandate>
8
+ <mandate>Save to template output file after EVERY "template-output" tag</mandate>
9
+ <mandate>NEVER skip a step - YOU are responsible for every steps execution without fail or excuse</mandate>
10
+ </llm>
11
+
12
+ <WORKFLOW-RULES critical="true">
13
+ <rule n="1">Steps execute in exact numerical order (1, 2, 3...)</rule>
14
+ <rule n="2">Optional steps: Ask user unless #yolo mode active</rule>
15
+ <rule n="3">Template-output tags: Save content, discuss with the user the section completed, and NEVER proceed until the users indicates
16
+ to proceed (unless YOLO mode has been activated)</rule>
17
+ </WORKFLOW-RULES>
18
+
19
+ <flow>
20
+ <step n="1" title="Load and Initialize Workflow">
21
+ <substep n="1a" title="Load Configuration and Resolve Variables">
22
+ <action>Read workflow.yaml from provided path</action>
23
+ <mandate>Load config_source (REQUIRED for all modules)</mandate>
24
+ <phase n="1">Load external config from config_source path</phase>
25
+ <phase n="2">Resolve all {config_source}: references with values from config</phase>
26
+ <phase n="3">Resolve system variables (date:system-generated) and paths ({project-root}, {installed_path})</phase>
27
+ <phase n="4">Ask user for input of any variables that are still unknown</phase>
28
+ </substep>
29
+
30
+ <substep n="1b" title="Load Required Components">
31
+ <mandate>Instructions: Read COMPLETE file from path OR embedded list (REQUIRED)</mandate>
32
+ <check>If template path → Read COMPLETE template file</check>
33
+ <check>If validation path → Note path for later loading when needed</check>
34
+ <check>If template: false → Mark as action-workflow (else template-workflow)</check>
35
+ <note>Data files (csv, json) → Store paths only, load on-demand when instructions reference them</note>
36
+ </substep>
37
+
38
+ <substep n="1c" title="Initialize Output" if="template-workflow">
39
+ <action>Resolve default_output_file path with all variables and {{date}}</action>
40
+ <action>Create output directory if doesn't exist</action>
41
+ <action>If template-workflow → Write template to output file with placeholders</action>
42
+ <action>If action-workflow → Skip file creation</action>
43
+ </substep>
44
+ </step>
45
+
46
+ <step n="2" title="Process Each Instruction Step in Order">
47
+ <iterate>For each step in instructions:</iterate>
48
+
49
+ <substep n="2a" title="Handle Step Attributes">
50
+ <check>If optional="true" and NOT #yolo → Ask user to include</check>
51
+ <check>If if="condition" → Evaluate condition</check>
52
+ <check>If for-each="item" → Repeat step for each item</check>
53
+ <check>If repeat="n" → Repeat step n times</check>
54
+ </substep>
55
+
56
+ <substep n="2b" title="Execute Step Content">
57
+ <action>Process step instructions (markdown or XML tags)</action>
58
+ <action>Replace {{variables}} with values (ask user if unknown)</action>
59
+ <execute-tags>
60
+ <tag>action xml tag → Perform the action</tag>
61
+ <tag>check if="condition" xml tag → Conditional block wrapping actions (requires closing &lt;/check&gt;)</tag>
62
+ <tag>ask xml tag → Prompt user and WAIT for response</tag>
63
+ <tag>invoke-workflow xml tag → Execute another workflow with given inputs and the workflow.xml runner</tag>
64
+ <tag>invoke-task xml tag → Execute specified task</tag>
65
+ <tag>invoke-protocol name="protocol_name" xml tag → Execute reusable protocol from protocols section</tag>
66
+ <tag>goto step="x" → Jump to specified step</tag>
67
+ </execute-tags>
68
+ </substep>
69
+
70
+ <substep n="2c" title="Handle template-output Tags">
71
+ <if tag="template-output">
72
+ <mandate>Generate content for this section</mandate>
73
+ <mandate>Save to file (Write first time, Edit subsequent)</mandate>
74
+ <action>Display generated content</action>
75
+ <ask> [a] Advanced Elicitation, [c] Continue, [p] Party-Mode, [y] YOLO the rest of this document only. WAIT for response. <if
76
+ response="a">
77
+ <action>Start the advanced elicitation workflow {project-root}/_.mdan/core/workflows/advanced-elicitation/workflow.xml</action>
78
+ </if>
79
+ <if
80
+ response="c">
81
+ <action>Continue to next step</action>
82
+ </if>
83
+ <if response="p">
84
+ <action>Start the party-mode workflow {project-root}/_.mdan/core/workflows/party-mode/workflow.md</action>
85
+ </if>
86
+ <if
87
+ response="y">
88
+ <action>Enter #yolo mode for the rest of the workflow</action>
89
+ </if>
90
+ </ask>
91
+ </if>
92
+ </substep>
93
+
94
+ <substep n="2d" title="Step Completion">
95
+ <check>If no special tags and NOT #yolo:</check>
96
+ <ask>Continue to next step? (y/n/edit)</ask>
97
+ </substep>
98
+ </step>
99
+
100
+ <step n="3" title="Completion">
101
+ <check>Confirm document saved to output path</check>
102
+ <action>Report workflow completion</action>
103
+ </step>
104
+ </flow>
105
+
106
+ <execution-modes>
107
+ <mode name="normal">Full user interaction and confirmation of EVERY step at EVERY template output - NO EXCEPTIONS except yolo MODE</mode>
108
+ <mode name="yolo">Skip all confirmations and elicitation, minimize prompts and try to produce all of the workflow automatically by
109
+ simulating the remaining discussions with an simulated expert user</mode>
110
+ </execution-modes>
111
+
112
+ <supported-tags desc="Instructions can use these tags">
113
+ <structural>
114
+ <tag>step n="X" goal="..." - Define step with number and goal</tag>
115
+ <tag>optional="true" - Step can be skipped</tag>
116
+ <tag>if="condition" - Conditional execution</tag>
117
+ <tag>for-each="collection" - Iterate over items</tag>
118
+ <tag>repeat="n" - Repeat n times</tag>
119
+ </structural>
120
+ <execution>
121
+ <tag>action - Required action to perform</tag>
122
+ <tag>action if="condition" - Single conditional action (inline, no closing tag needed)</tag>
123
+ <tag>check if="condition"&gt;...&lt;/check&gt; - Conditional block wrapping multiple items (closing tag required)</tag>
124
+ <tag>ask - Get user input (ALWAYS wait for response before continuing)</tag>
125
+ <tag>goto - Jump to another step</tag>
126
+ <tag>invoke-workflow - Call another workflow</tag>
127
+ <tag>invoke-task - Call a task</tag>
128
+ <tag>invoke-protocol - Execute a reusable protocol (e.g., discover_inputs)</tag>
129
+ </execution>
130
+ <output>
131
+ <tag>template-output - Save content checkpoint</tag>
132
+ <tag>critical - Cannot be skipped</tag>
133
+ <tag>example - Show example output</tag>
134
+ </output>
135
+ </supported-tags>
136
+
137
+ <protocols desc="Reusable workflow protocols that can be invoked via invoke-protocol tag">
138
+ <protocol name="discover_inputs" desc="Smart file discovery and loading based on input_file_patterns">
139
+ <objective>Intelligently load project files (whole or sharded) based on workflow's input_file_patterns configuration</objective>
140
+
141
+ <critical>Only execute if workflow.yaml contains input_file_patterns section</critical>
142
+
143
+ <flow>
144
+ <step n="1" title="Parse Input File Patterns">
145
+ <action>Read input_file_patterns from loaded workflow.yaml</action>
146
+ <action>For each pattern group (prd, architecture, epics, etc.), note the load_strategy if present</action>
147
+ </step>
148
+
149
+ <step n="2" title="Load Files Using Smart Strategies">
150
+ <iterate>For each pattern in input_file_patterns:</iterate>
151
+
152
+ <substep n="2a" title="Try Sharded Documents First">
153
+ <check if="sharded pattern exists">
154
+ <action>Determine load_strategy from pattern config (defaults to FULL_LOAD if not specified)</action>
155
+
156
+ <strategy name="FULL_LOAD">
157
+ <desc>Load ALL files in sharded directory - used for PRD, Architecture, UX, brownfield docs</desc>
158
+ <action>Use glob pattern to find ALL .md files (e.g., "{output_folder}/*architecture*/*.md")</action>
159
+ <action>Load EVERY matching file completely</action>
160
+ <action>Concatenate content in logical order (index.md first if exists, then alphabetical)</action>
161
+ <action>Store in variable: {pattern_name_content}</action>
162
+ </strategy>
163
+
164
+ <strategy name="SELECTIVE_LOAD">
165
+ <desc>Load specific shard using template variable - example: used for epics with {{epic_num}}</desc>
166
+ <action>Check for template variables in sharded_single pattern (e.g., {{epic_num}})</action>
167
+ <action>If variable undefined, ask user for value OR infer from context</action>
168
+ <action>Resolve template to specific file path</action>
169
+ <action>Load that specific file</action>
170
+ <action>Store in variable: {pattern_name_content}</action>
171
+ </strategy>
172
+
173
+ <strategy name="INDEX_GUIDED">
174
+ <desc>Load index.md, analyze structure and description of each doc in the index, then intelligently load relevant docs</desc>
175
+ <mandate>DO NOT BE LAZY - use best judgment to load documents that might have relevant information, even if only a 5% chance</mandate>
176
+ <action>Load index.md from sharded directory</action>
177
+ <action>Parse table of contents, links, section headers</action>
178
+ <action>Analyze workflow's purpose and objective</action>
179
+ <action>Identify which linked/referenced documents are likely relevant</action>
180
+ <example>If workflow is about authentication and index shows "Auth Overview", "Payment Setup", "Deployment" → Load auth
181
+ docs, consider deployment docs, skip payment</example>
182
+ <action>Load all identified relevant documents</action>
183
+ <action>Store combined content in variable: {pattern_name_content}</action>
184
+ <note>When in doubt, LOAD IT - context is valuable, being thorough is better than missing critical info</note>
185
+ </strategy>
186
+ <action>Mark pattern as RESOLVED, skip to next pattern</action>
187
+ </check>
188
+ </substep>
189
+
190
+ <substep n="2b" title="Try Whole Document if No Sharded Found">
191
+ <check if="no sharded matches found OR no sharded pattern exists">
192
+ <action>Attempt glob match on 'whole' pattern (e.g., "{output_folder}/*prd*.md")</action>
193
+ <check if="matches found">
194
+ <action>Load ALL matching files completely (no offset/limit)</action>
195
+ <action>Store content in variable: {pattern_name_content} (e.g., {prd_content})</action>
196
+ <action>Mark pattern as RESOLVED, skip to next pattern</action>
197
+ </check>
198
+ </check>
199
+ </substep>
200
+
201
+ <substep n="2c" title="Handle Not Found">
202
+ <check if="no matches for sharded OR whole">
203
+ <action>Set {pattern_name_content} to empty string</action>
204
+ <action>Note in session: "No {pattern_name} files found" (not an error, just unavailable, offer use change to provide)</action>
205
+ </check>
206
+ </substep>
207
+ </step>
208
+
209
+ <step n="3" title="Report Discovery Results">
210
+ <action>List all loaded content variables with file counts</action>
211
+ <example>
212
+ ✓ Loaded {prd_content} from 5 sharded files: prd/index.md, prd/requirements.md, ...
213
+ ✓ Loaded {architecture_content} from 1 file: Architecture.md
214
+ ✓ Loaded {epics_content} from selective load: epics/epic-3.md
215
+ ○ No ux_design files found
216
+ </example>
217
+ <note>This gives workflow transparency into what context is available</note>
218
+ </step>
219
+ </flow>
220
+
221
+ </protocol>
222
+ </protocols>
223
+
224
+ <llm final="true">
225
+ <critical-rules>
226
+ • This is the complete workflow execution engine
227
+ • You MUST Follow instructions exactly as written
228
+ • The workflow execution engine is governed by: {project-root}/_.mdan/core/tasks/workflow.xml
229
+ • You MUST have already loaded and processed: {installed_path}/workflow.yaml
230
+ • This workflow uses INTENT-DRIVEN PLANNING - adapt organically to product type and context
231
+ • YOU ARE FACILITATING A CONVERSATION With a user to produce a final document step by step. The whole process is meant to be
232
+ collaborative helping the user flesh out their ideas. Do not rush or optimize and skip any section.
233
+ </critical-rules>
234
+ </llm>
235
+ </task>
@@ -0,0 +1,66 @@
1
+ {
2
+ "version": "1.0",
3
+ "mode": "auto",
4
+ "timestamp": "",
5
+ "project": {
6
+ "name": "",
7
+ "description": "",
8
+ "tech_stack": {
9
+ "language": "csharp",
10
+ "framework": "dotnet",
11
+ "ui": "blazor",
12
+ "database": "sqlserver",
13
+ "cloud": "azure"
14
+ }
15
+ },
16
+ "phases": {
17
+ "current": "LOAD",
18
+ "completed": [],
19
+ "status": {
20
+ "LOAD": "pending",
21
+ "DISCOVER": "pending",
22
+ "PLAN": "pending",
23
+ "ARCHITECT": "pending",
24
+ "IMPLEMENT": "pending",
25
+ "TEST": "pending",
26
+ "DEPLOY": "pending",
27
+ "DOC": "pending"
28
+ }
29
+ },
30
+ "context": {
31
+ "token_usage": {
32
+ "total": 0,
33
+ "limit": 128000,
34
+ "percentage": 0.0
35
+ },
36
+ "conversation_history": [],
37
+ "artifacts": {},
38
+ "decisions": []
39
+ },
40
+ "debates": [],
41
+ "errors": [],
42
+ "quality_gates": {
43
+ "LOAD": false,
44
+ "DISCOVER": false,
45
+ "PLAN": false,
46
+ "ARCHITECT": false,
47
+ "IMPLEMENT": false,
48
+ "TEST": false,
49
+ "DEPLOY": false,
50
+ "DOC": false
51
+ },
52
+ "configuration": {
53
+ "token_limit": 128000,
54
+ "save_threshold": 0.8,
55
+ "output_dir": "./mdan-auto-output",
56
+ "log_level": "INFO",
57
+ "fail_fast": true,
58
+ "debate_enabled": true
59
+ },
60
+ "metadata": {
61
+ "created_at": "",
62
+ "updated_at": "",
63
+ "save_count": 0,
64
+ "resume_count": 0
65
+ }
66
+ }