wizz-method 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (833) hide show
  1. package/.claude-plugin/marketplace.json +9 -9
  2. package/README.md +4 -4
  3. package/build/artifacts/llms-full.txt +218 -218
  4. package/build/artifacts/llms.txt +4 -4
  5. package/build/site/explanation/advanced-elicitation/index.html +2 -2
  6. package/build/site/explanation/adversarial-review/index.html +2 -2
  7. package/build/site/explanation/analysis-phase/index.html +2 -2
  8. package/build/site/explanation/brainstorming/index.html +2 -2
  9. package/build/site/explanation/checkpoint-preview/index.html +2 -2
  10. package/build/site/explanation/established-projects-faq/index.html +2 -2
  11. package/build/site/explanation/forensic-investigation/index.html +2 -2
  12. package/build/site/explanation/named-agents/index.html +6 -6
  13. package/build/site/explanation/party-mode/index.html +3 -3
  14. package/build/site/explanation/preventing-agent-conflicts/index.html +2 -2
  15. package/build/site/explanation/project-context/index.html +2 -2
  16. package/build/site/explanation/quick-dev/index.html +2 -2
  17. package/build/site/explanation/web-bundles/index.html +2 -2
  18. package/build/site/explanation/why-solutioning-matters/index.html +2 -2
  19. package/build/site/how-to/{customize-bmad → customize-wizz}/index.html +6 -6
  20. package/build/site/how-to/established-projects/index.html +2 -2
  21. package/build/site/how-to/{expand-bmad-for-your-org → expand-wizz-for-your-org}/index.html +7 -7
  22. package/build/site/how-to/{get-answers-about-bmad → get-answers-about-wizz}/index.html +3 -3
  23. package/build/site/how-to/install-custom-modules/index.html +3 -3
  24. package/build/site/how-to/{install-bmad → install-wizz}/index.html +6 -6
  25. package/build/site/how-to/non-interactive-installation/index.html +3 -3
  26. package/build/site/how-to/project-context/index.html +2 -2
  27. package/build/site/how-to/quick-fixes/index.html +2 -2
  28. package/build/site/how-to/shard-large-documents/index.html +2 -2
  29. package/build/site/how-to/upgrade-to-v6/index.html +8 -8
  30. package/build/site/how-to/use-web-bundles/index.html +2 -2
  31. package/build/site/index.html +3 -3
  32. package/build/site/llms-full.txt +218 -218
  33. package/build/site/llms.txt +4 -4
  34. package/build/site/pagefind/fragment/en_296ddb9.pf_fragment +0 -0
  35. package/build/site/pagefind/fragment/en_583316f.pf_fragment +0 -0
  36. package/build/site/pagefind/fragment/en_67825a4.pf_fragment +0 -0
  37. package/build/site/pagefind/fragment/{en_41cab15.pf_fragment → en_887ce56.pf_fragment} +0 -0
  38. package/build/site/pagefind/fragment/en_92d7cc7.pf_fragment +0 -0
  39. package/build/site/pagefind/fragment/{en_56b1635.pf_fragment → en_9b57d7d.pf_fragment} +0 -0
  40. package/build/site/pagefind/fragment/en_ba9fb37.pf_fragment +0 -0
  41. package/build/site/pagefind/fragment/en_bfc56b6.pf_fragment +0 -0
  42. package/build/site/pagefind/fragment/en_c6d9e48.pf_fragment +0 -0
  43. package/build/site/pagefind/fragment/en_cdd885c.pf_fragment +0 -0
  44. package/build/site/pagefind/fragment/en_d890205.pf_fragment +0 -0
  45. package/build/site/pagefind/index/en_5b9d8c6.pf_index +0 -0
  46. package/build/site/pagefind/index/en_868614c.pf_index +0 -0
  47. package/build/site/pagefind/index/en_e4f9bff.pf_index +0 -0
  48. package/build/site/pagefind/pagefind-entry.json +1 -1
  49. package/build/site/pagefind/pagefind.en_4e69d7f053.pf_meta +0 -0
  50. package/build/site/reference/agents/index.html +2 -2
  51. package/build/site/reference/commands/index.html +3 -3
  52. package/build/site/reference/core-tools/index.html +3 -3
  53. package/build/site/reference/modules/index.html +4 -4
  54. package/build/site/reference/testing/index.html +2 -2
  55. package/build/site/reference/workflow-map/index.html +2 -2
  56. package/build/site/roadmap/index.html +2 -2
  57. package/build/site/sitemap-0.xml +1 -1
  58. package/build/site/tutorials/getting-started/index.html +4 -4
  59. package/build/site/workflow-map-diagram-fr.html +2 -2
  60. package/package.json +11 -9
  61. package/removals.txt +46 -46
  62. package/skills-registry.yaml +318 -0
  63. package/src/bmm-skills/1-analysis/research/wizz-domain-research/customize.toml +1 -1
  64. package/src/bmm-skills/1-analysis/research/wizz-market-research/customize.toml +1 -1
  65. package/src/bmm-skills/1-analysis/research/wizz-technical-research/customize.toml +2 -1
  66. package/src/bmm-skills/1-analysis/wizz-agent-analyst/customize.toml +2 -2
  67. package/src/bmm-skills/1-analysis/wizz-agent-tech-writer/customize.toml +2 -2
  68. package/src/bmm-skills/1-analysis/wizz-document-project/customize.toml +1 -1
  69. package/src/bmm-skills/1-analysis/wizz-document-project/templates/index-template.md +1 -1
  70. package/src/bmm-skills/1-analysis/wizz-document-project/templates/project-overview-template.md +1 -1
  71. package/src/bmm-skills/1-analysis/wizz-document-project/templates/source-tree-template.md +1 -1
  72. package/src/bmm-skills/1-analysis/wizz-prfaq/customize.toml +1 -1
  73. package/src/bmm-skills/1-analysis/wizz-product-brief/SKILL.md +1 -1
  74. package/src/bmm-skills/1-analysis/wizz-product-brief/customize.toml +1 -1
  75. package/src/bmm-skills/2-plan-workflows/wizz-agent-pm/customize.toml +2 -2
  76. package/src/bmm-skills/2-plan-workflows/wizz-agent-ux-designer/customize.toml +2 -2
  77. package/src/bmm-skills/2-plan-workflows/wizz-create-prd/SKILL.md +1 -1
  78. package/src/bmm-skills/2-plan-workflows/wizz-create-prd/customize.toml +1 -1
  79. package/src/bmm-skills/2-plan-workflows/wizz-edit-prd/SKILL.md +1 -1
  80. package/src/bmm-skills/2-plan-workflows/wizz-edit-prd/customize.toml +1 -1
  81. package/src/bmm-skills/2-plan-workflows/wizz-prd/SKILL.md +3 -3
  82. package/src/bmm-skills/2-plan-workflows/wizz-prd/customize.toml +2 -2
  83. package/src/bmm-skills/2-plan-workflows/wizz-ux/SKILL.md +2 -2
  84. package/src/bmm-skills/2-plan-workflows/wizz-validate-prd/SKILL.md +1 -1
  85. package/src/bmm-skills/2-plan-workflows/wizz-validate-prd/customize.toml +1 -1
  86. package/src/bmm-skills/3-solutioning/wizz-agent-architect/customize.toml +2 -2
  87. package/src/bmm-skills/3-solutioning/wizz-architecture/SKILL.md +2 -2
  88. package/src/bmm-skills/3-solutioning/wizz-architecture/customize.toml +4 -2
  89. package/src/bmm-skills/3-solutioning/wizz-check-implementation-readiness/customize.toml +1 -1
  90. package/src/bmm-skills/3-solutioning/wizz-create-architecture/SKILL.md +1 -1
  91. package/src/bmm-skills/3-solutioning/wizz-create-architecture/customize.toml +1 -1
  92. package/src/bmm-skills/3-solutioning/wizz-create-epics-and-stories/customize.toml +1 -1
  93. package/src/bmm-skills/3-solutioning/wizz-generate-project-context/customize.toml +1 -1
  94. package/src/bmm-skills/4-implementation/wizz-agent-dev/customize.toml +3 -2
  95. package/src/bmm-skills/4-implementation/wizz-checkpoint-preview/customize.toml +1 -1
  96. package/src/bmm-skills/4-implementation/wizz-code-review/customize.toml +1 -1
  97. package/src/bmm-skills/4-implementation/wizz-correct-course/customize.toml +1 -1
  98. package/src/bmm-skills/4-implementation/wizz-create-story/SKILL.md +2 -2
  99. package/src/bmm-skills/4-implementation/wizz-create-story/customize.toml +1 -1
  100. package/src/bmm-skills/4-implementation/wizz-dev-story/SKILL.md +1 -1
  101. package/src/bmm-skills/4-implementation/wizz-dev-story/customize.toml +1 -1
  102. package/src/bmm-skills/4-implementation/wizz-investigate/customize.toml +1 -1
  103. package/src/bmm-skills/4-implementation/wizz-qa-generate-e2e-tests/customize.toml +1 -1
  104. package/src/bmm-skills/4-implementation/wizz-quick-dev/SKILL.md +7 -0
  105. package/src/bmm-skills/4-implementation/wizz-quick-dev/customize.toml +1 -1
  106. package/src/bmm-skills/4-implementation/wizz-quick-dev/step-01-clarify-and-route.md +1 -1
  107. package/src/bmm-skills/4-implementation/wizz-retrospective/customize.toml +1 -1
  108. package/src/bmm-skills/4-implementation/wizz-sprint-planning/customize.toml +1 -1
  109. package/src/bmm-skills/4-implementation/wizz-sprint-status/SKILL.md +5 -5
  110. package/src/bmm-skills/4-implementation/wizz-sprint-status/customize.toml +1 -1
  111. package/src/bmm-skills/module-help.csv +32 -32
  112. package/src/bmm-skills/module.yaml +1 -1
  113. package/src/core-skills/module-help.csv +3 -3
  114. package/src/core-skills/module.yaml +4 -4
  115. package/src/core-skills/wizz-brainstorming/SKILL.md +1 -1
  116. package/src/core-skills/wizz-brainstorming/analysis/catalog-analysis.md +4 -4
  117. package/src/core-skills/wizz-brainstorming/assets/brain-selector.html +5 -5
  118. package/src/core-skills/wizz-brainstorming/customize.toml +1 -1
  119. package/src/core-skills/wizz-brainstorming/references/finalize.md +1 -1
  120. package/src/core-skills/wizz-brainstorming/scripts/brain.py +5 -5
  121. package/src/core-skills/wizz-brainstorming/scripts/tests/test_brain.py +1 -1
  122. package/src/core-skills/wizz-brainstorming/scripts/tests/test_memlog.py +3 -3
  123. package/src/core-skills/wizz-customize/SKILL.md +6 -6
  124. package/src/core-skills/wizz-customize/scripts/list_customizable_skills.py +3 -3
  125. package/src/core-skills/wizz-customize/scripts/tests/test_list_customizable_skills.py +13 -13
  126. package/src/core-skills/wizz-editorial-review-prose/SKILL.md +20 -45
  127. package/src/core-skills/wizz-editorial-review-structure/SKILL.md +1 -1
  128. package/src/core-skills/wizz-help/SKILL.md +3 -3
  129. package/src/core-skills/wizz-party-mode/SKILL.md +5 -3
  130. package/src/core-skills/wizz-party-mode/customize.toml +896 -2
  131. package/src/core-skills/wizz-party-mode/scripts/__pycache__/resolve_party.cpython-314.pyc +0 -0
  132. package/src/core-skills/wizz-party-mode/scripts/resolve_party.py +2 -2
  133. package/src/core-skills/wizz-party-mode/scripts/tests/test-resolve_party.py +1 -1
  134. package/src/core-skills/wizz-review-adversarial-general/SKILL.md +23 -12
  135. package/src/core-skills/wizz-spec/SKILL.md +3 -3
  136. package/src/core-skills/wizz-spec/customize.toml +2 -2
  137. package/src/modules/wizz/README.md +5 -5
  138. package/src/modules/wizz/agents/wizz-ads/SKILL.md +1 -1
  139. package/src/modules/wizz/agents/wizz-copy/SKILL.md +1 -1
  140. package/src/modules/wizz/agents/wizz-designer/SKILL.md +1 -1
  141. package/src/modules/wizz/agents/wizz-growth/SKILL.md +1 -1
  142. package/src/modules/wizz/agents/wizz-maestro/SKILL.md +48 -24
  143. package/src/modules/wizz/agents/wizz-memoria/SKILL.md +1 -1
  144. package/src/modules/wizz/agents/wizz-qa/SKILL.md +1 -1
  145. package/src/modules/wizz/agents/wizz-seo/SKILL.md +1 -1
  146. package/src/modules/wizz/overrides/{bmad-agent-analyst.toml → wizz-agent-analyst.toml} +1 -1
  147. package/src/modules/wizz/overrides/{bmad-agent-architect.toml → wizz-agent-architect.toml} +1 -1
  148. package/src/modules/wizz/overrides/{bmad-agent-dev.toml → wizz-agent-dev.toml} +1 -1
  149. package/src/modules/wizz/overrides/{bmad-agent-pm.toml → wizz-agent-pm.toml} +1 -1
  150. package/src/modules/wizz/overrides/{bmad-agent-tech-writer.toml → wizz-agent-tech-writer.toml} +1 -1
  151. package/src/modules/wizz/overrides/{bmad-agent-ux-designer.toml → wizz-agent-ux-designer.toml} +1 -1
  152. package/src/modules/wizz/scripts/wizz-init.mjs +7 -7
  153. package/src/scripts/resolve_config.py +7 -7
  154. package/src/scripts/resolve_customization.py +2 -2
  155. package/src/scripts/tests/test_memlog.py +1 -1
  156. package/src/skills-lib/ab-test-setup/SKILL.md +266 -0
  157. package/src/skills-lib/ab-test-setup/evals/evals.json +105 -0
  158. package/src/skills-lib/ab-test-setup/references/sample-size-guide.md +263 -0
  159. package/src/skills-lib/ab-test-setup/references/test-templates.md +277 -0
  160. package/src/skills-lib/ad-creative/SKILL.md +362 -0
  161. package/src/skills-lib/ad-creative/evals/evals.json +90 -0
  162. package/src/skills-lib/ad-creative/references/generative-tools.md +637 -0
  163. package/src/skills-lib/ad-creative/references/platform-specs.md +213 -0
  164. package/src/skills-lib/adversarial-reviewer/SKILL.md +122 -0
  165. package/src/skills-lib/agent-browser/SKILL.md +139 -0
  166. package/src/skills-lib/ai-seo/SKILL.md +398 -0
  167. package/src/skills-lib/ai-seo/evals/evals.json +90 -0
  168. package/src/skills-lib/ai-seo/references/content-patterns.md +285 -0
  169. package/src/skills-lib/ai-seo/references/platform-ranking-factors.md +152 -0
  170. package/src/skills-lib/analytics-tracking/SKILL.md +309 -0
  171. package/src/skills-lib/analytics-tracking/evals/evals.json +90 -0
  172. package/src/skills-lib/analytics-tracking/references/event-library.md +260 -0
  173. package/src/skills-lib/analytics-tracking/references/ga4-implementation.md +300 -0
  174. package/src/skills-lib/analytics-tracking/references/gtm-implementation.md +390 -0
  175. package/src/skills-lib/auth-and-secrets/SKILL.md +82 -0
  176. package/src/skills-lib/caching-and-queues/SKILL.md +58 -0
  177. package/src/skills-lib/cerebro/SKILL.md +368 -0
  178. package/src/skills-lib/churn-prevention/SKILL.md +424 -0
  179. package/src/skills-lib/churn-prevention/evals/evals.json +93 -0
  180. package/src/skills-lib/churn-prevention/references/cancel-flow-patterns.md +316 -0
  181. package/src/skills-lib/churn-prevention/references/dunning-playbook.md +408 -0
  182. package/src/skills-lib/cloud-and-infra/SKILL.md +36 -0
  183. package/src/skills-lib/cold-email/SKILL.md +158 -0
  184. package/src/skills-lib/cold-email/evals/evals.json +94 -0
  185. package/src/skills-lib/cold-email/references/benchmarks.md +83 -0
  186. package/src/skills-lib/cold-email/references/follow-up-sequences.md +81 -0
  187. package/src/skills-lib/cold-email/references/frameworks.md +90 -0
  188. package/src/skills-lib/cold-email/references/personalization.md +79 -0
  189. package/src/skills-lib/cold-email/references/subject-lines.md +53 -0
  190. package/src/skills-lib/competitor-alternatives/SKILL.md +256 -0
  191. package/src/skills-lib/competitor-alternatives/evals/evals.json +93 -0
  192. package/src/skills-lib/competitor-alternatives/references/content-architecture.md +271 -0
  193. package/src/skills-lib/competitor-alternatives/references/templates.md +223 -0
  194. package/src/skills-lib/content-strategy/SKILL.md +359 -0
  195. package/src/skills-lib/content-strategy/evals/evals.json +90 -0
  196. package/src/skills-lib/copy-editing/SKILL.md +447 -0
  197. package/src/skills-lib/copy-editing/evals/evals.json +89 -0
  198. package/src/skills-lib/copy-editing/references/plain-english-alternatives.md +394 -0
  199. package/src/skills-lib/copywriting/SKILL.md +252 -0
  200. package/src/skills-lib/copywriting/evals/evals.json +111 -0
  201. package/src/skills-lib/copywriting/references/copy-frameworks.md +344 -0
  202. package/src/skills-lib/copywriting/references/natural-transitions.md +272 -0
  203. package/src/skills-lib/database-and-deps/SKILL.md +80 -0
  204. package/src/skills-lib/database-scaling/SKILL.md +44 -0
  205. package/src/skills-lib/decision-maker/SKILL.md +534 -0
  206. package/src/skills-lib/desktop-security/SKILL.md +43 -0
  207. package/src/skills-lib/email-sequence/SKILL.md +309 -0
  208. package/src/skills-lib/email-sequence/evals/evals.json +93 -0
  209. package/src/skills-lib/email-sequence/references/copy-guidelines.md +113 -0
  210. package/src/skills-lib/email-sequence/references/email-types.md +515 -0
  211. package/src/skills-lib/email-sequence/references/sequence-templates.md +168 -0
  212. package/src/skills-lib/enhance-prompt/README.md +34 -0
  213. package/src/skills-lib/enhance-prompt/SKILL.md +204 -0
  214. package/src/skills-lib/enhance-prompt/references/KEYWORDS.md +114 -0
  215. package/src/skills-lib/find-skills/SKILL.md +181 -0
  216. package/src/skills-lib/form-cro/SKILL.md +429 -0
  217. package/src/skills-lib/form-cro/evals/evals.json +90 -0
  218. package/src/skills-lib/free-tool-strategy/SKILL.md +178 -0
  219. package/src/skills-lib/free-tool-strategy/evals/evals.json +90 -0
  220. package/src/skills-lib/free-tool-strategy/references/tool-types.md +217 -0
  221. package/src/skills-lib/graphify/.graphify_version +1 -0
  222. package/src/skills-lib/graphify/SKILL.md +1217 -0
  223. package/src/skills-lib/huashu-design/LICENSE +21 -0
  224. package/src/skills-lib/huashu-design/README.en.md +309 -0
  225. package/src/skills-lib/huashu-design/README.md +348 -0
  226. package/src/skills-lib/huashu-design/SKILL.md +631 -0
  227. package/src/skills-lib/huashu-design/assets/android_frame.jsx +175 -0
  228. package/src/skills-lib/huashu-design/assets/animations.jsx +348 -0
  229. package/src/skills-lib/huashu-design/assets/banner.svg +198 -0
  230. package/src/skills-lib/huashu-design/assets/bgm-ad.mp3 +0 -0
  231. package/src/skills-lib/huashu-design/assets/bgm-educational-alt.mp3 +0 -0
  232. package/src/skills-lib/huashu-design/assets/bgm-educational.mp3 +0 -0
  233. package/src/skills-lib/huashu-design/assets/bgm-tech.mp3 +0 -0
  234. package/src/skills-lib/huashu-design/assets/bgm-tutorial-alt.mp3 +0 -0
  235. package/src/skills-lib/huashu-design/assets/bgm-tutorial.mp3 +0 -0
  236. package/src/skills-lib/huashu-design/assets/browser_window.jsx +166 -0
  237. package/src/skills-lib/huashu-design/assets/deck_index.html +348 -0
  238. package/src/skills-lib/huashu-design/assets/deck_stage.js +420 -0
  239. package/src/skills-lib/huashu-design/assets/design_canvas.jsx +205 -0
  240. package/src/skills-lib/huashu-design/assets/director-notes-samples/launch-film-30s-sample.md +1713 -0
  241. package/src/skills-lib/huashu-design/assets/ios_frame.jsx +192 -0
  242. package/src/skills-lib/huashu-design/assets/macos_window.jsx +96 -0
  243. package/src/skills-lib/huashu-design/assets/narration_stage.jsx +476 -0
  244. package/src/skills-lib/huashu-design/assets/personal-asset-index.example.json +71 -0
  245. package/src/skills-lib/huashu-design/assets/sfx/container/card-flip.mp3 +0 -0
  246. package/src/skills-lib/huashu-design/assets/sfx/container/card-snap.mp3 +0 -0
  247. package/src/skills-lib/huashu-design/assets/sfx/container/modal-open.mp3 +0 -0
  248. package/src/skills-lib/huashu-design/assets/sfx/container/stack-collapse.mp3 +0 -0
  249. package/src/skills-lib/huashu-design/assets/sfx/feedback/achievement.mp3 +0 -0
  250. package/src/skills-lib/huashu-design/assets/sfx/feedback/error-tone.mp3 +0 -0
  251. package/src/skills-lib/huashu-design/assets/sfx/feedback/notification-pop.mp3 +0 -0
  252. package/src/skills-lib/huashu-design/assets/sfx/feedback/success-chime.mp3 +0 -0
  253. package/src/skills-lib/huashu-design/assets/sfx/impact/brand-stamp.mp3 +0 -0
  254. package/src/skills-lib/huashu-design/assets/sfx/impact/drop-thud.mp3 +0 -0
  255. package/src/skills-lib/huashu-design/assets/sfx/impact/logo-reveal-v2.mp3 +0 -0
  256. package/src/skills-lib/huashu-design/assets/sfx/impact/logo-reveal.mp3 +0 -0
  257. package/src/skills-lib/huashu-design/assets/sfx/keyboard/delete-key.mp3 +0 -0
  258. package/src/skills-lib/huashu-design/assets/sfx/keyboard/enter.mp3 +0 -0
  259. package/src/skills-lib/huashu-design/assets/sfx/keyboard/space-tap.mp3 +0 -0
  260. package/src/skills-lib/huashu-design/assets/sfx/keyboard/type-fast.mp3 +0 -0
  261. package/src/skills-lib/huashu-design/assets/sfx/keyboard/type.mp3 +0 -0
  262. package/src/skills-lib/huashu-design/assets/sfx/magic/ai-process.mp3 +0 -0
  263. package/src/skills-lib/huashu-design/assets/sfx/magic/sparkle.mp3 +0 -0
  264. package/src/skills-lib/huashu-design/assets/sfx/magic/transform.mp3 +0 -0
  265. package/src/skills-lib/huashu-design/assets/sfx/progress/complete-done.mp3 +0 -0
  266. package/src/skills-lib/huashu-design/assets/sfx/progress/generate-start.mp3 +0 -0
  267. package/src/skills-lib/huashu-design/assets/sfx/progress/loading-tick.mp3 +0 -0
  268. package/src/skills-lib/huashu-design/assets/sfx/terminal/command-execute.mp3 +0 -0
  269. package/src/skills-lib/huashu-design/assets/sfx/terminal/cursor-blink.mp3 +0 -0
  270. package/src/skills-lib/huashu-design/assets/sfx/terminal/output-appear.mp3 +0 -0
  271. package/src/skills-lib/huashu-design/assets/sfx/transition/dissolve.mp3 +0 -0
  272. package/src/skills-lib/huashu-design/assets/sfx/transition/slide-in.mp3 +0 -0
  273. package/src/skills-lib/huashu-design/assets/sfx/transition/swipe-horizontal.mp3 +0 -0
  274. package/src/skills-lib/huashu-design/assets/sfx/transition/whoosh-fast.mp3 +0 -0
  275. package/src/skills-lib/huashu-design/assets/sfx/transition/whoosh.mp3 +0 -0
  276. package/src/skills-lib/huashu-design/assets/sfx/ui/click-soft.mp3 +0 -0
  277. package/src/skills-lib/huashu-design/assets/sfx/ui/click.mp3 +0 -0
  278. package/src/skills-lib/huashu-design/assets/sfx/ui/focus.mp3 +0 -0
  279. package/src/skills-lib/huashu-design/assets/sfx/ui/hover-subtle.mp3 +0 -0
  280. package/src/skills-lib/huashu-design/assets/sfx/ui/tap-finger.mp3 +0 -0
  281. package/src/skills-lib/huashu-design/assets/sfx/ui/toggle-on.mp3 +0 -0
  282. package/src/skills-lib/huashu-design/assets/showcases/INDEX.md +115 -0
  283. package/src/skills-lib/huashu-design/assets/showcases/cover/cover-build.html +235 -0
  284. package/src/skills-lib/huashu-design/assets/showcases/cover/cover-build.png +0 -0
  285. package/src/skills-lib/huashu-design/assets/showcases/cover/cover-pentagram.html +229 -0
  286. package/src/skills-lib/huashu-design/assets/showcases/cover/cover-pentagram.png +0 -0
  287. package/src/skills-lib/huashu-design/assets/showcases/cover/cover-takram.html +288 -0
  288. package/src/skills-lib/huashu-design/assets/showcases/cover/cover-takram.png +0 -0
  289. package/src/skills-lib/huashu-design/assets/showcases/infographic/infographic-build.html +503 -0
  290. package/src/skills-lib/huashu-design/assets/showcases/infographic/infographic-build.png +0 -0
  291. package/src/skills-lib/huashu-design/assets/showcases/infographic/infographic-pentagram.html +600 -0
  292. package/src/skills-lib/huashu-design/assets/showcases/infographic/infographic-pentagram.png +0 -0
  293. package/src/skills-lib/huashu-design/assets/showcases/infographic/infographic-takram.html +670 -0
  294. package/src/skills-lib/huashu-design/assets/showcases/infographic/infographic-takram.png +0 -0
  295. package/src/skills-lib/huashu-design/assets/showcases/ppt/ppt-build.html +382 -0
  296. package/src/skills-lib/huashu-design/assets/showcases/ppt/ppt-build.png +0 -0
  297. package/src/skills-lib/huashu-design/assets/showcases/ppt/ppt-pentagram.html +536 -0
  298. package/src/skills-lib/huashu-design/assets/showcases/ppt/ppt-pentagram.png +0 -0
  299. package/src/skills-lib/huashu-design/assets/showcases/ppt/ppt-takram.html +497 -0
  300. package/src/skills-lib/huashu-design/assets/showcases/ppt/ppt-takram.png +0 -0
  301. package/src/skills-lib/huashu-design/assets/showcases/website-ai-nav/ainav-build.html +385 -0
  302. package/src/skills-lib/huashu-design/assets/showcases/website-ai-nav/ainav-build.png +0 -0
  303. package/src/skills-lib/huashu-design/assets/showcases/website-ai-nav/ainav-pentagram.html +422 -0
  304. package/src/skills-lib/huashu-design/assets/showcases/website-ai-nav/ainav-pentagram.png +0 -0
  305. package/src/skills-lib/huashu-design/assets/showcases/website-ai-nav/ainav-takram.html +499 -0
  306. package/src/skills-lib/huashu-design/assets/showcases/website-ai-nav/ainav-takram.png +0 -0
  307. package/src/skills-lib/huashu-design/assets/showcases/website-ai-writing/aiwriting-build.html +562 -0
  308. package/src/skills-lib/huashu-design/assets/showcases/website-ai-writing/aiwriting-build.png +0 -0
  309. package/src/skills-lib/huashu-design/assets/showcases/website-ai-writing/aiwriting-pentagram.html +548 -0
  310. package/src/skills-lib/huashu-design/assets/showcases/website-ai-writing/aiwriting-pentagram.png +0 -0
  311. package/src/skills-lib/huashu-design/assets/showcases/website-ai-writing/aiwriting-takram.html +696 -0
  312. package/src/skills-lib/huashu-design/assets/showcases/website-ai-writing/aiwriting-takram.png +0 -0
  313. package/src/skills-lib/huashu-design/assets/showcases/website-devdocs/devdocs-build.html +372 -0
  314. package/src/skills-lib/huashu-design/assets/showcases/website-devdocs/devdocs-build.png +0 -0
  315. package/src/skills-lib/huashu-design/assets/showcases/website-devdocs/devdocs-pentagram.html +460 -0
  316. package/src/skills-lib/huashu-design/assets/showcases/website-devdocs/devdocs-pentagram.png +0 -0
  317. package/src/skills-lib/huashu-design/assets/showcases/website-devdocs/devdocs-takram.html +494 -0
  318. package/src/skills-lib/huashu-design/assets/showcases/website-devdocs/devdocs-takram.png +0 -0
  319. package/src/skills-lib/huashu-design/assets/showcases/website-homepage/homepage-build.html +367 -0
  320. package/src/skills-lib/huashu-design/assets/showcases/website-homepage/homepage-build.png +0 -0
  321. package/src/skills-lib/huashu-design/assets/showcases/website-homepage/homepage-pentagram.html +368 -0
  322. package/src/skills-lib/huashu-design/assets/showcases/website-homepage/homepage-pentagram.png +0 -0
  323. package/src/skills-lib/huashu-design/assets/showcases/website-homepage/homepage-takram.html +459 -0
  324. package/src/skills-lib/huashu-design/assets/showcases/website-homepage/homepage-takram.png +0 -0
  325. package/src/skills-lib/huashu-design/assets/showcases/website-saas/saas-build.html +493 -0
  326. package/src/skills-lib/huashu-design/assets/showcases/website-saas/saas-build.png +0 -0
  327. package/src/skills-lib/huashu-design/assets/showcases/website-saas/saas-pentagram.html +556 -0
  328. package/src/skills-lib/huashu-design/assets/showcases/website-saas/saas-pentagram.png +0 -0
  329. package/src/skills-lib/huashu-design/assets/showcases/website-saas/saas-takram.html +604 -0
  330. package/src/skills-lib/huashu-design/assets/showcases/website-saas/saas-takram.png +0 -0
  331. package/src/skills-lib/huashu-design/demos/c1-ios-prototype-en.html +1145 -0
  332. package/src/skills-lib/huashu-design/demos/c1-ios-prototype.html +1142 -0
  333. package/src/skills-lib/huashu-design/demos/c2-slides-pptx-en.html +1055 -0
  334. package/src/skills-lib/huashu-design/demos/c2-slides-pptx.html +1055 -0
  335. package/src/skills-lib/huashu-design/demos/c3-motion-design-en.html +1134 -0
  336. package/src/skills-lib/huashu-design/demos/c3-motion-design.html +1134 -0
  337. package/src/skills-lib/huashu-design/demos/c4-tweaks-en.html +989 -0
  338. package/src/skills-lib/huashu-design/demos/c4-tweaks.html +989 -0
  339. package/src/skills-lib/huashu-design/demos/c5-infographic-en.html +816 -0
  340. package/src/skills-lib/huashu-design/demos/c5-infographic.html +813 -0
  341. package/src/skills-lib/huashu-design/demos/c6-expert-review-en.html +885 -0
  342. package/src/skills-lib/huashu-design/demos/c6-expert-review.html +894 -0
  343. package/src/skills-lib/huashu-design/demos/hero-animation-v10-en.html +1498 -0
  344. package/src/skills-lib/huashu-design/demos/md-html-narration/md-html-demo.html +615 -0
  345. package/src/skills-lib/huashu-design/demos/md-html-narration/script.md +69 -0
  346. package/src/skills-lib/huashu-design/demos/voiceover-demo/script.md +17 -0
  347. package/src/skills-lib/huashu-design/demos/voiceover-demo//344/273/200/344/271/210/346/230/257token.html +201 -0
  348. package/src/skills-lib/huashu-design/demos/w1-brand-protocol-en.html +684 -0
  349. package/src/skills-lib/huashu-design/demos/w1-brand-protocol.html +696 -0
  350. package/src/skills-lib/huashu-design/demos/w2-junior-designer-en.html +983 -0
  351. package/src/skills-lib/huashu-design/demos/w2-junior-designer.html +994 -0
  352. package/src/skills-lib/huashu-design/demos/w3-fallback-advisor-en.html +647 -0
  353. package/src/skills-lib/huashu-design/demos/w3-fallback-advisor.html +704 -0
  354. package/src/skills-lib/huashu-design/package-lock.json +846 -0
  355. package/src/skills-lib/huashu-design/package.json +8 -0
  356. package/src/skills-lib/huashu-design/references/animation-best-practices.md +506 -0
  357. package/src/skills-lib/huashu-design/references/animation-pitfalls.md +402 -0
  358. package/src/skills-lib/huashu-design/references/animations.md +249 -0
  359. package/src/skills-lib/huashu-design/references/apple-gallery-showcase.md +338 -0
  360. package/src/skills-lib/huashu-design/references/audio-design-rules.md +260 -0
  361. package/src/skills-lib/huashu-design/references/brand-asset-protocol.md +250 -0
  362. package/src/skills-lib/huashu-design/references/cinematic-patterns.md +264 -0
  363. package/src/skills-lib/huashu-design/references/content-guidelines.md +260 -0
  364. package/src/skills-lib/huashu-design/references/critique-guide.md +199 -0
  365. package/src/skills-lib/huashu-design/references/design-context.md +213 -0
  366. package/src/skills-lib/huashu-design/references/design-styles.md +370 -0
  367. package/src/skills-lib/huashu-design/references/editable-pptx.md +334 -0
  368. package/src/skills-lib/huashu-design/references/hero-animation-case-study.md +250 -0
  369. package/src/skills-lib/huashu-design/references/launch-film-director-notes.md +293 -0
  370. package/src/skills-lib/huashu-design/references/multi-perspective-parallel-case-study.md +267 -0
  371. package/src/skills-lib/huashu-design/references/react-setup.md +276 -0
  372. package/src/skills-lib/huashu-design/references/scene-templates.md +262 -0
  373. package/src/skills-lib/huashu-design/references/sfx-library.md +226 -0
  374. package/src/skills-lib/huashu-design/references/slide-decks.md +745 -0
  375. package/src/skills-lib/huashu-design/references/tweaks-system.md +313 -0
  376. package/src/skills-lib/huashu-design/references/verification.md +183 -0
  377. package/src/skills-lib/huashu-design/references/video-export.md +232 -0
  378. package/src/skills-lib/huashu-design/references/voiceover-pipeline.md +397 -0
  379. package/src/skills-lib/huashu-design/references/workflow.md +216 -0
  380. package/src/skills-lib/huashu-design/scripts/add-music.sh +108 -0
  381. package/src/skills-lib/huashu-design/scripts/convert-formats.sh +83 -0
  382. package/src/skills-lib/huashu-design/scripts/export_deck_pdf.mjs +98 -0
  383. package/src/skills-lib/huashu-design/scripts/export_deck_pptx.mjs +107 -0
  384. package/src/skills-lib/huashu-design/scripts/export_deck_stage_pdf.mjs +130 -0
  385. package/src/skills-lib/huashu-design/scripts/fetch_images.py +94 -0
  386. package/src/skills-lib/huashu-design/scripts/gen_deck_thumbs.mjs +55 -0
  387. package/src/skills-lib/huashu-design/scripts/html2pptx.js +1178 -0
  388. package/src/skills-lib/huashu-design/scripts/mix-voiceover.sh +127 -0
  389. package/src/skills-lib/huashu-design/scripts/narrate-pipeline.mjs +315 -0
  390. package/src/skills-lib/huashu-design/scripts/render-narration.sh +151 -0
  391. package/src/skills-lib/huashu-design/scripts/render-video-seek.js +238 -0
  392. package/src/skills-lib/huashu-design/scripts/render-video.js +289 -0
  393. package/src/skills-lib/huashu-design/scripts/tts-doubao.mjs +184 -0
  394. package/src/skills-lib/huashu-design/scripts/verify.py +154 -0
  395. package/src/skills-lib/huashu-design/test-prompts.json +38 -0
  396. package/src/skills-lib/humanizer/LICENSE +21 -0
  397. package/src/skills-lib/humanizer/README.md +145 -0
  398. package/src/skills-lib/humanizer/SKILL.md +474 -0
  399. package/src/skills-lib/humanizer/WARP.md +53 -0
  400. package/src/skills-lib/impeccable/SKILL.md +186 -0
  401. package/src/skills-lib/implementation-planner/SKILL.md +630 -0
  402. package/src/skills-lib/infrastructure/SKILL.md +34 -0
  403. package/src/skills-lib/inicio-de-projeto/SKILL.md +313 -0
  404. package/src/skills-lib/launch-strategy/SKILL.md +353 -0
  405. package/src/skills-lib/launch-strategy/evals/evals.json +91 -0
  406. package/src/skills-lib/marketing-ideas/SKILL.md +167 -0
  407. package/src/skills-lib/marketing-ideas/evals/evals.json +90 -0
  408. package/src/skills-lib/marketing-ideas/references/ideas-by-category.md +366 -0
  409. package/src/skills-lib/marketing-psychology/SKILL.md +455 -0
  410. package/src/skills-lib/marketing-psychology/evals/evals.json +88 -0
  411. package/src/skills-lib/motion-3d-director/SKILL.md +485 -0
  412. package/src/skills-lib/onboarding-cro/SKILL.md +220 -0
  413. package/src/skills-lib/onboarding-cro/evals/evals.json +92 -0
  414. package/src/skills-lib/onboarding-cro/references/experiments.md +258 -0
  415. package/src/skills-lib/page-cro/SKILL.md +182 -0
  416. package/src/skills-lib/page-cro/evals/evals.json +111 -0
  417. package/src/skills-lib/page-cro/references/experiments.md +248 -0
  418. package/src/skills-lib/paid-ads/SKILL.md +315 -0
  419. package/src/skills-lib/paid-ads/evals/evals.json +90 -0
  420. package/src/skills-lib/paid-ads/references/ad-copy-templates.md +207 -0
  421. package/src/skills-lib/paid-ads/references/audience-targeting.md +243 -0
  422. package/src/skills-lib/paid-ads/references/platform-setup-checklists.md +277 -0
  423. package/src/skills-lib/paywall-upgrade-cro/SKILL.md +227 -0
  424. package/src/skills-lib/paywall-upgrade-cro/evals/evals.json +93 -0
  425. package/src/skills-lib/paywall-upgrade-cro/references/experiments.md +164 -0
  426. package/src/skills-lib/popup-cro/SKILL.md +453 -0
  427. package/src/skills-lib/popup-cro/evals/evals.json +94 -0
  428. package/src/skills-lib/premium-landing-ui-researcher/SKILL.md +2090 -0
  429. package/src/skills-lib/pricing-strategy/SKILL.md +231 -0
  430. package/src/skills-lib/pricing-strategy/evals/evals.json +90 -0
  431. package/src/skills-lib/pricing-strategy/references/research-methods.md +152 -0
  432. package/src/skills-lib/pricing-strategy/references/tier-structure.md +232 -0
  433. package/src/skills-lib/product-marketing-context/SKILL.md +241 -0
  434. package/src/skills-lib/product-marketing-context/evals/evals.json +85 -0
  435. package/src/skills-lib/programmatic-seo/SKILL.md +238 -0
  436. package/src/skills-lib/programmatic-seo/evals/evals.json +94 -0
  437. package/src/skills-lib/programmatic-seo/references/playbooks.md +308 -0
  438. package/src/skills-lib/react-components/README.md +36 -0
  439. package/src/skills-lib/react-components/SKILL.md +51 -0
  440. package/src/skills-lib/react-components/examples/gold-standard-card.tsx +80 -0
  441. package/src/skills-lib/react-components/package-lock.json +231 -0
  442. package/src/skills-lib/react-components/package.json +16 -0
  443. package/src/skills-lib/react-components/resources/architecture-checklist.md +15 -0
  444. package/src/skills-lib/react-components/resources/component-template.tsx +37 -0
  445. package/src/skills-lib/react-components/resources/stitch-api-reference.md +14 -0
  446. package/src/skills-lib/react-components/resources/style-guide.json +27 -0
  447. package/src/skills-lib/react-components/scripts/fetch-stitch.sh +30 -0
  448. package/src/skills-lib/react-components/scripts/validate.js +70 -0
  449. package/src/skills-lib/references/premium-agency-rules.md +79 -0
  450. package/src/skills-lib/referral-program/SKILL.md +255 -0
  451. package/src/skills-lib/referral-program/evals/evals.json +89 -0
  452. package/src/skills-lib/referral-program/references/affiliate-programs.md +164 -0
  453. package/src/skills-lib/referral-program/references/program-examples.md +143 -0
  454. package/src/skills-lib/remotion-best-practices/SKILL.md +61 -0
  455. package/src/skills-lib/remotion-best-practices/rules/3d.md +86 -0
  456. package/src/skills-lib/remotion-best-practices/rules/animations.md +27 -0
  457. package/src/skills-lib/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
  458. package/src/skills-lib/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
  459. package/src/skills-lib/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +103 -0
  460. package/src/skills-lib/remotion-best-practices/rules/assets.md +78 -0
  461. package/src/skills-lib/remotion-best-practices/rules/audio-visualization.md +198 -0
  462. package/src/skills-lib/remotion-best-practices/rules/audio.md +169 -0
  463. package/src/skills-lib/remotion-best-practices/rules/calculate-metadata.md +134 -0
  464. package/src/skills-lib/remotion-best-practices/rules/can-decode.md +75 -0
  465. package/src/skills-lib/remotion-best-practices/rules/charts.md +120 -0
  466. package/src/skills-lib/remotion-best-practices/rules/compositions.md +154 -0
  467. package/src/skills-lib/remotion-best-practices/rules/display-captions.md +184 -0
  468. package/src/skills-lib/remotion-best-practices/rules/extract-frames.md +229 -0
  469. package/src/skills-lib/remotion-best-practices/rules/ffmpeg.md +38 -0
  470. package/src/skills-lib/remotion-best-practices/rules/fonts.md +152 -0
  471. package/src/skills-lib/remotion-best-practices/rules/get-audio-duration.md +58 -0
  472. package/src/skills-lib/remotion-best-practices/rules/get-video-dimensions.md +68 -0
  473. package/src/skills-lib/remotion-best-practices/rules/get-video-duration.md +60 -0
  474. package/src/skills-lib/remotion-best-practices/rules/gifs.md +141 -0
  475. package/src/skills-lib/remotion-best-practices/rules/images.md +134 -0
  476. package/src/skills-lib/remotion-best-practices/rules/import-srt-captions.md +69 -0
  477. package/src/skills-lib/remotion-best-practices/rules/light-leaks.md +73 -0
  478. package/src/skills-lib/remotion-best-practices/rules/lottie.md +70 -0
  479. package/src/skills-lib/remotion-best-practices/rules/maps.md +412 -0
  480. package/src/skills-lib/remotion-best-practices/rules/measuring-dom-nodes.md +34 -0
  481. package/src/skills-lib/remotion-best-practices/rules/measuring-text.md +140 -0
  482. package/src/skills-lib/remotion-best-practices/rules/parameters.md +109 -0
  483. package/src/skills-lib/remotion-best-practices/rules/sequencing.md +118 -0
  484. package/src/skills-lib/remotion-best-practices/rules/sfx.md +26 -0
  485. package/src/skills-lib/remotion-best-practices/rules/subtitles.md +36 -0
  486. package/src/skills-lib/remotion-best-practices/rules/tailwind.md +11 -0
  487. package/src/skills-lib/remotion-best-practices/rules/text-animations.md +20 -0
  488. package/src/skills-lib/remotion-best-practices/rules/timing.md +179 -0
  489. package/src/skills-lib/remotion-best-practices/rules/transcribe-captions.md +70 -0
  490. package/src/skills-lib/remotion-best-practices/rules/transitions.md +197 -0
  491. package/src/skills-lib/remotion-best-practices/rules/transparent-videos.md +106 -0
  492. package/src/skills-lib/remotion-best-practices/rules/trimming.md +51 -0
  493. package/src/skills-lib/remotion-best-practices/rules/videos.md +171 -0
  494. package/src/skills-lib/remotion-best-practices/rules/voiceover.md +99 -0
  495. package/src/skills-lib/revops/SKILL.md +343 -0
  496. package/src/skills-lib/revops/evals/evals.json +91 -0
  497. package/src/skills-lib/revops/references/automation-playbooks.md +290 -0
  498. package/src/skills-lib/revops/references/lifecycle-definitions.md +278 -0
  499. package/src/skills-lib/revops/references/routing-rules.md +203 -0
  500. package/src/skills-lib/revops/references/scoring-models.md +247 -0
  501. package/src/skills-lib/sales-enablement/SKILL.md +349 -0
  502. package/src/skills-lib/sales-enablement/evals/evals.json +91 -0
  503. package/src/skills-lib/sales-enablement/references/deck-frameworks.md +263 -0
  504. package/src/skills-lib/sales-enablement/references/demo-scripts.md +355 -0
  505. package/src/skills-lib/sales-enablement/references/objection-library.md +270 -0
  506. package/src/skills-lib/sales-enablement/references/one-pager-templates.md +208 -0
  507. package/src/skills-lib/schema-markup/SKILL.md +179 -0
  508. package/src/skills-lib/schema-markup/evals/evals.json +87 -0
  509. package/src/skills-lib/schema-markup/references/schema-examples.md +398 -0
  510. package/src/skills-lib/seo-audit/SKILL.md +412 -0
  511. package/src/skills-lib/seo-audit/evals/evals.json +136 -0
  512. package/src/skills-lib/seo-audit/references/ai-writing-detection.md +200 -0
  513. package/src/skills-lib/signup-flow-cro/SKILL.md +359 -0
  514. package/src/skills-lib/signup-flow-cro/evals/evals.json +88 -0
  515. package/src/skills-lib/site-architecture/SKILL.md +357 -0
  516. package/src/skills-lib/site-architecture/evals/evals.json +88 -0
  517. package/src/skills-lib/site-architecture/references/mermaid-templates.md +216 -0
  518. package/src/skills-lib/site-architecture/references/navigation-patterns.md +305 -0
  519. package/src/skills-lib/site-architecture/references/site-type-templates.md +293 -0
  520. package/src/skills-lib/social-content/SKILL.md +278 -0
  521. package/src/skills-lib/social-content/evals/evals.json +92 -0
  522. package/src/skills-lib/social-content/references/platforms.md +170 -0
  523. package/src/skills-lib/social-content/references/post-templates.md +177 -0
  524. package/src/skills-lib/social-content/references/reverse-engineering.md +195 -0
  525. package/src/skills-lib/supabase-postgres-best-practices/AGENTS.md +68 -0
  526. package/src/skills-lib/supabase-postgres-best-practices/CLAUDE.md +68 -0
  527. package/src/skills-lib/supabase-postgres-best-practices/README.md +116 -0
  528. package/src/skills-lib/supabase-postgres-best-practices/SKILL.md +64 -0
  529. package/src/skills-lib/supabase-postgres-best-practices/references/_contributing.md +171 -0
  530. package/src/skills-lib/supabase-postgres-best-practices/references/_sections.md +39 -0
  531. package/src/skills-lib/supabase-postgres-best-practices/references/_template.md +34 -0
  532. package/src/skills-lib/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
  533. package/src/skills-lib/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
  534. package/src/skills-lib/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
  535. package/src/skills-lib/supabase-postgres-best-practices/references/conn-limits.md +44 -0
  536. package/src/skills-lib/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
  537. package/src/skills-lib/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
  538. package/src/skills-lib/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
  539. package/src/skills-lib/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
  540. package/src/skills-lib/supabase-postgres-best-practices/references/data-pagination.md +50 -0
  541. package/src/skills-lib/supabase-postgres-best-practices/references/data-upsert.md +50 -0
  542. package/src/skills-lib/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
  543. package/src/skills-lib/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
  544. package/src/skills-lib/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
  545. package/src/skills-lib/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
  546. package/src/skills-lib/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
  547. package/src/skills-lib/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
  548. package/src/skills-lib/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
  549. package/src/skills-lib/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
  550. package/src/skills-lib/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
  551. package/src/skills-lib/supabase-postgres-best-practices/references/query-index-types.md +48 -0
  552. package/src/skills-lib/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
  553. package/src/skills-lib/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
  554. package/src/skills-lib/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
  555. package/src/skills-lib/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
  556. package/src/skills-lib/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
  557. package/src/skills-lib/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
  558. package/src/skills-lib/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
  559. package/src/skills-lib/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
  560. package/src/skills-lib/supabase-postgres-best-practices/references/security-privileges.md +54 -0
  561. package/src/skills-lib/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
  562. package/src/skills-lib/supabase-postgres-best-practices/references/security-rls-performance.md +57 -0
  563. package/src/skills-lib/taste-redesign/SKILL.md +178 -0
  564. package/src/skills-lib/taste-skill/SKILL.md +1206 -0
  565. package/src/skills-lib/ui-component-curator/SKILL.md +102 -0
  566. package/src/skills-lib/ui-ux-pro-max/SKILL.md +377 -0
  567. package/src/skills-lib/ui-ux-pro-max/data/charts.csv +26 -0
  568. package/src/skills-lib/ui-ux-pro-max/data/colors.csv +97 -0
  569. package/src/skills-lib/ui-ux-pro-max/data/icons.csv +101 -0
  570. package/src/skills-lib/ui-ux-pro-max/data/landing.csv +31 -0
  571. package/src/skills-lib/ui-ux-pro-max/data/products.csv +97 -0
  572. package/src/skills-lib/ui-ux-pro-max/data/react-performance.csv +45 -0
  573. package/src/skills-lib/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  574. package/src/skills-lib/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  575. package/src/skills-lib/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  576. package/src/skills-lib/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  577. package/src/skills-lib/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  578. package/src/skills-lib/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  579. package/src/skills-lib/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  580. package/src/skills-lib/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  581. package/src/skills-lib/ui-ux-pro-max/data/stacks/react.csv +54 -0
  582. package/src/skills-lib/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  583. package/src/skills-lib/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  584. package/src/skills-lib/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  585. package/src/skills-lib/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  586. package/src/skills-lib/ui-ux-pro-max/data/styles.csv +68 -0
  587. package/src/skills-lib/ui-ux-pro-max/data/typography.csv +58 -0
  588. package/src/skills-lib/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  589. package/src/skills-lib/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  590. package/src/skills-lib/ui-ux-pro-max/data/web-interface.csv +31 -0
  591. package/src/skills-lib/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
  592. package/src/skills-lib/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
  593. package/src/skills-lib/ui-ux-pro-max/scripts/__pycache__/search.cpython-314.pyc +0 -0
  594. package/src/skills-lib/ui-ux-pro-max/scripts/core.py +253 -0
  595. package/src/skills-lib/ui-ux-pro-max/scripts/design_system.py +1067 -0
  596. package/src/skills-lib/ui-ux-pro-max/scripts/graphify-out/cache/0964cef300f753b5cee0cc49777ca97035c85d45c212099405d9ee4da36e523f.json +1 -0
  597. package/src/skills-lib/ui-ux-pro-max/scripts/graphify-out/cache/21a40f6810c3a6f17acc3580f106171daf78c7b41bbd066bc80448a821ea0adf.json +1 -0
  598. package/src/skills-lib/ui-ux-pro-max/scripts/graphify-out/cache/69ea15a020ac81b8459e37ef63654398a50c1035fc01c43d8069df217389f7f3.json +1 -0
  599. package/src/skills-lib/ui-ux-pro-max/scripts/search.py +114 -0
  600. package/src/skills-lib/web-security/SKILL.md +147 -0
  601. package/src/skills-lib/wizz-router/SKILL.md +257 -0
  602. package/src/squads/README.md +39 -0
  603. package/src/squads/advisory-board/README.md +34 -0
  604. package/src/squads/advisory-board/agents/board-chair.md +161 -0
  605. package/src/squads/advisory-board/agents/brene-brown.md +296 -0
  606. package/src/squads/advisory-board/agents/charlie-munger.md +590 -0
  607. package/src/squads/advisory-board/agents/derek-sivers.md +268 -0
  608. package/src/squads/advisory-board/agents/naval-ravikant.md +251 -0
  609. package/src/squads/advisory-board/agents/patrick-lencioni.md +394 -0
  610. package/src/squads/advisory-board/agents/peter-thiel.md +269 -0
  611. package/src/squads/advisory-board/agents/ray-dalio.md +587 -0
  612. package/src/squads/advisory-board/agents/reid-hoffman.md +278 -0
  613. package/src/squads/advisory-board/agents/simon-sinek.md +291 -0
  614. package/src/squads/advisory-board/agents/yvon-chouinard.md +275 -0
  615. package/src/squads/advisory-board/squad.yaml +50 -0
  616. package/src/squads/brand-squad/README.md +60 -0
  617. package/src/squads/brand-squad/agents/al-ries.md +175 -0
  618. package/src/squads/brand-squad/agents/alina-wheeler.md +184 -0
  619. package/src/squads/brand-squad/agents/archetype-consultant.md +215 -0
  620. package/src/squads/brand-squad/agents/brand-chief.md +158 -0
  621. package/src/squads/brand-squad/agents/byron-sharp.md +169 -0
  622. package/src/squads/brand-squad/agents/david-aaker.md +166 -0
  623. package/src/squads/brand-squad/agents/denise-yohn.md +172 -0
  624. package/src/squads/brand-squad/agents/domain-scout.md +135 -0
  625. package/src/squads/brand-squad/agents/donald-miller.md +179 -0
  626. package/src/squads/brand-squad/agents/emily-heyward.md +147 -0
  627. package/src/squads/brand-squad/agents/jean-noel-kapferer.md +189 -0
  628. package/src/squads/brand-squad/agents/kevin-keller.md +199 -0
  629. package/src/squads/brand-squad/agents/marty-neumeier.md +170 -0
  630. package/src/squads/brand-squad/agents/miller-sticky-brand.md +180 -0
  631. package/src/squads/brand-squad/agents/naming-strategist.md +171 -0
  632. package/src/squads/brand-squad/squad.yaml +117 -0
  633. package/src/squads/c-level-squad/README.md +29 -0
  634. package/src/squads/c-level-squad/agents/caio-architect.md +235 -0
  635. package/src/squads/c-level-squad/agents/cio-engineer.md +209 -0
  636. package/src/squads/c-level-squad/agents/cmo-architect.md +208 -0
  637. package/src/squads/c-level-squad/agents/coo-orchestrator.md +193 -0
  638. package/src/squads/c-level-squad/agents/cto-architect.md +194 -0
  639. package/src/squads/c-level-squad/agents/vision-chief.md +201 -0
  640. package/src/squads/c-level-squad/squad.yaml +45 -0
  641. package/src/squads/claude-code-mastery/README.md +146 -0
  642. package/src/squads/claude-code-mastery/agents/claude-mastery-chief.md +554 -0
  643. package/src/squads/claude-code-mastery/agents/config-engineer.md +865 -0
  644. package/src/squads/claude-code-mastery/agents/hooks-architect.md +1013 -0
  645. package/src/squads/claude-code-mastery/agents/mcp-integrator.md +791 -0
  646. package/src/squads/claude-code-mastery/agents/project-integrator.md +1196 -0
  647. package/src/squads/claude-code-mastery/agents/roadmap-sentinel.md +931 -0
  648. package/src/squads/claude-code-mastery/agents/skill-craftsman.md +1250 -0
  649. package/src/squads/claude-code-mastery/agents/swarm-orchestrator.md +1008 -0
  650. package/src/squads/copy-squad/README.md +65 -0
  651. package/src/squads/copy-squad/agents/andre-chaperon.md +206 -0
  652. package/src/squads/copy-squad/agents/ben-settle.md +194 -0
  653. package/src/squads/copy-squad/agents/claude-hopkins.md +182 -0
  654. package/src/squads/copy-squad/agents/clayton-makepeace.md +225 -0
  655. package/src/squads/copy-squad/agents/copy-chief.md +166 -0
  656. package/src/squads/copy-squad/agents/dan-kennedy.md +202 -0
  657. package/src/squads/copy-squad/agents/dan-koe.md +223 -0
  658. package/src/squads/copy-squad/agents/david-deutsch.md +197 -0
  659. package/src/squads/copy-squad/agents/david-ogilvy.md +198 -0
  660. package/src/squads/copy-squad/agents/eugene-schwartz.md +238 -0
  661. package/src/squads/copy-squad/agents/frank-kern.md +195 -0
  662. package/src/squads/copy-squad/agents/gary-bencivenga.md +197 -0
  663. package/src/squads/copy-squad/agents/gary-halbert.md +219 -0
  664. package/src/squads/copy-squad/agents/jim-rutz.md +193 -0
  665. package/src/squads/copy-squad/agents/joe-sugarman.md +234 -0
  666. package/src/squads/copy-squad/agents/john-carlton.md +203 -0
  667. package/src/squads/copy-squad/agents/jon-benson.md +196 -0
  668. package/src/squads/copy-squad/agents/parris-lampropoulos.md +188 -0
  669. package/src/squads/copy-squad/agents/robert-collier.md +183 -0
  670. package/src/squads/copy-squad/agents/russell-brunson.md +229 -0
  671. package/src/squads/copy-squad/agents/ry-schwartz.md +185 -0
  672. package/src/squads/copy-squad/agents/stefan-georgi.md +188 -0
  673. package/src/squads/copy-squad/agents/todd-brown.md +171 -0
  674. package/src/squads/copy-squad/squad.yaml +87 -0
  675. package/src/squads/cybersecurity/README.md +38 -0
  676. package/src/squads/cybersecurity/agents/busterer.md +108 -0
  677. package/src/squads/cybersecurity/agents/cartographer.md +114 -0
  678. package/src/squads/cybersecurity/agents/chris-sanders.md +205 -0
  679. package/src/squads/cybersecurity/agents/command-generator.md +121 -0
  680. package/src/squads/cybersecurity/agents/cyber-chief.md +120 -0
  681. package/src/squads/cybersecurity/agents/dirber.md +111 -0
  682. package/src/squads/cybersecurity/agents/fuzzer.md +121 -0
  683. package/src/squads/cybersecurity/agents/georgia-weidman.md +178 -0
  684. package/src/squads/cybersecurity/agents/jim-manico.md +182 -0
  685. package/src/squads/cybersecurity/agents/marcus-carey.md +200 -0
  686. package/src/squads/cybersecurity/agents/omar-santos.md +206 -0
  687. package/src/squads/cybersecurity/agents/peter-kim.md +179 -0
  688. package/src/squads/cybersecurity/agents/ripper.md +121 -0
  689. package/src/squads/cybersecurity/agents/rogue.md +116 -0
  690. package/src/squads/cybersecurity/agents/shannon-runner.md +108 -0
  691. package/src/squads/cybersecurity/squad.yaml +56 -0
  692. package/src/squads/data-squad/README.md +30 -0
  693. package/src/squads/data-squad/agents/avinash-kaushik.md +268 -0
  694. package/src/squads/data-squad/agents/data-chief.md +167 -0
  695. package/src/squads/data-squad/agents/david-spinks.md +277 -0
  696. package/src/squads/data-squad/agents/nick-mehta.md +294 -0
  697. package/src/squads/data-squad/agents/peter-fader.md +246 -0
  698. package/src/squads/data-squad/agents/sean-ellis.md +303 -0
  699. package/src/squads/data-squad/agents/wes-kao.md +268 -0
  700. package/src/squads/data-squad/squad.yaml +46 -0
  701. package/src/squads/design-squad/README.md +31 -0
  702. package/src/squads/design-squad/agents/brad-frost.md +185 -0
  703. package/src/squads/design-squad/agents/dan-mall.md +178 -0
  704. package/src/squads/design-squad/agents/dave-malouf.md +198 -0
  705. package/src/squads/design-squad/agents/design-chief.md +109 -0
  706. package/src/squads/design-squad/agents/design-system-architect.md +109 -0
  707. package/src/squads/design-squad/agents/ui-engineer.md +102 -0
  708. package/src/squads/design-squad/agents/ux-designer.md +105 -0
  709. package/src/squads/design-squad/agents/visual-generator.md +108 -0
  710. package/src/squads/design-squad/squad.yaml +48 -0
  711. package/src/squads/hormozi-squad/README.md +39 -0
  712. package/src/squads/hormozi-squad/agents/hormozi-ads.md +159 -0
  713. package/src/squads/hormozi-squad/agents/hormozi-advisor.md +178 -0
  714. package/src/squads/hormozi-squad/agents/hormozi-audit.md +178 -0
  715. package/src/squads/hormozi-squad/agents/hormozi-chief.md +111 -0
  716. package/src/squads/hormozi-squad/agents/hormozi-closer.md +179 -0
  717. package/src/squads/hormozi-squad/agents/hormozi-content.md +166 -0
  718. package/src/squads/hormozi-squad/agents/hormozi-copy.md +152 -0
  719. package/src/squads/hormozi-squad/agents/hormozi-hooks.md +177 -0
  720. package/src/squads/hormozi-squad/agents/hormozi-launch.md +160 -0
  721. package/src/squads/hormozi-squad/agents/hormozi-leads.md +198 -0
  722. package/src/squads/hormozi-squad/agents/hormozi-models.md +191 -0
  723. package/src/squads/hormozi-squad/agents/hormozi-offers.md +197 -0
  724. package/src/squads/hormozi-squad/agents/hormozi-pricing.md +151 -0
  725. package/src/squads/hormozi-squad/agents/hormozi-retention.md +166 -0
  726. package/src/squads/hormozi-squad/agents/hormozi-scale.md +175 -0
  727. package/src/squads/hormozi-squad/agents/hormozi-workshop.md +160 -0
  728. package/src/squads/hormozi-squad/squad.yaml +60 -0
  729. package/src/squads/movement/README.md +29 -0
  730. package/src/squads/movement/agents/analista-de-impacto.md +350 -0
  731. package/src/squads/movement/agents/estrategista-de-ciclo.md +301 -0
  732. package/src/squads/movement/agents/fenomenologo.md +169 -0
  733. package/src/squads/movement/agents/identitario.md +265 -0
  734. package/src/squads/movement/agents/manifestador.md +279 -0
  735. package/src/squads/movement/agents/movement-architect.md +210 -0
  736. package/src/squads/movement/agents/movement-chief.md +135 -0
  737. package/src/squads/movement/squad.yaml +45 -0
  738. package/src/squads/storytelling/README.md +35 -0
  739. package/src/squads/storytelling/agents/blake-snyder.md +225 -0
  740. package/src/squads/storytelling/agents/dan-harmon.md +167 -0
  741. package/src/squads/storytelling/agents/joseph-campbell.md +184 -0
  742. package/src/squads/storytelling/agents/keith-johnstone.md +157 -0
  743. package/src/squads/storytelling/agents/kindra-hall.md +162 -0
  744. package/src/squads/storytelling/agents/marshall-ganz.md +167 -0
  745. package/src/squads/storytelling/agents/matthew-dicks.md +152 -0
  746. package/src/squads/storytelling/agents/nancy-duarte.md +154 -0
  747. package/src/squads/storytelling/agents/oren-klaff.md +166 -0
  748. package/src/squads/storytelling/agents/park-howell.md +152 -0
  749. package/src/squads/storytelling/agents/shawn-coyne.md +208 -0
  750. package/src/squads/storytelling/agents/story-chief.md +155 -0
  751. package/src/squads/storytelling/squad.yaml +52 -0
  752. package/src/squads/traffic-masters/README.md +39 -0
  753. package/src/squads/traffic-masters/agents/ad-midas.md +149 -0
  754. package/src/squads/traffic-masters/agents/ads-analyst.md +135 -0
  755. package/src/squads/traffic-masters/agents/creative-analyst.md +142 -0
  756. package/src/squads/traffic-masters/agents/depesh-mandalia.md +174 -0
  757. package/src/squads/traffic-masters/agents/fiscal.md +144 -0
  758. package/src/squads/traffic-masters/agents/kasim-aslam.md +158 -0
  759. package/src/squads/traffic-masters/agents/media-buyer.md +159 -0
  760. package/src/squads/traffic-masters/agents/molly-pittman.md +185 -0
  761. package/src/squads/traffic-masters/agents/nicholas-kusmich.md +157 -0
  762. package/src/squads/traffic-masters/agents/pedro-sobral.md +158 -0
  763. package/src/squads/traffic-masters/agents/performance-analyst.md +135 -0
  764. package/src/squads/traffic-masters/agents/pixel-specialist.md +144 -0
  765. package/src/squads/traffic-masters/agents/ralph-burns.md +163 -0
  766. package/src/squads/traffic-masters/agents/scale-optimizer.md +144 -0
  767. package/src/squads/traffic-masters/agents/tom-breeze.md +175 -0
  768. package/src/squads/traffic-masters/agents/traffic-chief.md +97 -0
  769. package/src/squads/traffic-masters/squad.yaml +59 -0
  770. package/tools/bundle-web-bundles.js +1 -1
  771. package/tools/format-workflow-md.js +2 -2
  772. package/tools/installer/commands/install.js +13 -1
  773. package/tools/installer/commands/status.js +9 -9
  774. package/tools/installer/commands/uninstall.js +5 -5
  775. package/tools/installer/core/config.js +20 -0
  776. package/tools/installer/core/existing-install.js +8 -8
  777. package/tools/installer/core/install-paths.js +13 -13
  778. package/tools/installer/core/installer.js +202 -102
  779. package/tools/installer/core/legacy-warnings.js +16 -16
  780. package/tools/installer/core/manifest-generator.js +44 -33
  781. package/tools/installer/core/manifest.js +30 -30
  782. package/tools/installer/core/python-check.js +7 -7
  783. package/tools/installer/ide/_config-driven.js +97 -97
  784. package/tools/installer/ide/manager.js +17 -17
  785. package/tools/installer/ide/platform-codes.yaml +5 -5
  786. package/tools/installer/ide/shared/installed-skills.js +13 -13
  787. package/tools/installer/ide/shared/path-utils.js +46 -46
  788. package/tools/installer/ide/shared/skill-manifest.js +4 -4
  789. package/tools/installer/install-messages.yaml +1 -1
  790. package/tools/installer/list-options.js +3 -3
  791. package/tools/installer/modules/channel-plan.js +1 -1
  792. package/tools/installer/modules/channel-resolver.js +1 -1
  793. package/tools/installer/modules/cli-config.js +145 -0
  794. package/tools/installer/modules/custom-module-manager.js +16 -16
  795. package/tools/installer/modules/external-manager.js +6 -6
  796. package/tools/installer/modules/mcp-config.js +137 -0
  797. package/tools/installer/modules/official-modules.js +42 -42
  798. package/tools/installer/modules/plugin-resolver.js +3 -3
  799. package/tools/installer/modules/skills-lib.js +135 -0
  800. package/tools/installer/project-root.js +13 -13
  801. package/tools/installer/prompts.js +1 -1
  802. package/tools/installer/set-overrides.js +6 -6
  803. package/tools/installer/ui.js +239 -29
  804. package/tools/installer/yaml-format.js +1 -1
  805. package/tools/migrate-custom-module-paths.js +11 -11
  806. package/tools/skill-validator.md +6 -6
  807. package/tools/validate-skills.js +10 -5
  808. package/web-bundles/README.md +4 -4
  809. package/web-bundles/brainstorming-coach/INSTRUCTIONS.md +1 -1
  810. package/web-bundles/bundles.json +6 -6
  811. package/web-bundles/market-and-industry-research/INSTRUCTIONS.md +1 -1
  812. package/web-bundles/prd-coach/INSTRUCTIONS.md +3 -3
  813. package/web-bundles/prfaq-coach/INSTRUCTIONS.md +3 -3
  814. package/web-bundles/product-brief-coach/INSTRUCTIONS.md +3 -3
  815. package/web-bundles/ux-coach/INSTRUCTIONS.md +1 -1
  816. package/{bmad-modules.yaml → wizz-modules.yaml} +15 -15
  817. package/build/site/pagefind/fragment/en_5ad92a9.pf_fragment +0 -0
  818. package/build/site/pagefind/fragment/en_7aea5bc.pf_fragment +0 -0
  819. package/build/site/pagefind/fragment/en_81bcd7f.pf_fragment +0 -0
  820. package/build/site/pagefind/fragment/en_938e9c4.pf_fragment +0 -0
  821. package/build/site/pagefind/fragment/en_b51d75b.pf_fragment +0 -0
  822. package/build/site/pagefind/fragment/en_c9fea21.pf_fragment +0 -0
  823. package/build/site/pagefind/fragment/en_e07e982.pf_fragment +0 -0
  824. package/build/site/pagefind/fragment/en_f4389af.pf_fragment +0 -0
  825. package/build/site/pagefind/fragment/en_f52c9f9.pf_fragment +0 -0
  826. package/build/site/pagefind/index/en_82c64dc.pf_index +0 -0
  827. package/build/site/pagefind/index/en_d0dd3c7.pf_index +0 -0
  828. package/build/site/pagefind/index/en_e890f88.pf_index +0 -0
  829. package/build/site/pagefind/pagefind.en_ee1b8a17c8.pf_meta +0 -0
  830. /package/build/site/img/{bmad-dark.png → wizz-dark.png} +0 -0
  831. /package/build/site/img/{bmad-light.png → wizz-light.png} +0 -0
  832. /package/src/bmm-skills/1-analysis/wizz-prfaq/{bmad-manifest.json → wizz-manifest.json} +0 -0
  833. /package/tools/installer/{bmad-cli.js → wizz-cli.js} +0 -0
