wizz-method 2.0.0 → 2.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.
- package/LICENSE +60 -30
- package/README.md +80 -31
- package/SECURITY.md +24 -0
- package/THIRD-PARTY-NOTICES.md +136 -0
- package/package.json +31 -17
- package/skills-registry.yaml +128 -7
- package/src/bmm-skills/1-analysis/research/wizz-domain-research/SKILL.md +3 -4
- package/src/bmm-skills/1-analysis/research/wizz-domain-research/domain-steps/step-06-research-synthesis.md +1 -1
- package/src/bmm-skills/1-analysis/research/wizz-market-research/SKILL.md +3 -4
- package/src/bmm-skills/1-analysis/research/wizz-market-research/steps/step-06-research-completion.md +1 -1
- package/src/bmm-skills/1-analysis/research/wizz-technical-research/SKILL.md +3 -4
- package/src/bmm-skills/1-analysis/research/wizz-technical-research/technical-steps/step-06-research-synthesis.md +1 -1
- package/src/bmm-skills/1-analysis/wizz-agent-analyst/SKILL.md +3 -4
- package/src/bmm-skills/1-analysis/wizz-agent-tech-writer/SKILL.md +3 -4
- package/src/bmm-skills/1-analysis/wizz-document-project/SKILL.md +3 -4
- package/src/bmm-skills/1-analysis/wizz-document-project/workflows/deep-dive-instructions.md +1 -1
- package/src/bmm-skills/1-analysis/wizz-document-project/workflows/full-scan-instructions.md +1 -1
- package/src/bmm-skills/1-analysis/wizz-prfaq/SKILL.md +3 -4
- package/src/bmm-skills/1-analysis/wizz-prfaq/references/verdict.md +1 -1
- package/src/bmm-skills/1-analysis/wizz-product-brief/SKILL.md +1 -1
- package/src/bmm-skills/2-plan-workflows/wizz-agent-pm/SKILL.md +3 -4
- package/src/bmm-skills/2-plan-workflows/wizz-agent-ux-designer/SKILL.md +3 -4
- package/src/bmm-skills/2-plan-workflows/wizz-create-prd/SKILL.md +1 -1
- package/src/bmm-skills/2-plan-workflows/wizz-edit-prd/SKILL.md +1 -1
- package/src/bmm-skills/2-plan-workflows/wizz-prd/SKILL.md +1 -1
- package/src/bmm-skills/2-plan-workflows/wizz-ux/SKILL.md +1 -1
- package/src/bmm-skills/2-plan-workflows/wizz-validate-prd/SKILL.md +1 -1
- package/src/bmm-skills/3-solutioning/wizz-agent-architect/SKILL.md +3 -4
- package/src/bmm-skills/3-solutioning/wizz-architecture/SKILL.md +9 -9
- package/src/bmm-skills/3-solutioning/wizz-architecture/references/headless.md +1 -1
- package/src/bmm-skills/3-solutioning/wizz-check-implementation-readiness/SKILL.md +3 -4
- package/src/bmm-skills/3-solutioning/wizz-check-implementation-readiness/steps/step-06-final-assessment.md +1 -1
- package/src/bmm-skills/3-solutioning/wizz-create-architecture/SKILL.md +1 -1
- package/src/bmm-skills/3-solutioning/wizz-create-epics-and-stories/SKILL.md +3 -4
- package/src/bmm-skills/3-solutioning/wizz-create-epics-and-stories/steps/step-04-final-validation.md +1 -1
- package/src/bmm-skills/3-solutioning/wizz-generate-project-context/SKILL.md +3 -4
- package/src/bmm-skills/3-solutioning/wizz-generate-project-context/steps/step-03-complete.md +1 -1
- package/src/bmm-skills/4-implementation/wizz-agent-dev/SKILL.md +3 -4
- package/src/bmm-skills/4-implementation/wizz-checkpoint-preview/SKILL.md +3 -4
- package/src/bmm-skills/4-implementation/wizz-checkpoint-preview/step-05-wrapup.md +1 -1
- package/src/bmm-skills/4-implementation/wizz-code-review/SKILL.md +3 -4
- package/src/bmm-skills/4-implementation/wizz-code-review/customize.toml +3 -8
- package/src/bmm-skills/4-implementation/wizz-code-review/review-prompts/blind-hunter.md +20 -0
- package/src/bmm-skills/4-implementation/wizz-code-review/steps/step-04-present.md +1 -1
- package/src/bmm-skills/4-implementation/wizz-correct-course/SKILL.md +4 -5
- package/src/bmm-skills/4-implementation/wizz-create-story/SKILL.md +4 -5
- package/src/bmm-skills/4-implementation/wizz-dev-story/SKILL.md +4 -5
- package/src/bmm-skills/4-implementation/wizz-investigate/SKILL.md +1 -1
- package/src/bmm-skills/4-implementation/wizz-qa-generate-e2e-tests/SKILL.md +4 -5
- package/src/bmm-skills/4-implementation/wizz-quick-dev/SKILL.md +4 -5
- package/src/bmm-skills/4-implementation/wizz-quick-dev/customize.toml +10 -22
- package/src/bmm-skills/4-implementation/wizz-quick-dev/review-prompts/blind-hunter.md +20 -0
- package/src/bmm-skills/4-implementation/wizz-quick-dev/step-05-present.md +1 -1
- package/src/bmm-skills/4-implementation/wizz-quick-dev/step-oneshot.md +1 -1
- package/src/bmm-skills/4-implementation/wizz-retrospective/SKILL.md +1 -2
- package/src/bmm-skills/4-implementation/wizz-sprint-planning/SKILL.md +1 -1
- package/src/bmm-skills/4-implementation/wizz-sprint-status/SKILL.md +5 -6
- package/src/core-skills/_shared/handoff-protocol.md +9 -0
- package/src/core-skills/wizz-advanced-elicitation/SKILL.md +2 -2
- package/src/core-skills/wizz-brainstorming/SKILL.md +6 -6
- package/src/core-skills/wizz-brainstorming/references/converge.md +1 -1
- package/src/core-skills/wizz-brainstorming/references/finalize.md +1 -1
- package/src/core-skills/wizz-brainstorming/references/headless.md +3 -3
- package/src/core-skills/wizz-brainstorming/references/mode-autonomous.md +1 -1
- package/src/core-skills/wizz-customize/SKILL.md +13 -10
- package/src/core-skills/wizz-forge-idea/SKILL.md +6 -6
- package/src/core-skills/wizz-forge-idea/scripts/__pycache__/resolve_personas.cpython-314.pyc +0 -0
- package/src/core-skills/wizz-forge-idea/scripts/resolve_personas.py +17 -1
- package/src/core-skills/wizz-party-mode/SKILL.md +3 -3
- package/src/core-skills/wizz-party-mode/references/create-party.md +1 -1
- package/src/core-skills/wizz-party-mode/references/party-memory.md +2 -2
- package/src/core-skills/wizz-party-mode/scripts/__pycache__/resolve_party.cpython-314.pyc +0 -0
- package/src/core-skills/wizz-party-mode/scripts/resolve_party.py +17 -1
- package/src/core-skills/wizz-review-adversarial-general/SKILL.md +1 -1
- package/src/core-skills/wizz-spec/SKILL.md +5 -5
- package/src/modules/lowticket/README.md +6 -6
- package/src/modules/lowticket/module.yaml +4 -1
- package/src/modules/lowticket/skills/{lowticket-funil → wizz-lowticket-funil}/SKILL.md +4 -4
- package/src/modules/lowticket/skills/{lowticket-funil → wizz-lowticket-funil}/references/copy-das-paginas.md +1 -1
- package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/SKILL.md +1 -1
- package/src/modules/lowticket/skills/{lowticket-minerador → wizz-lowticket-minerador}/SKILL.md +3 -3
- package/src/modules/lowticket/skills/{lowticket-minerador → wizz-lowticket-minerador}/references/rubrica.md +1 -1
- package/src/modules/lowticket/skills/{lowticket-pagina → wizz-lowticket-pagina}/SKILL.md +4 -4
- package/src/modules/lowticket/skills/{lowticket-trafego → wizz-lowticket-trafego}/SKILL.md +3 -3
- package/src/modules/lowticket/skills/{lowticket-trafego → wizz-lowticket-trafego}/references/reguas.md +1 -1
- package/src/modules/wizz/_shared/communication-rules.md +1 -1
- package/src/modules/wizz/_shared/despacho-barato.md +9 -0
- package/src/modules/wizz/_shared/token-economy.md +7 -0
- package/src/modules/wizz/agents/wizz-ads/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-ads/customize.toml +1 -2
- package/src/modules/wizz/agents/wizz-copy/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-copy/customize.toml +1 -2
- package/src/modules/wizz/agents/wizz-designer/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-designer/customize.toml +1 -2
- package/src/modules/wizz/agents/wizz-growth/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-growth/customize.toml +1 -2
- package/src/modules/wizz/agents/wizz-maestro/SKILL.md +5 -5
- package/src/modules/wizz/agents/wizz-maestro/customize.toml +4 -8
- package/src/modules/wizz/agents/wizz-memoria/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-memoria/customize.toml +1 -2
- package/src/modules/wizz/agents/wizz-qa/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-qa/customize.toml +1 -2
- package/src/modules/wizz/agents/wizz-seo/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-seo/customize.toml +1 -2
- package/src/modules/wizz/agents/wizz-social/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-social/customize.toml +1 -2
- package/src/modules/wizz/module.yaml +3 -0
- package/src/modules/wizz/overrides/wizz-agent-analyst.toml +1 -2
- package/src/modules/wizz/overrides/wizz-agent-architect.toml +1 -2
- package/src/modules/wizz/overrides/wizz-agent-dev.toml +1 -2
- package/src/modules/wizz/overrides/wizz-agent-pm.toml +1 -2
- package/src/modules/wizz/overrides/wizz-agent-tech-writer.toml +1 -2
- package/src/modules/wizz/overrides/wizz-agent-ux-designer.toml +1 -2
- package/src/modules/wizz/subagents/codex/wizz-exec-haiku.toml +2 -0
- package/src/modules/wizz/subagents/codex/wizz-exec-opus.toml +2 -0
- package/src/modules/wizz/subagents/codex/wizz-exec-review.toml +2 -0
- package/src/modules/wizz/subagents/codex/wizz-exec-sonnet.toml +2 -0
- package/src/modules/wizz/subagents/gemini/wizz-exec-haiku.md +4 -1
- package/src/modules/wizz/subagents/gemini/wizz-exec-opus.md +4 -1
- package/src/modules/wizz/subagents/gemini/wizz-exec-review.md +4 -1
- package/src/modules/wizz/subagents/gemini/wizz-exec-sonnet.md +4 -1
- package/src/modules/wizz/subagents/opencode/wizz-exec-haiku.md +4 -1
- package/src/modules/wizz/subagents/opencode/wizz-exec-opus.md +4 -1
- package/src/modules/wizz/subagents/opencode/wizz-exec-review.md +4 -1
- package/src/modules/wizz/subagents/opencode/wizz-exec-sonnet.md +4 -1
- package/src/modules/wizz/subagents/spec.yaml +148 -0
- package/src/modules/wizz/subagents/wizz-exec-haiku.md +4 -1
- package/src/modules/wizz/subagents/wizz-exec-opus.md +4 -1
- package/src/modules/wizz/subagents/wizz-exec-review.md +4 -1
- package/src/modules/wizz/subagents/wizz-exec-sonnet.md +4 -1
- package/src/scripts/__pycache__/resolve_customization.cpython-314.pyc +0 -0
- package/src/scripts/memlog.js +368 -0
- package/src/scripts/resolve_customization.py +124 -15
- package/src/skills-lib/_shared/complexity-signal.md +14 -0
- package/src/skills-lib/wizz-canvas-design/canvas-fonts/InstrumentSerif-OFL.txt +93 -0
- package/src/skills-lib/wizz-huashu-design/references/sfx-library.md +1 -1
- package/src/skills-lib/wizz-huashu-design/scripts/add-music.sh +1 -1
- package/src/skills-lib/wizz-huashu-design/scripts/mix-voiceover.sh +1 -1
- package/src/skills-lib/wizz-impeccable/LICENSE.txt +202 -0
- package/src/skills-lib/wizz-offer-forge/SKILL.md +1 -1
- package/src/skills-lib/wizz-react-components/LICENSE.txt +202 -0
- package/src/skills-lib/wizz-router/SKILL.md +2 -2
- package/src/skills-lib/wizz-supabase-postgres-best-practices/LICENSE +21 -0
- package/src/skills-lib/wizz-taste-skill/SKILL.md +1 -1
- package/src/skills-lib/wizz-tracking-audit/SKILL.md +1 -1
- package/tools/fetch-assets.mjs +62 -37
- package/tools/hooks/README.md +22 -0
- package/tools/hooks/rtk-rewrite.sh +280 -0
- package/tools/hooks/security-defensive-context.js +70 -0
- package/tools/hooks/session-rules.js +368 -0
- package/tools/hooks/wizz-decision-trace.js +389 -0
- package/tools/hooks/wizz-router-enforce.js +258 -0
- package/tools/installer/banner.js +1 -1
- package/tools/installer/commands/doctor.js +124 -0
- package/tools/installer/commands/install.js +1 -1
- package/tools/installer/commands/resolve.js +95 -0
- package/tools/installer/core/doctor.js +648 -0
- package/tools/installer/core/hash-cache.js +156 -0
- package/tools/installer/core/help-catalog.js +4 -1
- package/tools/installer/core/hooks-settings.js +178 -0
- package/tools/installer/core/installer.js +297 -15
- package/tools/installer/core/legacy-warnings.js +0 -4
- package/tools/installer/core/manifest-generator.js +121 -43
- package/tools/installer/core/manifest.js +36 -32
- package/tools/installer/core/module-config-writer.js +4 -1
- package/tools/installer/core/python-check.js +60 -63
- package/tools/installer/core/quick-update.js +76 -43
- package/tools/installer/core/resolved-config.js +168 -0
- package/tools/installer/core/resolved-customizations.js +736 -0
- package/tools/installer/core/resolved-includes.js +262 -0
- package/tools/installer/core/resolved-schema.js +148 -0
- package/tools/installer/core/user-file-preservation.js +40 -8
- package/tools/installer/core/wizz-dir.js +117 -0
- package/tools/installer/core/yaml-cache.js +105 -0
- package/tools/installer/fs-native.js +97 -6
- package/tools/installer/ide/_config-driven.js +12 -75
- package/tools/installer/ide/platform-codes.js +111 -16
- package/tools/installer/ide/platform-codes.yaml +45 -100
- package/tools/installer/ide/shared/path-utils.js +6 -208
- package/tools/installer/install-messages.yaml +4 -14
- package/tools/installer/modules/channel-plan.js +15 -2
- package/tools/installer/modules/config-collector.js +762 -0
- package/tools/installer/modules/config-values.js +352 -0
- package/tools/installer/modules/custom-module-manager.js +161 -28
- package/tools/installer/modules/env-vars.js +119 -0
- package/tools/installer/modules/external-manager.js +133 -60
- package/tools/installer/modules/git-cache-utils.js +125 -0
- package/tools/installer/modules/module-catalog.js +565 -0
- package/tools/installer/modules/module-installer.js +618 -0
- package/tools/installer/modules/module-interface.js +86 -0
- package/tools/installer/modules/official-modules.js +98 -2172
- package/tools/installer/modules/pin-spec.js +125 -0
- package/tools/installer/modules/plugin-resolver.js +4 -0
- package/tools/installer/modules/skills-lib.js +3 -6
- package/tools/installer/prompts.js +0 -3
- package/tools/installer/ui.js +89 -54
- package/tools/installer/wizz-cli.js +1 -1
- package/tools/lib/frontmatter.js +139 -0
- package/tools/lib/sync-targets.mjs +49 -0
- package/tools/lib/walk.js +93 -0
- package/wizz-modules.yaml +9 -0
- package/src/scripts/__pycache__/memlog.cpython-313.pyc +0 -0
- package/src/scripts/memlog.py +0 -233
- package/src/scripts/tests/__pycache__/test_memlog.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/scripts/tests/__pycache__/test_resolve_customization.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/scripts/tests/test_memlog.py +0 -306
- package/src/skills-lib/wizz-huashu-design/assets/showcases/INDEX.md +0 -115
- package/src/skills-lib/wizz-huashu-design/assets/showcases/cover/cover-build.html +0 -235
- package/src/skills-lib/wizz-huashu-design/assets/showcases/cover/cover-build.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/cover/cover-pentagram.html +0 -229
- package/src/skills-lib/wizz-huashu-design/assets/showcases/cover/cover-pentagram.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/cover/cover-takram.html +0 -288
- package/src/skills-lib/wizz-huashu-design/assets/showcases/cover/cover-takram.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/infographic/infographic-build.html +0 -503
- package/src/skills-lib/wizz-huashu-design/assets/showcases/infographic/infographic-build.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/infographic/infographic-pentagram.html +0 -600
- package/src/skills-lib/wizz-huashu-design/assets/showcases/infographic/infographic-pentagram.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/infographic/infographic-takram.html +0 -670
- package/src/skills-lib/wizz-huashu-design/assets/showcases/infographic/infographic-takram.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/ppt/ppt-build.html +0 -382
- package/src/skills-lib/wizz-huashu-design/assets/showcases/ppt/ppt-build.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/ppt/ppt-pentagram.html +0 -536
- package/src/skills-lib/wizz-huashu-design/assets/showcases/ppt/ppt-pentagram.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/ppt/ppt-takram.html +0 -497
- package/src/skills-lib/wizz-huashu-design/assets/showcases/ppt/ppt-takram.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-ai-nav/ainav-build.html +0 -385
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-ai-nav/ainav-build.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-ai-nav/ainav-pentagram.html +0 -422
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-ai-nav/ainav-pentagram.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-ai-nav/ainav-takram.html +0 -499
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-ai-nav/ainav-takram.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-ai-writing/aiwriting-build.html +0 -562
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-ai-writing/aiwriting-build.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-ai-writing/aiwriting-pentagram.html +0 -548
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-ai-writing/aiwriting-pentagram.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-ai-writing/aiwriting-takram.html +0 -696
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-ai-writing/aiwriting-takram.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-devdocs/devdocs-build.html +0 -372
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-devdocs/devdocs-build.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-devdocs/devdocs-pentagram.html +0 -460
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-devdocs/devdocs-pentagram.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-devdocs/devdocs-takram.html +0 -494
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-devdocs/devdocs-takram.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-homepage/homepage-build.html +0 -367
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-homepage/homepage-build.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-homepage/homepage-pentagram.html +0 -368
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-homepage/homepage-pentagram.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-homepage/homepage-takram.html +0 -459
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-homepage/homepage-takram.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-saas/saas-build.html +0 -493
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-saas/saas-build.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-saas/saas-pentagram.html +0 -556
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-saas/saas-pentagram.png +0 -0
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-saas/saas-takram.html +0 -604
- package/src/skills-lib/wizz-huashu-design/assets/showcases/website-saas/saas-takram.png +0 -0
- package/tools/installer/file-ops.js +0 -204
- package/tools/installer/ide/shared/skill-manifest.js +0 -57
- package/tools/installer/yaml-format.js +0 -245
- package/web-bundles/README.md +0 -46
- package/web-bundles/brainstorming-coach/INSTRUCTIONS.md +0 -86
- package/web-bundles/brainstorming-coach/SKILL.md +0 -83
- package/web-bundles/brainstorming-coach/brain-methods.csv +0 -62
- package/web-bundles/bundles.json +0 -139
- package/web-bundles/market-and-industry-research/INSTRUCTIONS.md +0 -88
- package/web-bundles/market-and-industry-research/SKILL.md +0 -59
- package/web-bundles/prd-coach/INSTRUCTIONS.md +0 -86
- package/web-bundles/prd-coach/SKILL.md +0 -101
- package/web-bundles/prd-coach/prd-template.md +0 -165
- package/web-bundles/prd-coach/prd-validation-checklist.md +0 -135
- package/web-bundles/prfaq-coach/INSTRUCTIONS.md +0 -86
- package/web-bundles/prfaq-coach/SKILL.md +0 -139
- package/web-bundles/product-brief-coach/INSTRUCTIONS.md +0 -86
- package/web-bundles/product-brief-coach/SKILL.md +0 -113
- package/web-bundles/ux-coach/INSTRUCTIONS.md +0 -92
- package/web-bundles/ux-coach/SKILL.md +0 -187
- package/web-bundles/ux-coach/ux-validation.md +0 -100
- /package/src/modules/lowticket/skills/{lowticket-funil → wizz-lowticket-funil}/references/mapa-do-funil.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/CATALOGO.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/01-principios.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/02-diagnostico-funil.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/03-campanha-bidcap.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/04-criativos.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/04a-criativos-ia.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/04b-criativos-formatos.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/05-oferta.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/06-pagina-vendas.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/06a-instagram.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/06b-player-vsl.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/07-funil-upsell.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/07a-copy-humanizacao.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/08-pesquisa-publico.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/09-especialista-coproducao.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/10-levantar-caixa.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/11-checklist-roi.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/12-mineracao-ofertas.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/12a-mineracao-veredito.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/12b-fabrica-de-ofertas.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/12c-anatomia-low-ticket.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/13-benchmarks-vsl.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/14-vocabulario.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/15-como-estender.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/17-rastreamento.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/18-copy-desejo-oferta.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/INDEX.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/guardrails.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/knowledge/pontos-em-aberto.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-metodologia → wizz-lowticket-metodologia}/references/swipe-file.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-pagina → wizz-lowticket-pagina}/references/metas-e-medicao.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-pagina → wizz-lowticket-pagina}/references/padroes-de-codigo.md +0 -0
- /package/src/modules/lowticket/skills/{lowticket-trafego → wizz-lowticket-trafego}/references/formato-do-diagnostico.md +0 -0
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
# installer:
|
|
8
8
|
# target_dir: Directory where skill directories are installed (project/workspace)
|
|
9
9
|
# global_target_dir: (optional) User-home directory for global install
|
|
10
|
-
# ancestor_conflict_check: (optional) Refuse install when ancestor dir has WIZZ files
|
|
11
10
|
# agents_target_dir: (optional) Directory for native WIZZ-authored subagents
|
|
12
11
|
# (src/modules/wizz/subagents/). Currently declared by claude-code, codex,
|
|
13
12
|
# opencode, and gemini.
|
|
@@ -17,6 +16,29 @@
|
|
|
17
16
|
# straight from the subagents/ root (its native format is *.md with a
|
|
18
17
|
# `model:` frontmatter field).
|
|
19
18
|
#
|
|
19
|
+
# DEFAULTS — most platforms share the same shape, so a top-level `defaults:`
|
|
20
|
+
# block (below) carries what the majority repeat: `preferred: false` and
|
|
21
|
+
# `installer.target_dir` / `installer.global_target_dir` pointing at the
|
|
22
|
+
# `.agents/skills` / `~/.agents/skills` cross-tool standard. Each platform
|
|
23
|
+
# entry only needs to declare what differs from that default:
|
|
24
|
+
# - `name` is always explicit (never defaulted).
|
|
25
|
+
# - `preferred` is omitted unless it is `true`.
|
|
26
|
+
# - `installer.target_dir` / `installer.global_target_dir` are omitted when
|
|
27
|
+
# they match the default; any other `installer.*` field (agents_*,
|
|
28
|
+
# commands_*, ...) is always explicit, defaults never touch those.
|
|
29
|
+
# - A platform that has no `global_target_dir` at all (no global/user-home
|
|
30
|
+
# install path exists for that tool, e.g. ona, replit, trae) declares
|
|
31
|
+
# `installer.global_target_dir: null` explicitly. `loadPlatformCodes()`
|
|
32
|
+
# merges defaults into each entry and then drops any key whose merged
|
|
33
|
+
# value is `null`, so the resulting shape has no `global_target_dir` key
|
|
34
|
+
# at all, matching a platform that never had one.
|
|
35
|
+
# - A platform with nothing left to say beyond its name still declares
|
|
36
|
+
# `installer: {}` so it is recognized as installable; the merge fills in
|
|
37
|
+
# both directories from `defaults.installer`.
|
|
38
|
+
# - A platform with no `installer:` block at all (not installable) is left
|
|
39
|
+
# untouched by the merge — defaults only ever apply to a declared
|
|
40
|
+
# `installer:` section.
|
|
41
|
+
#
|
|
20
42
|
# INSTALL SCOPE — LOCAL PER PROJECT IS THE ENFORCED DEFAULT.
|
|
21
43
|
# The installer only ever writes skills to the project-relative `target_dir`
|
|
22
44
|
# (path.join(projectDir, target_dir) in ide/_config-driven.js). `global_target_dir`
|
|
@@ -30,45 +52,41 @@
|
|
|
30
52
|
# read from the shared `.agents/skills/` and `~/.agents/skills/` cross-tool standard.
|
|
31
53
|
# Paths verified against each tool's primary docs as of 2026-04-25.
|
|
32
54
|
|
|
55
|
+
defaults:
|
|
56
|
+
preferred: false
|
|
57
|
+
installer:
|
|
58
|
+
target_dir: .agents/skills
|
|
59
|
+
global_target_dir: ~/.agents/skills
|
|
60
|
+
|
|
33
61
|
platforms:
|
|
34
62
|
adal:
|
|
35
63
|
name: "AdaL"
|
|
36
|
-
preferred: false
|
|
37
64
|
installer:
|
|
38
65
|
target_dir: .adal/skills
|
|
39
66
|
global_target_dir: ~/.adal/skills
|
|
40
67
|
|
|
41
68
|
amp:
|
|
42
69
|
name: "Sourcegraph Amp"
|
|
43
|
-
preferred: false
|
|
44
70
|
installer:
|
|
45
|
-
target_dir: .agents/skills
|
|
46
71
|
global_target_dir: ~/.config/agents/skills
|
|
47
72
|
|
|
48
73
|
antigravity:
|
|
49
74
|
name: "Google Antigravity"
|
|
50
|
-
preferred: false
|
|
51
75
|
installer:
|
|
52
76
|
target_dir: .agent/skills
|
|
53
77
|
global_target_dir: ~/.gemini/antigravity/skills
|
|
54
78
|
|
|
55
79
|
antigravity-cli:
|
|
56
80
|
name: "Antigravity CLI (AGY)"
|
|
57
|
-
preferred: false
|
|
58
81
|
installer:
|
|
59
|
-
target_dir: .agents/skills
|
|
60
82
|
global_target_dir: ~/.gemini/antigravity-cli/skills
|
|
61
83
|
|
|
62
84
|
auggie:
|
|
63
85
|
name: "Auggie"
|
|
64
|
-
|
|
65
|
-
installer:
|
|
66
|
-
target_dir: .agents/skills
|
|
67
|
-
global_target_dir: ~/.agents/skills
|
|
86
|
+
installer: {}
|
|
68
87
|
|
|
69
88
|
bob:
|
|
70
89
|
name: "IBM Bob"
|
|
71
|
-
preferred: false
|
|
72
90
|
installer:
|
|
73
91
|
target_dir: .bob/skills
|
|
74
92
|
global_target_dir: ~/.bob/skills
|
|
@@ -83,7 +101,6 @@ platforms:
|
|
|
83
101
|
|
|
84
102
|
cline:
|
|
85
103
|
name: "Cline"
|
|
86
|
-
preferred: false
|
|
87
104
|
installer:
|
|
88
105
|
target_dir: .cline/skills
|
|
89
106
|
global_target_dir: ~/.cline/skills
|
|
@@ -92,73 +109,56 @@ platforms:
|
|
|
92
109
|
name: "Codex"
|
|
93
110
|
preferred: true
|
|
94
111
|
installer:
|
|
95
|
-
target_dir: .agents/skills
|
|
96
112
|
global_target_dir: ~/.codex/skills
|
|
97
113
|
agents_target_dir: .codex/agents
|
|
98
114
|
agents_source_subdir: codex
|
|
99
115
|
|
|
100
116
|
codewhale:
|
|
101
117
|
name: "CodeWhale"
|
|
102
|
-
preferred: false
|
|
103
118
|
installer:
|
|
104
119
|
target_dir: .codewhale/skills
|
|
105
120
|
global_target_dir: ~/.codewhale/skills
|
|
106
121
|
|
|
107
122
|
codebuddy:
|
|
108
123
|
name: "CodeBuddy"
|
|
109
|
-
preferred: false
|
|
110
124
|
installer:
|
|
111
125
|
target_dir: .codebuddy/skills
|
|
112
126
|
global_target_dir: ~/.codebuddy/skills
|
|
113
127
|
|
|
114
128
|
command-code:
|
|
115
129
|
name: "Command Code"
|
|
116
|
-
|
|
117
|
-
installer:
|
|
118
|
-
target_dir: .agents/skills
|
|
119
|
-
global_target_dir: ~/.agents/skills
|
|
130
|
+
installer: {}
|
|
120
131
|
|
|
121
132
|
cortex:
|
|
122
133
|
name: "Snowflake Cortex Code"
|
|
123
|
-
preferred: false
|
|
124
134
|
installer:
|
|
125
135
|
target_dir: .cortex/skills
|
|
126
136
|
global_target_dir: ~/.snowflake/cortex/skills
|
|
127
137
|
|
|
128
138
|
crush:
|
|
129
139
|
name: "Crush"
|
|
130
|
-
preferred: false
|
|
131
140
|
installer:
|
|
132
|
-
target_dir: .agents/skills
|
|
133
141
|
global_target_dir: ~/.config/agents/skills
|
|
134
142
|
|
|
135
143
|
cursor:
|
|
136
144
|
name: "Cursor"
|
|
137
145
|
preferred: true
|
|
138
|
-
installer:
|
|
139
|
-
target_dir: .agents/skills
|
|
140
|
-
global_target_dir: ~/.agents/skills
|
|
146
|
+
installer: {}
|
|
141
147
|
|
|
142
148
|
droid:
|
|
143
149
|
name: "Factory Droid"
|
|
144
|
-
preferred: false
|
|
145
150
|
installer:
|
|
146
151
|
target_dir: .factory/skills
|
|
147
152
|
global_target_dir: ~/.factory/skills
|
|
148
153
|
|
|
149
154
|
firebender:
|
|
150
155
|
name: "Firebender"
|
|
151
|
-
preferred: false
|
|
152
156
|
installer:
|
|
153
157
|
target_dir: .firebender/skills
|
|
154
|
-
global_target_dir: ~/.agents/skills
|
|
155
158
|
|
|
156
159
|
gemini:
|
|
157
160
|
name: "Gemini CLI"
|
|
158
|
-
preferred: false
|
|
159
161
|
installer:
|
|
160
|
-
target_dir: .agents/skills
|
|
161
|
-
global_target_dir: ~/.agents/skills
|
|
162
162
|
agents_target_dir: .gemini/agents
|
|
163
163
|
agents_source_subdir: gemini
|
|
164
164
|
|
|
@@ -166,8 +166,6 @@ platforms:
|
|
|
166
166
|
name: "GitHub Copilot"
|
|
167
167
|
preferred: true
|
|
168
168
|
installer:
|
|
169
|
-
target_dir: .agents/skills
|
|
170
|
-
global_target_dir: ~/.agents/skills
|
|
171
169
|
commands_target_dir: .github/agents
|
|
172
170
|
commands_extension: .agent.md
|
|
173
171
|
commands_body_template: "LOAD the FULL {project-root}/{target_dir}/{canonicalId}/SKILL.md, READ its entire contents and follow its directions exactly!"
|
|
@@ -186,196 +184,143 @@ platforms:
|
|
|
186
184
|
|
|
187
185
|
goose:
|
|
188
186
|
name: "Block Goose"
|
|
189
|
-
preferred: false
|
|
190
187
|
installer:
|
|
191
|
-
target_dir: .agents/skills
|
|
192
188
|
global_target_dir: ~/.config/agents/skills
|
|
193
189
|
|
|
194
190
|
grok:
|
|
195
191
|
name: "Grok"
|
|
196
|
-
preferred: false
|
|
197
192
|
installer:
|
|
198
|
-
target_dir: .agents/skills
|
|
199
193
|
global_target_dir: ~/.grok/skills
|
|
200
194
|
|
|
201
195
|
hermes:
|
|
202
196
|
name: "Hermes Agent"
|
|
203
|
-
preferred: false
|
|
204
197
|
installer:
|
|
205
|
-
target_dir: .agents/skills
|
|
206
198
|
global_target_dir: ~/.hermes/skills
|
|
207
199
|
|
|
208
200
|
iflow:
|
|
209
201
|
name: "iFlow"
|
|
210
|
-
preferred: false
|
|
211
202
|
installer:
|
|
212
203
|
target_dir: .iflow/skills
|
|
213
204
|
global_target_dir: ~/.iflow/skills
|
|
214
205
|
|
|
215
206
|
junie:
|
|
216
207
|
name: "Junie"
|
|
217
|
-
preferred: false
|
|
218
208
|
installer:
|
|
219
209
|
target_dir: .junie/skills
|
|
220
210
|
global_target_dir: ~/.junie/skills
|
|
221
211
|
|
|
222
212
|
kilo:
|
|
223
213
|
name: "KiloCoder"
|
|
224
|
-
preferred: false
|
|
225
214
|
installer:
|
|
226
|
-
target_dir: .agents/skills
|
|
227
215
|
global_target_dir: ~/.kilocode/skills
|
|
228
216
|
|
|
229
217
|
kimi-code:
|
|
230
218
|
name: "Kimi Code"
|
|
231
|
-
|
|
232
|
-
installer:
|
|
233
|
-
target_dir: .agents/skills
|
|
234
|
-
global_target_dir: ~/.agents/skills
|
|
219
|
+
installer: {}
|
|
235
220
|
|
|
236
221
|
kiro:
|
|
237
222
|
name: "Kiro"
|
|
238
|
-
preferred: false
|
|
239
223
|
installer:
|
|
240
224
|
target_dir: .kiro/skills
|
|
241
225
|
global_target_dir: ~/.kiro/skills
|
|
242
226
|
|
|
243
227
|
kode:
|
|
244
228
|
name: "Kode"
|
|
245
|
-
preferred: false
|
|
246
229
|
installer:
|
|
247
230
|
target_dir: .kode/skills
|
|
248
231
|
global_target_dir: ~/.kode/skills
|
|
249
232
|
|
|
250
233
|
mistral-vibe:
|
|
251
234
|
name: "Mistral Vibe"
|
|
252
|
-
preferred: false
|
|
253
235
|
installer:
|
|
254
|
-
target_dir: .agents/skills
|
|
255
236
|
global_target_dir: ~/.vibe/skills
|
|
256
237
|
|
|
257
238
|
mux:
|
|
258
239
|
name: "Mux"
|
|
259
|
-
|
|
260
|
-
installer:
|
|
261
|
-
target_dir: .agents/skills
|
|
262
|
-
global_target_dir: ~/.agents/skills
|
|
240
|
+
installer: {}
|
|
263
241
|
|
|
264
242
|
neovate:
|
|
265
243
|
name: "Neovate"
|
|
266
|
-
preferred: false
|
|
267
244
|
installer:
|
|
268
245
|
target_dir: .neovate/skills
|
|
269
246
|
global_target_dir: ~/.neovate/skills
|
|
270
247
|
|
|
271
248
|
ona:
|
|
272
249
|
name: "Ona"
|
|
273
|
-
preferred: false
|
|
274
250
|
installer:
|
|
275
251
|
target_dir: .ona/skills
|
|
252
|
+
global_target_dir: null
|
|
276
253
|
|
|
277
254
|
openclaw:
|
|
278
255
|
name: "OpenClaw"
|
|
279
|
-
|
|
280
|
-
installer:
|
|
281
|
-
target_dir: .agents/skills
|
|
282
|
-
global_target_dir: ~/.agents/skills
|
|
256
|
+
installer: {}
|
|
283
257
|
|
|
284
258
|
opencode:
|
|
285
259
|
name: "OpenCode"
|
|
286
|
-
preferred: false
|
|
287
260
|
installer:
|
|
288
|
-
target_dir: .agents/skills
|
|
289
|
-
global_target_dir: ~/.agents/skills
|
|
290
261
|
commands_target_dir: .opencode/commands
|
|
291
262
|
agents_target_dir: .opencode/agents
|
|
292
263
|
agents_source_subdir: opencode
|
|
293
264
|
|
|
294
265
|
openhands:
|
|
295
266
|
name: "OpenHands"
|
|
296
|
-
|
|
297
|
-
installer:
|
|
298
|
-
target_dir: .agents/skills
|
|
299
|
-
global_target_dir: ~/.agents/skills
|
|
267
|
+
installer: {}
|
|
300
268
|
|
|
301
269
|
pi:
|
|
302
270
|
name: "Pi"
|
|
303
|
-
|
|
304
|
-
installer:
|
|
305
|
-
target_dir: .agents/skills
|
|
306
|
-
global_target_dir: ~/.agents/skills
|
|
271
|
+
installer: {}
|
|
307
272
|
|
|
308
273
|
pochi:
|
|
309
274
|
name: "Pochi"
|
|
310
|
-
|
|
311
|
-
installer:
|
|
312
|
-
target_dir: .agents/skills
|
|
313
|
-
global_target_dir: ~/.agents/skills
|
|
275
|
+
installer: {}
|
|
314
276
|
|
|
315
277
|
qoder:
|
|
316
278
|
name: "Qoder"
|
|
317
|
-
preferred: false
|
|
318
279
|
installer:
|
|
319
280
|
target_dir: .qoder/skills
|
|
320
281
|
global_target_dir: ~/.qoder/skills
|
|
321
282
|
|
|
322
283
|
qwen:
|
|
323
284
|
name: "QwenCoder"
|
|
324
|
-
preferred: false
|
|
325
285
|
installer:
|
|
326
286
|
target_dir: .qwen/skills
|
|
327
287
|
global_target_dir: ~/.qwen/skills
|
|
328
288
|
|
|
329
289
|
replit:
|
|
330
290
|
name: "Replit Agent"
|
|
331
|
-
preferred: false
|
|
332
291
|
installer:
|
|
333
|
-
|
|
292
|
+
global_target_dir: null
|
|
334
293
|
|
|
335
294
|
roo:
|
|
336
295
|
name: "Roo Code"
|
|
337
|
-
|
|
338
|
-
installer:
|
|
339
|
-
target_dir: .agents/skills
|
|
340
|
-
global_target_dir: ~/.agents/skills
|
|
296
|
+
installer: {}
|
|
341
297
|
|
|
342
298
|
rovo-dev:
|
|
343
299
|
name: "Rovo Dev"
|
|
344
|
-
|
|
345
|
-
installer:
|
|
346
|
-
target_dir: .agents/skills
|
|
347
|
-
global_target_dir: ~/.agents/skills
|
|
300
|
+
installer: {}
|
|
348
301
|
|
|
349
302
|
trae:
|
|
350
303
|
name: "Trae"
|
|
351
|
-
preferred: false
|
|
352
304
|
installer:
|
|
353
305
|
target_dir: .trae/skills
|
|
306
|
+
global_target_dir: null
|
|
354
307
|
|
|
355
308
|
warp:
|
|
356
309
|
name: "Warp"
|
|
357
|
-
|
|
358
|
-
installer:
|
|
359
|
-
target_dir: .agents/skills
|
|
360
|
-
global_target_dir: ~/.agents/skills
|
|
310
|
+
installer: {}
|
|
361
311
|
|
|
362
312
|
windsurf:
|
|
363
313
|
name: "Windsurf"
|
|
364
|
-
|
|
365
|
-
installer:
|
|
366
|
-
target_dir: .agents/skills
|
|
367
|
-
global_target_dir: ~/.agents/skills
|
|
314
|
+
installer: {}
|
|
368
315
|
|
|
369
316
|
zcode:
|
|
370
317
|
name: "ZCode"
|
|
371
|
-
preferred: false
|
|
372
318
|
installer:
|
|
373
319
|
target_dir: .zcode/skills
|
|
374
320
|
global_target_dir: ~/.zcode/skills
|
|
375
321
|
|
|
376
322
|
zencoder:
|
|
377
323
|
name: "Zencoder"
|
|
378
|
-
preferred: false
|
|
379
324
|
installer:
|
|
380
325
|
target_dir: .zencoder/skills
|
|
381
326
|
global_target_dir: ~/.zencoder/skills
|
|
@@ -1,219 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Path transformation utilities for IDE installer standardization
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* Example outputs:
|
|
11
|
-
* - cis/agents/storymaster.md → wizz-agent-cis-storymaster.md
|
|
12
|
-
* - bmm/workflows/plan-project.md → wizz-bmm-plan-project.md
|
|
13
|
-
* - bmm/tasks/create-story.md → wizz-bmm-create-story.md
|
|
14
|
-
* - core/agents/brainstorming.md → wizz-agent-brainstorming.md (core agents skip module name)
|
|
15
|
-
* - standalone/agents/fred.md → wizz-agent-standalone-fred.md
|
|
4
|
+
* The only surviving export is WIZZ_FOLDER_NAME, the centralized constant for
|
|
5
|
+
* the `_wizz` installation folder name used across all installers. The
|
|
6
|
+
* dash-naming helpers that used to live here (toDashName, toDashPath,
|
|
7
|
+
* resolveSkillName, customAgentDashName, isDashFormat, parseDashName,
|
|
8
|
+
* AGENT_SEGMENT) had zero importers anywhere in the repo and were removed as
|
|
9
|
+
* dead code (audit 2026-09-11, Fase 2 item 13).
|
|
16
10
|
*/
|
|
17
11
|
|
|
18
|
-
const AGENT_SEGMENT = 'agents';
|
|
19
|
-
|
|
20
12
|
// WIZZ installation folder name - centralized constant for all installers
|
|
21
13
|
const WIZZ_FOLDER_NAME = '_wizz';
|
|
22
14
|
|
|
23
|
-
/**
|
|
24
|
-
* Convert hierarchical path to flat dash-separated name (NEW STANDARD)
|
|
25
|
-
* Converts: 'bmm', 'agents', 'pm' → 'wizz-agent-bmm-pm.md'
|
|
26
|
-
* Converts: 'bmm', 'workflows', 'correct-course' → 'wizz-bmm-correct-course.md'
|
|
27
|
-
* Converts: 'core', 'agents', 'brainstorming' → 'wizz-agent-brainstorming.md' (core agents skip module name)
|
|
28
|
-
* Converts: 'standalone', 'agents', 'fred' → 'wizz-agent-standalone-fred.md'
|
|
29
|
-
*
|
|
30
|
-
* @param {string} module - Module name (e.g., 'bmm', 'core', 'standalone')
|
|
31
|
-
* @param {string} type - Artifact type ('agents', 'workflows', 'tasks', 'tools')
|
|
32
|
-
* @param {string} name - Artifact name (e.g., 'pm', 'brainstorming')
|
|
33
|
-
* @returns {string} Flat filename like 'wizz-agent-bmm-pm.md' or 'wizz-bmm-correct-course.md'
|
|
34
|
-
*/
|
|
35
|
-
function toDashName(module, type, name) {
|
|
36
|
-
const isAgent = type === AGENT_SEGMENT;
|
|
37
|
-
|
|
38
|
-
// For core module, skip the module name: use 'wizz-agent-name.md' instead of 'wizz-agent-core-name.md'
|
|
39
|
-
if (module === 'core') {
|
|
40
|
-
return isAgent ? `wizz-agent-${name}.md` : `wizz-${name}.md`;
|
|
41
|
-
}
|
|
42
|
-
// For standalone module, include 'standalone' in the name
|
|
43
|
-
if (module === 'standalone') {
|
|
44
|
-
return isAgent ? `wizz-agent-standalone-${name}.md` : `wizz-standalone-${name}.md`;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
// Module artifacts: wizz-module-name.md or wizz-agent-module-name.md
|
|
48
|
-
// eslint-disable-next-line unicorn/prefer-string-replace-all -- regex replace is intentional here
|
|
49
|
-
const dashName = name.replace(/\//g, '-'); // Flatten nested paths
|
|
50
|
-
return isAgent ? `wizz-agent-${module}-${dashName}.md` : `wizz-${module}-${dashName}.md`;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Convert relative path to flat dash-separated name
|
|
55
|
-
* Converts: 'bmm/agents/pm.md' → 'wizz-agent-bmm-pm.md'
|
|
56
|
-
* Converts: 'bmm/agents/tech-writer/tech-writer.md' → 'wizz-agent-bmm-tech-writer.md' (uses folder name)
|
|
57
|
-
* Converts: 'bmm/workflows/correct-course.md' → 'wizz-bmm-correct-course.md'
|
|
58
|
-
* Converts: 'core/agents/brainstorming.md' → 'wizz-agent-brainstorming.md' (core agents skip module name)
|
|
59
|
-
*
|
|
60
|
-
* @param {string} relativePath - Path like 'bmm/agents/pm.md'
|
|
61
|
-
* @returns {string} Flat filename like 'wizz-agent-bmm-pm.md' or 'wizz-brainstorming.md'
|
|
62
|
-
*/
|
|
63
|
-
function toDashPath(relativePath) {
|
|
64
|
-
if (!relativePath || typeof relativePath !== 'string') {
|
|
65
|
-
// Return a safe default for invalid input
|
|
66
|
-
return 'wizz-unknown.md';
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// Strip common file extensions to avoid double extensions in generated filenames
|
|
70
|
-
// e.g., 'create-story.xml' → 'create-story', 'workflow.md' → 'workflow'
|
|
71
|
-
const withoutExt = relativePath.replace(/\.(md|yaml|yml|json|xml|toml)$/i, '');
|
|
72
|
-
const parts = withoutExt.split(/[/\\]/);
|
|
73
|
-
|
|
74
|
-
const module = parts[0];
|
|
75
|
-
const type = parts[1];
|
|
76
|
-
let name;
|
|
77
|
-
|
|
78
|
-
// For agents, if nested in a folder (more than 3 parts), use the folder name only
|
|
79
|
-
// e.g., 'bmm/agents/tech-writer/tech-writer' → 'tech-writer' (not 'tech-writer-tech-writer')
|
|
80
|
-
if (type === 'agents' && parts.length > 3) {
|
|
81
|
-
// Use the folder name (parts[2]) as the name, ignore the file name
|
|
82
|
-
name = parts[2];
|
|
83
|
-
} else {
|
|
84
|
-
// For non-nested or non-agents, join all parts after type
|
|
85
|
-
name = parts.slice(2).join('-');
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
return toDashName(module, type, name);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Create custom agent dash name
|
|
93
|
-
* Creates: 'wizz-custom-agent-fred-commit-poet.md'
|
|
94
|
-
*
|
|
95
|
-
* @param {string} agentName - Custom agent name
|
|
96
|
-
* @returns {string} Flat filename like 'wizz-custom-agent-fred-commit-poet.md'
|
|
97
|
-
*/
|
|
98
|
-
function customAgentDashName(agentName) {
|
|
99
|
-
return `wizz-custom-agent-${agentName}.md`;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* Check if a filename uses dash format
|
|
104
|
-
* @param {string} filename - Filename to check
|
|
105
|
-
* @returns {boolean} True if filename uses dash format
|
|
106
|
-
*/
|
|
107
|
-
function isDashFormat(filename) {
|
|
108
|
-
return filename.startsWith('wizz-') && filename.includes('-');
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Extract parts from a dash-formatted filename
|
|
113
|
-
* Parses: 'wizz-agent-bmm-pm.md' → { prefix: 'wizz', module: 'bmm', type: 'agents', name: 'pm' }
|
|
114
|
-
* Parses: 'wizz-bmm-correct-course.md' → { prefix: 'wizz', module: 'bmm', type: 'workflows', name: 'correct-course' }
|
|
115
|
-
* Parses: 'wizz-agent-brainstorming.md' → { prefix: 'wizz', module: 'core', type: 'agents', name: 'brainstorming' } (core agents)
|
|
116
|
-
* Parses: 'wizz-brainstorming.md' → { prefix: 'wizz', module: 'core', type: 'workflows', name: 'brainstorming' } (core workflows)
|
|
117
|
-
* Parses: 'wizz-agent-standalone-fred.md' → { prefix: 'wizz', module: 'standalone', type: 'agents', name: 'fred' }
|
|
118
|
-
* Parses: 'wizz-standalone-foo.md' → { prefix: 'wizz', module: 'standalone', type: 'workflows', name: 'foo' }
|
|
119
|
-
*
|
|
120
|
-
* @param {string} filename - Dash-formatted filename
|
|
121
|
-
* @returns {Object|null} Parsed parts or null if invalid format
|
|
122
|
-
*/
|
|
123
|
-
function parseDashName(filename) {
|
|
124
|
-
const withoutExt = filename.replace('.md', '');
|
|
125
|
-
const parts = withoutExt.split('-');
|
|
126
|
-
|
|
127
|
-
if (parts.length < 2 || parts[0] !== 'wizz') {
|
|
128
|
-
return null;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
// Check if this is an agent file (has 'agent' as second part)
|
|
132
|
-
const isAgent = parts[1] === 'agent';
|
|
133
|
-
|
|
134
|
-
if (isAgent) {
|
|
135
|
-
// This is an agent file
|
|
136
|
-
// Format: wizz-agent-name (core) or wizz-agent-standalone-name or wizz-agent-module-name
|
|
137
|
-
if (parts.length >= 4 && parts[2] === 'standalone') {
|
|
138
|
-
// Standalone agent: wizz-agent-standalone-name
|
|
139
|
-
return {
|
|
140
|
-
prefix: parts[0],
|
|
141
|
-
module: 'standalone',
|
|
142
|
-
type: 'agents',
|
|
143
|
-
name: parts.slice(3).join('-'),
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
if (parts.length === 3) {
|
|
147
|
-
// Core agent: wizz-agent-name
|
|
148
|
-
return {
|
|
149
|
-
prefix: parts[0],
|
|
150
|
-
module: 'core',
|
|
151
|
-
type: 'agents',
|
|
152
|
-
name: parts[2],
|
|
153
|
-
};
|
|
154
|
-
} else {
|
|
155
|
-
// Module agent: wizz-agent-module-name
|
|
156
|
-
return {
|
|
157
|
-
prefix: parts[0],
|
|
158
|
-
module: parts[2],
|
|
159
|
-
type: 'agents',
|
|
160
|
-
name: parts.slice(3).join('-'),
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
// Not an agent file - must be a workflow/tool/task
|
|
166
|
-
// If only 2 parts (wizz-name), it's a core workflow/tool/task
|
|
167
|
-
if (parts.length === 2) {
|
|
168
|
-
return {
|
|
169
|
-
prefix: parts[0],
|
|
170
|
-
module: 'core',
|
|
171
|
-
type: 'workflows', // Default to workflows for non-agent core items
|
|
172
|
-
name: parts[1],
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
// Check for standalone non-agent: wizz-standalone-name
|
|
177
|
-
if (parts[1] === 'standalone') {
|
|
178
|
-
return {
|
|
179
|
-
prefix: parts[0],
|
|
180
|
-
module: 'standalone',
|
|
181
|
-
type: 'workflows', // Default to workflows for non-agent standalone items
|
|
182
|
-
name: parts.slice(2).join('-'),
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
// Otherwise, it's a module workflow/tool/task (wizz-module-name)
|
|
187
|
-
return {
|
|
188
|
-
prefix: parts[0],
|
|
189
|
-
module: parts[1],
|
|
190
|
-
type: 'workflows', // Default to workflows for non-agent module items
|
|
191
|
-
name: parts.slice(2).join('-'),
|
|
192
|
-
};
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* Resolve the skill name for an artifact.
|
|
197
|
-
* Prefers canonicalId from a wizz-skill-manifest.yaml sidecar when available,
|
|
198
|
-
* falling back to the path-derived name from toDashPath().
|
|
199
|
-
*
|
|
200
|
-
* @param {Object} artifact - Artifact object (must have relativePath; may have canonicalId)
|
|
201
|
-
* @returns {string} Filename like 'wizz-create-prd.md' or 'wizz-agent-bmm-pm.md'
|
|
202
|
-
*/
|
|
203
|
-
function resolveSkillName(artifact) {
|
|
204
|
-
if (artifact.canonicalId) {
|
|
205
|
-
return `${artifact.canonicalId}.md`;
|
|
206
|
-
}
|
|
207
|
-
return toDashPath(artifact.relativePath);
|
|
208
|
-
}
|
|
209
|
-
|
|
210
15
|
module.exports = {
|
|
211
|
-
toDashName,
|
|
212
|
-
toDashPath,
|
|
213
|
-
resolveSkillName,
|
|
214
|
-
customAgentDashName,
|
|
215
|
-
isDashFormat,
|
|
216
|
-
parseDashName,
|
|
217
|
-
AGENT_SEGMENT,
|
|
218
16
|
WIZZ_FOLDER_NAME,
|
|
219
17
|
};
|
|
@@ -6,21 +6,11 @@
|
|
|
6
6
|
startMessage: |
|
|
7
7
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
Método de agência orientado por IA, em PT-BR. Agentes por área, skills curadas e memória de projeto.
|
|
10
|
+
Escolha os módulos durante o setup para montar a instalação do seu jeito.
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
🌐 CONNECT:
|
|
16
|
-
Website: https://method.wizzcomms.com/
|
|
17
|
-
|
|
18
|
-
⭐ SUPPORT THE PROJECT:
|
|
19
|
-
Star us: https://github.com/wizzcomms/wizz-method/
|
|
20
|
-
|
|
21
|
-
Built on BMAD Core (MIT) by Wizz Code — https://github.com/bmad-code-org/WIZZ-METHOD
|
|
22
|
-
|
|
23
|
-
Docs, and latest updates: https://method.wizzcomms.com/
|
|
12
|
+
📖 Docs: https://method.wizzcomms.com/
|
|
13
|
+
✉️ Suporte: support@wizzcomms.com
|
|
24
14
|
|
|
25
15
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
26
16
|
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
|
|
18
18
|
const VALID_CHANNELS = new Set(['stable', 'next']);
|
|
19
19
|
|
|
20
|
+
// Item 8b (auditoria 2026-09-11): validate the TAG@SHA pin form at the CLI
|
|
21
|
+
// gate so a malformed pin fails here, before any clone runs. Leaf module —
|
|
22
|
+
// channel-plan is required by external-manager.js, so this cannot pull it back in.
|
|
23
|
+
const { parsePinTagAndSha } = require('./pin-spec');
|
|
24
|
+
|
|
20
25
|
/**
|
|
21
26
|
* Parse raw commander options into a structured channel options object.
|
|
22
27
|
*
|
|
@@ -58,14 +63,22 @@ function parseChannelOptions(options = {}) {
|
|
|
58
63
|
nextSet.add(trimmed);
|
|
59
64
|
}
|
|
60
65
|
|
|
61
|
-
// --pin CODE=TAG (repeatable)
|
|
66
|
+
// --pin CODE=TAG[@40-hex-sha] (repeatable). A pin that carries an @SHA part
|
|
67
|
+
// is validated via parsePinTagAndSha (item 8b): tag-only and TAG@SHA pass,
|
|
68
|
+
// anything else is thrown, not warned-and-skipped — a silent downgrade of
|
|
69
|
+
// TAG@SHA to TAG would install exactly the commit the SHA was supposed to
|
|
70
|
+
// guard against. parsePinSpec itself still splits CODE=<value> with the
|
|
71
|
+
// value opaque; the @SHA split stays the managers' job (see pin-spec.js).
|
|
62
72
|
const pins = new Map();
|
|
63
73
|
for (const spec of options.pin || []) {
|
|
64
74
|
const parsed = parsePinSpec(spec);
|
|
65
75
|
if (!parsed) {
|
|
66
|
-
warnings.push(`Ignoring malformed --pin value '${spec}'. Expected CODE=TAG.`);
|
|
76
|
+
warnings.push(`Ignoring malformed --pin value '${spec}'. Expected CODE=TAG or CODE=TAG@40-hex-sha.`);
|
|
67
77
|
continue;
|
|
68
78
|
}
|
|
79
|
+
// Throws loudly on a malformed TAG@SHA — the caller (ui.js) surfaces the
|
|
80
|
+
// error and aborts before any module is resolved or cloned.
|
|
81
|
+
parsePinTagAndSha(parsed.tag);
|
|
69
82
|
if (pins.has(parsed.code)) {
|
|
70
83
|
warnings.push(`--pin specified multiple times for '${parsed.code}'. Using last: ${parsed.tag}.`);
|
|
71
84
|
}
|