wizz-method 1.4.0 → 1.5.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 (610) hide show
  1. package/README.md +7 -5
  2. package/package.json +48 -4
  3. package/skills-registry.yaml +166 -34
  4. package/src/bmm-skills/4-implementation/wizz-code-review/SKILL.md +2 -0
  5. package/src/bmm-skills/4-implementation/wizz-quick-dev/SKILL.md +5 -2
  6. package/src/core-skills/_shared/handoff-protocol.md +61 -0
  7. package/src/core-skills/wizz-customize/SKILL.md +2 -2
  8. package/src/core-skills/wizz-party-mode/references/mode-agent-team.md +1 -1
  9. package/src/core-skills/wizz-party-mode/references/mode-subagent.md +1 -1
  10. package/src/core-skills/wizz-review-adversarial-general/SKILL.md +2 -0
  11. package/src/modules/wizz/README.md +3 -3
  12. package/src/modules/wizz/_shared/communication-rules.md +13 -0
  13. package/src/modules/wizz/_shared/encerramento.md +2 -2
  14. package/src/modules/wizz/agents/wizz-ads/SKILL.md +1 -1
  15. package/src/modules/wizz/agents/wizz-ads/customize.toml +5 -3
  16. package/src/modules/wizz/agents/wizz-copy/SKILL.md +1 -1
  17. package/src/modules/wizz/agents/wizz-copy/customize.toml +5 -3
  18. package/src/modules/wizz/agents/wizz-designer/SKILL.md +7 -9
  19. package/src/modules/wizz/agents/wizz-designer/customize.toml +6 -4
  20. package/src/modules/wizz/agents/wizz-growth/SKILL.md +1 -1
  21. package/src/modules/wizz/agents/wizz-growth/customize.toml +11 -3
  22. package/src/modules/wizz/agents/wizz-maestro/SKILL.md +15 -10
  23. package/src/modules/wizz/agents/wizz-maestro/customize.toml +5 -7
  24. package/src/modules/wizz/agents/wizz-memoria/SKILL.md +1 -1
  25. package/src/modules/wizz/agents/wizz-memoria/customize.toml +2 -4
  26. package/src/modules/wizz/agents/wizz-qa/SKILL.md +6 -6
  27. package/src/modules/wizz/agents/wizz-qa/customize.toml +9 -7
  28. package/src/modules/wizz/agents/wizz-seo/SKILL.md +1 -1
  29. package/src/modules/wizz/agents/wizz-seo/customize.toml +5 -3
  30. package/src/modules/wizz/agents/wizz-social/SKILL.md +1 -1
  31. package/src/modules/wizz/agents/wizz-social/customize.toml +9 -8
  32. package/src/modules/wizz/module.yaml +1 -1
  33. package/src/modules/wizz/overrides/wizz-agent-analyst.toml +4 -5
  34. package/src/modules/wizz/overrides/wizz-agent-architect.toml +11 -3
  35. package/src/modules/wizz/overrides/wizz-agent-dev.toml +6 -4
  36. package/src/modules/wizz/overrides/wizz-agent-pm.toml +4 -2
  37. package/src/modules/wizz/overrides/wizz-agent-tech-writer.toml +3 -5
  38. package/src/modules/wizz/overrides/wizz-agent-ux-designer.toml +4 -2
  39. package/src/modules/wizz/scripts/wizz-init.mjs +3 -1
  40. package/src/scripts/__pycache__/resolve_customization.cpython-314.pyc +0 -0
  41. package/src/scripts/memlog.py +9 -0
  42. package/src/scripts/resolve_customization.py +93 -3
  43. package/src/skills-lib/adversarial-reviewer/SKILL.md +2 -0
  44. package/src/skills-lib/algorithmic-art/SKILL.md +29 -369
  45. package/src/skills-lib/algorithmic-art/references/interactive-artifact.md +139 -0
  46. package/src/skills-lib/algorithmic-art/references/p5js-implementation.md +121 -0
  47. package/src/skills-lib/algorithmic-art/references/philosophy-creation.md +88 -0
  48. package/src/skills-lib/auth-and-secrets/SKILL.md +29 -11
  49. package/src/skills-lib/canvas-design/SKILL.md +9 -38
  50. package/src/skills-lib/canvas-design/references/canvas-execution.md +21 -0
  51. package/src/skills-lib/canvas-design/references/philosophy-examples.md +25 -0
  52. package/src/skills-lib/cerebro/SKILL.md +8 -273
  53. package/src/skills-lib/cerebro/references/comandos-pesquisa-e-sync.md +44 -0
  54. package/src/skills-lib/cerebro/references/comandos-rotina-e-captura.md +94 -0
  55. package/src/skills-lib/cerebro/references/comandos-sessao.md +122 -0
  56. package/src/skills-lib/content-strategy/SKILL.md +12 -316
  57. package/src/skills-lib/content-strategy/references/content-types.md +52 -0
  58. package/src/skills-lib/content-strategy/references/ideation-sources.md +78 -0
  59. package/src/skills-lib/content-strategy/references/pillars-and-keywords.md +78 -0
  60. package/src/skills-lib/content-strategy/references/prioritization-and-output.md +57 -0
  61. package/src/skills-lib/decision-maker/SKILL.md +13 -466
  62. package/src/skills-lib/decision-maker/references/commands-and-edge-cases.md +40 -0
  63. package/src/skills-lib/decision-maker/references/output-format.md +161 -0
  64. package/src/skills-lib/decision-maker/references/references-and-extraction.md +129 -0
  65. package/src/skills-lib/decision-maker/references/six-decisions.md +122 -0
  66. package/src/skills-lib/decision-maker/references/wizz-method-handoff.md +22 -0
  67. package/src/skills-lib/desktop-security/SKILL.md +35 -4
  68. package/src/skills-lib/find-skills/SKILL.md +9 -6
  69. package/src/skills-lib/form-cro/SKILL.md +12 -390
  70. package/src/skills-lib/form-cro/references/experiments.md +73 -0
  71. package/src/skills-lib/form-cro/references/field-optimization.md +92 -0
  72. package/src/skills-lib/form-cro/references/flow-and-errors.md +71 -0
  73. package/src/skills-lib/form-cro/references/measurement-output.md +41 -0
  74. package/src/skills-lib/form-cro/references/trust-and-form-types.md +54 -0
  75. package/src/skills-lib/graphify/SKILL.md +2 -20
  76. package/src/skills-lib/huashu-design/SKILL.md +42 -596
  77. package/src/skills-lib/huashu-design/references/anti-slop-principles.md +62 -0
  78. package/src/skills-lib/huashu-design/references/audio-design-rules.md +1 -1
  79. package/src/skills-lib/huashu-design/references/cross-agent-adaptation.md +14 -0
  80. package/src/skills-lib/huashu-design/references/design-direction-fallback.md +113 -0
  81. package/src/skills-lib/huashu-design/references/exception-handling.md +18 -0
  82. package/src/skills-lib/huashu-design/references/fact-verification.md +36 -0
  83. package/src/skills-lib/huashu-design/references/ios-prototype.md +146 -0
  84. package/src/skills-lib/huashu-design/references/sfx-library.md +7 -0
  85. package/src/skills-lib/huashu-design/references/starter-components.md +24 -0
  86. package/src/skills-lib/huashu-design/references/video-export.md +1 -1
  87. package/src/skills-lib/huashu-design/references/watermark-policy.md +23 -0
  88. package/src/skills-lib/huashu-design/scripts/add-music.sh +12 -1
  89. package/src/skills-lib/huashu-design/scripts/mix-voiceover.sh +11 -0
  90. package/src/skills-lib/humanizer/SKILL.md +23 -431
  91. package/src/skills-lib/humanizer/references/ai-writing-patterns.md +314 -0
  92. package/src/skills-lib/humanizer/references/full-example.md +72 -0
  93. package/src/skills-lib/humanizer/references/personality-and-soul.md +36 -0
  94. package/src/skills-lib/impeccable/SKILL.md +37 -153
  95. package/src/skills-lib/impeccable/references/design-rules.md +95 -0
  96. package/src/skills-lib/impeccable/references/pin-unpin-and-hooks.md +17 -0
  97. package/src/skills-lib/impeccable/references/routing-rules.md +28 -0
  98. package/src/skills-lib/implementation-planner/SKILL.md +22 -529
  99. package/src/skills-lib/implementation-planner/references/folder-structure-and-dependencies.md +132 -0
  100. package/src/skills-lib/implementation-planner/references/handoff-template.md +34 -0
  101. package/src/skills-lib/implementation-planner/references/implementation-phases.md +54 -0
  102. package/src/skills-lib/implementation-planner/references/implementation-types.md +28 -0
  103. package/src/skills-lib/implementation-planner/references/motion-path-implementation.md +57 -0
  104. package/src/skills-lib/implementation-planner/references/output-templates.md +92 -0
  105. package/src/skills-lib/implementation-planner/references/performance-plan.md +52 -0
  106. package/src/skills-lib/inicio-de-projeto/SKILL.md +4 -224
  107. package/src/skills-lib/inicio-de-projeto/references/implementacao-api-forms.md +112 -0
  108. package/src/skills-lib/inicio-de-projeto/references/padroes-arquiteturais-e-pastas.md +71 -0
  109. package/src/skills-lib/inicio-de-projeto/references/seguranca-e-regras-codigo.md +26 -0
  110. package/src/skills-lib/launch-strategy/SKILL.md +9 -311
  111. package/src/skills-lib/launch-strategy/references/five-phase-approach.md +76 -0
  112. package/src/skills-lib/launch-strategy/references/launch-checklist.md +34 -0
  113. package/src/skills-lib/launch-strategy/references/orb-framework.md +76 -0
  114. package/src/skills-lib/launch-strategy/references/post-launch-and-ongoing.md +64 -0
  115. package/src/skills-lib/launch-strategy/references/product-hunt-strategy.md +52 -0
  116. package/src/skills-lib/marketing-psychology/SKILL.md +18 -401
  117. package/src/skills-lib/marketing-psychology/references/design-and-delivery-models.md +56 -0
  118. package/src/skills-lib/marketing-psychology/references/foundational-thinking-models.md +76 -0
  119. package/src/skills-lib/marketing-psychology/references/growth-and-scaling-models.md +46 -0
  120. package/src/skills-lib/marketing-psychology/references/influencing-behavior.md +71 -0
  121. package/src/skills-lib/marketing-psychology/references/pricing-psychology.md +31 -0
  122. package/src/skills-lib/marketing-psychology/references/understanding-buyers.md +116 -0
  123. package/src/skills-lib/motion-3d-director/SKILL.md +23 -370
  124. package/src/skills-lib/motion-3d-director/references/image-to-video-workflow.md +166 -0
  125. package/src/skills-lib/motion-3d-director/references/motion-paths.md +119 -0
  126. package/src/skills-lib/motion-3d-director/references/performance-and-handoff.md +51 -0
  127. package/src/skills-lib/popup-cro/SKILL.md +11 -414
  128. package/src/skills-lib/popup-cro/references/design-copy-compliance.md +81 -0
  129. package/src/skills-lib/popup-cro/references/experiments.md +82 -0
  130. package/src/skills-lib/popup-cro/references/rules-measurement-output.md +87 -0
  131. package/src/skills-lib/popup-cro/references/triggers-and-popup-types.md +108 -0
  132. package/src/skills-lib/premium-landing-ui-researcher/SKILL.md +52 -2083
  133. package/src/skills-lib/premium-landing-ui-researcher/references/audit-protocol.md +124 -0
  134. package/src/skills-lib/premium-landing-ui-researcher/references/component-sources.md +336 -0
  135. package/src/skills-lib/premium-landing-ui-researcher/references/core-goal.md +62 -0
  136. package/src/skills-lib/premium-landing-ui-researcher/references/dashboard-and-portfolio-modes.md +92 -0
  137. package/src/skills-lib/premium-landing-ui-researcher/references/handoffs.md +55 -0
  138. package/src/skills-lib/premium-landing-ui-researcher/references/landing-page-strategy.md +227 -0
  139. package/src/skills-lib/premium-landing-ui-researcher/references/mandatory-process.md +36 -0
  140. package/src/skills-lib/premium-landing-ui-researcher/references/output-format-and-quality.md +129 -0
  141. package/src/skills-lib/premium-landing-ui-researcher/references/prompt-templates.md +206 -0
  142. package/src/skills-lib/premium-landing-ui-researcher/references/site-levels.md +515 -0
  143. package/src/skills-lib/premium-landing-ui-researcher/references/source-first-protocol.md +144 -0
  144. package/src/skills-lib/premium-landing-ui-researcher/references/source-links.md +39 -0
  145. package/src/skills-lib/premium-landing-ui-researcher/references/stack-and-visual-direction.md +118 -0
  146. package/src/skills-lib/signup-flow-cro/SKILL.md +13 -321
  147. package/src/skills-lib/signup-flow-cro/references/experiments.md +72 -0
  148. package/src/skills-lib/signup-flow-cro/references/field-optimization.md +49 -0
  149. package/src/skills-lib/signup-flow-cro/references/flow-structure.md +38 -0
  150. package/src/skills-lib/signup-flow-cro/references/measurement-output-patterns.md +62 -0
  151. package/src/skills-lib/signup-flow-cro/references/trust-and-post-submit.md +40 -0
  152. package/src/skills-lib/taste-redesign/SKILL.md +10 -146
  153. package/src/skills-lib/taste-redesign/references/design-audit.md +120 -0
  154. package/src/skills-lib/taste-redesign/references/upgrade-techniques.md +31 -0
  155. package/src/skills-lib/taste-skill/SKILL.md +33 -1177
  156. package/src/skills-lib/taste-skill/references/anti-slop-tells.md +110 -0
  157. package/src/skills-lib/taste-skill/references/architecture-conventions.md +39 -0
  158. package/src/skills-lib/taste-skill/references/block-library.md +61 -0
  159. package/src/skills-lib/taste-skill/references/brief-and-dials.md +89 -0
  160. package/src/skills-lib/taste-skill/references/dark-mode.md +23 -0
  161. package/src/skills-lib/taste-skill/references/design-directives.md +191 -0
  162. package/src/skills-lib/taste-skill/references/design-systems.md +267 -0
  163. package/src/skills-lib/taste-skill/references/motion-patterns.md +167 -0
  164. package/src/skills-lib/taste-skill/references/pattern-vocabulary.md +78 -0
  165. package/src/skills-lib/taste-skill/references/performance-a11y.md +33 -0
  166. package/src/skills-lib/taste-skill/references/preflight-checklist.md +73 -0
  167. package/src/skills-lib/taste-skill/references/redesign-protocol.md +52 -0
  168. package/src/skills-lib/ui-ux-pro-max/SKILL.md +9 -353
  169. package/src/skills-lib/ui-ux-pro-max/references/common-rules-checklist.md +76 -0
  170. package/src/skills-lib/ui-ux-pro-max/references/rules-quick-reference.md +70 -0
  171. package/src/skills-lib/ui-ux-pro-max/references/search-reference.md +45 -0
  172. package/src/skills-lib/ui-ux-pro-max/references/workflow-guide.md +157 -0
  173. package/src/skills-lib/web-security/SKILL.md +13 -162
  174. package/src/skills-lib/web-security/references/checklist-deploy.md +52 -0
  175. package/src/skills-lib/web-security/references/headers-rate-limit-cors.md +78 -0
  176. package/src/skills-lib/web-security/references/owasp-top5-detalhado.md +51 -0
  177. package/src/skills-lib/wizz-router/SKILL.md +30 -244
  178. package/src/skills-lib/wizz-router/references/auditoria-360.md +21 -0
  179. package/src/skills-lib/wizz-router/references/routing-table-flat.md +95 -0
  180. package/tools/fetch-assets.mjs +277 -0
  181. package/tools/installer/commands/fetch-assets.js +71 -0
  182. package/tools/installer/commands/install.js +35 -3
  183. package/tools/installer/commands/trace-report.js +131 -0
  184. package/tools/installer/core/config.js +9 -0
  185. package/tools/installer/core/help-catalog.js +181 -0
  186. package/tools/installer/core/install-paths.js +48 -3
  187. package/tools/installer/core/installer.js +253 -618
  188. package/tools/installer/core/manifest-generator.js +8 -1
  189. package/tools/installer/core/manifest.js +67 -22
  190. package/tools/installer/core/module-config-writer.js +110 -0
  191. package/tools/installer/core/preflight-tools-check.js +82 -0
  192. package/tools/installer/core/quick-update.js +209 -0
  193. package/tools/installer/core/user-file-preservation.js +250 -0
  194. package/tools/installer/modules/channel-resolver.js +34 -2
  195. package/tools/installer/modules/cli-config.js +127 -34
  196. package/tools/installer/modules/deps-cache.js +28 -1
  197. package/tools/installer/modules/env-vars.js +446 -0
  198. package/tools/installer/modules/external-manager.js +40 -6
  199. package/tools/installer/modules/mcp-config.js +180 -37
  200. package/tools/installer/modules/module-help-schema.js +2 -1
  201. package/tools/installer/modules/official-modules.js +1 -1
  202. package/tools/installer/modules/registry-resolve.js +74 -0
  203. package/tools/installer/modules/skills-lib.js +81 -16
  204. package/tools/installer/ui.js +71 -5
  205. package/wizz-modules.yaml +15 -5
  206. package/.claude/settings.local.json +0 -8
  207. package/.claude-plugin/marketplace.json +0 -80
  208. package/AGENTS.md +0 -12
  209. package/build/artifacts/llms-full.txt +0 -4049
  210. package/build/artifacts/llms.txt +0 -28
  211. package/build/site/404.html +0 -55
  212. package/build/site/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.hwBsy0Mo.js +0 -1
  213. package/build/site/_astro/Search.astro_astro_type_script_index_0_lang.cjYDvRdi.js +0 -1
  214. package/build/site/_astro/TableOfContents.astro_astro_type_script_index_0_lang.FuRcXuRY.js +0 -1
  215. package/build/site/_astro/ec.0vx5m.js +0 -3
  216. package/build/site/_astro/ec.v4551.css +0 -1
  217. package/build/site/_astro/index.DdjI3lF_.css +0 -1
  218. package/build/site/_astro/page.B1D-nYk3.js +0 -1
  219. package/build/site/_astro/print.DNXP8c50.css +0 -1
  220. package/build/site/_astro/ui-core.D_Lfcn_I.js +0 -2
  221. package/build/site/diagrams/checkpoint-preview-diagram-fr.webp +0 -0
  222. package/build/site/diagrams/checkpoint-preview-diagram.png +0 -0
  223. package/build/site/diagrams/quick-dev-diagram-fr.webp +0 -0
  224. package/build/site/diagrams/quick-dev-diagram.png +0 -0
  225. package/build/site/explanation/advanced-elicitation/index.html +0 -105
  226. package/build/site/explanation/adversarial-review/index.html +0 -109
  227. package/build/site/explanation/analysis-phase/index.html +0 -129
  228. package/build/site/explanation/brainstorming/index.html +0 -92
  229. package/build/site/explanation/checkpoint-preview/index.html +0 -121
  230. package/build/site/explanation/established-projects-faq/index.html +0 -107
  231. package/build/site/explanation/forensic-investigation/index.html +0 -167
  232. package/build/site/explanation/named-agents/index.html +0 -187
  233. package/build/site/explanation/party-mode/index.html +0 -256
  234. package/build/site/explanation/preventing-agent-conflicts/index.html +0 -185
  235. package/build/site/explanation/project-context/index.html +0 -198
  236. package/build/site/explanation/quick-dev/index.html +0 -113
  237. package/build/site/explanation/web-bundles/index.html +0 -178
  238. package/build/site/explanation/why-solutioning-matters/index.html +0 -168
  239. package/build/site/how-to/customize-wizz/index.html +0 -277
  240. package/build/site/how-to/established-projects/index.html +0 -165
  241. package/build/site/how-to/expand-wizz-for-your-org/index.html +0 -245
  242. package/build/site/how-to/get-answers-about-wizz/index.html +0 -129
  243. package/build/site/how-to/install-custom-modules/index.html +0 -197
  244. package/build/site/how-to/install-wizz/index.html +0 -330
  245. package/build/site/how-to/non-interactive-installation/index.html +0 -73
  246. package/build/site/how-to/project-context/index.html +0 -141
  247. package/build/site/how-to/quick-fixes/index.html +0 -122
  248. package/build/site/how-to/shard-large-documents/index.html +0 -103
  249. package/build/site/how-to/upgrade-to-v6/index.html +0 -185
  250. package/build/site/how-to/use-web-bundles/index.html +0 -99
  251. package/build/site/img/wizz-dark.png +0 -0
  252. package/build/site/img/wizz-light.png +0 -0
  253. package/build/site/index.html +0 -128
  254. package/build/site/llms-full.txt +0 -4049
  255. package/build/site/llms.txt +0 -28
  256. package/build/site/pagefind/fragment/en_175de32.pf_fragment +0 -0
  257. package/build/site/pagefind/fragment/en_24258fb.pf_fragment +0 -0
  258. package/build/site/pagefind/fragment/en_24f53a6.pf_fragment +0 -0
  259. package/build/site/pagefind/fragment/en_27ba8f9.pf_fragment +0 -0
  260. package/build/site/pagefind/fragment/en_296ddb9.pf_fragment +0 -0
  261. package/build/site/pagefind/fragment/en_2b5aa5c.pf_fragment +0 -0
  262. package/build/site/pagefind/fragment/en_49047e0.pf_fragment +0 -0
  263. package/build/site/pagefind/fragment/en_4a187d2.pf_fragment +0 -0
  264. package/build/site/pagefind/fragment/en_514725b.pf_fragment +0 -0
  265. package/build/site/pagefind/fragment/en_583316f.pf_fragment +0 -0
  266. package/build/site/pagefind/fragment/en_6465dfb.pf_fragment +0 -0
  267. package/build/site/pagefind/fragment/en_67825a4.pf_fragment +0 -0
  268. package/build/site/pagefind/fragment/en_82aec61.pf_fragment +0 -0
  269. package/build/site/pagefind/fragment/en_85dcebf.pf_fragment +0 -0
  270. package/build/site/pagefind/fragment/en_887ce56.pf_fragment +0 -0
  271. package/build/site/pagefind/fragment/en_89a1a7a.pf_fragment +0 -0
  272. package/build/site/pagefind/fragment/en_8ade291.pf_fragment +0 -0
  273. package/build/site/pagefind/fragment/en_8c11f8a.pf_fragment +0 -0
  274. package/build/site/pagefind/fragment/en_8c1bde3.pf_fragment +0 -0
  275. package/build/site/pagefind/fragment/en_92d7cc7.pf_fragment +0 -0
  276. package/build/site/pagefind/fragment/en_94bfc21.pf_fragment +0 -0
  277. package/build/site/pagefind/fragment/en_9b57d7d.pf_fragment +0 -0
  278. package/build/site/pagefind/fragment/en_ab62b53.pf_fragment +0 -0
  279. package/build/site/pagefind/fragment/en_b0d23ee.pf_fragment +0 -0
  280. package/build/site/pagefind/fragment/en_ba9fb37.pf_fragment +0 -0
  281. package/build/site/pagefind/fragment/en_bb113eb.pf_fragment +0 -0
  282. package/build/site/pagefind/fragment/en_bfc56b6.pf_fragment +0 -0
  283. package/build/site/pagefind/fragment/en_c6d9e48.pf_fragment +0 -0
  284. package/build/site/pagefind/fragment/en_cdd772f.pf_fragment +0 -0
  285. package/build/site/pagefind/fragment/en_cdd885c.pf_fragment +0 -0
  286. package/build/site/pagefind/fragment/en_cefed6a.pf_fragment +0 -0
  287. package/build/site/pagefind/fragment/en_d890205.pf_fragment +0 -0
  288. package/build/site/pagefind/fragment/en_da351b7.pf_fragment +0 -0
  289. package/build/site/pagefind/fragment/en_ea289f9.pf_fragment +0 -0
  290. package/build/site/pagefind/fragment/en_f1c3711.pf_fragment +0 -0
  291. package/build/site/pagefind/index/en_5b9d8c6.pf_index +0 -0
  292. package/build/site/pagefind/index/en_868614c.pf_index +0 -0
  293. package/build/site/pagefind/index/en_e4f9bff.pf_index +0 -0
  294. package/build/site/pagefind/pagefind-entry.json +0 -1
  295. package/build/site/pagefind/pagefind-highlight.js +0 -1064
  296. package/build/site/pagefind/pagefind-modular-ui.css +0 -214
  297. package/build/site/pagefind/pagefind-modular-ui.js +0 -8
  298. package/build/site/pagefind/pagefind-ui.css +0 -1
  299. package/build/site/pagefind/pagefind-ui.js +0 -2
  300. package/build/site/pagefind/pagefind.en_4e69d7f053.pf_meta +0 -0
  301. package/build/site/pagefind/pagefind.js +0 -6
  302. package/build/site/pagefind/wasm.en.pagefind +0 -0
  303. package/build/site/pagefind/wasm.unknown.pagefind +0 -0
  304. package/build/site/reference/agents/index.html +0 -168
  305. package/build/site/reference/commands/index.html +0 -254
  306. package/build/site/reference/core-tools/index.html +0 -384
  307. package/build/site/reference/modules/index.html +0 -132
  308. package/build/site/reference/testing/index.html +0 -218
  309. package/build/site/reference/workflow-map/index.html +0 -266
  310. package/build/site/roadmap/index.html +0 -77
  311. package/build/site/robots.txt +0 -37
  312. package/build/site/sitemap-0.xml +0 -1
  313. package/build/site/sitemap-index.xml +0 -1
  314. package/build/site/tutorials/getting-started/index.html +0 -386
  315. package/build/site/wizz-icon-orange.svg +0 -7
  316. package/build/site/workflow-map-diagram-fr.html +0 -375
  317. package/build/site/workflow-map-diagram.html +0 -375
  318. package/evals/bmm-skills/wizz-product-brief/evals.json +0 -237
  319. package/evals/bmm-skills/wizz-product-brief/files/branfield-memo.md +0 -46
  320. package/evals/bmm-skills/wizz-product-brief/files/forkbird-brief/addendum.md +0 -40
  321. package/evals/bmm-skills/wizz-product-brief/files/forkbird-brief/brief.md +0 -56
  322. package/evals/bmm-skills/wizz-product-brief/files/forkbird-brief/decision-log.md +0 -27
  323. package/evals/bmm-skills/wizz-product-brief/files/meridian-mobility-report.md +0 -116
  324. package/evals/bmm-skills/wizz-product-brief/files/mossridge-brief/addendum.md +0 -41
  325. package/evals/bmm-skills/wizz-product-brief/files/mossridge-brief/brief.md +0 -57
  326. package/evals/bmm-skills/wizz-product-brief/files/mossridge-brief/decision-log.md +0 -29
  327. package/evals/bmm-skills/wizz-product-brief/files/pantry-bridge-interviews.md +0 -90
  328. package/evals/bmm-skills/wizz-product-brief/files/q2-brainstorm.md +0 -101
  329. package/evals/bmm-skills/wizz-product-brief/triggers.json +0 -18
  330. package/src/core-skills/wizz-party-mode/scripts/__pycache__/resolve_party.cpython-314.pyc +0 -0
  331. package/src/skills-lib/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  332. package/src/skills-lib/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  333. package/src/skills-lib/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  334. package/src/skills-lib/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  335. package/src/skills-lib/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  336. package/src/skills-lib/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  337. package/src/skills-lib/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  338. package/src/skills-lib/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  339. package/src/skills-lib/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  340. package/src/skills-lib/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  341. package/src/skills-lib/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  342. package/src/skills-lib/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  343. package/src/skills-lib/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  344. package/src/skills-lib/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  345. package/src/skills-lib/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  346. package/src/skills-lib/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  347. package/src/skills-lib/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  348. package/src/skills-lib/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  349. package/src/skills-lib/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  350. package/src/skills-lib/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  351. package/src/skills-lib/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  352. package/src/skills-lib/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  353. package/src/skills-lib/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  354. package/src/skills-lib/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  355. package/src/skills-lib/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  356. package/src/skills-lib/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  357. package/src/skills-lib/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  358. package/src/skills-lib/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  359. package/src/skills-lib/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  360. package/src/skills-lib/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  361. package/src/skills-lib/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  362. package/src/skills-lib/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  363. package/src/skills-lib/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  364. package/src/skills-lib/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  365. package/src/skills-lib/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  366. package/src/skills-lib/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  367. package/src/skills-lib/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  368. package/src/skills-lib/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  369. package/src/skills-lib/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  370. package/src/skills-lib/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  371. package/src/skills-lib/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  372. package/src/skills-lib/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  373. package/src/skills-lib/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  374. package/src/skills-lib/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  375. package/src/skills-lib/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  376. package/src/skills-lib/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  377. package/src/skills-lib/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  378. package/src/skills-lib/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  379. package/src/skills-lib/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  380. package/src/skills-lib/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  381. package/src/skills-lib/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  382. package/src/skills-lib/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  383. package/src/skills-lib/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  384. package/src/skills-lib/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  385. package/src/skills-lib/huashu-design/assets/bgm-ad.mp3 +0 -0
  386. package/src/skills-lib/huashu-design/assets/bgm-educational-alt.mp3 +0 -0
  387. package/src/skills-lib/huashu-design/assets/bgm-educational.mp3 +0 -0
  388. package/src/skills-lib/huashu-design/assets/bgm-tech.mp3 +0 -0
  389. package/src/skills-lib/huashu-design/assets/bgm-tutorial-alt.mp3 +0 -0
  390. package/src/skills-lib/huashu-design/assets/bgm-tutorial.mp3 +0 -0
  391. package/src/skills-lib/huashu-design/assets/sfx/container/card-flip.mp3 +0 -0
  392. package/src/skills-lib/huashu-design/assets/sfx/container/card-snap.mp3 +0 -0
  393. package/src/skills-lib/huashu-design/assets/sfx/container/modal-open.mp3 +0 -0
  394. package/src/skills-lib/huashu-design/assets/sfx/container/stack-collapse.mp3 +0 -0
  395. package/src/skills-lib/huashu-design/assets/sfx/feedback/achievement.mp3 +0 -0
  396. package/src/skills-lib/huashu-design/assets/sfx/feedback/error-tone.mp3 +0 -0
  397. package/src/skills-lib/huashu-design/assets/sfx/feedback/notification-pop.mp3 +0 -0
  398. package/src/skills-lib/huashu-design/assets/sfx/feedback/success-chime.mp3 +0 -0
  399. package/src/skills-lib/huashu-design/assets/sfx/impact/brand-stamp.mp3 +0 -0
  400. package/src/skills-lib/huashu-design/assets/sfx/impact/drop-thud.mp3 +0 -0
  401. package/src/skills-lib/huashu-design/assets/sfx/impact/logo-reveal-v2.mp3 +0 -0
  402. package/src/skills-lib/huashu-design/assets/sfx/impact/logo-reveal.mp3 +0 -0
  403. package/src/skills-lib/huashu-design/assets/sfx/keyboard/delete-key.mp3 +0 -0
  404. package/src/skills-lib/huashu-design/assets/sfx/keyboard/enter.mp3 +0 -0
  405. package/src/skills-lib/huashu-design/assets/sfx/keyboard/space-tap.mp3 +0 -0
  406. package/src/skills-lib/huashu-design/assets/sfx/keyboard/type-fast.mp3 +0 -0
  407. package/src/skills-lib/huashu-design/assets/sfx/keyboard/type.mp3 +0 -0
  408. package/src/skills-lib/huashu-design/assets/sfx/magic/ai-process.mp3 +0 -0
  409. package/src/skills-lib/huashu-design/assets/sfx/magic/sparkle.mp3 +0 -0
  410. package/src/skills-lib/huashu-design/assets/sfx/magic/transform.mp3 +0 -0
  411. package/src/skills-lib/huashu-design/assets/sfx/progress/complete-done.mp3 +0 -0
  412. package/src/skills-lib/huashu-design/assets/sfx/progress/generate-start.mp3 +0 -0
  413. package/src/skills-lib/huashu-design/assets/sfx/progress/loading-tick.mp3 +0 -0
  414. package/src/skills-lib/huashu-design/assets/sfx/terminal/command-execute.mp3 +0 -0
  415. package/src/skills-lib/huashu-design/assets/sfx/terminal/cursor-blink.mp3 +0 -0
  416. package/src/skills-lib/huashu-design/assets/sfx/terminal/output-appear.mp3 +0 -0
  417. package/src/skills-lib/huashu-design/assets/sfx/transition/dissolve.mp3 +0 -0
  418. package/src/skills-lib/huashu-design/assets/sfx/transition/slide-in.mp3 +0 -0
  419. package/src/skills-lib/huashu-design/assets/sfx/transition/swipe-horizontal.mp3 +0 -0
  420. package/src/skills-lib/huashu-design/assets/sfx/transition/whoosh-fast.mp3 +0 -0
  421. package/src/skills-lib/huashu-design/assets/sfx/transition/whoosh.mp3 +0 -0
  422. package/src/skills-lib/huashu-design/assets/sfx/ui/click-soft.mp3 +0 -0
  423. package/src/skills-lib/huashu-design/assets/sfx/ui/click.mp3 +0 -0
  424. package/src/skills-lib/huashu-design/assets/sfx/ui/focus.mp3 +0 -0
  425. package/src/skills-lib/huashu-design/assets/sfx/ui/hover-subtle.mp3 +0 -0
  426. package/src/skills-lib/huashu-design/assets/sfx/ui/tap-finger.mp3 +0 -0
  427. package/src/skills-lib/huashu-design/assets/sfx/ui/toggle-on.mp3 +0 -0
  428. package/src/skills-lib/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
  429. package/src/skills-lib/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
  430. package/src/skills-lib/ui-ux-pro-max/scripts/__pycache__/search.cpython-314.pyc +0 -0
  431. package/src/skills-lib/ui-ux-pro-max/scripts/graphify-out/cache/0964cef300f753b5cee0cc49777ca97035c85d45c212099405d9ee4da36e523f.json +0 -1
  432. package/src/skills-lib/ui-ux-pro-max/scripts/graphify-out/cache/21a40f6810c3a6f17acc3580f106171daf78c7b41bbd066bc80448a821ea0adf.json +0 -1
  433. package/src/skills-lib/ui-ux-pro-max/scripts/graphify-out/cache/69ea15a020ac81b8459e37ef63654398a50c1035fc01c43d8069df217389f7f3.json +0 -1
  434. package/src/squads/README.md +0 -39
  435. package/src/squads/advisory-board/README.md +0 -34
  436. package/src/squads/advisory-board/agents/board-chair.md +0 -161
  437. package/src/squads/advisory-board/agents/brene-brown.md +0 -296
  438. package/src/squads/advisory-board/agents/charlie-munger.md +0 -590
  439. package/src/squads/advisory-board/agents/derek-sivers.md +0 -268
  440. package/src/squads/advisory-board/agents/naval-ravikant.md +0 -251
  441. package/src/squads/advisory-board/agents/patrick-lencioni.md +0 -394
  442. package/src/squads/advisory-board/agents/peter-thiel.md +0 -269
  443. package/src/squads/advisory-board/agents/ray-dalio.md +0 -587
  444. package/src/squads/advisory-board/agents/reid-hoffman.md +0 -278
  445. package/src/squads/advisory-board/agents/simon-sinek.md +0 -291
  446. package/src/squads/advisory-board/agents/yvon-chouinard.md +0 -275
  447. package/src/squads/advisory-board/squad.yaml +0 -50
  448. package/src/squads/brand-squad/README.md +0 -60
  449. package/src/squads/brand-squad/agents/al-ries.md +0 -175
  450. package/src/squads/brand-squad/agents/alina-wheeler.md +0 -184
  451. package/src/squads/brand-squad/agents/archetype-consultant.md +0 -215
  452. package/src/squads/brand-squad/agents/brand-chief.md +0 -158
  453. package/src/squads/brand-squad/agents/byron-sharp.md +0 -169
  454. package/src/squads/brand-squad/agents/david-aaker.md +0 -166
  455. package/src/squads/brand-squad/agents/denise-yohn.md +0 -172
  456. package/src/squads/brand-squad/agents/domain-scout.md +0 -135
  457. package/src/squads/brand-squad/agents/donald-miller.md +0 -179
  458. package/src/squads/brand-squad/agents/emily-heyward.md +0 -147
  459. package/src/squads/brand-squad/agents/jean-noel-kapferer.md +0 -189
  460. package/src/squads/brand-squad/agents/kevin-keller.md +0 -199
  461. package/src/squads/brand-squad/agents/marty-neumeier.md +0 -170
  462. package/src/squads/brand-squad/agents/miller-sticky-brand.md +0 -180
  463. package/src/squads/brand-squad/agents/naming-strategist.md +0 -171
  464. package/src/squads/brand-squad/squad.yaml +0 -117
  465. package/src/squads/c-level-squad/README.md +0 -29
  466. package/src/squads/c-level-squad/agents/caio-architect.md +0 -235
  467. package/src/squads/c-level-squad/agents/cio-engineer.md +0 -209
  468. package/src/squads/c-level-squad/agents/cmo-architect.md +0 -208
  469. package/src/squads/c-level-squad/agents/coo-orchestrator.md +0 -193
  470. package/src/squads/c-level-squad/agents/cto-architect.md +0 -194
  471. package/src/squads/c-level-squad/agents/vision-chief.md +0 -201
  472. package/src/squads/c-level-squad/squad.yaml +0 -45
  473. package/src/squads/claude-code-mastery/README.md +0 -146
  474. package/src/squads/claude-code-mastery/agents/claude-mastery-chief.md +0 -554
  475. package/src/squads/claude-code-mastery/agents/config-engineer.md +0 -865
  476. package/src/squads/claude-code-mastery/agents/hooks-architect.md +0 -1013
  477. package/src/squads/claude-code-mastery/agents/mcp-integrator.md +0 -791
  478. package/src/squads/claude-code-mastery/agents/project-integrator.md +0 -1196
  479. package/src/squads/claude-code-mastery/agents/roadmap-sentinel.md +0 -931
  480. package/src/squads/claude-code-mastery/agents/skill-craftsman.md +0 -1250
  481. package/src/squads/claude-code-mastery/agents/swarm-orchestrator.md +0 -1008
  482. package/src/squads/copy-squad/README.md +0 -65
  483. package/src/squads/copy-squad/agents/andre-chaperon.md +0 -206
  484. package/src/squads/copy-squad/agents/ben-settle.md +0 -194
  485. package/src/squads/copy-squad/agents/claude-hopkins.md +0 -182
  486. package/src/squads/copy-squad/agents/clayton-makepeace.md +0 -225
  487. package/src/squads/copy-squad/agents/copy-chief.md +0 -166
  488. package/src/squads/copy-squad/agents/dan-kennedy.md +0 -202
  489. package/src/squads/copy-squad/agents/dan-koe.md +0 -223
  490. package/src/squads/copy-squad/agents/david-deutsch.md +0 -197
  491. package/src/squads/copy-squad/agents/david-ogilvy.md +0 -198
  492. package/src/squads/copy-squad/agents/eugene-schwartz.md +0 -238
  493. package/src/squads/copy-squad/agents/frank-kern.md +0 -195
  494. package/src/squads/copy-squad/agents/gary-bencivenga.md +0 -197
  495. package/src/squads/copy-squad/agents/gary-halbert.md +0 -219
  496. package/src/squads/copy-squad/agents/jim-rutz.md +0 -193
  497. package/src/squads/copy-squad/agents/joe-sugarman.md +0 -234
  498. package/src/squads/copy-squad/agents/john-carlton.md +0 -203
  499. package/src/squads/copy-squad/agents/jon-benson.md +0 -196
  500. package/src/squads/copy-squad/agents/parris-lampropoulos.md +0 -188
  501. package/src/squads/copy-squad/agents/robert-collier.md +0 -183
  502. package/src/squads/copy-squad/agents/russell-brunson.md +0 -229
  503. package/src/squads/copy-squad/agents/ry-schwartz.md +0 -185
  504. package/src/squads/copy-squad/agents/stefan-georgi.md +0 -188
  505. package/src/squads/copy-squad/agents/todd-brown.md +0 -171
  506. package/src/squads/copy-squad/squad.yaml +0 -87
  507. package/src/squads/cybersecurity/README.md +0 -38
  508. package/src/squads/cybersecurity/agents/busterer.md +0 -108
  509. package/src/squads/cybersecurity/agents/cartographer.md +0 -114
  510. package/src/squads/cybersecurity/agents/chris-sanders.md +0 -205
  511. package/src/squads/cybersecurity/agents/command-generator.md +0 -121
  512. package/src/squads/cybersecurity/agents/cyber-chief.md +0 -120
  513. package/src/squads/cybersecurity/agents/dirber.md +0 -111
  514. package/src/squads/cybersecurity/agents/fuzzer.md +0 -121
  515. package/src/squads/cybersecurity/agents/georgia-weidman.md +0 -178
  516. package/src/squads/cybersecurity/agents/jim-manico.md +0 -182
  517. package/src/squads/cybersecurity/agents/marcus-carey.md +0 -200
  518. package/src/squads/cybersecurity/agents/omar-santos.md +0 -206
  519. package/src/squads/cybersecurity/agents/peter-kim.md +0 -179
  520. package/src/squads/cybersecurity/agents/ripper.md +0 -121
  521. package/src/squads/cybersecurity/agents/rogue.md +0 -116
  522. package/src/squads/cybersecurity/agents/shannon-runner.md +0 -108
  523. package/src/squads/cybersecurity/squad.yaml +0 -56
  524. package/src/squads/data-squad/README.md +0 -30
  525. package/src/squads/data-squad/agents/avinash-kaushik.md +0 -268
  526. package/src/squads/data-squad/agents/data-chief.md +0 -167
  527. package/src/squads/data-squad/agents/david-spinks.md +0 -277
  528. package/src/squads/data-squad/agents/nick-mehta.md +0 -294
  529. package/src/squads/data-squad/agents/peter-fader.md +0 -246
  530. package/src/squads/data-squad/agents/sean-ellis.md +0 -303
  531. package/src/squads/data-squad/agents/wes-kao.md +0 -268
  532. package/src/squads/data-squad/squad.yaml +0 -46
  533. package/src/squads/design-squad/README.md +0 -31
  534. package/src/squads/design-squad/agents/brad-frost.md +0 -185
  535. package/src/squads/design-squad/agents/dan-mall.md +0 -178
  536. package/src/squads/design-squad/agents/dave-malouf.md +0 -198
  537. package/src/squads/design-squad/agents/design-chief.md +0 -109
  538. package/src/squads/design-squad/agents/design-system-architect.md +0 -109
  539. package/src/squads/design-squad/agents/ui-engineer.md +0 -102
  540. package/src/squads/design-squad/agents/ux-designer.md +0 -105
  541. package/src/squads/design-squad/agents/visual-generator.md +0 -108
  542. package/src/squads/design-squad/squad.yaml +0 -48
  543. package/src/squads/hormozi-squad/README.md +0 -39
  544. package/src/squads/hormozi-squad/agents/hormozi-ads.md +0 -159
  545. package/src/squads/hormozi-squad/agents/hormozi-advisor.md +0 -178
  546. package/src/squads/hormozi-squad/agents/hormozi-audit.md +0 -178
  547. package/src/squads/hormozi-squad/agents/hormozi-chief.md +0 -111
  548. package/src/squads/hormozi-squad/agents/hormozi-closer.md +0 -179
  549. package/src/squads/hormozi-squad/agents/hormozi-content.md +0 -166
  550. package/src/squads/hormozi-squad/agents/hormozi-copy.md +0 -152
  551. package/src/squads/hormozi-squad/agents/hormozi-hooks.md +0 -177
  552. package/src/squads/hormozi-squad/agents/hormozi-launch.md +0 -160
  553. package/src/squads/hormozi-squad/agents/hormozi-leads.md +0 -198
  554. package/src/squads/hormozi-squad/agents/hormozi-models.md +0 -191
  555. package/src/squads/hormozi-squad/agents/hormozi-offers.md +0 -197
  556. package/src/squads/hormozi-squad/agents/hormozi-pricing.md +0 -151
  557. package/src/squads/hormozi-squad/agents/hormozi-retention.md +0 -166
  558. package/src/squads/hormozi-squad/agents/hormozi-scale.md +0 -175
  559. package/src/squads/hormozi-squad/agents/hormozi-workshop.md +0 -160
  560. package/src/squads/hormozi-squad/squad.yaml +0 -60
  561. package/src/squads/movement/README.md +0 -29
  562. package/src/squads/movement/agents/analista-de-impacto.md +0 -350
  563. package/src/squads/movement/agents/estrategista-de-ciclo.md +0 -301
  564. package/src/squads/movement/agents/fenomenologo.md +0 -169
  565. package/src/squads/movement/agents/identitario.md +0 -265
  566. package/src/squads/movement/agents/manifestador.md +0 -279
  567. package/src/squads/movement/agents/movement-architect.md +0 -210
  568. package/src/squads/movement/agents/movement-chief.md +0 -135
  569. package/src/squads/movement/squad.yaml +0 -45
  570. package/src/squads/storytelling/README.md +0 -35
  571. package/src/squads/storytelling/agents/blake-snyder.md +0 -225
  572. package/src/squads/storytelling/agents/dan-harmon.md +0 -167
  573. package/src/squads/storytelling/agents/joseph-campbell.md +0 -184
  574. package/src/squads/storytelling/agents/keith-johnstone.md +0 -157
  575. package/src/squads/storytelling/agents/kindra-hall.md +0 -162
  576. package/src/squads/storytelling/agents/marshall-ganz.md +0 -167
  577. package/src/squads/storytelling/agents/matthew-dicks.md +0 -152
  578. package/src/squads/storytelling/agents/nancy-duarte.md +0 -154
  579. package/src/squads/storytelling/agents/oren-klaff.md +0 -166
  580. package/src/squads/storytelling/agents/park-howell.md +0 -152
  581. package/src/squads/storytelling/agents/shawn-coyne.md +0 -208
  582. package/src/squads/storytelling/agents/story-chief.md +0 -155
  583. package/src/squads/storytelling/squad.yaml +0 -52
  584. package/src/squads/traffic-masters/README.md +0 -39
  585. package/src/squads/traffic-masters/agents/ad-midas.md +0 -149
  586. package/src/squads/traffic-masters/agents/ads-analyst.md +0 -135
  587. package/src/squads/traffic-masters/agents/creative-analyst.md +0 -142
  588. package/src/squads/traffic-masters/agents/depesh-mandalia.md +0 -174
  589. package/src/squads/traffic-masters/agents/fiscal.md +0 -144
  590. package/src/squads/traffic-masters/agents/kasim-aslam.md +0 -158
  591. package/src/squads/traffic-masters/agents/media-buyer.md +0 -159
  592. package/src/squads/traffic-masters/agents/molly-pittman.md +0 -185
  593. package/src/squads/traffic-masters/agents/nicholas-kusmich.md +0 -157
  594. package/src/squads/traffic-masters/agents/pedro-sobral.md +0 -158
  595. package/src/squads/traffic-masters/agents/performance-analyst.md +0 -135
  596. package/src/squads/traffic-masters/agents/pixel-specialist.md +0 -144
  597. package/src/squads/traffic-masters/agents/ralph-burns.md +0 -163
  598. package/src/squads/traffic-masters/agents/scale-optimizer.md +0 -144
  599. package/src/squads/traffic-masters/agents/tom-breeze.md +0 -175
  600. package/src/squads/traffic-masters/agents/traffic-chief.md +0 -97
  601. package/src/squads/traffic-masters/squad.yaml +0 -59
  602. package/tools/bundle-web-bundles.js +0 -117
  603. package/tools/format-workflow-md.js +0 -263
  604. package/tools/javascript-conventions.md +0 -5
  605. package/tools/migrate-custom-module-paths.js +0 -124
  606. package/tools/skill-validator.md +0 -368
  607. package/tools/validate-sidebar-order.js +0 -388
  608. package/tools/validate-skills.js +0 -708
  609. package/tools/validate-svg-changes.sh +0 -356
  610. /package/tools/installer/{cli-utils.js → banner.js} +0 -0