@@ -4,21 +4,21 @@ const yaml = require('yaml');
4
4
  const fs = require('./fs-native');
5
5
 
6
6
  /**
7
- * Find the BMAD project root directory by looking for package.json
8
- * or specific BMAD markers
7
+ * Find the WIZZ project root directory by looking for package.json
8
+ * or specific WIZZ markers
9
9
  */
10
10
  function findProjectRoot(startPath = __dirname) {
11
11
  let currentPath = path.resolve(startPath);
12
12
 
13
- // Keep going up until we find package.json with bmad-method
13
+ // Keep going up until we find package.json with wizz-method
14
14
  while (currentPath !== path.dirname(currentPath)) {
15
15
  const packagePath = path.join(currentPath, 'package.json');
16
16
 
17
17
  if (fs.existsSync(packagePath)) {
18
18
  try {
19
19
  const pkg = fs.readJsonSync(packagePath);
20
- // Check if this is the BMAD project
21
- if (pkg.name === 'bmad-method' || fs.existsSync(path.join(currentPath, 'src', 'core-skills'))) {
20
+ // Check if this is the WIZZ project
21
+ if (pkg.name === 'wizz-method' || fs.existsSync(path.join(currentPath, 'src', 'core-skills'))) {
22
22
  return currentPath;
23
23
  }
24
24
  } catch {
@@ -77,7 +77,7 @@ function getModulePath(moduleName, ...segments) {
77
77
  * by ExternalModuleManager during install and are not copied into <src>/modules/.
78
78
  */
79
79
  function getExternalModuleCachePath(moduleName, ...segments) {
80
- const base = process.env.BMAD_EXTERNAL_MODULES_CACHE || path.join(os.homedir(), '.bmad', 'cache', 'external-modules');
80
+ const base = process.env.WIZZ_EXTERNAL_MODULES_CACHE || path.join(os.homedir(), '.wizz', 'cache', 'external-modules');
81
81
  return path.join(base, moduleName, ...segments);
82
82
  }
83
83
 
@@ -85,9 +85,9 @@ function getExternalModuleCachePath(moduleName, ...segments) {
85
85
  * Locate an installed module's `module.yaml` by filesystem lookup only.
86
86
  *
87
87
  * Built-in modules (core, bmm) live under <src>. External official modules are
88
- * cloned into ~/.bmad/cache/external-modules/<name>/ with varying internal
88
+ * cloned into ~/.wizz/cache/external-modules/<name>/ with varying internal
89
89
  * layouts (some at src/module.yaml, some at skills/module.yaml, some nested).
90
- * Url-source custom modules are cloned into ~/.bmad/cache/custom-modules/<host>/<owner>/<repo>/
90
+ * Url-source custom modules are cloned into ~/.wizz/cache/custom-modules/<host>/<owner>/<repo>/
91
91
  * and are resolved by walking the cache and matching `code` or `name` from the
92
92
  * discovered module.yaml. Local custom-source modules are not cached; their
93
93
  * path is read from the CustomModuleManager resolution cache set during the
@@ -155,11 +155,11 @@ async function resolveInstalledModuleYaml(moduleName) {
155
155
  if (found) return found;
156
156
  }
157
157
 
158
- // Community modules are cloned to ~/.bmad/cache/community-modules/<name>/
158
+ // Community modules are cloned to ~/.wizz/cache/community-modules/<name>/
159
159
  // (parallel to the external-modules cache used above). Search there too so
160
160
  // collectAgentsFromModuleYaml and writeCentralConfig can locate community
161
161
  // module.yaml files regardless of how nested the layout is.
162
- const communityCacheRoot = path.join(os.homedir(), '.bmad', 'cache', 'community-modules', moduleName);
162
+ const communityCacheRoot = path.join(os.homedir(), '.wizz', 'cache', 'community-modules', moduleName);
163
163
  if (await fs.pathExists(communityCacheRoot)) {
164
164
  const found = await searchRoot(communityCacheRoot);
165
165
  if (found) return found;
@@ -180,15 +180,15 @@ async function resolveInstalledModuleYaml(moduleName) {
180
180
  // Resolution cache unavailable — continue
181
181
  }
182
182
 
183
- // Fallback: url-source custom modules cloned to ~/.bmad/cache/custom-modules/.
183
+ // Fallback: url-source custom modules cloned to ~/.wizz/cache/custom-modules/.
184
184
  // Walk every cached repo, enumerate ALL module.yaml files via searchRootAll
185
185
  // (a single repo can host multiple plugins in discovery mode), and match by
186
186
  // the yaml's `code` or `name` field. This works on re-install runs where
187
187
  // _resolutionCache is empty and covers both discovery-mode (with marketplace.json)
188
- // and direct-mode modules, since we identify repo roots by .bmad-source.json
188
+ // and direct-mode modules, since we identify repo roots by .wizz-source.json
189
189
  // (written by cloneRepo) or .claude-plugin/ rather than by marketplace.json.
190
190
  try {
191
- const customCacheDir = path.join(os.homedir(), '.bmad', 'cache', 'custom-modules');
191
+ const customCacheDir = path.join(os.homedir(), '.wizz', 'cache', 'custom-modules');
192
192
  if (await fs.pathExists(customCacheDir)) {
193
193
  const { CustomModuleManager } = require('./modules/custom-module-manager');
194
194
  const customMgr = new CustomModuleManager();
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @clack/prompts wrapper for BMAD CLI
2
+ * @clack/prompts wrapper for WIZZ CLI
3
3
  *
4
4
  * This module provides a unified interface for CLI prompts using @clack/prompts.
5
5
  * It replaces Inquirer.js to fix Windows arrow key navigation issues (libuv #852).
@@ -230,16 +230,16 @@ async function tomlHasKey(filePath, section, key) {
230
230
  * (not in either file yet), team scope is the safe default.
231
231
  *
232
232
  * @param {Object<string, Object<string, string>>} overrides
233
- * @param {string} bmadDir absolute path to `_wizz/`
233
+ * @param {string} wizzDir absolute path to `_wizz/`
234
234
  * @returns {Promise<Array<{module:string,key:string,scope:'team'|'user',file:string}>>}
235
235
  * a list of applied entries (for caller logging)
236
236
  */
237
- async function applySetOverrides(overrides, bmadDir) {
237
+ async function applySetOverrides(overrides, wizzDir) {
238
238
  const applied = [];
239
239
  if (!overrides || typeof overrides !== 'object') return applied;
240
240
 
241
- const teamPath = path.join(bmadDir, 'config.toml');
242
- const userPath = path.join(bmadDir, 'config.user.toml');
241
+ const teamPath = path.join(wizzDir, 'config.toml');
242
+ const userPath = path.join(wizzDir, 'config.user.toml');
243
243
 
244
244
  for (const moduleCode of Object.keys(overrides)) {
245
245
  // Skip overrides for modules not actually installed. The installer writes
@@ -247,7 +247,7 @@ async function applySetOverrides(overrides, bmadDir) {
247
247
  // so its presence is a reliable "is this module here?" signal that works
248
248
  // for both fresh installs and quick-updates without coupling to caller-
249
249
  // supplied module lists.
250
- const moduleConfigYaml = path.join(bmadDir, moduleCode, 'config.yaml');
250
+ const moduleConfigYaml = path.join(wizzDir, moduleCode, 'config.yaml');
251
251
  if (!(await fs.pathExists(moduleConfigYaml))) {
252
252
  continue;
253
253
  }
@@ -291,7 +291,7 @@ async function applySetOverrides(overrides, bmadDir) {
291
291
  // value lives in the per-module yaml but won't be re-emitted into
292
292
  // config.toml on the next install (the schema-strict partition drops
293
293
  // it); re-pass `--set` if you need it sticky.
294
- const moduleYamlPath = path.join(bmadDir, moduleCode, 'config.yaml');
294
+ const moduleYamlPath = path.join(wizzDir, moduleCode, 'config.yaml');
295
295
  if (await fs.pathExists(moduleYamlPath)) {
296
296
  try {
297
297
  const text = await fs.readFile(moduleYamlPath, 'utf8');
@@ -1,7 +1,9 @@
1
1
  const path = require('node:path');
2
2
  const os = require('node:os');
3
3
  const semver = require('semver');
4
+ const yaml = require('yaml');
4
5
  const fs = require('./fs-native');
6
+ const { getProjectRoot } = require('./project-root');
5
7
  const installerPackageJson = require('../../package.json');
6
8
  const { CLIUtils } = require('./cli-utils');
7
9
  const { ExternalModuleManager } = require('./modules/external-manager');
@@ -15,6 +17,8 @@ const {
15
17
  bundledTargetWarnings,
16
18
  } = require('./modules/channel-plan');
17
19
  const channelResolver = require('./modules/channel-resolver');
20
+ const { resolveMcps } = require('./modules/mcp-config');
21
+ const { resolveClis, detectClis } = require('./modules/cli-config');
18
22
  const prompts = require('./prompts');
19
23
  const { parseSetEntries } = require('./set-overrides');
20
24
 
@@ -110,7 +114,7 @@ async function getModuleVersion(moduleCode, { repoUrl = null, registryDefault =
110
114
  * UI utilities for the installer
111
115
  */
112
116
  class UI {
113
- async _retainUnavailableInstalledModules(selectedModules, installedModuleIds, bmadDir, options = {}) {
117
+ async _retainUnavailableInstalledModules(selectedModules, installedModuleIds, wizzDir, options = {}) {
114
118
  const { OfficialModules } = require('./modules/official-modules');
115
119
  const officialCodes = new Set(['core']);
116
120
 
@@ -135,7 +139,7 @@ class UI {
135
139
  if (!selectedSet.has(moduleId) && !options.preserveUnselected) continue;
136
140
  if (officialCodes.has(moduleId)) continue;
137
141
 
138
- const customSource = await customMgr.findModuleSourceByCode(moduleId, { bmadDir });
142
+ const customSource = await customMgr.findModuleSourceByCode(moduleId, { wizzDir });
139
143
  if (!customSource) {
140
144
  preserveModules.push(moduleId);
141
145
  }
@@ -161,7 +165,7 @@ class UI {
161
165
  const messageLoader = new MessageLoader();
162
166
  await messageLoader.displayStartMessage();
163
167
 
164
- // Probe the local Python before any other prompts: several BMAD features
168
+ // Probe the local Python before any other prompts: several WIZZ features
165
169
  // (memlog session memory, TOML config resolution) need Python 3.11+ at
166
170
  // runtime. Warn-don't-block, but require an explicit ack so the warning
167
171
  // can't scroll past unseen. The installer runs in the destination
@@ -213,10 +217,10 @@ class UI {
213
217
 
214
218
  const { Installer } = require('./core/installer');
215
219
  const installer = new Installer();
216
- const { bmadDir } = await installer.findBmadDir(confirmedDirectory);
220
+ const { wizzDir } = await installer.findWizzDir(confirmedDirectory);
217
221
 
218
- // Check if there's an existing BMAD installation
219
- const hasExistingInstall = await fs.pathExists(bmadDir);
222
+ // Check if there's an existing WIZZ installation
223
+ const hasExistingInstall = await fs.pathExists(wizzDir);
220
224
 
221
225
  // Track action type (only set if there's an existing installation)
222
226
  let actionType;
@@ -224,7 +228,7 @@ class UI {
224
228
  // Only show action menu if there's an existing installation
225
229
  if (hasExistingInstall) {
226
230
  // Get version information
227
- const { existingInstall, bmadDir } = await this.getExistingInstallation(confirmedDirectory);
231
+ const { existingInstall, wizzDir } = await this.getExistingInstallation(confirmedDirectory);
228
232
 
229
233
  // Build menu choices dynamically
230
234
  const choices = [];
@@ -321,7 +325,7 @@ class UI {
321
325
  selectedModules.unshift('core');
322
326
  }
323
327
 
324
- const retainedModuleResult = await this._retainUnavailableInstalledModules(selectedModules, installedModuleIds, bmadDir, {
328
+ const retainedModuleResult = await this._retainUnavailableInstalledModules(selectedModules, installedModuleIds, wizzDir, {
325
329
  preserveUnselected: options.yes && !options.modules,
326
330
  });
327
331
  selectedModules = retainedModuleResult.selectedModules;
@@ -339,7 +343,7 @@ class UI {
339
343
  // default Y, major default N). Legacy entries with no channel are
340
344
  // migrated here too. Mutates channelOptions.pins to lock rejections.
341
345
  await this._resolveUpdateChannels({
342
- bmadDir,
346
+ wizzDir,
343
347
  selectedModules,
344
348
  channelOptions,
345
349
  yes: options.yes || false,
@@ -427,6 +431,9 @@ class UI {
427
431
  await this._interactiveChannelGate({ options, channelOptions, selectedModules });
428
432
 
429
433
  let toolSelection = await this.promptToolSelection(confirmedDirectory, options);
434
+ const selectedAreas = await this.selectSkillAreas(selectedModules, options);
435
+ const mcpPlan = await this.selectMcps(selectedModules, selectedAreas, options);
436
+ const cliPlan = await this.selectClis(selectedModules, selectedAreas, options);
430
437
  const { moduleConfigs, setOverrides } = await this.collectModuleConfigs(confirmedDirectory, selectedModules, {
431
438
  ...options,
432
439
  channelOptions,
@@ -451,6 +458,9 @@ class UI {
451
458
  modules: selectedModules,
452
459
  ides: toolSelection.ides,
453
460
  skipIde: toolSelection.skipIde,
461
+ selectedAreas,
462
+ mcpPlan,
463
+ cliPlan,
454
464
  coreConfig: moduleConfigs.core || {},
455
465
  moduleConfigs: moduleConfigs,
456
466
  setOverrides,
@@ -459,6 +469,206 @@ class UI {
459
469
  };
460
470
  }
461
471
 
472
+ /**
473
+ * Load and parse skills-registry.yaml from the package root.
474
+ * @returns {Object|null} Parsed registry, or null when absent/unreadable
475
+ */
476
+ _loadSkillsRegistry() {
477
+ try {
478
+ const registryPath = path.join(getProjectRoot(), 'skills-registry.yaml');
479
+ if (!fs.existsSync(registryPath)) return null;
480
+ return yaml.parse(fs.readFileSync(registryPath, 'utf8'));
481
+ } catch {
482
+ return null;
483
+ }
484
+ }
485
+
486
+ /**
487
+ * Prompt for which global-skill AREAS to install (designer, copy, seo, ...).
488
+ * Only relevant when the `wizz` (agency/method) module is selected. Areas come
489
+ * straight from skills-registry.yaml so this never diverges from the routing.
490
+ * Returns an empty array to mean "all areas" (the installSkillsLib sentinel).
491
+ * @param {string[]} selectedModules - Modules chosen for install
492
+ * @param {Object} options - Command-line options
493
+ * @returns {Promise<string[]>} Chosen area keys, or [] for all
494
+ */
495
+ async selectSkillAreas(selectedModules, options = {}) {
496
+ if (!selectedModules.includes('wizz')) return [];
497
+
498
+ const registry = this._loadSkillsRegistry();
499
+ if (!registry || !registry.areas) return [];
500
+ const areaKeys = Object.keys(registry.areas);
501
+ if (areaKeys.length === 0) return [];
502
+
503
+ // CLI: --areas a,b,c (or 'all')
504
+ if (options.areas !== undefined) {
505
+ const raw = String(options.areas)
506
+ .split(',')
507
+ .map((s) => s.trim())
508
+ .filter(Boolean);
509
+ if (raw.includes('all')) return [];
510
+ const unknown = raw.filter((a) => !areaKeys.includes(a));
511
+ if (unknown.length > 0) {
512
+ await prompts.log.warn(`Áreas desconhecidas ignoradas: ${unknown.join(', ')}`);
513
+ }
514
+ return raw.filter((a) => areaKeys.includes(a));
515
+ }
516
+
517
+ // Non-interactive (--yes): install every area.
518
+ if (options.yes) return [];
519
+
520
+ const areaOptions = areaKeys.map((key) => {
521
+ const summary = registry.areas[key].summary || '';
522
+ return { label: summary ? `${key} (${summary})` : key, value: key };
523
+ });
524
+
525
+ const selected = await prompts.autocompleteMultiselect({
526
+ message: 'Quais áreas de skills globais instalar? (vazio = todas)',
527
+ options: areaOptions,
528
+ initialValues: areaKeys,
529
+ required: false,
530
+ maxItems: 12,
531
+ });
532
+
533
+ // Empty or full selection both collapse to the "all areas" sentinel.
534
+ if (!selected || selected.length === 0 || selected.length === areaKeys.length) return [];
535
+ return selected;
536
+ }
537
+
538
+ /**
539
+ * Prompt for which recommended MCP servers to configure for the chosen areas.
540
+ * Reads the same skills-registry.yaml the installer/maestro use, so the offered
541
+ * servers never diverge from routing. Returns a split plan:
542
+ * - toWrite: entries to MERGE into the project `.mcp.json` (placeholder secrets)
543
+ * - toRecommend: entries to merely print as `claude mcp add ...` (nothing lost)
544
+ * Non-interactive (--yes/CI) writes nothing and recommends everything, so the
545
+ * install never touches MCP config without an explicit choice.
546
+ * @param {string[]} selectedModules - Modules chosen for install
547
+ * @param {string[]} selectedAreas - Areas resolved by selectSkillAreas ([]=all)
548
+ * @param {Object} options - Command-line options
549
+ * @returns {Promise<{toWrite: Object[], toRecommend: Object[]}>}
550
+ */
551
+ async selectMcps(selectedModules, selectedAreas, options = {}) {
552
+ if (!selectedModules.includes('wizz')) return { toWrite: [], toRecommend: [] };
553
+
554
+ const registry = this._loadSkillsRegistry();
555
+ const resolved = resolveMcps(registry, selectedAreas);
556
+ if (resolved.length === 0) return { toWrite: [], toRecommend: [] };
557
+
558
+ const byId = new Map(resolved.map((m) => [m.id, m]));
559
+ const split = (writeIds) => {
560
+ const writeSet = new Set(writeIds);
561
+ return {
562
+ toWrite: resolved.filter((m) => writeSet.has(m.id)),
563
+ toRecommend: resolved.filter((m) => !writeSet.has(m.id)),
564
+ };
565
+ };
566
+
567
+ // CLI: --mcps a,b,c | 'all' | 'none'
568
+ if (options.mcps !== undefined) {
569
+ const raw = String(options.mcps)
570
+ .split(',')
571
+ .map((s) => s.trim())
572
+ .filter(Boolean);
573
+ if (raw.includes('none')) return split([]);
574
+ if (raw.includes('all')) return split(resolved.map((m) => m.id));
575
+ const unknown = raw.filter((id) => !byId.has(id));
576
+ if (unknown.length > 0) {
577
+ await prompts.log.warn(`MCPs desconhecidos ignorados: ${unknown.join(', ')}`);
578
+ }
579
+ return split(raw.filter((id) => byId.has(id)));
580
+ }
581
+
582
+ // Non-interactive: don't touch config, just recommend everything.
583
+ if (options.yes) return { toWrite: [], toRecommend: resolved };
584
+
585
+ const selected = await prompts.multiselect({
586
+ message: 'Quais MCPs configurar no .mcp.json? (não marcados viram comando pra rodar depois)',
587
+ options: resolved.map((m) => ({
588
+ label: m.id,
589
+ value: m.id,
590
+ hint: m.when,
591
+ })),
592
+ initialValues: resolved.map((m) => m.id),
593
+ required: false,
594
+ });
595
+
596
+ return split(selected || []);
597
+ }
598
+
599
+ /**
600
+ * Prompt for which recommended CLIs to install for the chosen areas.
601
+ * Reads the same skills-registry.yaml as the installer/maestro. CLIs are the
602
+ * tools agents shell out to (agent-browser, rtk), not MCP servers. We DETECT
603
+ * what's already installed first (never reinstall), then offer the missing
604
+ * ones. Install runs a system command (npm install -g, curl | sh), so the
605
+ * default is RECOMMEND-only: nothing is installed without an explicit choice.
606
+ * Returns a split plan:
607
+ * - toInstall: entries whose `install` command we run now
608
+ * - toRecommend: entries we merely print as a command to run later
609
+ * Already-installed CLIs go to neither (reported as present, no action).
610
+ * @param {string[]} selectedModules - Modules chosen for install
611
+ * @param {string[]} selectedAreas - Areas resolved by selectSkillAreas ([]=all)
612
+ * @param {Object} options - Command-line options
613
+ * @returns {Promise<{toInstall: Object[], toRecommend: Object[], alreadyInstalled: Object[]}>}
614
+ */
615
+ async selectClis(selectedModules, selectedAreas, options = {}) {
616
+ const empty = { toInstall: [], toRecommend: [], alreadyInstalled: [] };
617
+ if (!selectedModules.includes('wizz')) return empty;
618
+
619
+ const registry = this._loadSkillsRegistry();
620
+ const resolved = resolveClis(registry, selectedAreas);
621
+ if (resolved.length === 0) return empty;
622
+
623
+ // Detect what's already on PATH so we never offer to reinstall it.
624
+ const detected = await detectClis(resolved);
625
+ const alreadyInstalled = detected.filter((c) => c.installed);
626
+ const missing = detected.filter((c) => !c.installed);
627
+ if (missing.length === 0) return { toInstall: [], toRecommend: [], alreadyInstalled };
628
+
629
+ const byId = new Map(missing.map((c) => [c.id, c]));
630
+ const split = (installIds) => {
631
+ const installSet = new Set(installIds);
632
+ return {
633
+ toInstall: missing.filter((c) => installSet.has(c.id)),
634
+ toRecommend: missing.filter((c) => !installSet.has(c.id)),
635
+ alreadyInstalled,
636
+ };
637
+ };
638
+
639
+ // CLI: --clis a,b,c | 'all' | 'none'
640
+ if (options.clis !== undefined) {
641
+ const raw = String(options.clis)
642
+ .split(',')
643
+ .map((s) => s.trim())
644
+ .filter(Boolean);
645
+ if (raw.includes('none')) return split([]);
646
+ if (raw.includes('all')) return split(missing.map((c) => c.id));
647
+ const unknown = raw.filter((id) => !byId.has(id));
648
+ if (unknown.length > 0) {
649
+ await prompts.log.warn(`CLIs desconhecidos/já instalados ignorados: ${unknown.join(', ')}`);
650
+ }
651
+ return split(raw.filter((id) => byId.has(id)));
652
+ }
653
+
654
+ // Non-interactive: don't run system commands, just recommend everything.
655
+ if (options.yes) return { toInstall: [], toRecommend: missing, alreadyInstalled };
656
+
657
+ // Default UNCHECKED: install runs a system command, so opt-in only.
658
+ const selected = await prompts.multiselect({
659
+ message: 'Quais CLIs instalar agora? (não marcados viram comando pra rodar depois)',
660
+ options: missing.map((c) => ({
661
+ label: c.id,
662
+ value: c.id,
663
+ hint: c.when,
664
+ })),
665
+ initialValues: [],
666
+ required: false,
667
+ });
668
+
669
+ return split(selected || []);
670
+ }
671
+
462
672
  /**
463
673
  * Prompt for tool/IDE selection (called after module configuration)
464
674
  * Uses a split prompt approach:
@@ -503,8 +713,8 @@ class UI {
503
713
  const { ExistingInstall } = require('./core/existing-install');
504
714
  const { Installer } = require('./core/installer');
505
715
  const installer = new Installer();
506
- const { bmadDir } = await installer.findBmadDir(projectDir || process.cwd());
507
- const existingInstall = await ExistingInstall.detect(bmadDir);
716
+ const { wizzDir } = await installer.findWizzDir(projectDir || process.cwd());
717
+ const existingInstall = await ExistingInstall.detect(wizzDir);
508
718
  const configuredIdes = existingInstall.ides;
509
719
 
510
720
  // Get IDE manager to fetch available IDEs dynamically
@@ -732,17 +942,17 @@ class UI {
732
942
  /**
733
943
  * Get existing installation info and installed modules
734
944
  * @param {string} directory - Installation directory
735
- * @returns {Object} Object with existingInstall, installedModuleIds, installedModuleVersions, and bmadDir
945
+ * @returns {Object} Object with existingInstall, installedModuleIds, installedModuleVersions, and wizzDir
736
946
  */
737
947
  async getExistingInstallation(directory) {
738
948
  const { ExistingInstall } = require('./core/existing-install');
739
949
  const { Installer } = require('./core/installer');
740
950
  const installer = new Installer();
741
- const { bmadDir } = await installer.findBmadDir(directory);
742
- const existingInstall = await ExistingInstall.detect(bmadDir);
951
+ const { wizzDir } = await installer.findWizzDir(directory);
952
+ const existingInstall = await ExistingInstall.detect(wizzDir);
743
953
  const installedModuleIds = new Set(existingInstall.moduleIds);
744
954
  const installedModuleVersions = new Map();
745
- const manifestModules = await manifest.getAllModuleVersions(bmadDir);
955
+ const manifestModules = await manifest.getAllModuleVersions(wizzDir);
746
956
 
747
957
  for (const module of manifestModules) {
748
958
  if (module?.name && module.version) {
@@ -760,7 +970,7 @@ class UI {
760
970
  installedModuleVersions.set('core', existingInstall.version);
761
971
  }
762
972
 
763
- return { existingInstall, installedModuleIds, installedModuleVersions, bmadDir };
973
+ return { existingInstall, installedModuleIds, installedModuleVersions, wizzDir };
764
974
  }
765
975
 
766
976
  /**
@@ -1355,15 +1565,15 @@ class UI {
1355
1565
  if (stats.isDirectory()) {
1356
1566
  const files = await fs.readdir(directory);
1357
1567
  if (files.length > 0) {
1358
- // Check for any bmad installation (any folder with _config/manifest.yaml)
1568
+ // Check for any wizz installation (any folder with _config/manifest.yaml)
1359
1569
  const { Installer } = require('./core/installer');
1360
1570
  const installer = new Installer();
1361
- const bmadResult = await installer.findBmadDir(directory);
1362
- const hasBmadInstall =
1363
- (await fs.pathExists(bmadResult.bmadDir)) && (await fs.pathExists(path.join(bmadResult.bmadDir, '_config', 'manifest.yaml')));
1571
+ const wizzResult = await installer.findWizzDir(directory);
1572
+ const hasWizzInstall =
1573
+ (await fs.pathExists(wizzResult.wizzDir)) && (await fs.pathExists(path.join(wizzResult.wizzDir, '_config', 'manifest.yaml')));
1364
1574
 
1365
- const bmadNote = hasBmadInstall ? ` including existing Wizz installation (${path.basename(bmadResult.bmadDir)})` : '';
1366
- await prompts.log.message(`Directory exists and contains ${files.length} item(s)${bmadNote}`);
1575
+ const wizzNote = hasWizzInstall ? ` including existing Wizz installation (${path.basename(wizzResult.wizzDir)})` : '';
1576
+ await prompts.log.message(`Directory exists and contains ${files.length} item(s)${wizzNote}`);
1367
1577
  } else {
1368
1578
  await prompts.log.message('Directory exists and is empty');
1369
1579
  }
@@ -1601,8 +1811,8 @@ class UI {
1601
1811
  const { ExistingInstall } = require('./core/existing-install');
1602
1812
  const { Installer } = require('./core/installer');
1603
1813
  const installer = new Installer();
1604
- const { bmadDir } = await installer.findBmadDir(directory);
1605
- const existingInstall = await ExistingInstall.detect(bmadDir);
1814
+ const { wizzDir } = await installer.findWizzDir(directory);
1815
+ const existingInstall = await ExistingInstall.detect(wizzDir);
1606
1816
  return existingInstall.ides;
1607
1817
  }
1608
1818
 
@@ -1695,12 +1905,12 @@ class UI {
1695
1905
  * @param {Object} statusData - Status data with modules, installation info, and available updates
1696
1906
  */
1697
1907
  async displayStatus(statusData) {
1698
- const { installation, modules, availableUpdates, bmadDir } = statusData;
1908
+ const { installation, modules, availableUpdates, wizzDir } = statusData;
1699
1909
 
1700
1910
  // Installation info
1701
1911
  const infoLines = [
1702
1912
  `Version: ${installation.version || 'unknown'}`,
1703
- `Location: ${bmadDir}`,
1913
+ `Location: ${wizzDir}`,
1704
1914
  `Installed: ${new Date(installation.installDate).toLocaleDateString()}`,
1705
1915
  `Last Updated: ${installation.lastUpdated ? new Date(installation.lastUpdated).toLocaleDateString() : 'unknown'}`,
1706
1916
  ];
@@ -1855,10 +2065,10 @@ class UI {
1855
2065
  * Decisions that freeze the current version are applied by adding a pin to
1856
2066
  * `channelOptions.pins` so downstream clone logic honors them.
1857
2067
  */
1858
- async _resolveUpdateChannels({ bmadDir, selectedModules, channelOptions, yes }) {
2068
+ async _resolveUpdateChannels({ wizzDir, selectedModules, channelOptions, yes }) {
1859
2069
  const { Manifest } = require('./core/manifest');
1860
2070
  const manifestObj = new Manifest();
1861
- const manifest = await manifestObj.read(bmadDir);
2071
+ const manifest = await manifestObj.read(wizzDir);
1862
2072
  const existingByName = new Map();
1863
2073
  for (const m of manifest?.modulesDetailed || []) {
1864
2074
  if (m?.name) existingByName.set(m.name, m);
@@ -1899,7 +2109,7 @@ class UI {
1899
2109
  if (!info) continue;
1900
2110
  // Bundled modules (core/bmm) ship with the installer binary itself —
1901
2111
  // their version is stapled to the CLI version, not a git tag. Skip
1902
- // tag-API lookups for them; the "upgrade" mechanism is `npx bmad@X install`.
2112
+ // tag-API lookups for them; the "upgrade" mechanism is `npx wizz@X install`.
1903
2113
  if (info.builtIn) continue;
1904
2114
 
1905
2115
  const repoUrl = info.url;
@@ -14,7 +14,7 @@ async function initializeModules() {
14
14
  }
15
15
 
16
16
  /**
17
- * YAML Formatter and Linter for BMad-Method
17
+ * YAML Formatter and Linter for Wizz-Method
18
18
  * Formats and validates YAML files and YAML embedded in Markdown
19
19
  */
20
20
 
@@ -9,15 +9,15 @@ const yaml = require('yaml');
9
9
  const chalk = require('chalk');
10
10
 
11
11
  /**
12
- * Find BMAD directory in project
12
+ * Find WIZZ directory in project
13
13
  */
14
- function findBmadDir(projectDir = process.cwd()) {
14
+ function findWizzDir(projectDir = process.cwd()) {
15
15
  const possibleNames = ['_wizz'];
16
16
 
17
17
  for (const name of possibleNames) {
18
- const bmadDir = path.join(projectDir, name);
19
- if (fs.existsSync(bmadDir)) {
20
- return bmadDir;
18
+ const wizzDir = path.join(projectDir, name);
19
+ if (fs.existsSync(wizzDir)) {
20
+ return wizzDir;
21
21
  }
22
22
  }
23
23
 
@@ -84,18 +84,18 @@ async function updateManifest(manifestPath, projectRoot) {
84
84
  */
85
85
  async function migrate(directory) {
86
86
  const projectRoot = path.resolve(directory || process.cwd());
87
- const bmadDir = findBmadDir(projectRoot);
87
+ const wizzDir = findWizzDir(projectRoot);
88
88
 
89
- if (!bmadDir) {
90
- console.error(chalk.red('✗ No BMAD installation found in directory'));
89
+ if (!wizzDir) {
90
+ console.error(chalk.red('✗ No WIZZ installation found in directory'));
91
91
  process.exit(1);
92
92
  }
93
93
 
94
- console.log(chalk.blue.bold('🔄 BMAD Custom Module Path Migration'));
94
+ console.log(chalk.blue.bold('🔄 WIZZ Custom Module Path Migration'));
95
95
  console.log(chalk.dim(`Project: ${projectRoot}`));
96
- console.log(chalk.dim(`BMAD Directory: ${bmadDir}`));
96
+ console.log(chalk.dim(`WIZZ Directory: ${wizzDir}`));
97
97
 
98
- const manifestPath = path.join(bmadDir, '_config', 'manifest.yaml');
98
+ const manifestPath = path.join(wizzDir, '_config', 'manifest.yaml');
99
99
 
100
100
  if (!fs.existsSync(manifestPath)) {
101
101
  console.error(chalk.red('✗ No manifest.yaml found'));
@@ -68,9 +68,9 @@ If no findings are generated (from either pass), the skill passes validation.
68
68
 
69
69
  - **Severity:** HIGH
70
70
  - **Applies to:** `SKILL.md`
71
- - **Rule:** The `name` value must start with `bmad-` (motor) or `wizz-` (camada Wizz), use only lowercase letters, numbers, and single hyphens between segments.
72
- - **Detection:** Regex test: `^(bmad|wizz)-[a-z0-9]+(-[a-z0-9]+)*$`.
73
- - **Fix:** Rename to comply with the format (e.g., `wizz-my-skill` ou `bmad-my-skill`).
71
+ - **Rule:** The `name` value must start with `wizz-` (motor) or `wizz-` (camada Wizz), use only lowercase letters, numbers, and single hyphens between segments.
72
+ - **Detection:** Regex test: `^(wizz|wizz)-[a-z0-9]+(-[a-z0-9]+)*$`.
73
+ - **Fix:** Rename to comply with the format (e.g., `wizz-my-skill` ou `wizz-my-skill`).
74
74
 
75
75
  ### SKILL-05 — `name` Must Match Directory Name
76
76
 
@@ -85,8 +85,8 @@ If no findings are generated (from either pass), the skill passes validation.
85
85
  - **Severity:** MEDIUM
86
86
  - **Applies to:** `SKILL.md`
87
87
  - **Rule:** The `description` must state both what the skill does AND when to use it. Max 1024 characters.
88
- - **Detection:** Check length. Look for trigger phrases like "Use when" or "Use if" — their absence suggests the description only says _what_ but not _when_.
89
- - **Fix:** Append a "Use when..." clause to the description.
88
+ - **Detection:** Check length. Look for trigger phrases like "Use when", "Use if", "Use para", or "Use quando" — their absence suggests the description only says _what_ but not _when_.
89
+ - **Fix:** Append a "Use when..." or "Use para..." clause to the description.
90
90
 
91
91
  ### SKILL-07 — SKILL.md Must Have Body Content
92
92
 
@@ -281,7 +281,7 @@ If no findings are generated (from either pass), the skill passes validation.
281
281
  - **Severity:** HIGH
282
282
  - **Applies to:** all files
283
283
  - **Rule:** When a skill references another skill by name, the surrounding instruction must use the word "invoke". The canonical form is `Invoke the \`skill-name\` skill`. Phrases like "Read fully and follow", "Execute", "Run", "Load", "Open", or "Follow" are invalid — they imply file-level operations on a document, not skill invocation. A skill is a unit that is invoked, not a file that is read.
284
- - **Detection:** Find all references to other skills by name (typically backtick-quoted skill names like \`bmad-foo\`). Check the surrounding instruction text (same sentence or directive) for file-oriented verbs: "read", "follow", "load", "execute", "run", "open". Flag any that do not use "invoke" (or a close synonym like "activate" or "launch").
284
+ - **Detection:** Find all references to other skills by name (typically backtick-quoted skill names like \`wizz-foo\`). Check the surrounding instruction text (same sentence or directive) for file-oriented verbs: "read", "follow", "load", "execute", "run", "open". Flag any that do not use "invoke" (or a close synonym like "activate" or "launch").
285
285
  - **Fix:** Replace the instruction with `Invoke the \`skill-name\` skill`. Remove any "read fully and follow" or similar file-oriented phrasing. Do NOT add a `skill:` prefix to the name — use natural language.
286
286
 
287
287
  ---