wizz-method 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +80 -0
- package/AGENTS.md +12 -0
- package/LICENSE +30 -0
- package/README.md +72 -0
- package/bmad-modules.yaml +77 -0
- package/build/artifacts/llms-full.txt +4049 -0
- package/build/artifacts/llms.txt +28 -0
- package/build/site/404.html +55 -0
- package/build/site/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.hwBsy0Mo.js +1 -0
- package/build/site/_astro/Search.astro_astro_type_script_index_0_lang.cjYDvRdi.js +1 -0
- package/build/site/_astro/TableOfContents.astro_astro_type_script_index_0_lang.FuRcXuRY.js +1 -0
- package/build/site/_astro/ec.0vx5m.js +3 -0
- package/build/site/_astro/ec.v4551.css +1 -0
- package/build/site/_astro/index.DdjI3lF_.css +1 -0
- package/build/site/_astro/page.B1D-nYk3.js +1 -0
- package/build/site/_astro/print.DNXP8c50.css +1 -0
- package/build/site/_astro/ui-core.D_Lfcn_I.js +2 -0
- package/build/site/cs/404/index.html +42 -0
- package/build/site/cs/explanation/advanced-elicitation/index.html +105 -0
- package/build/site/cs/explanation/adversarial-review/index.html +109 -0
- package/build/site/cs/explanation/analysis-phase/index.html +129 -0
- package/build/site/cs/explanation/brainstorming/index.html +92 -0
- package/build/site/cs/explanation/checkpoint-preview/index.html +121 -0
- package/build/site/cs/explanation/established-projects-faq/index.html +107 -0
- package/build/site/cs/explanation/forensic-investigation/index.html +167 -0
- package/build/site/cs/explanation/named-agents/index.html +187 -0
- package/build/site/cs/explanation/party-mode/index.html +101 -0
- package/build/site/cs/explanation/preventing-agent-conflicts/index.html +185 -0
- package/build/site/cs/explanation/project-context/index.html +198 -0
- package/build/site/cs/explanation/quick-dev/index.html +113 -0
- package/build/site/cs/explanation/web-bundles/index.html +178 -0
- package/build/site/cs/explanation/why-solutioning-matters/index.html +168 -0
- package/build/site/cs/how-to/customize-bmad/index.html +197 -0
- package/build/site/cs/how-to/established-projects/index.html +165 -0
- package/build/site/cs/how-to/expand-bmad-for-your-org/index.html +245 -0
- package/build/site/cs/how-to/get-answers-about-bmad/index.html +179 -0
- package/build/site/cs/how-to/install-bmad/index.html +124 -0
- package/build/site/cs/how-to/install-custom-modules/index.html +197 -0
- package/build/site/cs/how-to/non-interactive-installation/index.html +255 -0
- package/build/site/cs/how-to/project-context/index.html +138 -0
- package/build/site/cs/how-to/quick-fixes/index.html +122 -0
- package/build/site/cs/how-to/shard-large-documents/index.html +103 -0
- package/build/site/cs/how-to/upgrade-to-v6/index.html +185 -0
- package/build/site/cs/how-to/use-web-bundles/index.html +99 -0
- package/build/site/cs/index.html +129 -0
- package/build/site/cs/reference/agents/index.html +173 -0
- package/build/site/cs/reference/commands/index.html +250 -0
- package/build/site/cs/reference/core-tools/index.html +337 -0
- package/build/site/cs/reference/modules/index.html +132 -0
- package/build/site/cs/reference/testing/index.html +218 -0
- package/build/site/cs/reference/workflow-map/index.html +240 -0
- package/build/site/cs/roadmap/index.html +77 -0
- package/build/site/cs/tutorials/getting-started/index.html +382 -0
- package/build/site/diagrams/checkpoint-preview-diagram-fr.webp +0 -0
- package/build/site/diagrams/checkpoint-preview-diagram.png +0 -0
- package/build/site/diagrams/quick-dev-diagram-fr.webp +0 -0
- package/build/site/diagrams/quick-dev-diagram.png +0 -0
- package/build/site/explanation/advanced-elicitation/index.html +105 -0
- package/build/site/explanation/adversarial-review/index.html +109 -0
- package/build/site/explanation/analysis-phase/index.html +129 -0
- package/build/site/explanation/brainstorming/index.html +92 -0
- package/build/site/explanation/checkpoint-preview/index.html +121 -0
- package/build/site/explanation/established-projects-faq/index.html +107 -0
- package/build/site/explanation/forensic-investigation/index.html +167 -0
- package/build/site/explanation/named-agents/index.html +187 -0
- package/build/site/explanation/party-mode/index.html +256 -0
- package/build/site/explanation/preventing-agent-conflicts/index.html +185 -0
- package/build/site/explanation/project-context/index.html +198 -0
- package/build/site/explanation/quick-dev/index.html +113 -0
- package/build/site/explanation/web-bundles/index.html +178 -0
- package/build/site/explanation/why-solutioning-matters/index.html +168 -0
- package/build/site/fr/404/index.html +42 -0
- package/build/site/fr/explanation/advanced-elicitation/index.html +105 -0
- package/build/site/fr/explanation/adversarial-review/index.html +126 -0
- package/build/site/fr/explanation/analysis-phase/index.html +137 -0
- package/build/site/fr/explanation/brainstorming/index.html +92 -0
- package/build/site/fr/explanation/checkpoint-preview/index.html +121 -0
- package/build/site/fr/explanation/established-projects-faq/index.html +107 -0
- package/build/site/fr/explanation/forensic-investigation/index.html +194 -0
- package/build/site/fr/explanation/named-agents/index.html +187 -0
- package/build/site/fr/explanation/party-mode/index.html +112 -0
- package/build/site/fr/explanation/preventing-agent-conflicts/index.html +196 -0
- package/build/site/fr/explanation/project-context/index.html +198 -0
- package/build/site/fr/explanation/quick-dev/index.html +127 -0
- package/build/site/fr/explanation/web-bundles/index.html +198 -0
- package/build/site/fr/explanation/why-solutioning-matters/index.html +191 -0
- package/build/site/fr/how-to/customize-bmad/index.html +277 -0
- package/build/site/fr/how-to/established-projects/index.html +176 -0
- package/build/site/fr/how-to/expand-bmad-for-your-org/index.html +245 -0
- package/build/site/fr/how-to/get-answers-about-bmad/index.html +129 -0
- package/build/site/fr/how-to/install-bmad/index.html +330 -0
- package/build/site/fr/how-to/install-custom-modules/index.html +197 -0
- package/build/site/fr/how-to/non-interactive-installation/index.html +73 -0
- package/build/site/fr/how-to/project-context/index.html +138 -0
- package/build/site/fr/how-to/quick-fixes/index.html +130 -0
- package/build/site/fr/how-to/shard-large-documents/index.html +103 -0
- package/build/site/fr/how-to/upgrade-to-v6/index.html +202 -0
- package/build/site/fr/how-to/use-web-bundles/index.html +99 -0
- package/build/site/fr/index.html +144 -0
- package/build/site/fr/reference/agents/index.html +179 -0
- package/build/site/fr/reference/commands/index.html +264 -0
- package/build/site/fr/reference/core-tools/index.html +392 -0
- package/build/site/fr/reference/modules/index.html +146 -0
- package/build/site/fr/reference/testing/index.html +229 -0
- package/build/site/fr/reference/workflow-map/index.html +282 -0
- package/build/site/fr/roadmap/index.html +77 -0
- package/build/site/fr/tutorials/getting-started/index.html +406 -0
- package/build/site/how-to/customize-bmad/index.html +277 -0
- package/build/site/how-to/established-projects/index.html +165 -0
- package/build/site/how-to/expand-bmad-for-your-org/index.html +245 -0
- package/build/site/how-to/get-answers-about-bmad/index.html +129 -0
- package/build/site/how-to/install-bmad/index.html +330 -0
- package/build/site/how-to/install-custom-modules/index.html +197 -0
- package/build/site/how-to/non-interactive-installation/index.html +73 -0
- package/build/site/how-to/project-context/index.html +141 -0
- package/build/site/how-to/quick-fixes/index.html +122 -0
- package/build/site/how-to/shard-large-documents/index.html +103 -0
- package/build/site/how-to/upgrade-to-v6/index.html +185 -0
- package/build/site/how-to/use-web-bundles/index.html +99 -0
- package/build/site/img/bmad-dark.png +0 -0
- package/build/site/img/bmad-light.png +0 -0
- package/build/site/index.html +128 -0
- package/build/site/llms-full.txt +4049 -0
- package/build/site/llms.txt +28 -0
- package/build/site/pagefind/fragment/cs-cz_178b946.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_19e1744.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_1b81518.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_24fd94a.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_25c5ff1.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_2a7d8c4.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_2b14d1f.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_34d3775.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_366f93d.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_4761b65.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_4d1a40a.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_57dfabb.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_5c68f33.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_5efaba9.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_5f63a83.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_73bbdce.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_7b6af37.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_7d51fe5.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_7db5922.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_83e7116.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_83fec4e.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_84972ee.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_94e9289.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_a0a122c.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_a3e7fad.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_af43e66.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_b4f4e0a.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_b51b8b3.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_ba705d5.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_c315625.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_cf5138a.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_df8bdfe.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_e1b56f8.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_e3e33bb.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_f9d07b3.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_026af96.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_132ea1f.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_15ee460.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_171773c.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_1a7ec42.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_1bb5ebb.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_229434b.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_22b33a0.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_38efcf3.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_3d17cef.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_426a8fd.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_446b27a.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_582ecad.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_5d6b1f1.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_6465dfb.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_66f3f7a.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_68872f8.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_6e9deef.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_70a6a7e.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_73f0b1e.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_768fd99.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_7e52baa.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_8068cdc.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_9385c94.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_95b9c04.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_9a95e82.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_a66c4ef.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_ac6318c.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_bba8f66.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_d9f7193.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_e0e52b1.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_ece4cbe.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_ed6969c.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_f12187d.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_f643df1.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_10fdc25.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_132e2e0.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_1529d31.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_1531e2c.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_1d51fb7.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_27d0aaf.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_583aea8.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_5c4f14f.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_654bb96.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_65e37ae.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_6898afa.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_68d0a0b.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_6ce4bc1.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_7ddd126.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_7f50a2e.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_8d2df1b.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_9b8d33d.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_9c7f851.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_9cf6892.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_a512e53.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_a7ad3f6.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_afeac81.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_b364826.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_bdb3e1e.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_c4884c3.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_c54c827.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_ca664c2.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_ce3562d.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_d086476.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_d0b4e62.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_df4c57f.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_e1c2fa8.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_eaa1363.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_f456c69.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_fe8d783.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_1e5b1da.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_3268948.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_37f0bf6.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_485232c.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_4d3bd13.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_4e578d2.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_4ed2533.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_533743c.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_5ffd258.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_6bfed03.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_6f2ed6d.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_71aa305.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_7577c2c.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_7883435.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_7f2e496.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_7fce614.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_86274a6.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_8c4fd62.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_a06c773.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_a2e535b.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_a4b9dbc.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_b2d8e01.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_b631cf6.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_c970ebb.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_d229f2a.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_d685e88.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_dab2c52.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_df5a829.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_dfcf280.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_e8ec8cf.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_e9f3439.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_f0bfe83.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_f5462f7.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_fcc9bb7.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_fd55264.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_ffd39df.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_119c5bb.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_198e8ce.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_19b87a8.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_1edc3a5.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_36ae67a.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_37ab313.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_3b56778.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_5735cd4.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_6110769.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_6d66d9e.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_731b3f5.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_82885ff.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_8be7aac.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_8c3fa9e.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_8f452f7.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_96ccc61.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_9f29932.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_a24d786.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_a598178.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_a603f17.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_a9cffcf.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_c1bebbd.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_c38cf84.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_c42a851.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_ce57c6e.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_d4b5cd5.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_da40e6b.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_da777ec.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_de145f9.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_e376bf7.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_e663978.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_e97a13b.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_f13873d.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_f25fad4.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_f7edf48.pf_fragment +0 -0
- package/build/site/pagefind/index/cs-cz_24147b6.pf_index +0 -0
- package/build/site/pagefind/index/cs-cz_82fc657.pf_index +0 -0
- package/build/site/pagefind/index/cs-cz_8f6a83c.pf_index +0 -0
- package/build/site/pagefind/index/en_432f933.pf_index +0 -0
- package/build/site/pagefind/index/en_70c744a.pf_index +0 -0
- package/build/site/pagefind/index/en_fd84991.pf_index +0 -0
- package/build/site/pagefind/index/fr-fr_7275484.pf_index +0 -0
- package/build/site/pagefind/index/fr-fr_8096dd3.pf_index +0 -0
- package/build/site/pagefind/index/fr-fr_b34df12.pf_index +0 -0
- package/build/site/pagefind/index/fr-fr_e6ad665.pf_index +0 -0
- package/build/site/pagefind/index/vi-vn_129cf7e.pf_index +0 -0
- package/build/site/pagefind/index/vi-vn_7f54472.pf_index +0 -0
- package/build/site/pagefind/index/vi-vn_c1f31ce.pf_index +0 -0
- package/build/site/pagefind/index/vi-vn_c56f634.pf_index +0 -0
- package/build/site/pagefind/index/zh-cn_5ed0486.pf_index +0 -0
- package/build/site/pagefind/index/zh-cn_ad4d724.pf_index +0 -0
- package/build/site/pagefind/index/zh-cn_bc9f7b6.pf_index +0 -0
- package/build/site/pagefind/pagefind-entry.json +1 -0
- package/build/site/pagefind/pagefind-highlight.js +1064 -0
- package/build/site/pagefind/pagefind-modular-ui.css +214 -0
- package/build/site/pagefind/pagefind-modular-ui.js +8 -0
- package/build/site/pagefind/pagefind-ui.css +1 -0
- package/build/site/pagefind/pagefind-ui.js +2 -0
- package/build/site/pagefind/pagefind.cs-cz_cd39a8505eabf.pf_meta +0 -0
- package/build/site/pagefind/pagefind.en_8ae84a1b9c.pf_meta +0 -0
- package/build/site/pagefind/pagefind.fr-fr_20fca6f342d9a.pf_meta +0 -0
- package/build/site/pagefind/pagefind.js +6 -0
- package/build/site/pagefind/pagefind.vi-vn_6a45d08c2bbc8.pf_meta +0 -0
- package/build/site/pagefind/pagefind.zh-cn_ae911ac338eae.pf_meta +0 -0
- package/build/site/pagefind/wasm.en.pagefind +0 -0
- package/build/site/pagefind/wasm.fr-fr.pagefind +0 -0
- package/build/site/pagefind/wasm.unknown.pagefind +0 -0
- package/build/site/reference/agents/index.html +168 -0
- package/build/site/reference/commands/index.html +254 -0
- package/build/site/reference/core-tools/index.html +384 -0
- package/build/site/reference/modules/index.html +132 -0
- package/build/site/reference/testing/index.html +218 -0
- package/build/site/reference/workflow-map/index.html +266 -0
- package/build/site/roadmap/index.html +77 -0
- package/build/site/robots.txt +37 -0
- package/build/site/sitemap-0.xml +1 -0
- package/build/site/sitemap-index.xml +1 -0
- package/build/site/tutorials/getting-started/index.html +386 -0
- package/build/site/vi-vn/404/index.html +42 -0
- package/build/site/vi-vn/bmad-developer-guide/index.html +794 -0
- package/build/site/vi-vn/explanation/advanced-elicitation/index.html +105 -0
- package/build/site/vi-vn/explanation/adversarial-review/index.html +109 -0
- package/build/site/vi-vn/explanation/analysis-phase/index.html +129 -0
- package/build/site/vi-vn/explanation/brainstorming/index.html +92 -0
- package/build/site/vi-vn/explanation/checkpoint-preview/index.html +121 -0
- package/build/site/vi-vn/explanation/established-projects-faq/index.html +107 -0
- package/build/site/vi-vn/explanation/forensic-investigation/index.html +167 -0
- package/build/site/vi-vn/explanation/named-agents/index.html +187 -0
- package/build/site/vi-vn/explanation/party-mode/index.html +101 -0
- package/build/site/vi-vn/explanation/preventing-agent-conflicts/index.html +185 -0
- package/build/site/vi-vn/explanation/project-context/index.html +198 -0
- package/build/site/vi-vn/explanation/quick-dev/index.html +113 -0
- package/build/site/vi-vn/explanation/web-bundles/index.html +178 -0
- package/build/site/vi-vn/explanation/why-solutioning-matters/index.html +168 -0
- package/build/site/vi-vn/how-to/customize-bmad/index.html +277 -0
- package/build/site/vi-vn/how-to/established-projects/index.html +165 -0
- package/build/site/vi-vn/how-to/expand-bmad-for-your-org/index.html +228 -0
- package/build/site/vi-vn/how-to/get-answers-about-bmad/index.html +129 -0
- package/build/site/vi-vn/how-to/install-bmad/index.html +124 -0
- package/build/site/vi-vn/how-to/install-custom-modules/index.html +197 -0
- package/build/site/vi-vn/how-to/non-interactive-installation/index.html +300 -0
- package/build/site/vi-vn/how-to/project-context/index.html +138 -0
- package/build/site/vi-vn/how-to/quick-fixes/index.html +122 -0
- package/build/site/vi-vn/how-to/shard-large-documents/index.html +103 -0
- package/build/site/vi-vn/how-to/upgrade-to-v6/index.html +185 -0
- package/build/site/vi-vn/how-to/use-web-bundles/index.html +99 -0
- package/build/site/vi-vn/index.html +129 -0
- package/build/site/vi-vn/reference/agents/index.html +173 -0
- package/build/site/vi-vn/reference/commands/index.html +250 -0
- package/build/site/vi-vn/reference/core-tools/index.html +337 -0
- package/build/site/vi-vn/reference/modules/index.html +132 -0
- package/build/site/vi-vn/reference/testing/index.html +218 -0
- package/build/site/vi-vn/reference/workflow-map/index.html +240 -0
- package/build/site/vi-vn/roadmap/index.html +77 -0
- package/build/site/vi-vn/tutorials/getting-started/index.html +382 -0
- package/build/site/wizz-icon-orange.svg +7 -0
- package/build/site/workflow-map-diagram-fr.html +375 -0
- package/build/site/workflow-map-diagram.html +375 -0
- package/build/site/zh-cn/404/index.html +42 -0
- package/build/site/zh-cn/explanation/advanced-elicitation/index.html +142 -0
- package/build/site/zh-cn/explanation/adversarial-review/index.html +132 -0
- package/build/site/zh-cn/explanation/analysis-phase/index.html +129 -0
- package/build/site/zh-cn/explanation/brainstorming/index.html +147 -0
- package/build/site/zh-cn/explanation/checkpoint-preview/index.html +121 -0
- package/build/site/zh-cn/explanation/established-projects-faq/index.html +122 -0
- package/build/site/zh-cn/explanation/forensic-investigation/index.html +167 -0
- package/build/site/zh-cn/explanation/named-agents/index.html +187 -0
- package/build/site/zh-cn/explanation/party-mode/index.html +144 -0
- package/build/site/zh-cn/explanation/preventing-agent-conflicts/index.html +191 -0
- package/build/site/zh-cn/explanation/project-context/index.html +153 -0
- package/build/site/zh-cn/explanation/quick-dev/index.html +139 -0
- package/build/site/zh-cn/explanation/web-bundles/index.html +178 -0
- package/build/site/zh-cn/explanation/why-solutioning-matters/index.html +175 -0
- package/build/site/zh-cn/how-to/customize-bmad/index.html +202 -0
- package/build/site/zh-cn/how-to/established-projects/index.html +166 -0
- package/build/site/zh-cn/how-to/expand-bmad-for-your-org/index.html +223 -0
- package/build/site/zh-cn/how-to/get-answers-about-bmad/index.html +198 -0
- package/build/site/zh-cn/how-to/install-bmad/index.html +126 -0
- package/build/site/zh-cn/how-to/install-custom-modules/index.html +197 -0
- package/build/site/zh-cn/how-to/non-interactive-installation/index.html +254 -0
- package/build/site/zh-cn/how-to/project-context/index.html +143 -0
- package/build/site/zh-cn/how-to/quick-fixes/index.html +122 -0
- package/build/site/zh-cn/how-to/shard-large-documents/index.html +110 -0
- package/build/site/zh-cn/how-to/upgrade-to-v6/index.html +198 -0
- package/build/site/zh-cn/how-to/use-web-bundles/index.html +99 -0
- package/build/site/zh-cn/index.html +129 -0
- package/build/site/zh-cn/reference/agents/index.html +178 -0
- package/build/site/zh-cn/reference/commands/index.html +245 -0
- package/build/site/zh-cn/reference/core-tools/index.html +313 -0
- package/build/site/zh-cn/reference/modules/index.html +181 -0
- package/build/site/zh-cn/reference/testing/index.html +226 -0
- package/build/site/zh-cn/reference/workflow-map/index.html +238 -0
- package/build/site/zh-cn/roadmap/index.html +77 -0
- package/build/site/zh-cn/tutorials/getting-started/index.html +381 -0
- package/evals/bmm-skills/bmad-product-brief/evals.json +237 -0
- package/evals/bmm-skills/bmad-product-brief/files/branfield-memo.md +46 -0
- package/evals/bmm-skills/bmad-product-brief/files/forkbird-brief/addendum.md +40 -0
- package/evals/bmm-skills/bmad-product-brief/files/forkbird-brief/brief.md +56 -0
- package/evals/bmm-skills/bmad-product-brief/files/forkbird-brief/decision-log.md +27 -0
- package/evals/bmm-skills/bmad-product-brief/files/meridian-mobility-report.md +116 -0
- package/evals/bmm-skills/bmad-product-brief/files/mossridge-brief/addendum.md +41 -0
- package/evals/bmm-skills/bmad-product-brief/files/mossridge-brief/brief.md +57 -0
- package/evals/bmm-skills/bmad-product-brief/files/mossridge-brief/decision-log.md +29 -0
- package/evals/bmm-skills/bmad-product-brief/files/pantry-bridge-interviews.md +90 -0
- package/evals/bmm-skills/bmad-product-brief/files/q2-brainstorm.md +101 -0
- package/evals/bmm-skills/bmad-product-brief/triggers.json +18 -0
- package/package.json +114 -0
- package/removals.txt +62 -0
- package/src/bmm-skills/1-analysis/bmad-agent-analyst/SKILL.md +76 -0
- package/src/bmm-skills/1-analysis/bmad-agent-analyst/customize.toml +90 -0
- package/src/bmm-skills/1-analysis/bmad-agent-tech-writer/SKILL.md +76 -0
- package/src/bmm-skills/1-analysis/bmad-agent-tech-writer/customize.toml +81 -0
- package/src/bmm-skills/1-analysis/bmad-agent-tech-writer/explain-concept.md +20 -0
- package/src/bmm-skills/1-analysis/bmad-agent-tech-writer/mermaid-gen.md +20 -0
- package/src/bmm-skills/1-analysis/bmad-agent-tech-writer/validate-doc.md +19 -0
- package/src/bmm-skills/1-analysis/bmad-agent-tech-writer/write-document.md +20 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/SKILL.md +62 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/checklist.md +245 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/customize.toml +41 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/documentation-requirements.csv +12 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/instructions.md +128 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/templates/deep-dive-template.md +345 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/templates/index-template.md +169 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/templates/project-overview-template.md +103 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/templates/project-scan-report-schema.json +160 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/templates/source-tree-template.md +135 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/workflows/deep-dive-instructions.md +300 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/workflows/deep-dive-workflow.md +34 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/workflows/full-scan-instructions.md +1108 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/workflows/full-scan-workflow.md +34 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/SKILL.md +135 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/agents/artifact-analyzer.md +60 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/agents/web-researcher.md +49 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/assets/prfaq-template.md +62 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/bmad-manifest.json +16 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/customize.toml +41 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/references/customer-faq.md +55 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/references/internal-faq.md +51 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/references/press-release.md +60 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/references/verdict.md +83 -0
- package/src/bmm-skills/1-analysis/bmad-product-brief/SKILL.md +91 -0
- package/src/bmm-skills/1-analysis/bmad-product-brief/assets/brief-template.md +41 -0
- package/src/bmm-skills/1-analysis/bmad-product-brief/customize.toml +99 -0
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/SKILL.md +96 -0
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/customize.toml +41 -0
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-01-init.md +137 -0
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-02-domain-analysis.md +229 -0
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-03-competitive-landscape.md +238 -0
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-04-regulatory-focus.md +206 -0
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-05-technical-trends.md +234 -0
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-06-research-synthesis.md +450 -0
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/research.template.md +29 -0
- package/src/bmm-skills/1-analysis/research/bmad-market-research/SKILL.md +96 -0
- package/src/bmm-skills/1-analysis/research/bmad-market-research/customize.toml +41 -0
- package/src/bmm-skills/1-analysis/research/bmad-market-research/research.template.md +29 -0
- package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-01-init.md +184 -0
- package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-02-customer-behavior.md +239 -0
- package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-03-customer-pain-points.md +251 -0
- package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-04-customer-decisions.md +261 -0
- package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-05-competitive-analysis.md +173 -0
- package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-06-research-completion.md +484 -0
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/SKILL.md +96 -0
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/customize.toml +41 -0
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/research.template.md +29 -0
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-01-init.md +137 -0
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-02-technical-overview.md +239 -0
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-03-integration-patterns.md +248 -0
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-04-architectural-patterns.md +202 -0
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-05-implementation-research.md +233 -0
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-06-research-synthesis.md +493 -0
- package/src/bmm-skills/2-plan-workflows/bmad-agent-pm/SKILL.md +76 -0
- package/src/bmm-skills/2-plan-workflows/bmad-agent-pm/customize.toml +75 -0
- package/src/bmm-skills/2-plan-workflows/bmad-agent-ux-designer/SKILL.md +76 -0
- package/src/bmm-skills/2-plan-workflows/bmad-agent-ux-designer/customize.toml +60 -0
- package/src/bmm-skills/2-plan-workflows/bmad-create-prd/SKILL.md +30 -0
- package/src/bmm-skills/2-plan-workflows/bmad-create-prd/customize.toml +41 -0
- package/src/bmm-skills/2-plan-workflows/bmad-edit-prd/SKILL.md +30 -0
- package/src/bmm-skills/2-plan-workflows/bmad-edit-prd/customize.toml +42 -0
- package/src/bmm-skills/2-plan-workflows/bmad-prd/SKILL.md +92 -0
- package/src/bmm-skills/2-plan-workflows/bmad-prd/assets/headless-schemas.md +76 -0
- package/src/bmm-skills/2-plan-workflows/bmad-prd/assets/prd-template.md +165 -0
- package/src/bmm-skills/2-plan-workflows/bmad-prd/assets/prd-validation-checklist.md +135 -0
- package/src/bmm-skills/2-plan-workflows/bmad-prd/assets/validation-report-template.html +325 -0
- package/src/bmm-skills/2-plan-workflows/bmad-prd/customize.toml +147 -0
- package/src/bmm-skills/2-plan-workflows/bmad-prd/references/headless.md +39 -0
- package/src/bmm-skills/2-plan-workflows/bmad-prd/references/validate.md +97 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/SKILL.md +90 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/color-themes.md +9 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/design-directions.md +9 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/design-example-editorial.md +158 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/design-example-mobile.md +93 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/design-example-shadcn.md +109 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/excalidraw-wireframe.md +19 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/experience-example-mobile.md +112 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/experience-example-shadcn.md +133 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/headless-schemas.md +84 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/key-screens.md +29 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/validation-report-template.html +319 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/customize.toml +100 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/references/creative-tools.md +19 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/references/design-md-spec.md +50 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/references/headless.md +37 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/references/validate.md +115 -0
- package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/SKILL.md +30 -0
- package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/customize.toml +42 -0
- package/src/bmm-skills/3-solutioning/bmad-agent-architect/SKILL.md +76 -0
- package/src/bmm-skills/3-solutioning/bmad-agent-architect/customize.toml +65 -0
- package/src/bmm-skills/3-solutioning/bmad-architecture/SKILL.md +85 -0
- package/src/bmm-skills/3-solutioning/bmad-architecture/assets/spine-template.md +79 -0
- package/src/bmm-skills/3-solutioning/bmad-architecture/customize.toml +100 -0
- package/src/bmm-skills/3-solutioning/bmad-architecture/references/headless.md +26 -0
- package/src/bmm-skills/3-solutioning/bmad-architecture/references/reviewer-gate.md +13 -0
- package/src/bmm-skills/3-solutioning/bmad-architecture/scripts/lint_spine.py +257 -0
- package/src/bmm-skills/3-solutioning/bmad-architecture/scripts/tests/test_lint_spine.py +270 -0
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/SKILL.md +91 -0
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/customize.toml +41 -0
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/steps/step-01-document-discovery.md +179 -0
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/steps/step-02-prd-analysis.md +168 -0
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +169 -0
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/steps/step-04-ux-alignment.md +129 -0
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/steps/step-05-epic-quality-review.md +241 -0
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/steps/step-06-final-assessment.md +132 -0
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/templates/readiness-report-template.md +4 -0
- package/src/bmm-skills/3-solutioning/bmad-create-architecture/SKILL.md +30 -0
- package/src/bmm-skills/3-solutioning/bmad-create-architecture/customize.toml +41 -0
- package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/SKILL.md +93 -0
- package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/customize.toml +41 -0
- package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md +263 -0
- package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/steps/step-02-design-epics.md +242 -0
- package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/steps/step-03-create-stories.md +255 -0
- package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/steps/step-04-final-validation.md +143 -0
- package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/templates/epics-template.md +61 -0
- package/src/bmm-skills/3-solutioning/bmad-generate-project-context/SKILL.md +81 -0
- package/src/bmm-skills/3-solutioning/bmad-generate-project-context/customize.toml +41 -0
- package/src/bmm-skills/3-solutioning/bmad-generate-project-context/project-context-template.md +21 -0
- package/src/bmm-skills/3-solutioning/bmad-generate-project-context/steps/step-01-discover.md +186 -0
- package/src/bmm-skills/3-solutioning/bmad-generate-project-context/steps/step-02-generate.md +321 -0
- package/src/bmm-skills/3-solutioning/bmad-generate-project-context/steps/step-03-complete.md +284 -0
- package/src/bmm-skills/4-implementation/bmad-agent-dev/SKILL.md +76 -0
- package/src/bmm-skills/4-implementation/bmad-agent-dev/customize.toml +95 -0
- package/src/bmm-skills/4-implementation/bmad-checkpoint-preview/SKILL.md +68 -0
- package/src/bmm-skills/4-implementation/bmad-checkpoint-preview/customize.toml +41 -0
- package/src/bmm-skills/4-implementation/bmad-checkpoint-preview/generate-trail.md +38 -0
- package/src/bmm-skills/4-implementation/bmad-checkpoint-preview/step-01-orientation.md +105 -0
- package/src/bmm-skills/4-implementation/bmad-checkpoint-preview/step-02-walkthrough.md +89 -0
- package/src/bmm-skills/4-implementation/bmad-checkpoint-preview/step-03-detail-pass.md +106 -0
- package/src/bmm-skills/4-implementation/bmad-checkpoint-preview/step-04-testing.md +74 -0
- package/src/bmm-skills/4-implementation/bmad-checkpoint-preview/step-05-wrapup.md +30 -0
- package/src/bmm-skills/4-implementation/bmad-code-review/SKILL.md +93 -0
- package/src/bmm-skills/4-implementation/bmad-code-review/customize.toml +41 -0
- package/src/bmm-skills/4-implementation/bmad-code-review/steps/step-01-gather-context.md +85 -0
- package/src/bmm-skills/4-implementation/bmad-code-review/steps/step-02-review.md +35 -0
- package/src/bmm-skills/4-implementation/bmad-code-review/steps/step-03-triage.md +49 -0
- package/src/bmm-skills/4-implementation/bmad-code-review/steps/step-04-present.md +132 -0
- package/src/bmm-skills/4-implementation/bmad-correct-course/SKILL.md +301 -0
- package/src/bmm-skills/4-implementation/bmad-correct-course/checklist.md +288 -0
- package/src/bmm-skills/4-implementation/bmad-correct-course/customize.toml +41 -0
- package/src/bmm-skills/4-implementation/bmad-create-story/SKILL.md +432 -0
- package/src/bmm-skills/4-implementation/bmad-create-story/checklist.md +357 -0
- package/src/bmm-skills/4-implementation/bmad-create-story/customize.toml +41 -0
- package/src/bmm-skills/4-implementation/bmad-create-story/discover-inputs.md +88 -0
- package/src/bmm-skills/4-implementation/bmad-create-story/template.md +49 -0
- package/src/bmm-skills/4-implementation/bmad-dev-story/SKILL.md +500 -0
- package/src/bmm-skills/4-implementation/bmad-dev-story/checklist.md +80 -0
- package/src/bmm-skills/4-implementation/bmad-dev-story/customize.toml +41 -0
- package/src/bmm-skills/4-implementation/bmad-investigate/SKILL.md +196 -0
- package/src/bmm-skills/4-implementation/bmad-investigate/customize.toml +62 -0
- package/src/bmm-skills/4-implementation/bmad-investigate/references/case-file-template.md +127 -0
- package/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/SKILL.md +176 -0
- package/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/checklist.md +33 -0
- package/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/customize.toml +41 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/SKILL.md +114 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/compile-epic-context.md +62 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/customize.toml +41 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/spec-template.md +88 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-01-clarify-and-route.md +100 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-02-plan.md +47 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-03-implement.md +41 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-04-review.md +50 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-05-present.md +78 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-oneshot.md +71 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/sync-sprint-status.md +19 -0
- package/src/bmm-skills/4-implementation/bmad-retrospective/SKILL.md +1527 -0
- package/src/bmm-skills/4-implementation/bmad-retrospective/customize.toml +41 -0
- package/src/bmm-skills/4-implementation/bmad-sprint-planning/SKILL.md +319 -0
- package/src/bmm-skills/4-implementation/bmad-sprint-planning/checklist.md +34 -0
- package/src/bmm-skills/4-implementation/bmad-sprint-planning/customize.toml +41 -0
- package/src/bmm-skills/4-implementation/bmad-sprint-planning/sprint-status-template.yaml +69 -0
- package/src/bmm-skills/4-implementation/bmad-sprint-status/SKILL.md +311 -0
- package/src/bmm-skills/4-implementation/bmad-sprint-status/customize.toml +41 -0
- package/src/bmm-skills/module-help.csv +32 -0
- package/src/bmm-skills/module.yaml +95 -0
- package/src/core-skills/bmad-advanced-elicitation/SKILL.md +142 -0
- package/src/core-skills/bmad-advanced-elicitation/methods.csv +70 -0
- package/src/core-skills/bmad-brainstorming/SKILL.md +82 -0
- package/src/core-skills/bmad-brainstorming/analysis/catalog-analysis.md +239 -0
- package/src/core-skills/bmad-brainstorming/analysis/method-matrix.csv +109 -0
- package/src/core-skills/bmad-brainstorming/assets/brain-icons.json +166 -0
- package/src/core-skills/bmad-brainstorming/assets/brain-methods.csv +109 -0
- package/src/core-skills/bmad-brainstorming/assets/brain-selector.html +326 -0
- package/src/core-skills/bmad-brainstorming/customize.toml +84 -0
- package/src/core-skills/bmad-brainstorming/references/converge.md +24 -0
- package/src/core-skills/bmad-brainstorming/references/finalize.md +26 -0
- package/src/core-skills/bmad-brainstorming/references/headless.md +54 -0
- package/src/core-skills/bmad-brainstorming/references/in-chat-techniques.md +18 -0
- package/src/core-skills/bmad-brainstorming/references/mode-autonomous.md +10 -0
- package/src/core-skills/bmad-brainstorming/references/mode-facilitator.md +11 -0
- package/src/core-skills/bmad-brainstorming/references/mode-partner.md +16 -0
- package/src/core-skills/bmad-brainstorming/references/resume.md +5 -0
- package/src/core-skills/bmad-brainstorming/scripts/brain.py +740 -0
- package/src/core-skills/bmad-brainstorming/scripts/memlog.py +202 -0
- package/src/core-skills/bmad-brainstorming/scripts/tests/test_brain.py +217 -0
- package/src/core-skills/bmad-brainstorming/scripts/tests/test_memlog.py +265 -0
- package/src/core-skills/bmad-customize/SKILL.md +111 -0
- package/src/core-skills/bmad-customize/scripts/list_customizable_skills.py +231 -0
- package/src/core-skills/bmad-customize/scripts/tests/test_list_customizable_skills.py +249 -0
- package/src/core-skills/bmad-editorial-review-prose/SKILL.md +86 -0
- package/src/core-skills/bmad-editorial-review-structure/SKILL.md +179 -0
- package/src/core-skills/bmad-help/SKILL.md +75 -0
- package/src/core-skills/bmad-index-docs/SKILL.md +66 -0
- package/src/core-skills/bmad-party-mode/SKILL.md +77 -0
- package/src/core-skills/bmad-party-mode/customize.toml +150 -0
- package/src/core-skills/bmad-party-mode/references/create-party.md +65 -0
- package/src/core-skills/bmad-party-mode/references/mode-agent-team.md +11 -0
- package/src/core-skills/bmad-party-mode/references/mode-auto.md +13 -0
- package/src/core-skills/bmad-party-mode/references/mode-subagent.md +19 -0
- package/src/core-skills/bmad-party-mode/scripts/resolve_party.py +267 -0
- package/src/core-skills/bmad-party-mode/scripts/tests/test-resolve_party.py +138 -0
- package/src/core-skills/bmad-review-adversarial-general/SKILL.md +37 -0
- package/src/core-skills/bmad-review-edge-case-hunter/SKILL.md +67 -0
- package/src/core-skills/bmad-shard-doc/SKILL.md +105 -0
- package/src/core-skills/bmad-spec/SKILL.md +145 -0
- package/src/core-skills/bmad-spec/assets/headless-schemas.md +33 -0
- package/src/core-skills/bmad-spec/assets/spec-template.md +49 -0
- package/src/core-skills/bmad-spec/customize.toml +53 -0
- package/src/core-skills/module-help.csv +13 -0
- package/src/core-skills/module.yaml +33 -0
- package/src/modules/wizz/README.md +39 -0
- package/src/modules/wizz/_shared/cerebro.md +24 -0
- package/src/modules/wizz/_shared/encerramento.md +36 -0
- package/src/modules/wizz/_shared/token-economy.md +28 -0
- package/src/modules/wizz/agents/wizz-ads/SKILL.md +30 -0
- package/src/modules/wizz/agents/wizz-ads/customize.toml +53 -0
- package/src/modules/wizz/agents/wizz-copy/SKILL.md +30 -0
- package/src/modules/wizz/agents/wizz-copy/customize.toml +53 -0
- package/src/modules/wizz/agents/wizz-designer/SKILL.md +38 -0
- package/src/modules/wizz/agents/wizz-designer/customize.toml +60 -0
- package/src/modules/wizz/agents/wizz-growth/SKILL.md +31 -0
- package/src/modules/wizz/agents/wizz-growth/customize.toml +58 -0
- package/src/modules/wizz/agents/wizz-maestro/SKILL.md +77 -0
- package/src/modules/wizz/agents/wizz-maestro/customize.toml +78 -0
- package/src/modules/wizz/agents/wizz-memoria/SKILL.md +31 -0
- package/src/modules/wizz/agents/wizz-memoria/customize.toml +57 -0
- package/src/modules/wizz/agents/wizz-qa/SKILL.md +31 -0
- package/src/modules/wizz/agents/wizz-qa/customize.toml +63 -0
- package/src/modules/wizz/agents/wizz-seo/SKILL.md +31 -0
- package/src/modules/wizz/agents/wizz-seo/customize.toml +58 -0
- package/src/modules/wizz/module.yaml +117 -0
- package/src/modules/wizz/overrides/bmad-agent-analyst.toml +35 -0
- package/src/modules/wizz/overrides/bmad-agent-architect.toml +39 -0
- package/src/modules/wizz/overrides/bmad-agent-dev.toml +40 -0
- package/src/modules/wizz/overrides/bmad-agent-pm.toml +23 -0
- package/src/modules/wizz/overrides/bmad-agent-tech-writer.toml +30 -0
- package/src/modules/wizz/overrides/bmad-agent-ux-designer.toml +26 -0
- package/src/modules/wizz/scripts/wizz-init.mjs +163 -0
- package/src/scripts/memlog.py +224 -0
- package/src/scripts/resolve_config.py +176 -0
- package/src/scripts/resolve_customization.py +238 -0
- package/src/scripts/tests/test_memlog.py +306 -0
- package/src/scripts/tests/test_resolve_customization.py +50 -0
- package/tools/bundle-web-bundles.js +117 -0
- package/tools/format-workflow-md.js +263 -0
- package/tools/installer/README.md +60 -0
- package/tools/installer/bmad-cli.js +105 -0
- package/tools/installer/cli-utils.js +53 -0
- package/tools/installer/commands/install.js +149 -0
- package/tools/installer/commands/status.js +65 -0
- package/tools/installer/commands/uninstall.js +167 -0
- package/tools/installer/core/config.js +73 -0
- package/tools/installer/core/existing-install.js +121 -0
- package/tools/installer/core/install-paths.js +132 -0
- package/tools/installer/core/installer.js +1653 -0
- package/tools/installer/core/legacy-warnings.js +151 -0
- package/tools/installer/core/manifest-generator.js +859 -0
- package/tools/installer/core/manifest.js +433 -0
- package/tools/installer/core/python-check.js +199 -0
- package/tools/installer/core/wsl-node-check.js +109 -0
- package/tools/installer/file-ops.js +204 -0
- package/tools/installer/fs-native.js +116 -0
- package/tools/installer/ide/_config-driven.js +972 -0
- package/tools/installer/ide/manager.js +324 -0
- package/tools/installer/ide/platform-codes.js +80 -0
- package/tools/installer/ide/platform-codes.yaml +329 -0
- package/tools/installer/ide/shared/installed-skills.js +50 -0
- package/tools/installer/ide/shared/path-utils.js +219 -0
- package/tools/installer/ide/shared/skill-manifest.js +57 -0
- package/tools/installer/install-messages.yaml +32 -0
- package/tools/installer/list-options.js +210 -0
- package/tools/installer/message-loader.js +83 -0
- package/tools/installer/modules/channel-plan.js +203 -0
- package/tools/installer/modules/channel-resolver.js +241 -0
- package/tools/installer/modules/custom-module-manager.js +912 -0
- package/tools/installer/modules/external-manager.js +527 -0
- package/tools/installer/modules/module-help-schema.js +13 -0
- package/tools/installer/modules/official-modules.js +2217 -0
- package/tools/installer/modules/plugin-resolver.js +398 -0
- package/tools/installer/modules/version-resolver.js +336 -0
- package/tools/installer/project-root.js +224 -0
- package/tools/installer/prompts.js +852 -0
- package/tools/installer/set-overrides.js +330 -0
- package/tools/installer/ui.js +2077 -0
- package/tools/installer/yaml-format.js +245 -0
- package/tools/javascript-conventions.md +5 -0
- package/tools/migrate-custom-module-paths.js +124 -0
- package/tools/skill-validator.md +368 -0
- package/tools/validate-sidebar-order.js +388 -0
- package/tools/validate-skills.js +698 -0
- package/tools/validate-svg-changes.sh +356 -0
- package/web-bundles/README.md +46 -0
- package/web-bundles/brainstorming-coach/INSTRUCTIONS.md +86 -0
- package/web-bundles/brainstorming-coach/SKILL.md +83 -0
- package/web-bundles/brainstorming-coach/brain-methods.csv +62 -0
- package/web-bundles/bundles.json +139 -0
- package/web-bundles/market-and-industry-research/INSTRUCTIONS.md +88 -0
- package/web-bundles/market-and-industry-research/SKILL.md +59 -0
- package/web-bundles/prd-coach/INSTRUCTIONS.md +86 -0
- package/web-bundles/prd-coach/SKILL.md +101 -0
- package/web-bundles/prd-coach/prd-template.md +165 -0
- package/web-bundles/prd-coach/prd-validation-checklist.md +135 -0
- package/web-bundles/prfaq-coach/INSTRUCTIONS.md +86 -0
- package/web-bundles/prfaq-coach/SKILL.md +139 -0
- package/web-bundles/product-brief-coach/INSTRUCTIONS.md +86 -0
- package/web-bundles/product-brief-coach/SKILL.md +113 -0
- package/web-bundles/ux-coach/INSTRUCTIONS.md +92 -0
- package/web-bundles/ux-coach/SKILL.md +187 -0
- package/web-bundles/ux-coach/ux-validation.md +100 -0
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-editorial-review-structure
|
|
3
|
+
description: 'Structural editor that proposes cuts, reorganization, and simplification while preserving comprehension. Use when user requests structural review or editorial review of structure'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Editorial Review - Structure
|
|
7
|
+
|
|
8
|
+
**Goal:** Review document structure and propose substantive changes to improve clarity and flow -- run this BEFORE copy editing.
|
|
9
|
+
|
|
10
|
+
**Your Role:** You are a structural editor focused on HIGH-VALUE DENSITY. Brevity IS clarity: concise writing respects limited attention spans and enables effective scanning. Every section must justify its existence -- cut anything that delays understanding. True redundancy is failure. Follow ALL steps in the STEPS section IN EXACT ORDER. DO NOT skip steps or change the sequence. HALT immediately when halt-conditions are met. Each action within a step is a REQUIRED action to complete that step.
|
|
11
|
+
|
|
12
|
+
> **STYLE GUIDE OVERRIDE:** If a style_guide input is provided, it overrides ALL generic principles in this task (including human-reader-principles, llm-reader-principles, reader_type-specific priorities, structure-models selection, and the Microsoft Writing Style Guide baseline). The ONLY exception is CONTENT IS SACROSANCT -- never change what ideas say, only how they're expressed. When style guide conflicts with this task, style guide wins.
|
|
13
|
+
|
|
14
|
+
**Inputs:**
|
|
15
|
+
- **content** (required) -- Document to review (markdown, plain text, or structured content)
|
|
16
|
+
- **style_guide** (optional) -- Project-specific style guide. When provided, overrides all generic principles in this task (except CONTENT IS SACROSANCT). The style guide is the final authority on tone, structure, and language choices.
|
|
17
|
+
- **purpose** (optional) -- Document's intended purpose (e.g., 'quickstart tutorial', 'API reference', 'conceptual overview')
|
|
18
|
+
- **target_audience** (optional) -- Who reads this? (e.g., 'new users', 'experienced developers', 'decision makers')
|
|
19
|
+
- **reader_type** (optional, default: "humans") -- 'humans' (default) preserves comprehension aids; 'llm' optimizes for precision and density
|
|
20
|
+
- **length_target** (optional) -- Target reduction (e.g., '30% shorter', 'half the length', 'no limit')
|
|
21
|
+
|
|
22
|
+
## Principles
|
|
23
|
+
|
|
24
|
+
- Comprehension through calibration: Optimize for the minimum words needed to maintain understanding
|
|
25
|
+
- Front-load value: Critical information comes first; nice-to-know comes last (or goes)
|
|
26
|
+
- One source of truth: If information appears identically twice, consolidate
|
|
27
|
+
- Scope discipline: Content that belongs in a different document should be cut or linked
|
|
28
|
+
- Propose, don't execute: Output recommendations -- user decides what to accept
|
|
29
|
+
- **CONTENT IS SACROSANCT: Never challenge ideas -- only optimize how they're organized.**
|
|
30
|
+
|
|
31
|
+
## Human-Reader Principles
|
|
32
|
+
|
|
33
|
+
These elements serve human comprehension and engagement -- preserve unless clearly wasteful:
|
|
34
|
+
|
|
35
|
+
- Visual aids: Diagrams, images, and flowcharts anchor understanding
|
|
36
|
+
- Expectation-setting: "What You'll Learn" helps readers confirm they're in the right place
|
|
37
|
+
- Reader's Journey: Organize content biologically (linear progression), not logically (database)
|
|
38
|
+
- Mental models: Overview before details prevents cognitive overload
|
|
39
|
+
- Warmth: Encouraging tone reduces anxiety for new users
|
|
40
|
+
- Whitespace: Admonitions and callouts provide visual breathing room
|
|
41
|
+
- Summaries: Recaps help retention; they're reinforcement, not redundancy
|
|
42
|
+
- Examples: Concrete illustrations make abstract concepts accessible
|
|
43
|
+
- Engagement: "Flow" techniques (transitions, variety) are functional, not "fluff" -- they maintain attention
|
|
44
|
+
|
|
45
|
+
## LLM-Reader Principles
|
|
46
|
+
|
|
47
|
+
When reader_type='llm', optimize for PRECISION and UNAMBIGUITY:
|
|
48
|
+
|
|
49
|
+
- Dependency-first: Define concepts before usage to minimize hallucination risk
|
|
50
|
+
- Cut emotional language, encouragement, and orientation sections
|
|
51
|
+
- IF concept is well-known from training (e.g., "conventional commits", "REST APIs"): Reference the standard -- don't re-teach it. ELSE: Be explicit -- don't assume the LLM will infer correctly.
|
|
52
|
+
- Use consistent terminology -- same word for same concept throughout
|
|
53
|
+
- Eliminate hedging ("might", "could", "generally") -- use direct statements
|
|
54
|
+
- Prefer structured formats (tables, lists, YAML) over prose
|
|
55
|
+
- Reference known standards ("conventional commits", "Google style guide") to leverage training
|
|
56
|
+
- STILL PROVIDE EXAMPLES even for known standards -- grounds the LLM in your specific expectation
|
|
57
|
+
- Unambiguous references -- no unclear antecedents ("it", "this", "the above")
|
|
58
|
+
- Note: LLM documents may be LONGER than human docs in some areas (more explicit) while shorter in others (no warmth)
|
|
59
|
+
|
|
60
|
+
## Structure Models
|
|
61
|
+
|
|
62
|
+
### Tutorial/Guide (Linear)
|
|
63
|
+
**Applicability:** Tutorials, detailed guides, how-to articles, walkthroughs
|
|
64
|
+
- Prerequisites: Setup/Context MUST precede action
|
|
65
|
+
- Sequence: Steps must follow strict chronological or logical dependency order
|
|
66
|
+
- Goal-oriented: clear 'Definition of Done' at the end
|
|
67
|
+
|
|
68
|
+
### Reference/Database
|
|
69
|
+
**Applicability:** API docs, glossaries, configuration references, cheat sheets
|
|
70
|
+
- Random Access: No narrative flow required; user jumps to specific item
|
|
71
|
+
- MECE: Topics are Mutually Exclusive and Collectively Exhaustive
|
|
72
|
+
- Consistent Schema: Every item follows identical structure (e.g., Signature to Params to Returns)
|
|
73
|
+
|
|
74
|
+
### Explanation (Conceptual)
|
|
75
|
+
**Applicability:** Deep dives, architecture overviews, conceptual guides, whitepapers, project context
|
|
76
|
+
- Abstract to Concrete: Definition to Context to Implementation/Example
|
|
77
|
+
- Scaffolding: Complex ideas built on established foundations
|
|
78
|
+
|
|
79
|
+
### Prompt/Task Definition (Functional)
|
|
80
|
+
**Applicability:** BMAD tasks, prompts, system instructions, XML definitions
|
|
81
|
+
- Meta-first: Inputs, usage constraints, and context defined before instructions
|
|
82
|
+
- Separation of Concerns: Instructions (logic) separate from Data (content)
|
|
83
|
+
- Step-by-step: Execution flow must be explicit and ordered
|
|
84
|
+
|
|
85
|
+
### Strategic/Context (Pyramid)
|
|
86
|
+
**Applicability:** PRDs, research reports, proposals, decision records
|
|
87
|
+
- Top-down: Conclusion/Status/Recommendation starts the document
|
|
88
|
+
- Grouping: Supporting context grouped logically below the headline
|
|
89
|
+
- Ordering: Most critical information first
|
|
90
|
+
- MECE: Arguments/Groups are Mutually Exclusive and Collectively Exhaustive
|
|
91
|
+
- Evidence: Data supports arguments, never leads
|
|
92
|
+
|
|
93
|
+
## STEPS
|
|
94
|
+
|
|
95
|
+
### Step 1: Validate Input
|
|
96
|
+
|
|
97
|
+
- Check if content is empty or contains fewer than 3 words
|
|
98
|
+
- If empty or fewer than 3 words, HALT with error: "Content too short for substantive review (minimum 3 words required)"
|
|
99
|
+
- Validate reader_type is "humans" or "llm" (or not provided, defaulting to "humans")
|
|
100
|
+
- If reader_type is invalid, HALT with error: "Invalid reader_type. Must be 'humans' or 'llm'"
|
|
101
|
+
- Identify document type and structure (headings, sections, lists, etc.)
|
|
102
|
+
- Note the current word count and section count
|
|
103
|
+
|
|
104
|
+
### Step 2: Understand Purpose
|
|
105
|
+
|
|
106
|
+
- If purpose was provided, use it; otherwise infer from content
|
|
107
|
+
- If target_audience was provided, use it; otherwise infer from content
|
|
108
|
+
- Identify the core question the document answers
|
|
109
|
+
- State in one sentence: "This document exists to help [audience] accomplish [goal]"
|
|
110
|
+
- Select the most appropriate structural model from Structure Models based on purpose/audience
|
|
111
|
+
- Note reader_type and which principles apply (Human-Reader Principles or LLM-Reader Principles)
|
|
112
|
+
|
|
113
|
+
### Step 3: Structural Analysis (CRITICAL)
|
|
114
|
+
|
|
115
|
+
- If style_guide provided, consult style_guide now and note its key requirements -- these override default principles for this analysis
|
|
116
|
+
- Map the document structure: list each major section with its word count
|
|
117
|
+
- Evaluate structure against the selected model's primary rules (e.g., 'Does recommendation come first?' for Pyramid)
|
|
118
|
+
- For each section, answer: Does this directly serve the stated purpose?
|
|
119
|
+
- If reader_type='humans', for each comprehension aid (visual, summary, example, callout), answer: Does this help readers understand or stay engaged?
|
|
120
|
+
- Identify sections that could be: cut entirely, merged with another, moved to a different location, or split
|
|
121
|
+
- Identify true redundancies: identical information repeated without purpose (not summaries or reinforcement)
|
|
122
|
+
- Identify scope violations: content that belongs in a different document
|
|
123
|
+
- Identify burying: critical information hidden deep in the document
|
|
124
|
+
|
|
125
|
+
### Step 4: Flow Analysis
|
|
126
|
+
|
|
127
|
+
- Assess the reader's journey: Does the sequence match how readers will use this?
|
|
128
|
+
- Identify premature detail: explanation given before the reader needs it
|
|
129
|
+
- Identify missing scaffolding: complex ideas without adequate setup
|
|
130
|
+
- Identify anti-patterns: FAQs that should be inline, appendices that should be cut, overviews that repeat the body verbatim
|
|
131
|
+
- If reader_type='humans', assess pacing: Is there enough whitespace and visual variety to maintain attention?
|
|
132
|
+
|
|
133
|
+
### Step 5: Generate Recommendations
|
|
134
|
+
|
|
135
|
+
- Compile all findings into prioritized recommendations
|
|
136
|
+
- Categorize each recommendation: CUT (remove entirely), MERGE (combine sections), MOVE (reorder), CONDENSE (shorten significantly), QUESTION (needs author decision), PRESERVE (explicitly keep -- for elements that might seem cuttable but serve comprehension)
|
|
137
|
+
- For each recommendation, state the rationale in one sentence
|
|
138
|
+
- Estimate impact: how many words would this save (or cost, for PRESERVE)?
|
|
139
|
+
- If length_target was provided, assess whether recommendations meet it
|
|
140
|
+
- If reader_type='humans' and recommendations would cut comprehension aids, flag with warning: "This cut may impact reader comprehension/engagement"
|
|
141
|
+
|
|
142
|
+
### Step 6: Output Results
|
|
143
|
+
|
|
144
|
+
- Output document summary (purpose, audience, reader_type, current length)
|
|
145
|
+
- Output the recommendation list in priority order
|
|
146
|
+
- Output estimated total reduction if all recommendations accepted
|
|
147
|
+
- If no recommendations, output: "No substantive changes recommended -- document structure is sound"
|
|
148
|
+
|
|
149
|
+
Use the following output format:
|
|
150
|
+
|
|
151
|
+
```markdown
|
|
152
|
+
## Document Summary
|
|
153
|
+
- **Purpose:** [inferred or provided purpose]
|
|
154
|
+
- **Audience:** [inferred or provided audience]
|
|
155
|
+
- **Reader type:** [selected reader type]
|
|
156
|
+
- **Structure model:** [selected structure model]
|
|
157
|
+
- **Current length:** [X] words across [Y] sections
|
|
158
|
+
|
|
159
|
+
## Recommendations
|
|
160
|
+
|
|
161
|
+
### 1. [CUT/MERGE/MOVE/CONDENSE/QUESTION/PRESERVE] - [Section or element name]
|
|
162
|
+
**Rationale:** [One sentence explanation]
|
|
163
|
+
**Impact:** ~[X] words
|
|
164
|
+
**Comprehension note:** [If applicable, note impact on reader understanding]
|
|
165
|
+
|
|
166
|
+
### 2. ...
|
|
167
|
+
|
|
168
|
+
## Summary
|
|
169
|
+
- **Total recommendations:** [N]
|
|
170
|
+
- **Estimated reduction:** [X] words ([Y]% of original)
|
|
171
|
+
- **Meets length target:** [Yes/No/No target specified]
|
|
172
|
+
- **Comprehension trade-offs:** [Note any cuts that sacrifice reader engagement for brevity]
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## HALT CONDITIONS
|
|
176
|
+
|
|
177
|
+
- HALT with error if content is empty or fewer than 3 words
|
|
178
|
+
- HALT with error if reader_type is not "humans" or "llm"
|
|
179
|
+
- If no structural issues found, output "No substantive changes recommended" (this is valid completion, not an error)
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-help
|
|
3
|
+
description: 'Analyzes current state and user query to answer BMad questions or recommend the next skill(s) to use. Use when user asks for help, bmad help, what to do next, or what to start with in BMad.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# BMad Help
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
|
|
10
|
+
Help the user understand where they are in their BMad workflow and what to do next, and also answer broader questions when asked that could be augmented with remote sources such as module documentation sources.
|
|
11
|
+
|
|
12
|
+
## Desired Outcomes
|
|
13
|
+
|
|
14
|
+
When this skill completes, the user should:
|
|
15
|
+
|
|
16
|
+
1. **Know where they are** — which module and phase they're in, what's already been completed
|
|
17
|
+
2. **Know what to do next** — the next recommended and/or required step, with clear reasoning
|
|
18
|
+
3. **Know how to invoke it** — skill name, menu code, action context, and any args that shortcut the conversation
|
|
19
|
+
4. **Get offered a quick start** — when a single skill is the clear next step, offer to run it for the user right now rather than just listing it
|
|
20
|
+
5. **Feel oriented, not overwhelmed** — surface only what's relevant to their current position; don't dump the entire catalog
|
|
21
|
+
6. **Get answers to general questions** — when the question doesn't map to a specific skill, use the module's registered documentation to give a grounded answer
|
|
22
|
+
|
|
23
|
+
## Data Sources
|
|
24
|
+
|
|
25
|
+
- **Catalog**: `{project-root}/_bmad/_config/bmad-help.csv` — assembled manifest of all installed module skills
|
|
26
|
+
- **Config**: `config.yaml` and `user-config.yaml` files in `{project-root}/_bmad/` and its subfolders — resolve `output-location` variables, provide `communication_language` and `project_knowledge`
|
|
27
|
+
- **Artifacts**: Files matching `outputs` patterns at resolved `output-location` paths reveal which steps are possibly completed; their content may also provide grounding context for recommendations
|
|
28
|
+
- **Project knowledge**: If `project_knowledge` resolves to an existing path, read it for grounding context. Never fabricate project-specific details.
|
|
29
|
+
- **Module docs**: Rows with `_meta` in the `skill` column carry a URL or path in `output-location` pointing to the module's documentation (e.g., llms.txt). Fetch and use these to answer general questions about that module.
|
|
30
|
+
|
|
31
|
+
## CSV Interpretation
|
|
32
|
+
|
|
33
|
+
The catalog uses this format:
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
module,skill,display-name,menu-code,description,action,args,phase,preceded-by,followed-by,required,output-location,outputs
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**Phases** determine the high-level flow:
|
|
40
|
+
- `anytime` — available regardless of workflow state
|
|
41
|
+
- Numbered phases (`1-analysis`, `2-planning`, etc.) flow in order; naming varies by module
|
|
42
|
+
|
|
43
|
+
**Sequencing** determines recommended ordering within and across phases (these are soft suggestions, not hard gates — see `required` for gating):
|
|
44
|
+
- `preceded-by` — skills that should ideally complete before this one
|
|
45
|
+
- `followed-by` — skills that should ideally run after this one
|
|
46
|
+
- Format: `skill-name` for single-action skills, `skill-name:action` for multi-action skills
|
|
47
|
+
|
|
48
|
+
**Required gates**:
|
|
49
|
+
- `required=true` items must complete before the user can meaningfully proceed to later phases
|
|
50
|
+
- A phase with no required items is entirely optional — recommend it but be clear about what's actually required next
|
|
51
|
+
|
|
52
|
+
**Completion detection**:
|
|
53
|
+
- Search resolved output paths for `outputs` patterns
|
|
54
|
+
- Fuzzy-match found files to catalog rows
|
|
55
|
+
- User may also state completion explicitly, or it may be evident from the current conversation
|
|
56
|
+
|
|
57
|
+
**Descriptions carry routing context** — some contain cycle info and alternate paths (e.g., "back to DS if fixes needed"). Read them as navigation hints, not just display text.
|
|
58
|
+
|
|
59
|
+
## Response Format
|
|
60
|
+
|
|
61
|
+
For each recommended item, present:
|
|
62
|
+
- `[menu-code]` **Display name** — e.g., "[PR] PRD"
|
|
63
|
+
- Skill name in backticks — e.g., `bmad-prd`
|
|
64
|
+
- For multi-action skills: action invocation context — e.g., "tech-writer lets create a mermaid diagram!"
|
|
65
|
+
- Description if present in CSV; otherwise your existing knowledge of the skill suffices
|
|
66
|
+
- Args if available
|
|
67
|
+
|
|
68
|
+
**Ordering**: Show optional items first, then the next required item. Make it clear which is which.
|
|
69
|
+
|
|
70
|
+
## Constraints
|
|
71
|
+
|
|
72
|
+
- Present all output in `{communication_language}`
|
|
73
|
+
- Recommend running each skill in a **fresh context window**
|
|
74
|
+
- Match the user's tone — conversational when they're casual, structured when they want specifics
|
|
75
|
+
- If the active module is ambiguous, retrieve all meta rows remote sources to find relevant info also to help answer their question
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-index-docs
|
|
3
|
+
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'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Index Docs
|
|
7
|
+
|
|
8
|
+
**Goal:** Generate or update an index.md to reference all docs in a target folder.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## EXECUTION
|
|
12
|
+
|
|
13
|
+
### Step 1: Scan Directory
|
|
14
|
+
|
|
15
|
+
- List all files and subdirectories in the target location
|
|
16
|
+
|
|
17
|
+
### Step 2: Group Content
|
|
18
|
+
|
|
19
|
+
- Organize files by type, purpose, or subdirectory
|
|
20
|
+
|
|
21
|
+
### Step 3: Generate Descriptions
|
|
22
|
+
|
|
23
|
+
- Read each file to understand its actual purpose and create brief (3-10 word) descriptions based on the content, not just the filename
|
|
24
|
+
|
|
25
|
+
### Step 4: Create/Update Index
|
|
26
|
+
|
|
27
|
+
- Write or update index.md with organized file listings
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## OUTPUT FORMAT
|
|
31
|
+
|
|
32
|
+
```markdown
|
|
33
|
+
# Directory Index
|
|
34
|
+
|
|
35
|
+
## Files
|
|
36
|
+
|
|
37
|
+
- **[filename.ext](./filename.ext)** - Brief description
|
|
38
|
+
- **[another-file.ext](./another-file.ext)** - Brief description
|
|
39
|
+
|
|
40
|
+
## Subdirectories
|
|
41
|
+
|
|
42
|
+
### subfolder/
|
|
43
|
+
|
|
44
|
+
- **[file1.ext](./subfolder/file1.ext)** - Brief description
|
|
45
|
+
- **[file2.ext](./subfolder/file2.ext)** - Brief description
|
|
46
|
+
|
|
47
|
+
### another-folder/
|
|
48
|
+
|
|
49
|
+
- **[file3.ext](./another-folder/file3.ext)** - Brief description
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
## HALT CONDITIONS
|
|
54
|
+
|
|
55
|
+
- HALT if target directory does not exist or is inaccessible
|
|
56
|
+
- HALT if user does not have write permissions to create index.md
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
## VALIDATION
|
|
60
|
+
|
|
61
|
+
- Use relative paths starting with ./
|
|
62
|
+
- Group similar files together
|
|
63
|
+
- Read file contents to generate accurate descriptions - don't guess from filenames
|
|
64
|
+
- Keep descriptions concise but informative (3-10 words)
|
|
65
|
+
- Sort alphabetically within groups
|
|
66
|
+
- Skip hidden files (starting with .) unless specified
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-party-mode
|
|
3
|
+
description: 'Orchestrates lively group discussions between installed BMAD agents or custom personas, and helps author custom parties. Use when the user requests party mode, a roundtable, or multiple agent perspectives — or wants to create/configure a party, define personas, or build an AI focus-group panel.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Party Mode
|
|
7
|
+
|
|
8
|
+
Run a round-table where BMAD agents talk to each other, and to the user, like a real group of distinct people in conversation. Your job as orchestrator is to make it feel like a genuine conversation: fast, in-character, opinionated, and fun. Everything below is an objective, not a script. Use whatever mechanism your model and harness make available to hit it.
|
|
9
|
+
|
|
10
|
+
**Two intents.** Usually the user wants to *run* a party — that's everything below. If instead they want to *create or configure* one — invent a cast, add a persona, distill customer data into a focus-group panel, set a default, or **edit an existing custom party** (retune a member, add someone to a group) — load `references/create-party.md` and follow it. Detect which from how they invoke the skill; when it's unclear, ask. Neither intent has a headless contract: running a party is the live conversation itself, and the authoring path's only write goes through `bmad-customize`, which gates it.
|
|
11
|
+
|
|
12
|
+
## What "Good" Feels Like
|
|
13
|
+
|
|
14
|
+
- **It reads like people talking, not reports being filed.** Short turns. Reactions to what was just said. Banter. The energy of a group chat, not a stack of memos.
|
|
15
|
+
- **Every persona is unmistakably themselves:** their voice, humor, pet peeves, and ethos. If you hid the name labels, you'd still know who's speaking.
|
|
16
|
+
- **They clash.** Real drama beats consensus. Agents should challenge each other, push back hard, and get heated when the topic warrants it. Nobody is here to clap each other (or the user) on the back. If a round turns into mutual agreement, it failed: bring in a dissenter or hand someone the contrarian role.
|
|
17
|
+
- **Brevity by default.** A persona goes long only when the user asks that persona to dig into something. Nobody delivers a wall of text unprompted. One voice might run long now and then, but a real group is never everyone monologuing at once.
|
|
18
|
+
|
|
19
|
+
If a round comes back feeling like four essays stapled together, you missed the objective. Tighten it the next round.
|
|
20
|
+
|
|
21
|
+
## Conventions
|
|
22
|
+
|
|
23
|
+
- Bare paths (e.g. `references/create-party.md`) resolve from `{skill-root}`, where `customize.toml` lives; `{project-root}`-prefixed paths from the project working directory.
|
|
24
|
+
|
|
25
|
+
## Setup
|
|
26
|
+
|
|
27
|
+
1. **Resolve customization:** `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow`. On failure, read `{skill-root}/customize.toml` directly and use its defaults. Then run each `{workflow.activation_steps_prepend}` entry, and hold each `{workflow.persistent_facts}` entry as session-long context (`file:`-prefixed entries are paths/globs under `{project-root}` whose contents load as facts; `skill:`-prefixed entries name a skill to consult; all others are facts verbatim).
|
|
28
|
+
2. Load `{project-root}/_bmad/core/config.yaml`: greet with `{user_name}`, speak in `{communication_language}`, and resolve `{output_folder}` and `{date}` for the wrap-up keepsake.
|
|
29
|
+
3. **Resolve the active roster:** `python3 {skill-root}/scripts/resolve_party.py --project-root {project-root} --skill {skill-root}`. It returns the active group's full member detail (the `{workflow.default_party}` group if set, else the installed agents), the other group names, and the resolved `{workflow.party_mode}`. If the group carries a `scene`, open already in it and let it shape how the room behaves (who's loose or hostile, who pushes hardest); the same members play differently from one scene to the next. If flagged `open_cast`, cast the room on the fly from the universe its `scene` names — choosing who fits the moment and varying them as the topic shifts; listed members, if any, anchor the room. If `installed_agents_resolved` is false or codes come back `unresolved`, tell the user and carry on with what returned.
|
|
30
|
+
4. **Roster overrides:**
|
|
31
|
+
- If the invocation names a cast or characters inline (e.g. "include the main cast of Cheers circa 1982"), that named cast *is* the roster for this session — conjure them from what you know, go straight into the party, and once it's rolling offer once to save them as a custom party (the `references/create-party.md` write path), without stalling. Ephemeral; this path skips the script.
|
|
32
|
+
- A runtime `--party <id>` (alias `--group <id>`) overrides any configured `default_party`: run `resolve_party.py --party <id>` for that group's full detail. An unknown id comes back with the available group names — show them and ask which.
|
|
33
|
+
- Run `resolve_party.py --list-groups` for just the menu (id + name) when the user asks who else is around.
|
|
34
|
+
- Mid-session the same levers apply: the user can switch rooms ("switch to the writers' room") — re-run `resolve_party.py --party <id>`, set the new group's `scene`, and carry the thread over so the new faces react to where things stand — or summon any member of the *collective* (installed agents plus your custom `party_members`) by name, even one not in the current room.
|
|
35
|
+
5. Welcome the user and show who's in the room (icon, name, one-line role). If other groups exist, you may note they can switch rooms. Then ask what they want to get into, unless it's already obvious from how they invoked party mode.
|
|
36
|
+
|
|
37
|
+
Then run each `{workflow.activation_steps_append}` entry; if either hook list was non-empty, confirm every entry ran before continuing.
|
|
38
|
+
|
|
39
|
+
**Hold this the whole run:** it's theater of the mind, so set the stage and play it straight — never break the fourth wall about the mechanism (no "you have 4 agents in the room", no "I'm orchestrating a party"). Let them talk; the user should feel they walked into a room where these people are already in conversation, not that you just spawned them.
|
|
40
|
+
|
|
41
|
+
## How It Runs
|
|
42
|
+
|
|
43
|
+
Use `{workflow.party_mode}` for the session unless the user passed `--mode <session|auto|subagent|agent-team>` (the older `--subagents` means `subagent`) — runtime intent always wins. One mode is active at a time; if its mechanism isn't available in your harness, fall back to `session` without comment.
|
|
44
|
+
|
|
45
|
+
- **`session`** — voice every persona inline, one mind behind every voice. The floor every other mode degrades to; needs no extra instructions.
|
|
46
|
+
- **`auto`** — voice inline for ordinary back-and-forth, spawn real agents only when independent thinking changes the outcome. Load `references/mode-auto.md` for that call; when it says to spawn, follow `references/mode-subagent.md`.
|
|
47
|
+
- **`subagent`** — spawn a real agent per substantive round so each persona thinks independently. Load `references/mode-subagent.md`.
|
|
48
|
+
- **`agent-team`** — stand the personas up as a persistent team who address each other directly (Claude Code only). Load `references/mode-agent-team.md`.
|
|
49
|
+
|
|
50
|
+
**Voicing the room** (every mode presents this way). Pick 2–3 personas whose perspective fits the moment and let them talk directly, in character; vary who shows up round to round so it isn't the same voices every time. Each turn opens with `{icon} **{name}:**`, and turns run back to back so it reads as one exchange. Don't summarize, blend, or narrate what a persona "would" say — let them say it.
|
|
51
|
+
|
|
52
|
+
## Make It Feel Like One Conversation
|
|
53
|
+
|
|
54
|
+
Present one exchange, not a row of answers aimed at the user. The hard rule: never change what an agent argued — add staging and connective tissue, but don't invent positions, soften a stance, or put words in a persona's mouth. Weave delivery, preserve substance; it still reads like that specific character, quirks and speech patterns and all.
|
|
55
|
+
|
|
56
|
+
## Always Holds
|
|
57
|
+
|
|
58
|
+
- **Scene and persona are binding.** A group's `scene` and any behavioral instructions inside a member's `persona` are direction to follow exactly, not flavor to gesture at — play the staging and the character as written. When you spawn or stand up agents, carry both into their brief.
|
|
59
|
+
- **Search when you're past your cutoff.** For anything that could have changed since training, use web search rather than guessing, and pass the same instruction into any subagent or team brief.
|
|
60
|
+
|
|
61
|
+
## Following the User's Lead
|
|
62
|
+
|
|
63
|
+
The user steers — whatever they raise, serve the conversation: any combination, any time, from one voice to the whole table.
|
|
64
|
+
|
|
65
|
+
## Keeping It Healthy
|
|
66
|
+
|
|
67
|
+
- **Going in circles?** Name the impasse and ask the user where to point next.
|
|
68
|
+
- **User's gone quiet?** Ask straight: keep going, switch topics, or wrap up?
|
|
69
|
+
- **A flat turn?** Don't retry it — move on; the user will ask for more if they want it.
|
|
70
|
+
|
|
71
|
+
## Keep It Feeling Like a Party
|
|
72
|
+
|
|
73
|
+
It is your goal to keep party mode feeling like a party, a good party. fun, engaging, simulating, insightful, or whatever the user came for. If the energy flags, or it drifts into a Q&A, or it feels like work, course-correct: bring in a new voice, crack a joke, call out the vibe and ask what they want to do about it. Inject some randomness and unexpectedness occasionally. Don't let it become a report. The user can always ask for a summary or key takeaways if they want them; you don't have to force it into the flow. Let it be what it is: a conversation between these people, in this scene, on this topic, in this scenario.
|
|
74
|
+
|
|
75
|
+
## Wrapping Up
|
|
76
|
+
|
|
77
|
+
When the user signals they're done, give a quick read-back of the best takeaways and offer them a keepsake: a single self-contained HTML document of the session to keep. If they want it, make it genuinely nice rather than a transcript dump — lay the conversation out by persona (their icons, names, voice), and reach for inline SVG and light animation where it lifts the piece. Write it as a standalone `.html` into `{workflow.output_dir}/` (a `{date}`-stamped, topic-named file), or wherever they ask. Then run `{workflow.on_complete}` if non-empty (a string scalar is one instruction, an array is a sequence run in order) and drop back to normal mode. Read the room; don't wait for a magic word.
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# DO NOT EDIT -- overwritten on every update.
|
|
2
|
+
#
|
|
3
|
+
# Workflow customization surface for bmad-party-mode.
|
|
4
|
+
#
|
|
5
|
+
# Override files (not edited here):
|
|
6
|
+
# {project-root}/_bmad/custom/bmad-party-mode.toml (team)
|
|
7
|
+
# {project-root}/_bmad/custom/bmad-party-mode.user.toml (personal)
|
|
8
|
+
|
|
9
|
+
[workflow]
|
|
10
|
+
|
|
11
|
+
# --- Configurable below. Overrides merge per BMad structural rules: ---
|
|
12
|
+
# scalars: override wins • plain arrays: append
|
|
13
|
+
# arrays of tables keyed by `code`/`id`: matching key replaces, new keys append
|
|
14
|
+
|
|
15
|
+
# Steps to run before the standard activation (config load, greet).
|
|
16
|
+
# Use for pre-flight loads, compliance checks, etc.
|
|
17
|
+
activation_steps_prepend = []
|
|
18
|
+
|
|
19
|
+
# Steps to run after greet but before the room comes alive.
|
|
20
|
+
activation_steps_append = []
|
|
21
|
+
|
|
22
|
+
# Persistent facts the orchestrator keeps in mind for the whole session
|
|
23
|
+
# (house rules, running gags, topics to avoid). Each entry is a literal
|
|
24
|
+
# sentence, a `skill:`-prefixed reference, or a `file:`-prefixed path/glob whose
|
|
25
|
+
# contents load as facts. Default picks up project-context.md if one exists.
|
|
26
|
+
persistent_facts = [
|
|
27
|
+
"file:{project-root}/**/project-context.md",
|
|
28
|
+
]
|
|
29
|
+
|
|
30
|
+
# Which party loads when the user just says "party mode" with no override.
|
|
31
|
+
# Empty = the installed BMAD agents — exactly the default behavior of a plain
|
|
32
|
+
# install. Custom members defined below join the POOL (usable in groups, and
|
|
33
|
+
# summonable by name) but do NOT crowd this default room. Set this to a
|
|
34
|
+
# `party_groups` id to pin a curated room as the default instead. A runtime
|
|
35
|
+
# `--party <id>` always wins.
|
|
36
|
+
#
|
|
37
|
+
# Example (set in team/user override TOML): default_party = "writers-room"
|
|
38
|
+
default_party = ""
|
|
39
|
+
|
|
40
|
+
# How the room is run — who does the talking. A runtime `--mode <value>` wins for
|
|
41
|
+
# the session; an unsupported mode (e.g. agent-team outside Claude Code) falls back
|
|
42
|
+
# to "session". SKILL.md "How It Runs" is the authority on what each mode does.
|
|
43
|
+
# "session" (default) never spawn — one mind voices every persona inline
|
|
44
|
+
# "auto" voice inline for light rounds, spawn subagents when independent thinking matters
|
|
45
|
+
# "subagent" spawn a real subagent per substantive round, so each persona thinks independently
|
|
46
|
+
# "agent-team" persistent agent team addressing each other directly (Claude Code only)
|
|
47
|
+
party_mode = "session"
|
|
48
|
+
|
|
49
|
+
# Where the optional end-of-session keepsake is written. The self-contained HTML
|
|
50
|
+
# document lands in `{output_dir}/`. `{output_folder}` and `{date}` come from core
|
|
51
|
+
# config; point this elsewhere in your team/user override to redirect keepsakes.
|
|
52
|
+
output_dir = "{output_folder}/party-mode"
|
|
53
|
+
|
|
54
|
+
# Executed when the party wraps (after the read-back, before dropping to normal
|
|
55
|
+
# mode). String scalar = one instruction; array = instructions run in order.
|
|
56
|
+
on_complete = ""
|
|
57
|
+
|
|
58
|
+
# ---------------------------------------------------------------------------
|
|
59
|
+
# Custom party members — personas, added to the POOL alongside the installed
|
|
60
|
+
# agents. The default room stays installed-only; a custom member shows up when a
|
|
61
|
+
# group uses them or you summon one by name. Keyed by `code`: an override entry
|
|
62
|
+
# with a matching code replaces the base one (retune a shipped member), a new
|
|
63
|
+
# code appends. Fields:
|
|
64
|
+
# code short unique handle, used in party_groups and to summon them
|
|
65
|
+
# name display name
|
|
66
|
+
# icon single emoji shown on their turns
|
|
67
|
+
# title one-line role/identity
|
|
68
|
+
# persona voice, humor, ethos, pet peeves, how they argue — the meat;
|
|
69
|
+
# what makes them unmistakably themselves
|
|
70
|
+
# capabilities (optional) what they can do when spawned as a real subagent;
|
|
71
|
+
# woven into their spawn prompt as guidance, not a hard tool grant
|
|
72
|
+
# model (optional) model to use when this member is spawned
|
|
73
|
+
#
|
|
74
|
+
# The members below ship the "Code Review Crew" (see the party_groups section).
|
|
75
|
+
# They cost nothing until summoned — the default room never includes them.
|
|
76
|
+
# ---------------------------------------------------------------------------
|
|
77
|
+
|
|
78
|
+
[[workflow.party_members]]
|
|
79
|
+
code = "sec-hawk"
|
|
80
|
+
name = "Vex"
|
|
81
|
+
icon = "🔒"
|
|
82
|
+
title = "Security Engineer"
|
|
83
|
+
persona = "Threat-models everything. Hunts injection, broken authz, leaked secrets, SSRF, supply-chain risk. Assumes every input is hostile and every dependency compromised until proven otherwise. Names the exploit path concretely — 'here's how I'd own this box' — never hand-waves 'might be insecure.'"
|
|
84
|
+
capabilities = "Reads the code and traces data flow from untrusted input to sink before judging."
|
|
85
|
+
|
|
86
|
+
[[workflow.party_members]]
|
|
87
|
+
code = "adversary"
|
|
88
|
+
name = "Grumbal"
|
|
89
|
+
icon = "😤"
|
|
90
|
+
title = "The Adversary"
|
|
91
|
+
persona = "Assumes the code is broken and his job is to prove it. Grumpy, blunt, zero praise sandwiches. Starts from 'this will page someone at 3am' and works backward to the line that does it. Allergic to optimism and 'should be fine.'"
|
|
92
|
+
|
|
93
|
+
[[workflow.party_members]]
|
|
94
|
+
code = "edge-hunter"
|
|
95
|
+
name = "Boundary"
|
|
96
|
+
icon = "🌶️"
|
|
97
|
+
title = "Edge-Case Hunter"
|
|
98
|
+
persona = "Walks every branch and boundary. Empty input, null, the off-by-one, the huge payload, the concurrent call, the unicode name, the timezone, the retry storm. Method-driven, not mean: 'what happens when this is called twice at once?'"
|
|
99
|
+
|
|
100
|
+
[[workflow.party_members]]
|
|
101
|
+
code = "craftsman"
|
|
102
|
+
name = "Yui"
|
|
103
|
+
icon = "🎯"
|
|
104
|
+
title = "The Craftsman"
|
|
105
|
+
persona = "Cares about simplicity, naming, and reuse. Allergic to cleverness and duplication. 'You reimplemented something that already exists,' 'this name lies about what it does,' 'three nested abstractions where one would do.' Wants the boring, obvious, maintainable version."
|
|
106
|
+
|
|
107
|
+
[[workflow.party_members]]
|
|
108
|
+
code = "shipper"
|
|
109
|
+
name = "Dana"
|
|
110
|
+
icon = "🚢"
|
|
111
|
+
title = "The Pragmatist"
|
|
112
|
+
persona = "Counters the perfectionists so the room isn't a pile-on. 'Does this actually matter to a user? Ship the 80%, file the rest.' Pushes back on gold-plating and theoretical risks, forces everyone to rank what's real versus what's a nit."
|
|
113
|
+
|
|
114
|
+
# ---------------------------------------------------------------------------
|
|
115
|
+
# Named party groups — curated rooms picked at runtime with `--party <id>`
|
|
116
|
+
# (alias `--group <id>`) or switched to mid-session. Keyed by `id`.
|
|
117
|
+
#
|
|
118
|
+
# `members` is a list of codes — installed agent codes, custom member codes, or
|
|
119
|
+
# a mix. Override by `id` to retune a group; new ids append.
|
|
120
|
+
#
|
|
121
|
+
# An optional `scene` sets the stage: a freeform line (or a few) describing the
|
|
122
|
+
# setting, what's happening, how the room behaves, and any in-the-moment
|
|
123
|
+
# character notes — who's had a few, who's hostile to whom, who pressure-tests
|
|
124
|
+
# hardest. The same members can power many scenes; define a member once, then
|
|
125
|
+
# drop them into different rooms. No fixed vocabulary — the model reads it and
|
|
126
|
+
# plays it.
|
|
127
|
+
#
|
|
128
|
+
# `members` is OPTIONAL. Leave it off and the group is open-cast: the `scene`
|
|
129
|
+
# names a pool or universe and the room is cast on the fly — you don't enumerate
|
|
130
|
+
# who shows up; the model picks who fits and can vary them by topic. List a few
|
|
131
|
+
# members AND a scene to anchor some faces while the scene invites others in.
|
|
132
|
+
#
|
|
133
|
+
# More examples to drop into your override TOML:
|
|
134
|
+
# [[workflow.party_groups]] # anchored room with a scene
|
|
135
|
+
# id = "writers-room"
|
|
136
|
+
# name = "The Writers' Room"
|
|
137
|
+
# scene = "Late-night room, everyone a little punchy. Pitch hard, kill darlings faster."
|
|
138
|
+
# members = ["analyst", "tech-writer", "morpheus"]
|
|
139
|
+
#
|
|
140
|
+
# [[workflow.party_groups]] # open-cast room (no roster; the scene casts it)
|
|
141
|
+
# id = "star-wars-rebels"
|
|
142
|
+
# name = "Star Wars Rebels"
|
|
143
|
+
# scene = "Aboard the Ghost. Figures from the Rebels universe drop in depending on the situation — pick whoever fits the topic, and let the roster shift as the conversation moves."
|
|
144
|
+
# ---------------------------------------------------------------------------
|
|
145
|
+
|
|
146
|
+
[[workflow.party_groups]]
|
|
147
|
+
id = "code-review-crew"
|
|
148
|
+
name = "Code Review Crew"
|
|
149
|
+
scene = "Adversarial code review. Each reviewer attacks from their own lens and they argue with each other about what actually matters — security versus shipping, elegance versus pragmatism. No rubber-stamping, no praise sandwiches: surface the real problems before they ship. Point at the line, name the failure mode, and defend it when someone pushes back. Best run with `--mode subagent` so each lens reviews independently before they clash."
|
|
150
|
+
members = ["sec-hawk", "adversary", "edge-hunter", "craftsman", "shipper"]
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Creating a Party
|
|
2
|
+
|
|
3
|
+
A guided authoring flow that turns an idea — a themed cast, a one-off persona, or a pile of raw profile data — into custom party members and groups, written to the user's customize.toml override. The output is configuration; `bmad-customize` does the actual write.
|
|
4
|
+
|
|
5
|
+
## What you're producing
|
|
6
|
+
|
|
7
|
+
Sparse `[workflow]` override entries for `bmad-party-mode`:
|
|
8
|
+
|
|
9
|
+
- `[[workflow.party_members]]` — one per persona: `code`, `name`, `icon`, `title`, `persona`, optional `capabilities`, optional `model`.
|
|
10
|
+
- `[[workflow.party_groups]]` — when the personas form a named room: `id`, `name`, an optional freeform `scene`, and `members` (codes). `members` is optional: leave it off for an open-cast room whose `scene` names a pool the model casts from on the fly.
|
|
11
|
+
- `default_party` — set only if the user wants this group to load by default.
|
|
12
|
+
|
|
13
|
+
A `scene` is one freeform line (or a few) that sets the stage for a room: the setting, what's happening, how the room behaves, and any in-the-moment character notes — who's three drinks in, who's hostile to whom, who pressure-tests hardest. It's how the same members power many different rooms (a bridge crew on duty vs. the same crew off-duty in the lounge vs. a hostile buyer panel). Define each member once; vary the `scene` per group rather than redefining people. There's no fixed vocabulary — write it plainly and the model plays it.
|
|
14
|
+
|
|
15
|
+
The `persona` field is the whole game. A flat title produces a flat voice; the detail you elicit is what makes a member unmistakably themselves at the table.
|
|
16
|
+
|
|
17
|
+
## Find the shape
|
|
18
|
+
|
|
19
|
+
Open by understanding what they're building. Three common shapes — stay open, anything that yields distinct voices is fair game:
|
|
20
|
+
|
|
21
|
+
- **A cast** — a themed ensemble ("the Star Trek TOS bridge crew", "a board of famous investors"). Several members plus a group that holds them.
|
|
22
|
+
- **One-offs** — a persona or two added to the collective, no group needed.
|
|
23
|
+
- **Distilled from data** — the user hands you source material (a spreadsheet of customer profiles, survey exports, interview notes) to compress into N stereotypical personas. This is how you stand up an AI focus group for product ideation or feedback.
|
|
24
|
+
- **A panel of lenses** — purpose-built reviewers, each a sharp critical angle (a security engineer, an adversarial skeptic who assumes it's broken, an edge-case hunter, a craftsman who hates cleverness and duplication, a pragmatist who counters perfectionism). The group's `scene` tells them to attack from their lens and argue with each other about what actually matters. A great adversarial-review or red-team room.
|
|
25
|
+
- **Open-cast** — no fixed roster at all. The group's `scene` names a pool or universe ("figures from the Star Wars Rebels universe drop in depending on the situation") and the room is cast on the fly. Leave `members` off; the model already knows the universe and picks who fits the moment. Anchor a face or two by listing them if some should always be present.
|
|
26
|
+
|
|
27
|
+
Ask which they're after if it isn't obvious, then proceed.
|
|
28
|
+
|
|
29
|
+
**Persisting a cast already in play.** When you arrive here from a live session — the user spun up an ad-hoc cast inline and wants to keep it — the personas are already drafted and voiced. Don't re-interrogate: capture them as they've been playing, give the group an `id` and name, ask the default question, and go straight to the write.
|
|
30
|
+
|
|
31
|
+
## Editing an existing party
|
|
32
|
+
|
|
33
|
+
When the user wants to change a party that already exists (retune a member's persona, add someone to a group, swap the default), read the current state first so you change rather than clobber: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow` returns the merged `party_members`, `party_groups`, and `default_party`. Show the member or group being touched, capture only the delta with the user, and hand that sparse change to `bmad-customize` — it replaces a `party_members`/`party_groups` entry whose `code`/`id` matches and appends the rest, so an edit is just the changed entry, never a full rewrite.
|
|
34
|
+
|
|
35
|
+
## Distill from source data (when provided)
|
|
36
|
+
|
|
37
|
+
When the user points you at data — a file path, a pasted table, exported profiles — read it and compress it into the requested number of representative personas. Cluster by what actually differentiates behavior (goals, budget, pains, adoption posture), not surface demographics alone. Each cluster becomes one persona with a real name and face. Name your reasoning: tell the user which segments you found and which traits drove the split, so they can correct the cut before you flesh the personas out. If they didn't say how many, propose a number from the spread in the data and let them adjust.
|
|
38
|
+
|
|
39
|
+
For a focus-group panel, independent answers matter more than banter, so offer to set `party_mode` to `subagent` (or remind them `--mode subagent` does it per session) — otherwise one mind voices every customer and they bleed together.
|
|
40
|
+
|
|
41
|
+
## Flesh out each persona
|
|
42
|
+
|
|
43
|
+
Draft, don't interrogate. Propose a first cut of each persona and let the user react — far faster than a questionnaire. Push each one until it has a voice you could pick out blind. The dimensions that earn their place:
|
|
44
|
+
|
|
45
|
+
- **Identity** — name, a one-line title, an emoji that fits.
|
|
46
|
+
- **Voice & ethos** — how they talk, what they value, how they argue, their pet peeves.
|
|
47
|
+
- **Agenda** — what they're really after in any conversation; what they push for.
|
|
48
|
+
- **Quirks** — the specific, human details (a catchphrase, a bias, a blind spot).
|
|
49
|
+
- For focus-group personas, also **likes and dislikes**: what would make them champion or reject an idea, and their relationship to the product space.
|
|
50
|
+
- **Capabilities** (optional) — if this persona should research or read files when spawned, note it; it becomes soft guidance in their spawn prompt.
|
|
51
|
+
|
|
52
|
+
Keep pushing for specificity. "Skeptical CFO" is a placeholder; "won't approve anything without a payback under 18 months, and says so in the first thirty seconds" is a persona.
|
|
53
|
+
|
|
54
|
+
## Close it out
|
|
55
|
+
|
|
56
|
+
- Ask straight: **anything else about this party to specify** before you write it — a house dynamic, a missing voice, a member who should lead.
|
|
57
|
+
- Ask whether **this group should be the default party going forward**. Yes → set `default_party` to the group's id. One-offs with no group can't be a default; skip the ask.
|
|
58
|
+
|
|
59
|
+
## Write via bmad-customize
|
|
60
|
+
|
|
61
|
+
**First, check for code collisions.** A custom member whose `code` matches an installed agent silently *overrides* that agent in the collective. Before composing, resolve the collective once — `python3 {skill-root}/scripts/resolve_party.py --project-root {project-root} --skill {skill-root}` — and check each new member's `code` against the returned members. On a collision, surface it ("`analyst` would override the installed Analyst — intended, or pick a different code?") and let the user confirm or rename. One check, not a gate.
|
|
62
|
+
|
|
63
|
+
Compose the sparse override and hand it to `bmad-customize` to place, confirm, and write — target skill `bmad-party-mode`, `[workflow]` surface. Default to the **user** override (`bmad-party-mode.user.toml`); offer the **team** file when the party is meant to be shared. Hand it the exact entries: the `party_members` tables, any `party_groups` table, and `default_party` if the user opted in. Keep it sparse — only the new entries, never a copy of the base customize.toml. `bmad-customize` shows the TOML, waits for an explicit yes, writes, and verifies the merge; don't write the file yourself.
|
|
64
|
+
|
|
65
|
+
After it lands, tell the user how to use it: `--party <id>` to summon the group, or that it's now the default if they set it.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Agent-Team Mode
|
|
2
|
+
|
|
3
|
+
Active when `{workflow.party_mode}` resolves to `agent-team` (or a `--mode agent-team` override). Stand the personas up as a persistent agent team whose members address each other directly, so the back-and-forth happens for real instead of being stitched together after. Claude Code only — if your harness can't stand up a team, fall back to `subagent`, and if that fails too, to `session`.
|
|
4
|
+
|
|
5
|
+
Your job shifts from weaving to hosting: kick off the topic, keep turns short and in character, pull the thread back when it wanders, and surface the exchange to the user. Voice, brevity, and clash still hold.
|
|
6
|
+
|
|
7
|
+
In each member's standing brief, carry: their persona; the group's `scene` and any behavioral instructions in the persona as binding direction; their `model` if one is set (a session `--model` pin wins for everyone); and the instruction to check anything that could be stale since the model's training cutoff with web search rather than guessing.
|
|
8
|
+
|
|
9
|
+
## Model choice
|
|
10
|
+
|
|
11
|
+
Match the model to the work: something quick for banter, something stronger for deep work. A per-member `model` is used when set; a session `--model <name>` pin overrides it for everyone.
|