@@ -0,0 +1,157 @@
1
+ # Full Workflow Guide
2
+
3
+ Load this file when actually building or reviewing a UI and you need the complete step-by-step procedure (not just the first command).
4
+
5
+ ## Prerequisites
6
+
7
+ Check if Python is installed:
8
+
9
+ ```bash
10
+ python3 --version || python --version
11
+ ```
12
+
13
+ If Python is not installed, install it based on user's OS:
14
+
15
+ **macOS:**
16
+ ```bash
17
+ brew install python3
18
+ ```
19
+
20
+ **Ubuntu/Debian:**
21
+ ```bash
22
+ sudo apt update && sudo apt install python3
23
+ ```
24
+
25
+ **Windows:**
26
+ ```powershell
27
+ winget install Python.Python.3.12
28
+ ```
29
+
30
+ ## How to Use This Skill
31
+
32
+ When user requests UI/UX work (design, build, create, implement, review, fix, improve), follow this workflow:
33
+
34
+ ### Step 1: Analyze User Requirements
35
+
36
+ Extract key information from user request:
37
+ - **Product type**: SaaS, e-commerce, portfolio, dashboard, landing page, etc.
38
+ - **Style keywords**: minimal, playful, professional, elegant, dark mode, etc.
39
+ - **Industry**: healthcare, fintech, gaming, education, etc.
40
+ - **Stack**: React, Vue, Next.js, or default to `html-tailwind`
41
+
42
+ ### Step 2: Generate Design System (REQUIRED)
43
+
44
+ **Always start with `--design-system`** to get comprehensive recommendations with reasoning:
45
+
46
+ ```bash
47
+ python3 skills/ui-ux-pro-max/scripts/search.py "<product_type> <industry> <keywords>" --design-system [-p "Project Name"]
48
+ ```
49
+
50
+ This command:
51
+ 1. Searches 5 domains in parallel (product, style, color, landing, typography)
52
+ 2. Applies reasoning rules from `ui-reasoning.csv` to select best matches
53
+ 3. Returns complete design system: pattern, style, colors, typography, effects
54
+ 4. Includes anti-patterns to avoid
55
+
56
+ **Example:**
57
+ ```bash
58
+ python3 skills/ui-ux-pro-max/scripts/search.py "beauty spa wellness service" --design-system -p "Serenity Spa"
59
+ ```
60
+
61
+ ### Step 2b: Persist Design System (Master + Overrides Pattern)
62
+
63
+ To save the design system for hierarchical retrieval across sessions, add `--persist`:
64
+
65
+ ```bash
66
+ python3 skills/ui-ux-pro-max/scripts/search.py "<query>" --design-system --persist -p "Project Name"
67
+ ```
68
+
69
+ This creates:
70
+ - `design-system/MASTER.md` — Global Source of Truth with all design rules
71
+ - `design-system/pages/` — Folder for page-specific overrides
72
+
73
+ **With page-specific override:**
74
+ ```bash
75
+ python3 skills/ui-ux-pro-max/scripts/search.py "<query>" --design-system --persist -p "Project Name" --page "dashboard"
76
+ ```
77
+
78
+ This also creates:
79
+ - `design-system/pages/dashboard.md` — Page-specific deviations from Master
80
+
81
+ **How hierarchical retrieval works:**
82
+ 1. When building a specific page (e.g., "Checkout"), first check `design-system/pages/checkout.md`
83
+ 2. If the page file exists, its rules **override** the Master file
84
+ 3. If not, use `design-system/MASTER.md` exclusively
85
+
86
+ ### Step 3: Supplement with Detailed Searches (as needed)
87
+
88
+ After getting the design system, use domain searches to get additional details:
89
+
90
+ ```bash
91
+ python3 skills/ui-ux-pro-max/scripts/search.py "<keyword>" --domain <domain> [-n <max_results>]
92
+ ```
93
+
94
+ **When to use detailed searches:**
95
+
96
+ | Need | Domain | Example |
97
+ |------|--------|---------|
98
+ | More style options | `style` | `--domain style "glassmorphism dark"` |
99
+ | Chart recommendations | `chart` | `--domain chart "real-time dashboard"` |
100
+ | UX best practices | `ux` | `--domain ux "animation accessibility"` |
101
+ | Alternative fonts | `typography` | `--domain typography "elegant luxury"` |
102
+ | Landing structure | `landing` | `--domain landing "hero social-proof"` |
103
+
104
+ ### Step 4: Stack Guidelines (Default: html-tailwind)
105
+
106
+ Get implementation-specific best practices. If user doesn't specify a stack, **default to `html-tailwind`**.
107
+
108
+ ```bash
109
+ python3 skills/ui-ux-pro-max/scripts/search.py "<keyword>" --stack html-tailwind
110
+ ```
111
+
112
+ Available stacks: `html-tailwind`, `react`, `nextjs`, `vue`, `svelte`, `swiftui`, `react-native`, `flutter`, `shadcn`, `jetpack-compose`
113
+
114
+ ## Example Workflow
115
+
116
+ **User request:** "Làm landing page cho dịch vụ chăm sóc da chuyên nghiệp"
117
+
118
+ ### Step 1: Analyze Requirements
119
+ - Product type: Beauty/Spa service
120
+ - Style keywords: elegant, professional, soft
121
+ - Industry: Beauty/Wellness
122
+ - Stack: html-tailwind (default)
123
+
124
+ ### Step 2: Generate Design System (REQUIRED)
125
+
126
+ ```bash
127
+ python3 skills/ui-ux-pro-max/scripts/search.py "beauty spa wellness service elegant" --design-system -p "Serenity Spa"
128
+ ```
129
+
130
+ **Output:** Complete design system with pattern, style, colors, typography, effects, and anti-patterns.
131
+
132
+ ### Step 3: Supplement with Detailed Searches (as needed)
133
+
134
+ ```bash
135
+ # Get UX guidelines for animation and accessibility
136
+ python3 skills/ui-ux-pro-max/scripts/search.py "animation accessibility" --domain ux
137
+
138
+ # Get alternative typography options if needed
139
+ python3 skills/ui-ux-pro-max/scripts/search.py "elegant luxury serif" --domain typography
140
+ ```
141
+
142
+ ### Step 4: Stack Guidelines
143
+
144
+ ```bash
145
+ python3 skills/ui-ux-pro-max/scripts/search.py "layout responsive form" --stack html-tailwind
146
+ ```
147
+
148
+ **Then:** Synthesize design system + detailed searches and implement the design.
149
+
150
+ ## Tips for Better Results
151
+
152
+ 1. **Be specific with keywords** - "healthcare SaaS dashboard" > "app"
153
+ 2. **Search multiple times** - Different keywords reveal different insights
154
+ 3. **Combine domains** - Style + Typography + Color = Complete design system
155
+ 4. **Always check UX** - Search "animation", "z-index", "accessibility" for common issues
156
+ 5. **Use stack flag** - Get implementation-specific best practices
157
+ 6. **Iterate** - If first search doesn't match, try different keywords
@@ -11,175 +11,26 @@ description: >
11
11
 
12
12
  ## Falhas recorrentes em pentest (rankeadas por severidade)
13
13
 
14
- As que mais aparecem numa auditoria, com a correção direta. Use como triagem rápida.
14
+ As que mais aparecem numa auditoria, com a correção direta. Use como triagem rápida — comece por aqui em toda revisão de segurança.
15
15
 
16
16
  | # | Falha | Severidade | Correção | Onde |
17
17
  |---|-------|-----------|----------|------|
18
- | 1 | SQL Injection | 🔴 Crítica (parada de linha) | Query parametrizada / query-builder, nunca interpolar string | seção 3 |
19
- | 2 | IDOR (recurso por ID sem checar dono) | 🔴 Crítica (parada de linha) | Validar posse do recurso no servidor a cada request | seção 1 |
20
- | 3 | Rate limit ausente (brute force grátis) | 🟠 Alta | Limite por IP **e** por conta + lockout/CAPTCHA no login | Rate Limiting |
21
- | 4 | CORS refletindo o `Origin` | 🟠 Alta | Allowlist de origens, nunca ecoar o `Origin` recebido | CORS |
22
- | 5 | PII/dado demais na resposta (até hash de senha) | 🟠 Alta | Retornar só os campos necessários (allowlist de saída) | Vazamento na resposta |
23
- | 6 | JWT na URL / token vivo pós-logout | 🟠 Alta | Token no header `Authorization` + revogar no logout | auth-and-secrets |
24
- | 7 | Enumeração de usuário (erro revela se e-mail existe) | 🟡 Média | Mensagem genérica + resposta em tempo constante | auth-and-secrets |
25
- | 8 | Clickjacking (sem header) | 🟡 Média (1 min) | `X-Frame-Options: DENY` + CSP `frame-ancestors 'none'` | Headers |
18
+ | 1 | SQL Injection | 🔴 Crítica (parada de linha) | Query parametrizada / query-builder, nunca interpolar string | `references/owasp-top5-detalhado.md` §3 |
19
+ | 2 | IDOR (recurso por ID sem checar dono) | 🔴 Crítica (parada de linha) | Validar posse do recurso no servidor a cada request | `references/owasp-top5-detalhado.md` §1 |
20
+ | 3 | Rate limit ausente (brute force grátis) | 🟠 Alta | Limite por IP **e** por conta + lockout/CAPTCHA no login | `references/headers-rate-limit-cors.md` |
21
+ | 4 | CORS refletindo o `Origin` | 🟠 Alta | Allowlist de origens, nunca ecoar o `Origin` recebido | `references/headers-rate-limit-cors.md` |
22
+ | 5 | PII/dado demais na resposta (até hash de senha) | 🟠 Alta | Retornar só os campos necessários (allowlist de saída) | `references/headers-rate-limit-cors.md` |
23
+ | 6 | JWT na URL / token vivo pós-logout | 🟠 Alta | Token no header `Authorization` + revogar no logout | skill `auth-and-secrets` |
24
+ | 7 | Enumeração de usuário (erro revela se e-mail existe) | 🟡 Média | Mensagem genérica + resposta em tempo constante | skill `auth-and-secrets` |
25
+ | 8 | Clickjacking (sem header) | 🟡 Média (1 min) | `X-Frame-Options: DENY` + CSP `frame-ancestors 'none'` | `references/headers-rate-limit-cors.md` |
26
26
 
27
27
  > As duas primeiras (SQLi e IDOR) são **parada de linha**: apareceu, corrige antes de qualquer coisa.
28
28
 
29
- ## 1. Broken Access Control
30
- - Verifique permissões no servidor, nunca apenas no frontend
31
- - IDOR (Insecure Direct Object Reference): valide se o usuário tem acesso ao recurso pelo ID
32
- - Princípio do menor privilégio em todas as rotas
29
+ ## References (load on demand)
33
30
 
34
- ## 2. Cryptographic Failures
35
- - HTTPS em tudo, sem exceção
36
- - HSTS header com includeSubDomains
37
- - Não exponha dados sensíveis em URLs (query strings ficam em logs)
38
-
39
- ## 3. Injection
40
- - SQL: queries parametrizadas sempre
41
- - XSS: sanitize outputs, use Content-Security-Policy
42
- - Command injection: nunca execute input do usuário como comando shell
43
-
44
- ## 4. Cross-Site Scripting (XSS)
45
- - Escape HTML em todo output de dado do usuário
46
- - Content-Security-Policy: bloqueie inline scripts
47
- - HttpOnly e Secure flags nos cookies de sessão
48
-
49
- ## 5. CSRF
50
- - SameSite=Strict ou Lax nos cookies de sessão
51
- - CSRF token em formulários state-changing
52
- - Verifique Origin/Referer em requests sensíveis
53
-
54
- ## Headers de segurança obrigatórios
55
-
56
- `X-Frame-Options: DENY` + `frame-ancestors 'none'` no CSP mata **clickjacking** (o site não pode ser embutido em `<iframe>` de outro domínio). Fix de 1 minuto, sempre presente.
57
-
58
- ```
59
- Content-Security-Policy: default-src 'self'; frame-ancestors 'none'
60
- X-Frame-Options: DENY
61
- X-Content-Type-Options: nosniff
62
- Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
63
- Referrer-Policy: strict-origin-when-cross-origin
64
- Permissions-Policy: camera=(), microphone=(), geolocation=()
65
- ```
66
-
67
- Como adicionar em Next.js (`next.config.ts`):
68
- ```ts
69
- async headers() {
70
- return [
71
- {
72
- source: "/(.*)",
73
- headers: [
74
- { key: "X-Frame-Options", value: "DENY" },
75
- { key: "X-Content-Type-Options", value: "nosniff" },
76
- { key: "Referrer-Policy", value: "strict-origin-when-cross-origin" },
77
- { key: "Strict-Transport-Security", value: "max-age=63072000; includeSubDomains; preload" },
78
- { key: "Permissions-Policy", value: "camera=(), microphone=(), geolocation=()" },
79
- {
80
- key: "Content-Security-Policy",
81
- value: [
82
- "default-src 'self'",
83
- "script-src 'self' 'unsafe-inline' https://js.clerk.dev https://js.stripe.com https://www.googletagmanager.com",
84
- "connect-src 'self' https://*.supabase.co https://api.clerk.dev https://api.stripe.com",
85
- "frame-src https://js.stripe.com https://hooks.stripe.com",
86
- "img-src 'self' data: https:",
87
- "style-src 'self' 'unsafe-inline'",
88
- ].join("; "),
89
- },
90
- ],
91
- },
92
- ]
93
- },
94
- ```
95
-
96
- > **Cuidado:** CSP errada quebra o app. Teste sempre em dev antes de subir. Ajuste os domínios (`script-src`, `connect-src`) conforme os serviços reais do projeto.
97
-
98
- ## Rate Limiting
99
- - Login: limite por IP **e** por conta (só por IP não segura brute force distribuído; só por conta não segura scan de vários e-mails)
100
- - APIs públicas: limite por IP e por token
101
- - Endpoints de reset de senha: especialmente restritivos
102
- - Endpoints de cobrança (checkout, portal): sempre com rate limit
103
- - Comparações de token/secret: use `crypto.timingSafeEqual` (nunca `!==`)
104
- - Sem rate limit = brute force de graça. Somar lockout/CAPTCHA após N falhas no login
105
-
106
- ## CORS
107
- - **Nunca reflita o header `Origin` recebido** de volta em `Access-Control-Allow-Origin` (isso libera qualquer site a chamar sua API com credenciais)
108
- - Use uma **allowlist explícita** de origens: compare o `Origin` recebido contra a lista e só então ecoe o valor exato daquela origem
109
- - `Access-Control-Allow-Credentials: true` NUNCA junto de `Access-Control-Allow-Origin: *`
110
- - Padrão = negar: origem desconhecida → sem headers CORS (o browser bloqueia sozinho)
111
- ```ts
112
- const ALLOWED = new Set(["https://app.exemplo.com", "https://exemplo.com"])
113
- const origin = req.headers.get("origin")
114
- if (origin && ALLOWED.has(origin)) {
115
- res.headers.set("Access-Control-Allow-Origin", origin) // valor exato, nunca "*" com credentials
116
- res.headers.set("Vary", "Origin")
117
- }
118
- ```
119
-
120
- ## Vazamento de dados na resposta (over-fetch / PII)
121
- - Retorne **só os campos que a tela precisa**: monte um DTO/allowlist de saída, nunca devolva a row inteira do banco
122
- - NUNCA inclua `password`, `password_hash`, tokens, secrets ou colunas internas na resposta de API (é a falha mais grave da lista de PII)
123
- - Supabase: `.select('id, name, email')` explícito, nunca `.select('*')` em endpoint que responde ao cliente
124
- - Objeto do usuário logado: serialize por um mapper que só expõe campos públicos
125
- - Erros: não vaze stack trace, SQL nem nome de tabela pro cliente. Mensagem genérica no response, detalhe só no log do servidor
126
-
127
- ---
128
-
129
- ## Checklist das 8 vulnerabilidades mais comuns
130
-
131
- Usar como auditoria rápida antes de deploy ou revisão de segurança.
132
-
133
- ### 1. HTTPS forçado
134
- - [ ] A plataforma força HTTPS? (Vercel: sim por padrão)
135
- - [ ] Header `Strict-Transport-Security` configurado explicitamente no código?
136
- - [ ] Nenhuma URL `http://` hardcoded em redirects ou fetch?
137
-
138
- ### 2. Validação no servidor
139
- - [ ] Todo endpoint de API valida input com Zod (`.parse()` ou `.safeParse()`)?
140
- - [ ] `workspaceId`/`userId` validados como UUID antes de ir ao banco?
141
- - [ ] Regras de negócio re-validadas no backend (nunca confiar só no cliente)?
142
- - [ ] Supabase: RLS ativo nas tabelas? Queries sempre filtram por `workspace_id`/`user_id`?
143
-
144
- ### 3. Senha do banco / secrets no código
145
- - [ ] Nenhum secret hardcoded em `.ts`/`.tsx`/`.js`?
146
- - [ ] `.env*` no `.gitignore`? (`git check-ignore -v .env.local`)
147
- - [ ] `.env.local` nunca aparece em `git log --all`?
148
- - [ ] Cripto usa chave de `process.env`, sem fallback de string?
149
- - [ ] Grep de segurança: `grep -r "sk_live\|sk_test\|service_role\|eyJ" src/` → vazio?
150
-
151
- ### 4. Rate limiting na API
152
- - [ ] Endpoints de autenticação têm rate limit por IP?
153
- - [ ] Endpoints de cobrança (checkout, portal Stripe) têm rate limit?
154
- - [ ] Endpoints que disparam operações caras/externas têm rate limit?
155
- - [ ] Endpoints de admin têm rate limit + comparação timing-safe?
156
- - [ ] Rotas de escrita de estado usam `failOpen: false`?
157
-
158
- ### 5. Content Security Policy
159
- - [ ] Header `Content-Security-Policy` configurado? (`next.config.ts` `headers()` ou middleware)
160
- - [ ] `X-Frame-Options: DENY` configurado?
161
- - [ ] `X-Content-Type-Options: nosniff` configurado?
162
- - [ ] CSP testada em dev sem erros no console?
163
-
164
- ### 6. Upload sem verificação de tipo
165
- - [ ] Se há upload: verifica MIME type no servidor (não só no cliente)?
166
- - [ ] Limite de tamanho de arquivo imposto no servidor?
167
- - [ ] Extensões permitidas em allowlist (não blocklist)?
168
- - [ ] Se não há upload: confirmar que não há `<input type="file">` escondido?
169
-
170
- ### 7. SQL injection na busca
171
- - [ ] Nenhuma query monta SQL com string interpolation/concatenação?
172
- - [ ] Supabase: todo acesso via query-builder (`.from().select().eq()`) ou RPC com params nomeados?
173
- - [ ] RPCs Postgres auditadas no dashboard: não usam `EXECUTE format(...)` com input do usuário?
174
- - [ ] Grep: `grep -r "\.sql\|raw(\|\.query(" src/` → revisar resultados?
175
-
176
- ### 8. Backup automatizado
177
- - [ ] Plano Supabase tem PITR ou backup diário habilitado? (verificar no dashboard)
178
- - [ ] Retenção de backup documentada?
179
- - [ ] Existe runbook de restauração?
180
- - [ ] Credenciais de backup protegidas (não no repo)?
181
-
182
- ---
31
+ - `references/owasp-top5-detalhado.md` — detalhe + exemplo de código (Next.js + Clerk + Supabase) para as 5 categorias OWASP mais comuns: Broken Access Control, Cryptographic Failures, Injection, XSS, CSRF. Carregar ao aprofundar numa falha específica da tabela acima.
32
+ - `references/headers-rate-limit-cors.md` headers de segurança obrigatórios (com config pronta para `next.config.ts`), rate limiting (login/API/cobrança, fail-closed), CORS (allowlist, exemplo de código), e como evitar vazamento de PII/over-fetch na resposta de API. Carregar ao implementar ou revisar qualquer um desses quatro pontos.
33
+ - `references/checklist-deploy.md` checklist das 8 vulnerabilidades mais comuns (HTTPS, validação no servidor, secrets, rate limit, CSP, upload, SQL injection, backup), em formato de auditoria pré-deploy. Carregar antes de um deploy ou revisão de segurança formal.
183
34
 
184
35
  ## Checklist de revisão rápida
185
36
  - [ ] Todos os inputs do usuário são validados e sanitizados?
@@ -0,0 +1,52 @@
1
+ # Checklist das 8 Vulnerabilidades Mais Comuns
2
+
3
+ Carregue este arquivo para uma auditoria rápida antes de deploy ou revisão de segurança.
4
+
5
+ ## 1. HTTPS forçado
6
+ - [ ] A plataforma força HTTPS? (Vercel: sim por padrão)
7
+ - [ ] Header `Strict-Transport-Security` configurado explicitamente no código?
8
+ - [ ] Nenhuma URL `http://` hardcoded em redirects ou fetch?
9
+
10
+ ## 2. Validação no servidor
11
+ - [ ] Todo endpoint de API valida input com Zod (`.parse()` ou `.safeParse()`)?
12
+ - [ ] `workspaceId`/`userId` validados como UUID antes de ir ao banco?
13
+ - [ ] Regras de negócio re-validadas no backend (nunca confiar só no cliente)?
14
+ - [ ] Supabase: RLS ativo nas tabelas? Queries sempre filtram por `workspace_id`/`user_id`?
15
+
16
+ ## 3. Senha do banco / secrets no código
17
+ - [ ] Nenhum secret hardcoded em `.ts`/`.tsx`/`.js`?
18
+ - [ ] `.env*` no `.gitignore`? (`git check-ignore -v .env.local`)
19
+ - [ ] `.env.local` nunca aparece em `git log --all`?
20
+ - [ ] Cripto usa chave de `process.env`, sem fallback de string?
21
+ - [ ] Grep de segurança: `grep -r "sk_live\|sk_test\|service_role\|eyJ" src/` → vazio?
22
+
23
+ ## 4. Rate limiting na API
24
+ - [ ] Endpoints de autenticação têm rate limit por IP?
25
+ - [ ] Endpoints de cobrança (checkout, portal Stripe) têm rate limit?
26
+ - [ ] Endpoints que disparam operações caras/externas têm rate limit?
27
+ - [ ] Endpoints de admin têm rate limit + comparação timing-safe?
28
+ - [ ] Rotas de escrita de estado falham fechado se o rate limiter cair? (ex: `failOpen: false` na lib)
29
+
30
+ ## 5. Content Security Policy
31
+ - [ ] Header `Content-Security-Policy` configurado? (`next.config.ts` `headers()` ou middleware)
32
+ - [ ] `X-Frame-Options: DENY` configurado?
33
+ - [ ] `X-Content-Type-Options: nosniff` configurado?
34
+ - [ ] CSP testada em dev sem erros no console?
35
+
36
+ ## 6. Upload sem verificação de tipo
37
+ - [ ] Se há upload: verifica MIME type no servidor (não só no cliente)?
38
+ - [ ] Limite de tamanho de arquivo imposto no servidor?
39
+ - [ ] Extensões permitidas em allowlist (não blocklist)?
40
+ - [ ] Se não há upload: confirmar que não há `<input type="file">` escondido?
41
+
42
+ ## 7. SQL injection na busca
43
+ - [ ] Nenhuma query monta SQL com string interpolation/concatenação?
44
+ - [ ] Supabase: todo acesso via query-builder (`.from().select().eq()`) ou RPC com params nomeados?
45
+ - [ ] RPCs Postgres auditadas no dashboard: não usam `EXECUTE format(...)` com input do usuário?
46
+ - [ ] Grep: `grep -r "\.sql\|raw(\|\.query(" src/` → revisar resultados?
47
+
48
+ ## 8. Backup automatizado
49
+ - [ ] Plano Supabase tem PITR ou backup diário habilitado? (verificar no dashboard)
50
+ - [ ] Retenção de backup documentada?
51
+ - [ ] Existe runbook de restauração?
52
+ - [ ] Credenciais de backup protegidas (não no repo)?
@@ -0,0 +1,78 @@
1
+ # Headers de Segurança, Rate Limiting, CORS, e Vazamento de Dados
2
+
3
+ Carregue este arquivo ao implementar/revisar headers de segurança, rate limiting, CORS, ou o formato de resposta de uma API (over-fetch/PII).
4
+
5
+ ## Headers de segurança obrigatórios
6
+
7
+ `X-Frame-Options: DENY` + `frame-ancestors 'none'` no CSP mata **clickjacking** (o site não pode ser embutido em `<iframe>` de outro domínio). Fix de 1 minuto, sempre presente.
8
+
9
+ ```
10
+ Content-Security-Policy: default-src 'self'; frame-ancestors 'none'
11
+ X-Frame-Options: DENY
12
+ X-Content-Type-Options: nosniff
13
+ Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
14
+ Referrer-Policy: strict-origin-when-cross-origin
15
+ Permissions-Policy: camera=(), microphone=(), geolocation=()
16
+ ```
17
+
18
+ Como adicionar em Next.js (`next.config.ts`):
19
+ ```ts
20
+ async headers() {
21
+ return [
22
+ {
23
+ source: "/(.*)",
24
+ headers: [
25
+ { key: "X-Frame-Options", value: "DENY" },
26
+ { key: "X-Content-Type-Options", value: "nosniff" },
27
+ { key: "Referrer-Policy", value: "strict-origin-when-cross-origin" },
28
+ { key: "Strict-Transport-Security", value: "max-age=63072000; includeSubDomains; preload" },
29
+ { key: "Permissions-Policy", value: "camera=(), microphone=(), geolocation=()" },
30
+ {
31
+ key: "Content-Security-Policy",
32
+ value: [
33
+ "default-src 'self'",
34
+ "script-src 'self' 'unsafe-inline' https://js.clerk.dev https://js.stripe.com https://www.googletagmanager.com",
35
+ "connect-src 'self' https://*.supabase.co https://api.clerk.dev https://api.stripe.com",
36
+ "frame-src https://js.stripe.com https://hooks.stripe.com",
37
+ "img-src 'self' data: https:",
38
+ "style-src 'self' 'unsafe-inline'",
39
+ ].join("; "),
40
+ },
41
+ ],
42
+ },
43
+ ]
44
+ },
45
+ ```
46
+
47
+ > **Cuidado:** CSP errada quebra o app. Teste sempre em dev antes de subir. Ajuste os domínios (`script-src`, `connect-src`) conforme os serviços reais do projeto.
48
+
49
+ ## Rate Limiting
50
+ - Login: limite por IP **e** por conta (só por IP não segura brute force distribuído; só por conta não segura scan de vários e-mails)
51
+ - APIs públicas: limite por IP e por token
52
+ - Endpoints de reset de senha: especialmente restritivos
53
+ - Endpoints de cobrança (checkout, portal): sempre com rate limit
54
+ - Next.js: `@upstash/ratelimit` no route handler, ou WAF da Vercel para regras por rota
55
+ - Fail closed: se o backend do rate limit cair (ex: Redis fora), rotas de escrita devem negar a request, não deixar passar
56
+ - Comparações de token/secret: `crypto.timingSafeEqual`, nunca `!==` (detalhe em auth-and-secrets)
57
+ - Sem rate limit = brute force de graça. Somar lockout/CAPTCHA após N falhas no login
58
+
59
+ ## CORS
60
+ - **Nunca reflita o header `Origin` recebido** de volta em `Access-Control-Allow-Origin` (isso libera qualquer site a chamar sua API com credenciais)
61
+ - Use uma **allowlist explícita** de origens: compare o `Origin` recebido contra a lista e só então ecoe o valor exato daquela origem
62
+ - `Access-Control-Allow-Credentials: true` NUNCA junto de `Access-Control-Allow-Origin: *`
63
+ - Padrão = negar: origem desconhecida → sem headers CORS (o browser bloqueia sozinho)
64
+ ```ts
65
+ const ALLOWED = new Set(["https://app.exemplo.com", "https://exemplo.com"])
66
+ const origin = req.headers.get("origin")
67
+ if (origin && ALLOWED.has(origin)) {
68
+ res.headers.set("Access-Control-Allow-Origin", origin) // valor exato, nunca "*" com credentials
69
+ res.headers.set("Vary", "Origin")
70
+ }
71
+ ```
72
+
73
+ ## Vazamento de dados na resposta (over-fetch / PII)
74
+ - Retorne **só os campos que a tela precisa**: monte um DTO/allowlist de saída, nunca devolva a row inteira do banco
75
+ - NUNCA inclua `password`, `password_hash`, tokens, secrets ou colunas internas na resposta de API (é a falha mais grave da lista de PII)
76
+ - Supabase: `.select('id, name, email')` explícito, nunca `.select('*')` em endpoint que responde ao cliente
77
+ - Objeto do usuário logado: serialize por um mapper que só expõe campos públicos
78
+ - Erros: não vaze stack trace, SQL nem nome de tabela pro cliente. Mensagem genérica no response, detalhe só no log do servidor
@@ -0,0 +1,51 @@
1
+ # OWASP — Detalhe das 5 categorias mais comuns
2
+
3
+ Carregue este arquivo ao aprofundar numa das falhas do triage rápido (seções 1-5 referenciadas na tabela do SKILL.md).
4
+
5
+ ## 1. Broken Access Control
6
+ - Verifique permissões no servidor, nunca apenas no frontend
7
+ - IDOR (Insecure Direct Object Reference): valide se o usuário tem acesso ao recurso pelo ID
8
+ - Princípio do menor privilégio em todas as rotas
9
+ - Next.js: middleware não é a única barreira. Re-verifique auth dentro do route handler, Server Action ou página (bypass de middleware já teve CVE)
10
+
11
+ Exemplo anti-IDOR (Next.js + Clerk + Supabase):
12
+ ```ts
13
+ // app/api/projects/[id]/route.ts
14
+ import { auth } from "@clerk/nextjs/server"
15
+
16
+ export async function GET(req: Request, { params }: { params: Promise<{ id: string }> }) {
17
+ const { userId } = await auth()
18
+ if (!userId) return new Response("Unauthorized", { status: 401 })
19
+ const { id } = await params
20
+ const { data } = await supabase
21
+ .from("projects")
22
+ .select("id, name")
23
+ .eq("id", id)
24
+ .eq("user_id", userId) // posse verificada na query, além do RLS
25
+ .single()
26
+ if (!data) return new Response("Not found", { status: 404 }) // 404, não 403 (não confirma que o recurso existe)
27
+ return Response.json(data)
28
+ }
29
+ ```
30
+
31
+ ## 2. Cryptographic Failures
32
+ - HTTPS em tudo, sem exceção
33
+ - HSTS header com includeSubDomains
34
+ - Não exponha dados sensíveis em URLs (query strings ficam em logs)
35
+
36
+ ## 3. Injection
37
+ - SQL: queries parametrizadas sempre
38
+ - XSS: sanitize outputs, use Content-Security-Policy
39
+ - Command injection: nunca execute input do usuário como comando shell
40
+
41
+ ## 4. Cross-Site Scripting (XSS)
42
+ - Escape HTML em todo output de dado do usuário
43
+ - React/Next.js escapa JSX por padrão. O risco real está em `dangerouslySetInnerHTML`: sanitize antes com DOMPurify (ou não use)
44
+ - URLs vindas do usuário em `href`/`src`: bloqueie esquemas `javascript:` e `data:` (valide que começa com `https://` ou caminho relativo)
45
+ - Content-Security-Policy: bloqueie inline scripts
46
+ - HttpOnly e Secure flags nos cookies de sessão
47
+
48
+ ## 5. CSRF
49
+ - SameSite=Strict ou Lax nos cookies de sessão
50
+ - CSRF token em formulários state-changing
51
+ - Verifique Origin/Referer em requests sensíveis