aiox-core 5.0.4 → 5.0.7
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/.aiox-core/core/config/config-cache.js +10 -1
- package/.aiox-core/core/config/config-loader.js +2 -2
- package/.aiox-core/core/execution/build-state-manager.js +1 -1
- package/.aiox-core/core/synapse/runtime/hook-runtime.js +11 -2
- package/.aiox-core/core/utils/yaml-validator.js +1 -1
- package/.aiox-core/data/entity-registry.yaml +761 -796
- package/.aiox-core/development/scripts/workflow-validator.js +92 -18
- package/.aiox-core/development/tasks/create-workflow.md +44 -42
- package/.aiox-core/development/tasks/project-status.md +280 -0
- package/.aiox-core/development/tasks/validate-workflow.md +2 -2
- package/.aiox-core/development/templates/squad/workflow-template.yaml +106 -91
- package/.aiox-core/development/templates/squad-template/workflows/example-workflow.yaml +72 -51
- package/.aiox-core/development/workflows/README.md +12 -5
- package/.aiox-core/development/workflows/development-cycle.yaml +90 -0
- package/.aiox-core/infrastructure/scripts/config-cache.js +10 -1
- package/.aiox-core/install-manifest.yaml +35 -39
- package/.aiox-core/lib/build.json +1 -0
- package/.claude/hooks/precompact-session-digest.cjs +47 -12
- package/.claude/hooks/synapse-engine.cjs +13 -13
- package/README.en.md +23 -37
- package/README.md +26 -38
- package/bin/utils/validate-publish.js +5 -4
- package/package.json +1 -1
- package/packages/installer/src/wizard/i18n.js +18 -15
- package/packages/installer/src/wizard/pro-setup.js +304 -69
- package/pro/README.md +1 -1
- package/pro/feature-registry.yaml +2 -2
- package/pro/license/degradation.js +7 -7
- package/pro/license/errors.js +7 -7
- package/pro/license/index.js +2 -2
- package/pro/license/license-api.js +0 -22
- package/pro/package.json +17 -4
- package/pro/pro-config.yaml +2 -2
- package/pro/squads/README.md +23 -5
- package/pro/squads/aiox-sop/ARCHITECTURE.md +86 -0
- package/pro/squads/aiox-sop/CHANGELOG.md +27 -0
- package/pro/squads/aiox-sop/HEADLINE.md +3 -0
- package/pro/squads/aiox-sop/README.md +77 -0
- package/pro/squads/aiox-sop/agents/sop-analyst.md +363 -0
- package/pro/squads/aiox-sop/agents/sop-auditor.md +294 -0
- package/pro/squads/aiox-sop/agents/sop-chief.md +279 -0
- package/pro/squads/aiox-sop/agents/sop-creator.md +322 -0
- package/pro/squads/aiox-sop/agents/sop-extractor.md +246 -0
- package/pro/squads/aiox-sop/agents/sop-ml-architect.md +310 -0
- package/pro/squads/aiox-sop/checklists/14-point-crosby-checklist.md +84 -0
- package/pro/squads/aiox-sop/checklists/extraction-completeness-checklist.md +78 -0
- package/pro/squads/aiox-sop/checklists/sop-completeness-checklist.md +283 -0
- package/pro/squads/aiox-sop/checklists/sop-ml-validation-checklist.md +157 -0
- package/pro/squads/aiox-sop/checklists/sop-quality-checklist.md +138 -0
- package/pro/squads/aiox-sop/checklists/stranger-test-checklist.md +108 -0
- package/pro/squads/aiox-sop/config.yaml +460 -0
- package/pro/squads/aiox-sop/data/category-map.yaml +647 -0
- package/pro/squads/aiox-sop/data/confidence-levels.yaml +133 -0
- package/pro/squads/aiox-sop/data/infrastructure-connections.yaml +730 -0
- package/pro/squads/aiox-sop/data/market-categories.yaml +65 -0
- package/pro/squads/aiox-sop/data/risk-register.yaml +90 -0
- package/pro/squads/aiox-sop/data/sop-ml-schema-examples.yaml +420 -0
- package/pro/squads/aiox-sop/data/sop-ml-schema.yaml +780 -0
- package/pro/squads/aiox-sop/data/sop-registry.yaml +42 -0
- package/pro/squads/aiox-sop/data/sop-scoring-rubric.yaml +601 -0
- package/pro/squads/aiox-sop/data/sop-standards-reference.yaml +475 -0
- package/pro/squads/aiox-sop/data/task-definitions.yaml +1602 -0
- package/pro/squads/aiox-sop/data/token-assignments.yaml +304 -0
- package/pro/squads/aiox-sop/data/verdict-thresholds.yaml +117 -0
- package/pro/squads/aiox-sop/data/workflow-quality-rubric.yaml +579 -0
- package/pro/squads/aiox-sop/docs/README.md +10 -0
- package/pro/squads/aiox-sop/docs/optimization-doc-drift-2026-03-18.json +20 -0
- package/pro/squads/aiox-sop/docs/optimization-economy-2026-03-18.md +40 -0
- package/pro/squads/aiox-sop/docs/optimization-environment-2026-03-18.json +24 -0
- package/pro/squads/aiox-sop/docs/optimization-material-inventory-2026-03-18.yaml +73 -0
- package/pro/squads/aiox-sop/docs/optimization-repo-baseline-2026-03-18.json +38 -0
- package/pro/squads/aiox-sop/docs/optimization-runtime-smoke-2026-03-18.json +57 -0
- package/pro/squads/aiox-sop/docs/optimization-split-verdict-2026-03-18.json +21 -0
- package/pro/squads/aiox-sop/docs/optimization-validation-2026-03-18.json +53 -0
- package/pro/squads/aiox-sop/docs/optimization-validation-fallback-2026-03-18.json +6 -0
- package/pro/squads/aiox-sop/docs/optimization-workflow-contracts-2026-03-18.json +81 -0
- package/pro/squads/aiox-sop/docs/optimization-yolo-plan-2026-03-18.md +177 -0
- package/pro/squads/aiox-sop/docs/optimization-yolo-report-2026-03-18.md +181 -0
- package/pro/squads/aiox-sop/docs/scaling-strategy.md +129 -0
- package/pro/squads/aiox-sop/examples/README.md +14 -0
- package/pro/squads/aiox-sop/examples/sample-human-sop.md +11 -0
- package/pro/squads/aiox-sop/examples/sample-ml-sop.yaml +14 -0
- package/pro/squads/aiox-sop/outputs/README.md +20 -0
- package/pro/squads/aiox-sop/outputs/SOP-SLIDES-001.md +864 -0
- package/pro/squads/aiox-sop/outputs/SOP-SLIDES-001.yaml +1225 -0
- package/pro/squads/aiox-sop/outputs/SOP-SLIDES-002.md +904 -0
- package/pro/squads/aiox-sop/outputs/SOP-SLIDES-002.yaml +431 -0
- package/pro/squads/aiox-sop/outputs/SOP-SLIDES-003.md +964 -0
- package/pro/squads/aiox-sop/outputs/SOP-SLIDES-003.yaml +392 -0
- package/pro/squads/aiox-sop/outputs/SOP-SLIDES-004.md +975 -0
- package/pro/squads/aiox-sop/outputs/SOP-SLIDES-004.yaml +786 -0
- package/pro/squads/aiox-sop/protocols/sop-workflow-integration.md +209 -0
- package/pro/squads/aiox-sop/scripts/convert-sop-format-worker.py +299 -0
- package/pro/squads/aiox-sop/scripts/load-workspace-context.cjs +296 -0
- package/pro/squads/aiox-sop/scripts/normalize-thiagoroas-vsl-extractions.cjs +1448 -0
- package/pro/squads/aiox-sop/scripts/refresh-sop-registry.cjs +331 -0
- package/pro/squads/aiox-sop/scripts/resolve-environment-contract.cjs +107 -0
- package/pro/squads/aiox-sop/scripts/test-load-workspace-context.cjs +100 -0
- package/pro/squads/aiox-sop/scripts/test-resolve-environment-contract.cjs +159 -0
- package/pro/squads/aiox-sop/tasks/analyze-sop.md +464 -0
- package/pro/squads/aiox-sop/tasks/analyze-squad.md +317 -0
- package/pro/squads/aiox-sop/tasks/analyze-workflow.md +343 -0
- package/pro/squads/aiox-sop/tasks/audit-batch.md +354 -0
- package/pro/squads/aiox-sop/tasks/audit-sop.md +528 -0
- package/pro/squads/aiox-sop/tasks/benchmark-sop.md +408 -0
- package/pro/squads/aiox-sop/tasks/certify-sop.md +193 -0
- package/pro/squads/aiox-sop/tasks/check-environment.md +47 -0
- package/pro/squads/aiox-sop/tasks/compliance-check.md +84 -0
- package/pro/squads/aiox-sop/tasks/convert-sop-format.md +413 -0
- package/pro/squads/aiox-sop/tasks/create-checklist.md +267 -0
- package/pro/squads/aiox-sop/tasks/create-sop-human.md +306 -0
- package/pro/squads/aiox-sop/tasks/create-sop-ml.md +313 -0
- package/pro/squads/aiox-sop/tasks/create-sop-operations-suite.md +177 -0
- package/pro/squads/aiox-sop/tasks/delete-aiox-sop.md +38 -0
- package/pro/squads/aiox-sop/tasks/extract-from-video.md +354 -0
- package/pro/squads/aiox-sop/tasks/extract-sop.md +389 -0
- package/pro/squads/aiox-sop/tasks/load-workspace-context.md +112 -0
- package/pro/squads/aiox-sop/tasks/map-core-sop-backlog.md +651 -0
- package/pro/squads/aiox-sop/tasks/re-audit.md +97 -0
- package/pro/squads/aiox-sop/tasks/structured-interview.md +243 -0
- package/pro/squads/aiox-sop/tasks/update-aiox-sop.md +39 -0
- package/pro/squads/aiox-sop/templates/audit-report-template.md +119 -0
- package/pro/squads/aiox-sop/templates/certification-template.md +31 -0
- package/pro/squads/aiox-sop/templates/checklist-from-sop-tmpl.md +142 -0
- package/pro/squads/aiox-sop/templates/decision-tree-template.yaml +209 -0
- package/pro/squads/aiox-sop/templates/extraction-output-template.md +150 -0
- package/pro/squads/aiox-sop/templates/handoff-tmpl.yaml +85 -0
- package/pro/squads/aiox-sop/templates/ml-sop-json-template.json +208 -0
- package/pro/squads/aiox-sop/templates/ml-sop-yaml-template.yaml +204 -0
- package/pro/squads/aiox-sop/templates/nonconformity-register-template.md +85 -0
- package/pro/squads/aiox-sop/templates/sop-analysis-report-tmpl.md +378 -0
- package/pro/squads/aiox-sop/templates/sop-human-tmpl.md +385 -0
- package/pro/squads/aiox-sop/templates/sop-ml-tmpl.md +352 -0
- package/pro/squads/aiox-sop/templates/sop-scorecard-tmpl.md +123 -0
- package/pro/squads/aiox-sop/templates/state-machine-template.yaml +232 -0
- package/pro/squads/aiox-sop/templates/tool-binding-template.yaml +255 -0
- package/pro/squads/aiox-sop/templates/workflow-gap-report-tmpl.yaml +227 -0
- package/pro/squads/aiox-sop/workflows/wf-sop-audit-pipeline.yaml +381 -0
- package/pro/squads/aiox-sop/workflows/wf-sop-audit-pipeline.yaml.bak +332 -0
- package/pro/squads/aiox-sop/workflows/wf-sop-creation-pipeline.yaml +200 -0
- package/pro/squads/aiox-sop/workflows/wf-sop-creation-pipeline.yaml.bak +147 -0
- package/pro/squads/aiox-sop/workflows/wf-sop-extraction-pipeline.yaml +476 -0
- package/pro/squads/aiox-sop/workflows/wf-sop-extraction-pipeline.yaml.bak +441 -0
- package/pro/squads/aiox-sop/workflows/wf-sop-pipeline-definition.yaml +813 -0
- package/pro/squads/aiox-sop/workflows/wf-sop-quality-gates.yaml +473 -0
- package/pro/squads/brand/ARCHITECTURE.md +79 -0
- package/pro/squads/brand/CHANGELOG.md +38 -0
- package/pro/squads/brand/README.md +213 -0
- package/pro/squads/brand/agents/aaker-brand-identity.md +475 -0
- package/pro/squads/brand/agents/archetype-consultant.md +424 -0
- package/pro/squads/brand/agents/brand-chief.md +502 -0
- package/pro/squads/brand/agents/brand-strategist.md +661 -0
- package/pro/squads/brand/agents/domain-scout.md +412 -0
- package/pro/squads/brand/agents/heyward-dtc-brand.md +399 -0
- package/pro/squads/brand/agents/keller-brand-equity.md +390 -0
- package/pro/squads/brand/agents/miller-sticky-brand.md +510 -0
- package/pro/squads/brand/agents/naming-strategist.md +638 -0
- package/pro/squads/brand/agents/nano-banana-generator.md +38 -0
- package/pro/squads/brand/agents/neumeier-differentiation.md +390 -0
- package/pro/squads/brand/agents/ries-positioning.md +413 -0
- package/pro/squads/brand/agents/sharp-brand-science.md +444 -0
- package/pro/squads/brand/agents/storybrand-narrator.md +442 -0
- package/pro/squads/brand/agents/wheeler-brand-design.md +700 -0
- package/pro/squads/brand/agents/yohn-brand-culture.md +391 -0
- package/pro/squads/brand/checklists/brand-naming-checklist.md +46 -0
- package/pro/squads/brand/checklists/brand-quality-gate.md +58 -0
- package/pro/squads/brand/config/veto-conditions.yaml +54 -0
- package/pro/squads/brand/config.yaml +634 -0
- package/pro/squads/brand/data/brand-mappings.yaml +140 -0
- package/pro/squads/brand/data/logo-scds-templates.yaml +224 -0
- package/pro/squads/brand/data/logo-style-library.yaml +226 -0
- package/pro/squads/brand/data/swipe-file.yaml +282 -0
- package/pro/squads/brand/docs/optimization-economy-2026-03-10.md +25 -0
- package/pro/squads/brand/docs/optimization-material-inventory-2026-03-10.yaml +40 -0
- package/pro/squads/brand/docs/optimization-validation-2026-03-10.json +26 -0
- package/pro/squads/brand/docs/optimization-yolo-plan-2026-03-10.md +80 -0
- package/pro/squads/brand/docs/optimization-yolo-report-2026-03-10.md +158 -0
- package/pro/squads/brand/scripts/bootstrap-brand-workspace.sh +47 -0
- package/pro/squads/brand/scripts/validate-brand-essentials.sh +289 -0
- package/pro/squads/brand/tasks/brand-activation.md +86 -0
- package/pro/squads/brand/tasks/brand-book.md +224 -0
- package/pro/squads/brand/tasks/brand-consulting.md +189 -0
- package/pro/squads/brand/tasks/brand-diagnosis.md +81 -0
- package/pro/squads/brand/tasks/brand-identity.md +255 -0
- package/pro/squads/brand/tasks/brand-messaging.md +226 -0
- package/pro/squads/brand/tasks/brand-quality-gate.md +213 -0
- package/pro/squads/brand/tasks/create-brand-epic.md +129 -0
- package/pro/squads/brand/tasks/create-brand-story.md +155 -0
- package/pro/squads/brand/tasks/delete-brand.md +56 -0
- package/pro/squads/brand/tasks/domain-check.md +120 -0
- package/pro/squads/brand/tasks/load-workspace-context.md +112 -0
- package/pro/squads/brand/tasks/logo-curate.md +180 -0
- package/pro/squads/brand/tasks/logo-deliverable.md +210 -0
- package/pro/squads/brand/tasks/logo-generate.md +143 -0
- package/pro/squads/brand/tasks/logo-intake.md +151 -0
- package/pro/squads/brand/tasks/logo-prompt-engineering.md +151 -0
- package/pro/squads/brand/tasks/logo-refine.md +156 -0
- package/pro/squads/brand/tasks/logo-strategic-direction.md +160 -0
- package/pro/squads/brand/tasks/naming-generation.md +118 -0
- package/pro/squads/brand/tasks/positioning-narrative.md +93 -0
- package/pro/squads/brand/tasks/update-brand.md +52 -0
- package/pro/squads/brand/templates/brand-epic-tmpl.md +124 -0
- package/pro/squads/brand/templates/brand-story-tmpl.md +133 -0
- package/pro/squads/brand/templates/brandbook-tmpl.yaml +38 -0
- package/pro/squads/brand/templates/naming-report-tmpl.md +36 -0
- package/pro/squads/brand/workflows/wf-brand-activation-system.yaml +148 -0
- package/pro/squads/brand/workflows/wf-brand-all-hands.yaml +368 -0
- package/pro/squads/brand/workflows/wf-brand-complete.yaml +223 -0
- package/pro/squads/brand/workflows/wf-brand-consulting.yaml +301 -0
- package/pro/squads/brand/workflows/wf-brand-foundations.yaml +129 -0
- package/pro/squads/brand/workflows/wf-brand-mockup-generation.yaml +247 -0
- package/pro/squads/brand/workflows/wf-brand-positioning-narrative.yaml +146 -0
- package/pro/squads/brand/workflows/wf-logo-brainstorm.yaml +297 -0
- package/pro/squads/brand/workflows/wf-naming-to-domain.yaml +152 -0
- package/pro/squads/claude-code-mastery/ARCHITECTURE.md +224 -0
- package/pro/squads/claude-code-mastery/CHANGELOG.md +41 -0
- package/pro/squads/claude-code-mastery/README.md +146 -0
- package/pro/squads/claude-code-mastery/agents/claude-mastery-chief.md +542 -0
- package/pro/squads/claude-code-mastery/agents/config-engineer.md +1051 -0
- package/pro/squads/claude-code-mastery/agents/hooks-architect.md +1088 -0
- package/pro/squads/claude-code-mastery/agents/mcp-integrator.md +790 -0
- package/pro/squads/claude-code-mastery/agents/project-integrator.md +1184 -0
- package/pro/squads/claude-code-mastery/agents/roadmap-sentinel.md +922 -0
- package/pro/squads/claude-code-mastery/agents/skill-craftsman.md +1302 -0
- package/pro/squads/claude-code-mastery/agents/swarm-orchestrator.md +1072 -0
- package/pro/squads/claude-code-mastery/checklists/agent-team-readiness-checklist.md +88 -0
- package/pro/squads/claude-code-mastery/checklists/brownfield-readiness-checklist.md +91 -0
- package/pro/squads/claude-code-mastery/checklists/change-checklist.md +75 -0
- package/pro/squads/claude-code-mastery/checklists/context-rot-checklist.md +116 -0
- package/pro/squads/claude-code-mastery/checklists/integration-audit-checklist.md +104 -0
- package/pro/squads/claude-code-mastery/checklists/multi-agent-review-checklist.md +77 -0
- package/pro/squads/claude-code-mastery/checklists/pre-push-checklist.md +79 -0
- package/pro/squads/claude-code-mastery/config.yaml +351 -0
- package/pro/squads/claude-code-mastery/data/cc-architecture-map.yaml +217 -0
- package/pro/squads/claude-code-mastery/data/cc-permission-rules.yaml +281 -0
- package/pro/squads/claude-code-mastery/data/ci-cd-patterns.yaml +412 -0
- package/pro/squads/claude-code-mastery/data/claude-code-quick-ref.yaml +436 -0
- package/pro/squads/claude-code-mastery/data/frontmatter-schemas.yaml +395 -0
- package/pro/squads/claude-code-mastery/data/hook-patterns.yaml +799 -0
- package/pro/squads/claude-code-mastery/data/infrastructure-map.yaml +53 -0
- package/pro/squads/claude-code-mastery/data/journey-log-events.yaml +115 -0
- package/pro/squads/claude-code-mastery/data/mcp-integration-catalog.yaml +323 -0
- package/pro/squads/claude-code-mastery/data/project-type-signatures.yaml +335 -0
- package/pro/squads/claude-code-mastery/data/quality-gates.yaml +43 -0
- package/pro/squads/claude-code-mastery/data/swarm-agent-schema.yaml +35 -0
- package/pro/squads/claude-code-mastery/data/token-registry.yaml +213 -0
- package/pro/squads/claude-code-mastery/scripts/README-Permission-Sync.md +38 -0
- package/pro/squads/claude-code-mastery/scripts/generate-tool-allowlists.js +232 -0
- package/pro/squads/claude-code-mastery/scripts/inject-accountability-tokens.js +91 -0
- package/pro/squads/claude-code-mastery/scripts/inject-output-schemas.js +131 -0
- package/pro/squads/claude-code-mastery/scripts/inject-swarm-fields.js +92 -0
- package/pro/squads/claude-code-mastery/scripts/prepare-claude-runtime.sh +26 -0
- package/pro/squads/claude-code-mastery/scripts/publish-mastery-report.sh +17 -0
- package/pro/squads/claude-code-mastery/scripts/session-usage-report.py +982 -0
- package/pro/squads/claude-code-mastery/scripts/session_usage_report_cache.py +163 -0
- package/pro/squads/claude-code-mastery/scripts/session_usage_report_claude_adapter.py +375 -0
- package/pro/squads/claude-code-mastery/scripts/session_usage_report_facets.py +1128 -0
- package/pro/squads/claude-code-mastery/scripts/session_usage_report_html.py +989 -0
- package/pro/squads/claude-code-mastery/scripts/session_usage_report_inventory.py +66 -0
- package/pro/squads/claude-code-mastery/scripts/session_usage_report_markdown.py +506 -0
- package/pro/squads/claude-code-mastery/scripts/session_usage_report_mock_insights_adapter.py +277 -0
- package/pro/squads/claude-code-mastery/scripts/session_usage_report_pipeline.py +519 -0
- package/pro/squads/claude-code-mastery/scripts/session_usage_report_recommendations.py +317 -0
- package/pro/squads/claude-code-mastery/scripts/session_usage_report_usage.py +235 -0
- package/pro/squads/claude-code-mastery/scripts/test_session_usage_report.py +1910 -0
- package/pro/squads/claude-code-mastery/scripts/validate-setup.js +597 -0
- package/pro/squads/claude-code-mastery/squad-io.yaml +151 -0
- package/pro/squads/claude-code-mastery/tasks/align-memory-context.md +212 -0
- package/pro/squads/claude-code-mastery/tasks/audit-integration.md +252 -0
- package/pro/squads/claude-code-mastery/tasks/audit-settings.md +239 -0
- package/pro/squads/claude-code-mastery/tasks/audit-setup.md +258 -0
- package/pro/squads/claude-code-mastery/tasks/brownfield-setup.md +355 -0
- package/pro/squads/claude-code-mastery/tasks/ci-cd-setup.md +368 -0
- package/pro/squads/claude-code-mastery/tasks/claude-md-engineer.md +367 -0
- package/pro/squads/claude-code-mastery/tasks/configure-claude-code.md +248 -0
- package/pro/squads/claude-code-mastery/tasks/context-rot-audit.md +363 -0
- package/pro/squads/claude-code-mastery/tasks/create-agent-definition.md +311 -0
- package/pro/squads/claude-code-mastery/tasks/create-rules.md +239 -0
- package/pro/squads/claude-code-mastery/tasks/create-team-topology.md +291 -0
- package/pro/squads/claude-code-mastery/tasks/delete-claude-code-mastery.md +224 -0
- package/pro/squads/claude-code-mastery/tasks/diagnose.md +199 -0
- package/pro/squads/claude-code-mastery/tasks/enterprise-config.md +379 -0
- package/pro/squads/claude-code-mastery/tasks/hook-designer.md +315 -0
- package/pro/squads/claude-code-mastery/tasks/integrate-project.md +337 -0
- package/pro/squads/claude-code-mastery/tasks/mcp-integration-plan.md +284 -0
- package/pro/squads/claude-code-mastery/tasks/mcp-workflow.md +330 -0
- package/pro/squads/claude-code-mastery/tasks/multi-project-setup.md +261 -0
- package/pro/squads/claude-code-mastery/tasks/optimize-context.md +250 -0
- package/pro/squads/claude-code-mastery/tasks/optimize-workflow.md +270 -0
- package/pro/squads/claude-code-mastery/tasks/parallel-decomposition.md +326 -0
- package/pro/squads/claude-code-mastery/tasks/permission-strategy.md +315 -0
- package/pro/squads/claude-code-mastery/tasks/rebuild-runtime-validator.md +234 -0
- package/pro/squads/claude-code-mastery/tasks/refresh-runtime-contract.md +235 -0
- package/pro/squads/claude-code-mastery/tasks/sandbox-setup.md +312 -0
- package/pro/squads/claude-code-mastery/tasks/setup-repository.md +263 -0
- package/pro/squads/claude-code-mastery/tasks/setup-wizard.md +269 -0
- package/pro/squads/claude-code-mastery/tasks/update-claude-code-mastery.md +227 -0
- package/pro/squads/claude-code-mastery/tasks/worktree-strategy.md +353 -0
- package/pro/squads/claude-code-mastery/templates/baseline-kpis-tmpl.yaml +0 -0
- package/pro/squads/claude-code-mastery/templates/claude-md-fullstack.md +147 -0
- package/pro/squads/claude-code-mastery/templates/claude-md-library.md +175 -0
- package/pro/squads/claude-code-mastery/templates/claude-md-microservices.md +186 -0
- package/pro/squads/claude-code-mastery/templates/claude-md-mobile.md +198 -0
- package/pro/squads/claude-code-mastery/templates/claude-md-monorepo.md +139 -0
- package/pro/squads/claude-code-mastery/templates/concept-mapping-tmpl.yaml +0 -0
- package/pro/squads/claude-code-mastery/templates/cross-domain-handoff-tmpl.yaml +15 -0
- package/pro/squads/claude-code-mastery/templates/github-actions-claude-ci.yml +348 -0
- package/pro/squads/claude-code-mastery/templates/github-actions-claude-review.yml +179 -0
- package/pro/squads/claude-code-mastery/templates/hook-implementation-tmpl.md +24 -0
- package/pro/squads/claude-code-mastery/templates/mcp-config-tmpl.yaml +18 -0
- package/pro/squads/claude-code-mastery/templates/session-usage-report-page.css +591 -0
- package/pro/squads/claude-code-mastery/templates/session-usage-report-page.html +32 -0
- package/pro/squads/claude-code-mastery/templates/session-usage-report-tmpl.yaml +224 -0
- package/pro/squads/claude-code-mastery/templates/skill-definition-tmpl.md +67 -0
- package/pro/squads/claude-code-mastery/templates/violations-log-tmpl.jsonl +0 -0
- package/pro/squads/claude-code-mastery/workflows/wf-audit-complete.yaml +178 -0
- package/pro/squads/claude-code-mastery/workflows/wf-knowledge-update.yaml +447 -0
- package/pro/squads/claude-code-mastery/workflows/wf-project-setup.yaml +236 -0
- package/pro/squads/data/HEADLINE.md +3 -0
- package/pro/squads/data/README.md +292 -0
- package/pro/squads/data/agents/avinash-kaushik.md +1117 -0
- package/pro/squads/data/agents/data-chief.md +1035 -0
- package/pro/squads/data/agents/david-spinks.md +1896 -0
- package/pro/squads/data/agents/nick-mehta.md +1338 -0
- package/pro/squads/data/agents/peter-fader.md +1815 -0
- package/pro/squads/data/agents/sean-ellis.md +2460 -0
- package/pro/squads/data/agents/wes-kao.md +2124 -0
- package/pro/squads/data/checklists/cbc-readiness-checklist.md +155 -0
- package/pro/squads/data/checklists/community-health-checklist.md +131 -0
- package/pro/squads/data/checklists/customer-360-checklist.md +997 -0
- package/pro/squads/data/checklists/customer-centricity-checklist.md +105 -0
- package/pro/squads/data/checklists/health-score-checklist.md +984 -0
- package/pro/squads/data/checklists/pre-implementation-checklist.md +291 -0
- package/pro/squads/data/checklists/so-what-checklist.md +326 -0
- package/pro/squads/data/config.yaml +705 -0
- package/pro/squads/data/data/.gitkeep +0 -0
- package/pro/squads/data/data/README.md +84 -0
- package/pro/squads/data/data/framework/01_arquitetura_geral.md +134 -0
- package/pro/squads/data/data/framework/02_tier0_fundacao.md +198 -0
- package/pro/squads/data/data/framework/03_tier0_fundamentadores.md +297 -0
- package/pro/squads/data/data/framework/04_tier1_operacionalizadores.md +447 -0
- package/pro/squads/data/data/framework/05_tier2_comunicadores.md +297 -0
- package/pro/squads/data/data/framework/06_matriz_decisao.md +328 -0
- package/pro/squads/data/data/framework/07_workflows.md +552 -0
- package/pro/squads/data/data/framework/08_cheatsheet.md +216 -0
- package/pro/squads/data/examples/cohorts-diagnostic-sample-output.yaml +10 -0
- package/pro/squads/data/outputs/workspace-hardening-summary.md +12 -0
- package/pro/squads/data/projects/data-v1-setup/prd.json +440 -0
- package/pro/squads/data/projects/data-v1-setup/prompt.md +184 -0
- package/pro/squads/data/scripts/bootstrap-data-workspace.sh +186 -0
- package/pro/squads/data/scripts/validate-data-essentials.sh +237 -0
- package/pro/squads/data/tasks/analyze-cohort.md +1777 -0
- package/pro/squads/data/tasks/build-attribution.md +1695 -0
- package/pro/squads/data/tasks/calculate-clv.md +1660 -0
- package/pro/squads/data/tasks/create-dashboard.md +2305 -0
- package/pro/squads/data/tasks/define-north-star.md +1779 -0
- package/pro/squads/data/tasks/design-health-score.md +1952 -0
- package/pro/squads/data/tasks/design-learning-outcomes.md +2122 -0
- package/pro/squads/data/tasks/load-workspace-context.md +115 -0
- package/pro/squads/data/tasks/measure-community.md +1376 -0
- package/pro/squads/data/tasks/predict-churn.md +1979 -0
- package/pro/squads/data/tasks/run-growth-experiment.md +1863 -0
- package/pro/squads/data/tasks/run-pmf-test.md +1514 -0
- package/pro/squads/data/tasks/segment-rfm.md +2070 -0
- package/pro/squads/data/templates/attribution-report-tmpl.yaml +94 -0
- package/pro/squads/data/templates/churn-alert-tmpl.yaml +529 -0
- package/pro/squads/data/templates/clv-report-tmpl.yaml +818 -0
- package/pro/squads/data/templates/cohort-analysis-tmpl.yaml +72 -0
- package/pro/squads/data/templates/cohorts/community-health-cohort-tmpl.yaml +60 -0
- package/pro/squads/data/templates/cohorts/executive-summary-tmpl.yaml +54 -0
- package/pro/squads/data/templates/cohorts/icp-deep-analysis-tmpl.yaml +49 -0
- package/pro/squads/data/templates/cohorts/learning-journey-tmpl.yaml +52 -0
- package/pro/squads/data/templates/cohorts/segmentation-rfm-tmpl.yaml +48 -0
- package/pro/squads/data/templates/cohorts/student-health-score-tmpl.yaml +50 -0
- package/pro/squads/data/templates/community-health-tmpl.yaml +106 -0
- package/pro/squads/data/templates/customer-360-tmpl.yaml +80 -0
- package/pro/squads/data/templates/dmmm-tmpl.yaml +134 -0
- package/pro/squads/data/templates/executive-report-tmpl.yaml +432 -0
- package/pro/squads/data/templates/health-score-report-tmpl.yaml +644 -0
- package/pro/squads/data/templates/learning-outcomes-tmpl.yaml +112 -0
- package/pro/squads/data/workflows/cohort-analysis-workflow.md +356 -0
- package/pro/squads/data/workflows/cohorts-diagnostic.md +96 -0
- package/pro/squads/data/workflows/create-churn-system.md +354 -0
- package/pro/squads/data/workflows/fix-completion-rate.md +436 -0
- package/pro/squads/data/workflows/implement-attribution.md +371 -0
- package/pro/squads/data/workflows/implement-customer-360.md +297 -0
- package/pro/squads/data/workflows/optimize-community-workflow.md +463 -0
- package/pro/squads/data/workspace-hardening-state.json +6 -0
- package/pro/squads/db-sage/README.md +331 -0
- package/pro/squads/db-sage/agents/db-sage.md +317 -0
- package/pro/squads/db-sage/checklists/database-design-checklist.md +79 -0
- package/pro/squads/db-sage/checklists/database-migration-documentation-checklist.md +348 -0
- package/pro/squads/db-sage/checklists/db-kiss-validation-checklist.md +246 -0
- package/pro/squads/db-sage/checklists/dba-predeploy-checklist.md +276 -0
- package/pro/squads/db-sage/checklists/dba-rollback-checklist.md +65 -0
- package/pro/squads/db-sage/checklists/migration-validation-checklist.md +195 -0
- package/pro/squads/db-sage/checklists/supabase-best-practices-audit.md +256 -0
- package/pro/squads/db-sage/config.yaml +165 -0
- package/pro/squads/db-sage/data/database-best-practices.md +42 -0
- package/pro/squads/db-sage/data/migration-safety-guide.md +64 -0
- package/pro/squads/db-sage/data/postgres-tuning-guide.md +39 -0
- package/pro/squads/db-sage/data/rls-security-patterns.md +46 -0
- package/pro/squads/db-sage/data/supabase-agent-skills.md +970 -0
- package/pro/squads/db-sage/data/supabase-patterns.md +482 -0
- package/pro/squads/db-sage/docs/.gitkeep +0 -0
- package/pro/squads/db-sage/scripts/database-adapters/detect-database.sh +113 -0
- package/pro/squads/db-sage/scripts/database-adapters/postgresql-schema-loader.sh +334 -0
- package/pro/squads/db-sage/scripts/database-adapters/unified-db-loader.sh +176 -0
- package/pro/squads/db-sage/scripts/database-operations/README.md +638 -0
- package/pro/squads/db-sage/scripts/database-operations/backup-manager.sh +341 -0
- package/pro/squads/db-sage/scripts/database-operations/connection-monitor.sh +433 -0
- package/pro/squads/db-sage/scripts/database-operations/constraint-validator.sh +588 -0
- package/pro/squads/db-sage/scripts/database-operations/data-anonymizer.sh +446 -0
- package/pro/squads/db-sage/scripts/database-operations/data-loader.sh +346 -0
- package/pro/squads/db-sage/scripts/database-operations/explain-analyzer.sh +285 -0
- package/pro/squads/db-sage/scripts/database-operations/health-checker.sh +512 -0
- package/pro/squads/db-sage/scripts/database-operations/index-manager.sh +380 -0
- package/pro/squads/db-sage/scripts/database-operations/migration-generator.sh +490 -0
- package/pro/squads/db-sage/scripts/database-operations/migration-safe-runner.sh +228 -0
- package/pro/squads/db-sage/scripts/database-operations/permission-auditor.sh +513 -0
- package/pro/squads/db-sage/scripts/database-operations/query-killer.sh +306 -0
- package/pro/squads/db-sage/scripts/database-operations/replication-monitor.sh +366 -0
- package/pro/squads/db-sage/scripts/database-operations/rls-policy-installer.sh +480 -0
- package/pro/squads/db-sage/scripts/database-operations/rls-test-suite.sh +172 -0
- package/pro/squads/db-sage/scripts/database-operations/schema-differ.sh +265 -0
- package/pro/squads/db-sage/scripts/database-operations/security-scanner.sh +683 -0
- package/pro/squads/db-sage/scripts/database-operations/setup-pgpass.sh +185 -0
- package/pro/squads/db-sage/scripts/database-operations/vacuum-optimizer.sh +448 -0
- package/pro/squads/db-sage/scripts/db-ops/backup-manager.sh +321 -0
- package/pro/squads/db-sage/scripts/db-ops/best-practices-auditor.sh +534 -0
- package/pro/squads/db-sage/scripts/db-ops/bootstrap-runner.sh +255 -0
- package/pro/squads/db-sage/scripts/db-ops/data-loader.sh +616 -0
- package/pro/squads/db-sage/scripts/db-ops/detect-database.sh +25 -0
- package/pro/squads/db-sage/scripts/db-ops/explain-analyzer.sh +90 -0
- package/pro/squads/db-sage/scripts/db-ops/health-checker.sh +323 -0
- package/pro/squads/db-sage/scripts/db-ops/migration-runner.sh +308 -0
- package/pro/squads/db-sage/scripts/db-ops/query-runner.sh +171 -0
- package/pro/squads/db-sage/scripts/db-ops/rls-policy-installer.sh +46 -0
- package/pro/squads/db-sage/scripts/db-ops/rls-test-suite.sh +38 -0
- package/pro/squads/db-sage/scripts/db-ops/schema-context-loader.sh +25 -0
- package/pro/squads/db-sage/scripts/db-ops/squad-integration-preflight.sh +155 -0
- package/pro/squads/db-sage/tasks/create-doc.md +107 -0
- package/pro/squads/db-sage/tasks/db-analyze-hotpaths.md +406 -0
- package/pro/squads/db-sage/tasks/db-apply-migration.md +206 -0
- package/pro/squads/db-sage/tasks/db-best-practices-audit.md +523 -0
- package/pro/squads/db-sage/tasks/db-bootstrap.md +464 -0
- package/pro/squads/db-sage/tasks/db-dry-run.md +122 -0
- package/pro/squads/db-sage/tasks/db-env-check.md +94 -0
- package/pro/squads/db-sage/tasks/db-explain.md +461 -0
- package/pro/squads/db-sage/tasks/db-impersonate.md +326 -0
- package/pro/squads/db-sage/tasks/db-load-csv.md +433 -0
- package/pro/squads/db-sage/tasks/db-policy-apply.md +464 -0
- package/pro/squads/db-sage/tasks/db-rls-audit.md +241 -0
- package/pro/squads/db-sage/tasks/db-rollback.md +573 -0
- package/pro/squads/db-sage/tasks/db-run-sql.md +453 -0
- package/pro/squads/db-sage/tasks/db-seed.md +230 -0
- package/pro/squads/db-sage/tasks/db-smoke-test.md +181 -0
- package/pro/squads/db-sage/tasks/db-snapshot.md +403 -0
- package/pro/squads/db-sage/tasks/db-squad-integration.md +487 -0
- package/pro/squads/db-sage/tasks/db-verify-order.md +344 -0
- package/pro/squads/db-sage/tasks/domain-modeling.md +517 -0
- package/pro/squads/db-sage/tasks/execute-checklist.md +99 -0
- package/pro/squads/db-sage/tasks/kiss.md +129 -0
- package/pro/squads/db-sage/tasks/query-optimization.md +599 -0
- package/pro/squads/db-sage/tasks/schema-audit.md +833 -0
- package/pro/squads/db-sage/tasks/supabase-setup.md +536 -0
- package/pro/squads/db-sage/templates/backup-metadata.json.tmpl +7 -0
- package/pro/squads/db-sage/templates/db-analysis-template.yaml +291 -0
- package/pro/squads/db-sage/templates/index-strategy-tmpl.yaml +53 -0
- package/pro/squads/db-sage/templates/migration-plan-tmpl.yaml +1022 -0
- package/pro/squads/db-sage/templates/migration.sql.tmpl +9 -0
- package/pro/squads/db-sage/templates/rls-policies-tmpl.yaml +1201 -0
- package/pro/squads/db-sage/templates/rollback.sql.tmpl +9 -0
- package/pro/squads/db-sage/templates/schema-design-tmpl.yaml +426 -0
- package/pro/squads/db-sage/workflows/analyze-data-workflow.yaml +407 -0
- package/pro/squads/db-sage/workflows/backup-restore-workflow.yaml +121 -0
- package/pro/squads/db-sage/workflows/kiss-gate-workflow.yaml +143 -0
- package/pro/squads/db-sage/workflows/modify-schema-workflow.yaml +440 -0
- package/pro/squads/db-sage/workflows/performance-tuning-workflow.yaml +104 -0
- package/pro/squads/db-sage/workflows/query-database-workflow.yaml +394 -0
- package/pro/squads/db-sage/workflows/setup-database-workflow.yaml +428 -0
- package/pro/squads/design/agents/nano-banana-generator.md +2 -2
- package/pro/squads/design/config.yaml +3 -0
- package/pro/squads/design/docs/tool-discovery-report.md +1 -1
- package/pro/squads/design/tasks/create-doc.md +1 -1
- package/pro/squads/etl-ops/HEADLINE.md +3 -0
- package/pro/squads/etl-ops/README.md +121 -0
- package/pro/squads/etl-ops/agents/etl-chief.md +440 -0
- package/pro/squads/etl-ops/agents/etl-extractor.md +352 -0
- package/pro/squads/etl-ops/agents/etl-transformer.md +409 -0
- package/pro/squads/etl-ops/checklists/.gitkeep +0 -0
- package/pro/squads/etl-ops/checklists/README.md +1 -0
- package/pro/squads/etl-ops/config.yaml +405 -0
- package/pro/squads/etl-ops/data/checkpoints.yaml +92 -0
- package/pro/squads/etl-ops/data/enriched-transcript.schema.json +107 -0
- package/pro/squads/etl-ops/data/infrastructure-map.yaml +27 -0
- package/pro/squads/etl-ops/data/output-contract.yaml +85 -0
- package/pro/squads/etl-ops/data/process.schema.json +293 -0
- package/pro/squads/etl-ops/data/quality-gates.yaml +40 -0
- package/pro/squads/etl-ops/data/routing-profiles.yaml +239 -0
- package/pro/squads/etl-ops/data/service-catalog.yaml +13 -0
- package/pro/squads/etl-ops/data/token-registry.yaml +58 -0
- package/pro/squads/etl-ops/docs/.gitkeep +0 -0
- package/pro/squads/etl-ops/scripts/bootstrap-etl-workspace.sh +42 -0
- package/pro/squads/etl-ops/scripts/etl-env-bootstrap.sh +876 -0
- package/pro/squads/etl-ops/scripts/validate-etl-essentials.sh +164 -0
- package/pro/squads/etl-ops/squad-io.yaml +61 -0
- package/pro/squads/etl-ops/tasks/compile.md +191 -0
- package/pro/squads/etl-ops/tasks/enrich.md +236 -0
- package/pro/squads/etl-ops/tasks/etl-env-bootstrap.md +140 -0
- package/pro/squads/etl-ops/tasks/extract-keyframes.md +318 -0
- package/pro/squads/etl-ops/tasks/extract-podcast.md +146 -0
- package/pro/squads/etl-ops/tasks/load-workspace-context.md +140 -0
- package/pro/squads/etl-ops/tasks/process.md +185 -0
- package/pro/squads/etl-ops/tasks/summarize-book.md +121 -0
- package/pro/squads/etl-ops/templates/cross-domain-handoff-tmpl.yaml +9 -0
- package/pro/squads/etl-ops/workflows/etl-pipeline.yaml +25 -0
- package/pro/squads/etl-ops/workflows/etl-thresholds.yaml +15 -0
- package/pro/squads/hormozi/HEADLINE.md +3 -0
- package/pro/squads/hormozi/README.md +313 -0
- package/pro/squads/hormozi/agents/hormozi-ads.md +1863 -0
- package/pro/squads/hormozi/agents/hormozi-advisor.md +1866 -0
- package/pro/squads/hormozi/agents/hormozi-audit.md +2301 -0
- package/pro/squads/hormozi/agents/hormozi-chief.md +1671 -0
- package/pro/squads/hormozi/agents/hormozi-closer.md +2631 -0
- package/pro/squads/hormozi/agents/hormozi-content.md +2148 -0
- package/pro/squads/hormozi/agents/hormozi-copy.md +2000 -0
- package/pro/squads/hormozi/agents/hormozi-hooks.md +1790 -0
- package/pro/squads/hormozi/agents/hormozi-launch.md +1734 -0
- package/pro/squads/hormozi/agents/hormozi-leads.md +1022 -0
- package/pro/squads/hormozi/agents/hormozi-models.md +1429 -0
- package/pro/squads/hormozi/agents/hormozi-offers.md +2228 -0
- package/pro/squads/hormozi/agents/hormozi-pricing.md +1784 -0
- package/pro/squads/hormozi/agents/hormozi-retention.md +1467 -0
- package/pro/squads/hormozi/agents/hormozi-scale.md +2312 -0
- package/pro/squads/hormozi/agents/hormozi-workshop.md +2715 -0
- package/pro/squads/hormozi/checklists/5-horsemen-checklist.md +188 -0
- package/pro/squads/hormozi/checklists/activation-point-checklist.md +156 -0
- package/pro/squads/hormozi/checklists/ad-angles-checklist.md +395 -0
- package/pro/squads/hormozi/checklists/affiliates-referrals-checklist.md +411 -0
- package/pro/squads/hormozi/checklists/antipattern-screening.md +319 -0
- package/pro/squads/hormozi/checklists/bonuses-checklist.md +282 -0
- package/pro/squads/hormozi/checklists/branding-checklist.md +547 -0
- package/pro/squads/hormozi/checklists/churn-diagnosis-checklist.md +148 -0
- package/pro/squads/hormozi/checklists/content-creation-checklist.md +598 -0
- package/pro/squads/hormozi/checklists/core-four-checklist.md +543 -0
- package/pro/squads/hormozi/checklists/customer-journey-checklist.md +207 -0
- package/pro/squads/hormozi/checklists/downsell-strategy-checklist.md +306 -0
- package/pro/squads/hormozi/checklists/email-campaign-checklist.md +484 -0
- package/pro/squads/hormozi/checklists/engagement-scoring-checklist.md +227 -0
- package/pro/squads/hormozi/checklists/exit-interview-checklist.md +206 -0
- package/pro/squads/hormozi/checklists/fast-cash-checklist.md +434 -0
- package/pro/squads/hormozi/checklists/goated-ads-checklist.md +558 -0
- package/pro/squads/hormozi/checklists/golden-ratios-veto.md +340 -0
- package/pro/squads/hormozi/checklists/guarantees-checklist.md +312 -0
- package/pro/squads/hormozi/checklists/hooks-checklist.md +621 -0
- package/pro/squads/hormozi/checklists/landing-page-checklist.md +514 -0
- package/pro/squads/hormozi/checklists/launch-checklist.md +1033 -0
- package/pro/squads/hormozi/checklists/lead-magnet-checklist.md +421 -0
- package/pro/squads/hormozi/checklists/lead-nurture-checklist.md +730 -0
- package/pro/squads/hormozi/checklists/ltv-checklist.md +953 -0
- package/pro/squads/hormozi/checklists/market-validation-veto.md +248 -0
- package/pro/squads/hormozi/checklists/marketing-machine-checklist.md +570 -0
- package/pro/squads/hormozi/checklists/money-model-checklist.md +226 -0
- package/pro/squads/hormozi/checklists/naming-framework-checklist.md +325 -0
- package/pro/squads/hormozi/checklists/offer-architecture-checklist.md +542 -0
- package/pro/squads/hormozi/checklists/onboarding-30-day-checklist.md +223 -0
- package/pro/squads/hormozi/checklists/price-raise-checklist.md +399 -0
- package/pro/squads/hormozi/checklists/pricing-checklist.md +228 -0
- package/pro/squads/hormozi/checklists/pricing-framework-checklist.md +627 -0
- package/pro/squads/hormozi/checklists/registration-page-checklist.md +429 -0
- package/pro/squads/hormozi/checklists/retention-checklist.md +977 -0
- package/pro/squads/hormozi/checklists/sales-page-checklist.md +682 -0
- package/pro/squads/hormozi/checklists/scarcity-urgency-checklist.md +423 -0
- package/pro/squads/hormozi/checklists/subscription-model-checklist.md +342 -0
- package/pro/squads/hormozi/checklists/upsell-page-checklist.md +374 -0
- package/pro/squads/hormozi/checklists/upsell-sequence-checklist.md +217 -0
- package/pro/squads/hormozi/checklists/upsell-strategy-checklist.md +424 -0
- package/pro/squads/hormozi/checklists/value-equation-checklist.md +387 -0
- package/pro/squads/hormozi/checklists/vsl-script-checklist.md +464 -0
- package/pro/squads/hormozi/checklists/workshop-launch-checklist.md +585 -0
- package/pro/squads/hormozi/config/veto-conditions.yaml +324 -0
- package/pro/squads/hormozi/config.yaml +617 -0
- package/pro/squads/hormozi/data/antipatterns-database.yaml +402 -0
- package/pro/squads/hormozi/data/hormozi-case-library.yaml +469 -0
- package/pro/squads/hormozi/data/hormozi-infrastructure-map.yaml +16 -0
- package/pro/squads/hormozi/data/hormozi-service-catalog.yaml +14 -0
- package/pro/squads/hormozi/data/minds/hormozi-ads_dna.yaml +75 -0
- package/pro/squads/hormozi/data/minds/hormozi-advisor_dna.yaml +112 -0
- package/pro/squads/hormozi/data/minds/hormozi-audit_dna.yaml +124 -0
- package/pro/squads/hormozi/data/minds/hormozi-closer_dna.yaml +109 -0
- package/pro/squads/hormozi/data/minds/hormozi-content_dna.yaml +112 -0
- package/pro/squads/hormozi/data/minds/hormozi-copy_dna.yaml +115 -0
- package/pro/squads/hormozi/data/minds/hormozi-hooks_dna.yaml +134 -0
- package/pro/squads/hormozi/data/minds/hormozi-launch_dna.yaml +122 -0
- package/pro/squads/hormozi/data/minds/hormozi-leads_dna.yaml +64 -0
- package/pro/squads/hormozi/data/minds/hormozi-models_dna.yaml +111 -0
- package/pro/squads/hormozi/data/minds/hormozi-offers_dna.yaml +100 -0
- package/pro/squads/hormozi/data/minds/hormozi-pricing_dna.yaml +129 -0
- package/pro/squads/hormozi/data/minds/hormozi-retention_dna.yaml +120 -0
- package/pro/squads/hormozi/data/minds/hormozi-scale_dna.yaml +112 -0
- package/pro/squads/hormozi/data/minds/hormozi-thinking-dna.yaml +421 -0
- package/pro/squads/hormozi/data/minds/hormozi-voice-dna.yaml +548 -0
- package/pro/squads/hormozi/data/minds/hormozi-workshop_dna.yaml +109 -0
- package/pro/squads/hormozi/data/quality-gates.yaml +76 -0
- package/pro/squads/hormozi/data/scaling-by-business-type.yaml +166 -0
- package/pro/squads/hormozi/data/source-index.yaml +215 -0
- package/pro/squads/hormozi/data/swipefiles/ads-swipefile.yaml +378 -0
- package/pro/squads/hormozi/data/swipefiles/blueprint-swipefile.yaml +1223 -0
- package/pro/squads/hormozi/data/swipefiles/branding-swipefile.yaml +142 -0
- package/pro/squads/hormozi/data/swipefiles/closing-swipefile.yaml +716 -0
- package/pro/squads/hormozi/data/swipefiles/content-swipefile.yaml +579 -0
- package/pro/squads/hormozi/data/swipefiles/copy-sales-swipefile.yaml +1085 -0
- package/pro/squads/hormozi/data/swipefiles/fast-cash-swipefile.yaml +190 -0
- package/pro/squads/hormozi/data/swipefiles/goated-ads-swipefile.yaml +770 -0
- package/pro/squads/hormozi/data/swipefiles/hooks-swipefile.yaml +1982 -0
- package/pro/squads/hormozi/data/swipefiles/lead-nurture-swipefile.yaml +191 -0
- package/pro/squads/hormozi/data/swipefiles/ltv-swipefile.yaml +216 -0
- package/pro/squads/hormozi/data/swipefiles/marketing-machine-swipefile.yaml +191 -0
- package/pro/squads/hormozi/data/swipefiles/naming-swipefile-brasil.yaml +596 -0
- package/pro/squads/hormozi/data/swipefiles/naming-swipefile-global.yaml +543 -0
- package/pro/squads/hormozi/data/swipefiles/price-raise-swipefile.yaml +213 -0
- package/pro/squads/hormozi/data/swipefiles/pricing-swipefile.yaml +203 -0
- package/pro/squads/hormozi/data/swipefiles/proof-swipefile.yaml +443 -0
- package/pro/squads/hormozi/data/swipefiles/retention-swipefile.yaml +245 -0
- package/pro/squads/hormozi/data/swipefiles/scaling-roadmap-swipefile.yaml +529 -0
- package/pro/squads/hormozi/data/swipefiles/workshop-launch-swipefile.yaml +912 -0
- package/pro/squads/hormozi/data/token-registry.yaml +89 -0
- package/pro/squads/hormozi/docs/MIGRATION-PLAN-AGENT-CONFORMITY.md +326 -0
- package/pro/squads/hormozi/docs/frameworks/100m-offers-framework.md +363 -0
- package/pro/squads/hormozi/docs/frameworks/attraction-offers-framework.md +720 -0
- package/pro/squads/hormozi/docs/frameworks/bonuses-framework.md +501 -0
- package/pro/squads/hormozi/docs/frameworks/core-four-framework.md +685 -0
- package/pro/squads/hormozi/docs/frameworks/goated-ads-framework.md +916 -0
- package/pro/squads/hormozi/docs/frameworks/guarantees-framework.md +709 -0
- package/pro/squads/hormozi/docs/frameworks/hooks-framework.md +1007 -0
- package/pro/squads/hormozi/docs/frameworks/lead-magnet-framework.md +485 -0
- package/pro/squads/hormozi/docs/frameworks/money-models-framework.md +891 -0
- package/pro/squads/hormozi/docs/frameworks/scarcity-framework.md +793 -0
- package/pro/squads/hormozi/docs/frameworks/urgency-framework.md +533 -0
- package/pro/squads/hormozi/docs/frameworks/value-equation-framework.md +428 -0
- package/pro/squads/hormozi/docs/frameworks/workshop-framework.md +289 -0
- package/pro/squads/hormozi/docs/sops/.parallel-execution-plan-batch2.md +344 -0
- package/pro/squads/hormozi/docs/sops/.parallel-execution-plan-batch3.md +331 -0
- package/pro/squads/hormozi/docs/sops/.parallel-execution-plan.md +558 -0
- package/pro/squads/hormozi/docs/sops/ad-angles-sop.md +1247 -0
- package/pro/squads/hormozi/docs/sops/ad-angles-squad-blueprint.yaml +739 -0
- package/pro/squads/hormozi/docs/sops/affiliates-referrals-sop.md +1105 -0
- package/pro/squads/hormozi/docs/sops/affiliates-referrals-squad-blueprint.yaml +1131 -0
- package/pro/squads/hormozi/docs/sops/bonuses-sop.md +1014 -0
- package/pro/squads/hormozi/docs/sops/bonuses-squad-blueprint.yaml +994 -0
- package/pro/squads/hormozi/docs/sops/branding-sop.md +870 -0
- package/pro/squads/hormozi/docs/sops/branding-squad-blueprint.yaml +1107 -0
- package/pro/squads/hormozi/docs/sops/content-creation-sop.md +877 -0
- package/pro/squads/hormozi/docs/sops/content-creation-squad-blueprint.yaml +1362 -0
- package/pro/squads/hormozi/docs/sops/core-four-sop.md +1231 -0
- package/pro/squads/hormozi/docs/sops/core-four-squad-blueprint.yaml +1205 -0
- package/pro/squads/hormozi/docs/sops/downsell-strategy-sop.md +832 -0
- package/pro/squads/hormozi/docs/sops/downsell-strategy-squad-blueprint.yaml +1230 -0
- package/pro/squads/hormozi/docs/sops/email-campaign-sop.md +1547 -0
- package/pro/squads/hormozi/docs/sops/email-campaign-squad-blueprint.yaml +1150 -0
- package/pro/squads/hormozi/docs/sops/fast-cash-sop.md +1224 -0
- package/pro/squads/hormozi/docs/sops/fast-cash-squad-blueprint.yaml +1128 -0
- package/pro/squads/hormozi/docs/sops/goated-ads-sop.md +671 -0
- package/pro/squads/hormozi/docs/sops/goated-ads-squad-blueprint.yaml +627 -0
- package/pro/squads/hormozi/docs/sops/guarantees-sop.md +1017 -0
- package/pro/squads/hormozi/docs/sops/guarantees-squad-blueprint.yaml +1252 -0
- package/pro/squads/hormozi/docs/sops/hooks-sop.md +958 -0
- package/pro/squads/hormozi/docs/sops/hooks-squad-blueprint.yaml +740 -0
- package/pro/squads/hormozi/docs/sops/landing-page-sop.md +1079 -0
- package/pro/squads/hormozi/docs/sops/landing-page-squad-blueprint.yaml +1373 -0
- package/pro/squads/hormozi/docs/sops/launch-sop.md +1055 -0
- package/pro/squads/hormozi/docs/sops/launch-squad-blueprint.yaml +1276 -0
- package/pro/squads/hormozi/docs/sops/lead-magnet-sop.md +807 -0
- package/pro/squads/hormozi/docs/sops/lead-magnet-squad-blueprint.yaml +1144 -0
- package/pro/squads/hormozi/docs/sops/lead-nurture-sop.md +867 -0
- package/pro/squads/hormozi/docs/sops/lead-nurture-squad-blueprint.yaml +1168 -0
- package/pro/squads/hormozi/docs/sops/ltv-sop.md +897 -0
- package/pro/squads/hormozi/docs/sops/ltv-squad-blueprint.yaml +1286 -0
- package/pro/squads/hormozi/docs/sops/marketing-machine-sop.md +1257 -0
- package/pro/squads/hormozi/docs/sops/marketing-machine-squad-blueprint.yaml +1433 -0
- package/pro/squads/hormozi/docs/sops/naming-framework-sop.md +1006 -0
- package/pro/squads/hormozi/docs/sops/naming-framework-squad-blueprint.yaml +543 -0
- package/pro/squads/hormozi/docs/sops/offer-architecture-sop.md +843 -0
- package/pro/squads/hormozi/docs/sops/offer-architecture-squad-blueprint.yaml +794 -0
- package/pro/squads/hormozi/docs/sops/price-raise-sop.md +983 -0
- package/pro/squads/hormozi/docs/sops/price-raise-squad-blueprint.yaml +919 -0
- package/pro/squads/hormozi/docs/sops/pricing-framework-sop.md +459 -0
- package/pro/squads/hormozi/docs/sops/pricing-squad-blueprint.yaml +517 -0
- package/pro/squads/hormozi/docs/sops/registration-page-sop.md +1111 -0
- package/pro/squads/hormozi/docs/sops/registration-page-squad-blueprint.yaml +762 -0
- package/pro/squads/hormozi/docs/sops/retention-sop.md +1065 -0
- package/pro/squads/hormozi/docs/sops/retention-squad-blueprint.yaml +1356 -0
- package/pro/squads/hormozi/docs/sops/sales-page-sop.md +924 -0
- package/pro/squads/hormozi/docs/sops/sales-page-squad-blueprint.yaml +1096 -0
- package/pro/squads/hormozi/docs/sops/scarcity-urgency-sop.md +1092 -0
- package/pro/squads/hormozi/docs/sops/scarcity-urgency-squad-blueprint.yaml +1206 -0
- package/pro/squads/hormozi/docs/sops/subscription-model-sop.md +1077 -0
- package/pro/squads/hormozi/docs/sops/subscription-model-squad-blueprint.yaml +1007 -0
- package/pro/squads/hormozi/docs/sops/upsell-page-sop.md +886 -0
- package/pro/squads/hormozi/docs/sops/upsell-page-squad-blueprint.yaml +1100 -0
- package/pro/squads/hormozi/docs/sops/upsell-strategy-sop.md +1265 -0
- package/pro/squads/hormozi/docs/sops/upsell-strategy-squad-blueprint.yaml +1245 -0
- package/pro/squads/hormozi/docs/sops/value-equation-sop.md +793 -0
- package/pro/squads/hormozi/docs/sops/value-equation-squad-blueprint.yaml +777 -0
- package/pro/squads/hormozi/docs/sops/vsl-script-sop.md +1145 -0
- package/pro/squads/hormozi/docs/sops/vsl-script-squad-blueprint.yaml +777 -0
- package/pro/squads/hormozi/docs/sops/workshop-launch-sop.md +1273 -0
- package/pro/squads/hormozi/docs/sops/workshop-launch-squad-blueprint.yaml +1292 -0
- package/pro/squads/hormozi/docs/validation-report-2026-02-10.md +79 -0
- package/pro/squads/hormozi/scripts/generate-hormozi-greeting.cjs +132 -0
- package/pro/squads/hormozi/scripts/load-context.cjs +139 -0
- package/pro/squads/hormozi/scripts/resolve-readiness.cjs +45 -0
- package/pro/squads/hormozi/scripts/runtime-paths.cjs +44 -0
- package/pro/squads/hormozi/scripts/set-active-context.cjs +104 -0
- package/pro/squads/hormozi/scripts/show-context.cjs +22 -0
- package/pro/squads/hormozi/scripts/validate-antipattern.py +287 -0
- package/pro/squads/hormozi/scripts/validate-handoff.py +166 -0
- package/pro/squads/hormozi/scripts/validate-mvn.py +198 -0
- package/pro/squads/hormozi/sops/pricing-squad-blueprint.yaml +1445 -0
- package/pro/squads/hormozi/squad-io.yaml +917 -0
- package/pro/squads/hormozi/tasks/architect-offer-stack.md +228 -0
- package/pro/squads/hormozi/tasks/build-marketing-machine.md +205 -0
- package/pro/squads/hormozi/tasks/build-scaling-team.md +271 -0
- package/pro/squads/hormozi/tasks/calculate-30-day-profit.md +418 -0
- package/pro/squads/hormozi/tasks/calculate-ppd.md +200 -0
- package/pro/squads/hormozi/tasks/create-ad-angles.md +182 -0
- package/pro/squads/hormozi/tasks/create-ad-campaign.md +399 -0
- package/pro/squads/hormozi/tasks/create-bonus-stack.md +287 -0
- package/pro/squads/hormozi/tasks/create-closer-script.md +240 -0
- package/pro/squads/hormozi/tasks/create-content-unit.md +176 -0
- package/pro/squads/hormozi/tasks/create-contingency-plan.md +426 -0
- package/pro/squads/hormozi/tasks/create-downsell-sequence.md +427 -0
- package/pro/squads/hormozi/tasks/create-email-sequence.md +196 -0
- package/pro/squads/hormozi/tasks/create-engagement-scoring.md +484 -0
- package/pro/squads/hormozi/tasks/create-exit-interview-system.md +382 -0
- package/pro/squads/hormozi/tasks/create-grand-slam-offer.md +499 -0
- package/pro/squads/hormozi/tasks/create-guarantee-stack.md +246 -0
- package/pro/squads/hormozi/tasks/create-hook-set.md +368 -0
- package/pro/squads/hormozi/tasks/create-landing-page.md +130 -0
- package/pro/squads/hormozi/tasks/create-launch-narrative.md +406 -0
- package/pro/squads/hormozi/tasks/create-launch-timeline.md +473 -0
- package/pro/squads/hormozi/tasks/create-lead-magnet.md +479 -0
- package/pro/squads/hormozi/tasks/create-nurture-sequence.md +207 -0
- package/pro/squads/hormozi/tasks/create-offer-name.md +165 -0
- package/pro/squads/hormozi/tasks/create-pricing-strategy.md +177 -0
- package/pro/squads/hormozi/tasks/create-registration-page.md +190 -0
- package/pro/squads/hormozi/tasks/create-sales-page.md +157 -0
- package/pro/squads/hormozi/tasks/create-upsell-page.md +138 -0
- package/pro/squads/hormozi/tasks/create-upsell-sequence.md +449 -0
- package/pro/squads/hormozi/tasks/create-vsl-script.md +175 -0
- package/pro/squads/hormozi/tasks/design-brand-identity.md +186 -0
- package/pro/squads/hormozi/tasks/design-continuity-offer.md +462 -0
- package/pro/squads/hormozi/tasks/design-core-four-strategy.md +733 -0
- package/pro/squads/hormozi/tasks/design-customer-journey.md +426 -0
- package/pro/squads/hormozi/tasks/design-launch-value-stack.md +379 -0
- package/pro/squads/hormozi/tasks/design-money-model.md +391 -0
- package/pro/squads/hormozi/tasks/design-onboarding-sequence.md +380 -0
- package/pro/squads/hormozi/tasks/design-scarcity-urgency.md +216 -0
- package/pro/squads/hormozi/tasks/design-subscription-model.md +162 -0
- package/pro/squads/hormozi/tasks/design-systems-automation.md +234 -0
- package/pro/squads/hormozi/tasks/design-workshop.md +167 -0
- package/pro/squads/hormozi/tasks/diagnose-business-stage.md +323 -0
- package/pro/squads/hormozi/tasks/diagnose-cfa-level.md +198 -0
- package/pro/squads/hormozi/tasks/diagnose-churn-rate.md +265 -0
- package/pro/squads/hormozi/tasks/diagnose-scaling-constraint.md +257 -0
- package/pro/squads/hormozi/tasks/diagnose-value-equation.md +431 -0
- package/pro/squads/hormozi/tasks/discover-activation-points.md +329 -0
- package/pro/squads/hormozi/tasks/execute-price-raise.md +221 -0
- package/pro/squads/hormozi/tasks/execute-rule-of-100.md +423 -0
- package/pro/squads/hormozi/tasks/generate-fast-cash.md +217 -0
- package/pro/squads/hormozi/tasks/implement-5-horsemen.md +430 -0
- package/pro/squads/hormozi/tasks/optimize-ltv-cac-ratio.md +505 -0
- package/pro/squads/hormozi/tasks/plan-launch-evento.md +395 -0
- package/pro/squads/hormozi/tasks/run-launch-post-mortem.md +461 -0
- package/pro/squads/hormozi/tasks/setup-affiliate-program.md +406 -0
- package/pro/squads/hormozi/tasks/setup-war-room.md +407 -0
- package/pro/squads/hormozi/tasks/validate-market-selection.md +331 -0
- package/pro/squads/hormozi/templates/capacity-planning-worksheet.yaml +151 -0
- package/pro/squads/hormozi/templates/grand-slam-offer-output.yaml +462 -0
- package/pro/squads/hormozi/templates/grand-slam-offer-tmpl.md +34 -0
- package/pro/squads/hormozi/templates/handoff-context-tmpl.yaml +215 -0
- package/pro/squads/hormozi/templates/money-model-tmpl.md +29 -0
- package/pro/squads/hormozi/templates/offer-analysis-tmpl.md +33 -0
- package/pro/squads/hormozi/templates/value-equation-scorecard.md +267 -0
- package/pro/squads/hormozi/workflows/wf-context-diagnosis.yaml +569 -0
- package/pro/squads/hormozi/workflows/wf-full-launch-sequence.yaml +995 -0
- package/pro/squads/hormozi/workflows/wf-grand-slam-offer.yaml +1138 -0
- package/pro/squads/hormozi/workflows/wf-growth-decision.yaml +135 -0
- package/pro/squads/hormozi/workflows/wf-lead-magnet-pipeline.yaml +1147 -0
- package/pro/squads/hormozi/workflows/wf-money-model-design.yaml +1168 -0
- package/pro/squads/hormozi/workflows/wf-opportunity-screening.yaml +511 -0
- package/pro/squads/hormozi/workflows/wf-paid-ads-campaign.yaml +1204 -0
- package/pro/squads/hormozi/workflows/wf-scaling-diagnostic.yaml +636 -0
- package/pro/squads/index.js +2 -2
- package/pro/squads/spy/HEADLINE.md +3 -0
- package/pro/squads/spy/README.md +115 -0
- package/pro/squads/spy/agents/bench-analyst.md +654 -0
- package/pro/squads/spy/agents/research-head.md +673 -0
- package/pro/squads/spy/agents/spy.md +498 -0
- package/pro/squads/spy/checklists/bench-quality-checklist.md +119 -0
- package/pro/squads/spy/checklists/content-creation-checklist.md +136 -0
- package/pro/squads/spy/config.yaml +587 -0
- package/pro/squads/spy/data/bench-data-sources.yaml +46 -0
- package/pro/squads/spy/data/bench-dimension-packs.yaml +182 -0
- package/pro/squads/spy/data/bench-output-formats.yaml +44 -0
- package/pro/squads/spy/data/bench-skeleton.md +184 -0
- package/pro/squads/spy/data/capability-tools.yaml +109 -0
- package/pro/squads/spy/data/knowledge-base.md +337 -0
- package/pro/squads/spy/data/quality-gates.yaml +48 -0
- package/pro/squads/spy/data/spy-infrastructure-map.yaml +27 -0
- package/pro/squads/spy/data/spy-service-catalog.yaml +13 -0
- package/pro/squads/spy/data/token-registry.yaml +57 -0
- package/pro/squads/spy/data/viral-content-framework.md +304 -0
- package/pro/squads/spy/docs/tool-discovery-report.md +110 -0
- package/pro/squads/spy/docs/tool-integration-plan.md +47 -0
- package/pro/squads/spy/scripts/prepare-benchmark-workspace.sh +14 -0
- package/pro/squads/spy/scripts/publish-benchmark-report.sh +16 -0
- package/pro/squads/spy/squad-io.yaml +24 -0
- package/pro/squads/spy/tasks/bench-absorb.md +266 -0
- package/pro/squads/spy/tasks/bench-battle-card.md +398 -0
- package/pro/squads/spy/tasks/bench-codebase-recon.md +339 -0
- package/pro/squads/spy/tasks/bench-company-intel.md +360 -0
- package/pro/squads/spy/tasks/bench-deep-compare.md +573 -0
- package/pro/squads/spy/tasks/bench-detect.md +349 -0
- package/pro/squads/spy/tasks/bench-framework.md +105 -0
- package/pro/squads/spy/tasks/bench-gap-analysis.md +168 -0
- package/pro/squads/spy/tasks/bench-gap-company.md +48 -0
- package/pro/squads/spy/tasks/bench-gap-llm.md +48 -0
- package/pro/squads/spy/tasks/bench-gap-product.md +48 -0
- package/pro/squads/spy/tasks/bench-gap-technology.md +48 -0
- package/pro/squads/spy/tasks/bench-gap.md +78 -0
- package/pro/squads/spy/tasks/bench-hooks.md +209 -0
- package/pro/squads/spy/tasks/bench-inventory.md +98 -0
- package/pro/squads/spy/tasks/bench-llm-eval.md +359 -0
- package/pro/squads/spy/tasks/bench-matrix-codebase.md +50 -0
- package/pro/squads/spy/tasks/bench-matrix-company.md +50 -0
- package/pro/squads/spy/tasks/bench-matrix-llm.md +50 -0
- package/pro/squads/spy/tasks/bench-matrix-product.md +50 -0
- package/pro/squads/spy/tasks/bench-matrix-technology.md +50 -0
- package/pro/squads/spy/tasks/bench-matrix.md +78 -0
- package/pro/squads/spy/tasks/bench-migrate.md +207 -0
- package/pro/squads/spy/tasks/bench-product-research.md +370 -0
- package/pro/squads/spy/tasks/bench-quick-compare.md +287 -0
- package/pro/squads/spy/tasks/bench-report-load-evidence.md +49 -0
- package/pro/squads/spy/tasks/bench-report-publish.md +49 -0
- package/pro/squads/spy/tasks/bench-report-synthesize-findings.md +48 -0
- package/pro/squads/spy/tasks/bench-report.md +70 -0
- package/pro/squads/spy/tasks/bench-score.md +406 -0
- package/pro/squads/spy/tasks/bench-synergy.md +248 -0
- package/pro/squads/spy/tasks/bench-tech-eval.md +417 -0
- package/pro/squads/spy/tasks/bench-traceability.md +225 -0
- package/pro/squads/spy/tasks/deep-research-collect.md +50 -0
- package/pro/squads/spy/tasks/deep-research-comments.md +48 -0
- package/pro/squads/spy/tasks/deep-research-patterns.md +49 -0
- package/pro/squads/spy/tasks/deep-research-publish.md +49 -0
- package/pro/squads/spy/tasks/deep-research-select.md +48 -0
- package/pro/squads/spy/tasks/deep-research-synthesis.md +49 -0
- package/pro/squads/spy/tasks/deep-research-transcribe.md +48 -0
- package/pro/squads/spy/tasks/deep-research.md +116 -0
- package/pro/squads/spy/tasks/quick-analysis.md +130 -0
- package/pro/squads/spy/templates/bench-battle-card-tmpl.md +52 -0
- package/pro/squads/spy/templates/bench-codebase-comparativo-tmpl.md +84 -0
- package/pro/squads/spy/templates/bench-codebase-scores-tmpl.md +41 -0
- package/pro/squads/spy/templates/bench-comparativo-tmpl.md +86 -0
- package/pro/squads/spy/templates/bench-deep-compare-tmpl.md +117 -0
- package/pro/squads/spy/templates/bench-gap-tmpl.md +194 -0
- package/pro/squads/spy/templates/bench-matrix-tmpl.md +130 -0
- package/pro/squads/spy/templates/bench-migration-tmpl.md +127 -0
- package/pro/squads/spy/templates/bench-quadrant-tmpl.md +227 -0
- package/pro/squads/spy/templates/bench-report-tmpl.md +167 -0
- package/pro/squads/spy/templates/bench-scorecard-tmpl.md +113 -0
- package/pro/squads/spy/templates/bench-scores-tmpl.md +43 -0
- package/pro/squads/spy/templates/bench-synergy-tmpl.md +381 -0
- package/pro/squads/spy/templates/cross-domain-handoff-tmpl.yaml +9 -0
- package/pro/squads/spy/templates/player-analysis-tmpl.md +145 -0
- package/pro/squads/spy/workflows/bench-comparison-pipeline.yaml +1193 -0
- package/pro/squads/squad-creator/CHANGELOG.md +162 -0
- package/pro/squads/squad-creator/README.md +1176 -0
- package/pro/squads/squad-creator/agents/squad-chief.md +1449 -0
- package/pro/squads/squad-creator/checklists/agent-quality-gate.md +433 -0
- package/pro/squads/squad-creator/checklists/analysis-quality-checklist.md +70 -0
- package/pro/squads/squad-creator/checklists/create-agent-checklist.md +239 -0
- package/pro/squads/squad-creator/checklists/create-squad-checklist.md +326 -0
- package/pro/squads/squad-creator/checklists/create-task-checklist.md +225 -0
- package/pro/squads/squad-creator/checklists/create-workflow-checklist.md +243 -0
- package/pro/squads/squad-creator/checklists/greeting-script-checklist.md +110 -0
- package/pro/squads/squad-creator/checklists/install-skills-checklist.md +197 -0
- package/pro/squads/squad-creator/checklists/pipeline-runner-checklist.md +135 -0
- package/pro/squads/squad-creator/checklists/report-quality-checklist.md +49 -0
- package/pro/squads/squad-creator/checklists/squad-checklist.md +1000 -0
- package/pro/squads/squad-creator/checklists/squad-consistency-patterns.md +134 -0
- package/pro/squads/squad-creator/checklists/squad-overview-checklist.md +381 -0
- package/pro/squads/squad-creator/checklists/squad-structural-completeness.md +394 -0
- package/pro/squads/squad-creator/checklists/task-anatomy-checklist.md +687 -0
- package/pro/squads/squad-creator/checklists/upgrade-squad-checklist.md +222 -0
- package/pro/squads/squad-creator/config/squad-config.yaml +202 -0
- package/pro/squads/squad-creator/config/workflow-yaml-schema.yaml +323 -0
- package/pro/squads/squad-creator/config.yaml +429 -0
- package/pro/squads/squad-creator/data/base-core-contract.yaml +22 -0
- package/pro/squads/squad-creator/data/baselines/ecosystem-baseline.yaml +88 -0
- package/pro/squads/squad-creator/data/baselines/initial-radar.yaml +89 -0
- package/pro/squads/squad-creator/data/best-practices.md +986 -0
- package/pro/squads/squad-creator/data/cc-agent-schema-ref.yaml +405 -0
- package/pro/squads/squad-creator/data/core-heuristics.md +510 -0
- package/pro/squads/squad-creator/data/decision-heuristics-framework.md +695 -0
- package/pro/squads/squad-creator/data/design-heuristics-diagnostic-systems.md +140 -0
- package/pro/squads/squad-creator/data/executor-matrix-framework.md +441 -0
- package/pro/squads/squad-creator/data/hybridops-patterns.md +1351 -0
- package/pro/squads/squad-creator/data/journey-log-events.yaml +72 -0
- package/pro/squads/squad-creator/data/kaizen-legacy/kaizen-infrastructure-map.yaml +16 -0
- package/pro/squads/squad-creator/data/kpi-baseline.yaml +72 -0
- package/pro/squads/squad-creator/data/process-token-map.yaml +225 -0
- package/pro/squads/squad-creator/data/quality-dimensions-framework.md +405 -0
- package/pro/squads/squad-creator/data/quality-gates.yaml +135 -0
- package/pro/squads/squad-creator/data/radar/initial-radar.yaml +76 -0
- package/pro/squads/squad-creator/data/recommendation-tracker.yaml +53 -0
- package/pro/squads/squad-creator/data/reports/self-improve-2026-02-15.md +111 -0
- package/pro/squads/squad-creator/data/reports/week-07-2026-02-15.md +210 -0
- package/pro/squads/squad-creator/data/reports/week-09-2026-02-28.md +295 -0
- package/pro/squads/squad-creator/data/reports/week-14-2026-04-04.md +234 -0
- package/pro/squads/squad-creator/data/squad-analytics-guide.md +252 -0
- package/pro/squads/squad-creator/data/squad-creator-infrastructure-map.yaml +36 -0
- package/pro/squads/squad-creator/data/squad-creator-service-catalog.yaml +17 -0
- package/pro/squads/squad-creator/data/squad-kb.md +987 -0
- package/pro/squads/squad-creator/data/squad-registry.yaml +14 -0
- package/pro/squads/squad-creator/data/tier-system-framework.md +475 -0
- package/pro/squads/squad-creator/data/tool-discovery-sources.yaml +68 -0
- package/pro/squads/squad-creator/docs/ADR-001-model-tier-qualification.md +344 -0
- package/pro/squads/squad-creator/docs/AGENT-COLLABORATION.md +820 -0
- package/pro/squads/squad-creator/docs/COMMANDS.md +895 -0
- package/pro/squads/squad-creator/docs/CONCEPTS.md +979 -0
- package/pro/squads/squad-creator/docs/FAQ.md +773 -0
- package/pro/squads/squad-creator/docs/HITL-FLOW.md +406 -0
- package/pro/squads/squad-creator/docs/MODEL-TIER-QUALIFICATION.md +337 -0
- package/pro/squads/squad-creator/docs/PATTERN-LIBRARY.md +620 -0
- package/pro/squads/squad-creator/docs/PEDRO-VALERIO-ARCHITECTURE.md +456 -0
- package/pro/squads/squad-creator/docs/POR-ONDE-COMECAR.md +211 -0
- package/pro/squads/squad-creator/docs/QUICK-START.md +205 -0
- package/pro/squads/squad-creator/docs/TUTORIAL-COMPLETO.md +458 -0
- package/pro/squads/squad-creator/docs/sop-extraction-process.md +675 -0
- package/pro/squads/squad-creator/docs/squad-free-vs-open.md +596 -0
- package/pro/squads/squad-creator/package-lock.json +38 -0
- package/pro/squads/squad-creator/package.json +27 -0
- package/pro/squads/squad-creator/protocols/ai-first-governance.md +63 -0
- package/pro/squads/squad-creator/requirements.txt +1 -0
- package/pro/squads/squad-creator/rules/agent-naming-convention.md +58 -0
- package/pro/squads/squad-creator/rules/recommendation-defensibility.md +161 -0
- package/pro/squads/squad-creator/schemas/agent-persona.schema.json +64 -0
- package/pro/squads/squad-creator/schemas/squad-config.schema.json +92 -0
- package/pro/squads/squad-creator/schemas/validation-report.schema.json +158 -0
- package/pro/squads/squad-creator/scripts/README.md +262 -0
- package/pro/squads/squad-creator/scripts/checklist_validator.py +451 -0
- package/pro/squads/squad-creator/scripts/coherence-validator.py +62 -0
- package/pro/squads/squad-creator/scripts/dependency_check.py +341 -0
- package/pro/squads/squad-creator/scripts/detect-environment-contract.cjs +583 -0
- package/pro/squads/squad-creator/scripts/export-antigravity-workflows.cjs +199 -0
- package/pro/squads/squad-creator/scripts/generate-squad-greeting.js +1150 -0
- package/pro/squads/squad-creator/scripts/generate-squad-guide.js +596 -0
- package/pro/squads/squad-creator/scripts/inventory.py +286 -0
- package/pro/squads/squad-creator/scripts/kaizen/kaizen-trigger.sh +126 -0
- package/pro/squads/squad-creator/scripts/lib/config-loader.js +151 -0
- package/pro/squads/squad-creator/scripts/lib/doom-loop-detector.js +120 -0
- package/pro/squads/squad-creator/scripts/lib/squad-runtime-paths.cjs +187 -0
- package/pro/squads/squad-creator/scripts/lib/validate-runtime-state.cjs +271 -0
- package/pro/squads/squad-creator/scripts/naming_validator.py +303 -0
- package/pro/squads/squad-creator/scripts/on-specialist-complete.py +98 -0
- package/pro/squads/squad-creator/scripts/refresh-registry.py +933 -0
- package/pro/squads/squad-creator/scripts/rename-squad.sh +395 -0
- package/pro/squads/squad-creator/scripts/scaffold-squad.cjs +317 -0
- package/pro/squads/squad-creator/scripts/scoring.py +65 -0
- package/pro/squads/squad-creator/scripts/security_scanner.py +378 -0
- package/pro/squads/squad-creator/scripts/squad-analytics.py +810 -0
- package/pro/squads/squad-creator/scripts/squad_utils.py +267 -0
- package/pro/squads/squad-creator/scripts/sync-chief-codex-skill.js +242 -0
- package/pro/squads/squad-creator/scripts/sync-ide-skills.py +705 -0
- package/pro/squads/squad-creator/scripts/tests/__init__.py +1 -0
- package/pro/squads/squad-creator/scripts/tests/test_adapters.py +73 -0
- package/pro/squads/squad-creator/scripts/tests/test_assess_sources.sh +216 -0
- package/pro/squads/squad-creator/scripts/tests/test_clone_review.sh +239 -0
- package/pro/squads/squad-creator/scripts/tests/test_fidelity_score.sh +298 -0
- package/pro/squads/squad-creator/scripts/tests/test_refresh_registry_contract.py +110 -0
- package/pro/squads/squad-creator/scripts/tests/test_squad_analytics.py +332 -0
- package/pro/squads/squad-creator/scripts/tests/test_validate_squad_contextual_lifecycle.py +111 -0
- package/pro/squads/squad-creator/scripts/tests/test_validate_squad_tested_inference.py +102 -0
- package/pro/squads/squad-creator/scripts/tests/test_validate_squad_yolo_warning.py +108 -0
- package/pro/squads/squad-creator/scripts/update-aiox-sync-config.py +144 -0
- package/pro/squads/squad-creator/scripts/update-claude-command-registry.py +171 -0
- package/pro/squads/squad-creator/scripts/validate-all.sh +49 -0
- package/pro/squads/squad-creator/scripts/validate-report.sh +98 -0
- package/pro/squads/squad-creator/scripts/validate-squad-deep.sh +318 -0
- package/pro/squads/squad-creator/scripts/validate-squad-quality.py +514 -0
- package/pro/squads/squad-creator/scripts/validate-squad-structure.py +881 -0
- package/pro/squads/squad-creator/scripts/validate-squad.sh +4340 -0
- package/pro/squads/squad-creator/scripts/validate-tokens.sh +178 -0
- package/pro/squads/squad-creator/scripts/verify-squad-completeness.sh +294 -0
- package/pro/squads/squad-creator/scripts/yaml_validator.py +528 -0
- package/pro/squads/squad-creator/squad-io.yaml +71 -0
- package/pro/squads/squad-creator/tasks/audit-output-quality.md +135 -0
- package/pro/squads/squad-creator/tasks/auto-heal-close.md +134 -0
- package/pro/squads/squad-creator/tasks/auto-heal-resolve.md +128 -0
- package/pro/squads/squad-creator/tasks/auto-heal.md +86 -0
- package/pro/squads/squad-creator/tasks/auto-healing-gate.md +166 -0
- package/pro/squads/squad-creator/tasks/cost-analysis.md +117 -0
- package/pro/squads/squad-creator/tasks/create-agent-commands.md +197 -0
- package/pro/squads/squad-creator/tasks/create-agent-generate.md +224 -0
- package/pro/squads/squad-creator/tasks/create-agent-persona.md +207 -0
- package/pro/squads/squad-creator/tasks/create-agent-publish.md +136 -0
- package/pro/squads/squad-creator/tasks/create-agent-research.md +201 -0
- package/pro/squads/squad-creator/tasks/create-agent-validate.md +213 -0
- package/pro/squads/squad-creator/tasks/create-agent.md +145 -0
- package/pro/squads/squad-creator/tasks/create-documentation.md +284 -0
- package/pro/squads/squad-creator/tasks/create-greeting-script-discovery.md +59 -0
- package/pro/squads/squad-creator/tasks/create-greeting-script-gap-map.md +59 -0
- package/pro/squads/squad-creator/tasks/create-greeting-script-generate.md +60 -0
- package/pro/squads/squad-creator/tasks/create-greeting-script-integrate.md +59 -0
- package/pro/squads/squad-creator/tasks/create-greeting-script-validate.md +59 -0
- package/pro/squads/squad-creator/tasks/create-greeting-script.md +130 -0
- package/pro/squads/squad-creator/tasks/create-pipeline-design.md +143 -0
- package/pro/squads/squad-creator/tasks/create-pipeline-persist.md +100 -0
- package/pro/squads/squad-creator/tasks/create-pipeline-qualify.md +103 -0
- package/pro/squads/squad-creator/tasks/create-pipeline-render.md +296 -0
- package/pro/squads/squad-creator/tasks/create-pipeline-validate.md +121 -0
- package/pro/squads/squad-creator/tasks/create-pipeline.md +171 -0
- package/pro/squads/squad-creator/tasks/create-squad-build.md +383 -0
- package/pro/squads/squad-creator/tasks/create-squad-design.md +349 -0
- package/pro/squads/squad-creator/tasks/create-squad-discover.md +392 -0
- package/pro/squads/squad-creator/tasks/create-squad-publish.md +225 -0
- package/pro/squads/squad-creator/tasks/create-squad-validate.md +327 -0
- package/pro/squads/squad-creator/tasks/create-squad.md +113 -0
- package/pro/squads/squad-creator/tasks/create-task-anatomy.md +273 -0
- package/pro/squads/squad-creator/tasks/create-task-classify.md +222 -0
- package/pro/squads/squad-creator/tasks/create-task-executor.md +205 -0
- package/pro/squads/squad-creator/tasks/create-task-generate.md +224 -0
- package/pro/squads/squad-creator/tasks/create-task-register.md +192 -0
- package/pro/squads/squad-creator/tasks/create-task-validate.md +232 -0
- package/pro/squads/squad-creator/tasks/create-task.md +113 -0
- package/pro/squads/squad-creator/tasks/create-template-elicitation.md +59 -0
- package/pro/squads/squad-creator/tasks/create-template-identity.md +59 -0
- package/pro/squads/squad-creator/tasks/create-template-register.md +58 -0
- package/pro/squads/squad-creator/tasks/create-template-structure.md +59 -0
- package/pro/squads/squad-creator/tasks/create-template-validate.md +59 -0
- package/pro/squads/squad-creator/tasks/create-template.md +95 -0
- package/pro/squads/squad-creator/tasks/create-workflow-classify.md +213 -0
- package/pro/squads/squad-creator/tasks/create-workflow-design.md +494 -0
- package/pro/squads/squad-creator/tasks/create-workflow-from-sop.md +301 -0
- package/pro/squads/squad-creator/tasks/create-workflow-generate.md +262 -0
- package/pro/squads/squad-creator/tasks/create-workflow.md +108 -0
- package/pro/squads/squad-creator/tasks/detect-gaps.md +116 -0
- package/pro/squads/squad-creator/tasks/detect-operational-mode-classify.md +112 -0
- package/pro/squads/squad-creator/tasks/detect-operational-mode-infrastructure.md +104 -0
- package/pro/squads/squad-creator/tasks/detect-operational-mode-outputs.md +94 -0
- package/pro/squads/squad-creator/tasks/detect-operational-mode-systems.md +91 -0
- package/pro/squads/squad-creator/tasks/detect-operational-mode-verbs.md +94 -0
- package/pro/squads/squad-creator/tasks/detect-operational-mode.md +115 -0
- package/pro/squads/squad-creator/tasks/detect-squad-context.md +120 -0
- package/pro/squads/squad-creator/tasks/discover-tools-classify.md +191 -0
- package/pro/squads/squad-creator/tasks/discover-tools-evaluate.md +173 -0
- package/pro/squads/squad-creator/tasks/discover-tools-recommend.md +180 -0
- package/pro/squads/squad-creator/tasks/discover-tools-report.md +184 -0
- package/pro/squads/squad-creator/tasks/discover-tools-scan.md +188 -0
- package/pro/squads/squad-creator/tasks/discover-tools.md +139 -0
- package/pro/squads/squad-creator/tasks/generate-recommendations.md +162 -0
- package/pro/squads/squad-creator/tasks/improve-workflow-from-report.md +127 -0
- package/pro/squads/squad-creator/tasks/improve-workflow-report-apply-p1.md +59 -0
- package/pro/squads/squad-creator/tasks/improve-workflow-report-apply-secondary.md +59 -0
- package/pro/squads/squad-creator/tasks/improve-workflow-report-backup.md +59 -0
- package/pro/squads/squad-creator/tasks/improve-workflow-report-ingest.md +59 -0
- package/pro/squads/squad-creator/tasks/improve-workflow-report-target.md +59 -0
- package/pro/squads/squad-creator/tasks/improve-workflow-report-validate-report.md +59 -0
- package/pro/squads/squad-creator/tasks/install-skills-finalize.md +415 -0
- package/pro/squads/squad-creator/tasks/install-skills-prepare.md +353 -0
- package/pro/squads/squad-creator/tasks/install-skills-write.md +395 -0
- package/pro/squads/squad-creator/tasks/install-skills.md +282 -0
- package/pro/squads/squad-creator/tasks/next-squad-ranking.md +58 -0
- package/pro/squads/squad-creator/tasks/next-squad-registry.md +58 -0
- package/pro/squads/squad-creator/tasks/next-squad-report.md +59 -0
- package/pro/squads/squad-creator/tasks/next-squad-scoring.md +59 -0
- package/pro/squads/squad-creator/tasks/next-squad-signals.md +58 -0
- package/pro/squads/squad-creator/tasks/next-squad.md +98 -0
- package/pro/squads/squad-creator/tasks/operational-test-baseline.md +69 -0
- package/pro/squads/squad-creator/tasks/operational-test-preflight.md +70 -0
- package/pro/squads/squad-creator/tasks/operational-test-report.md +71 -0
- package/pro/squads/squad-creator/tasks/operational-test-smoke.md +72 -0
- package/pro/squads/squad-creator/tasks/operational-test-target.md +71 -0
- package/pro/squads/squad-creator/tasks/operational-test.md +102 -0
- package/pro/squads/squad-creator/tasks/performance-dashboard.md +118 -0
- package/pro/squads/squad-creator/tasks/qa-after-creation.md +129 -0
- package/pro/squads/squad-creator/tasks/qa-check-compatibility.md +191 -0
- package/pro/squads/squad-creator/tasks/qa-check-completeness.md +218 -0
- package/pro/squads/squad-creator/tasks/qa-check-references.md +172 -0
- package/pro/squads/squad-creator/tasks/qa-check-schema.md +190 -0
- package/pro/squads/squad-creator/tasks/qa-check-structure.md +176 -0
- package/pro/squads/squad-creator/tasks/qa-generate-report.md +240 -0
- package/pro/squads/squad-creator/tasks/qualify-provider-baseline.md +122 -0
- package/pro/squads/squad-creator/tasks/qualify-provider-compare.md +159 -0
- package/pro/squads/squad-creator/tasks/qualify-provider-preflight.md +143 -0
- package/pro/squads/squad-creator/tasks/qualify-provider-ptbr.md +166 -0
- package/pro/squads/squad-creator/tasks/qualify-provider-reliability.md +140 -0
- package/pro/squads/squad-creator/tasks/qualify-provider-report.md +178 -0
- package/pro/squads/squad-creator/tasks/reexecute-squad-phase.md +97 -0
- package/pro/squads/squad-creator/tasks/refresh-registry.md +299 -0
- package/pro/squads/squad-creator/tasks/rename-squad-map.md +59 -0
- package/pro/squads/squad-creator/tasks/rename-squad-propagate.md +59 -0
- package/pro/squads/squad-creator/tasks/rename-squad-structural.md +59 -0
- package/pro/squads/squad-creator/tasks/rename-squad-validate.md +59 -0
- package/pro/squads/squad-creator/tasks/rename-squad.md +118 -0
- package/pro/squads/squad-creator/tasks/self-improve.md +107 -0
- package/pro/squads/squad-creator/tasks/setup-runtime-handoff.md +74 -0
- package/pro/squads/squad-creator/tasks/setup-runtime-persist.md +81 -0
- package/pro/squads/squad-creator/tasks/setup-runtime-requirements.md +84 -0
- package/pro/squads/squad-creator/tasks/setup-runtime-validate.md +82 -0
- package/pro/squads/squad-creator/tasks/setup-runtime-wizard.md +84 -0
- package/pro/squads/squad-creator/tasks/setup-runtime.md +103 -0
- package/pro/squads/squad-creator/tasks/squad-analytics.md +276 -0
- package/pro/squads/squad-creator/tasks/squad-overview-agents.md +110 -0
- package/pro/squads/squad-creator/tasks/squad-overview-generate.md +102 -0
- package/pro/squads/squad-creator/tasks/squad-overview-metadata.md +121 -0
- package/pro/squads/squad-creator/tasks/squad-overview-minds.md +100 -0
- package/pro/squads/squad-creator/tasks/squad-overview-structure.md +106 -0
- package/pro/squads/squad-creator/tasks/squad-overview-write.md +103 -0
- package/pro/squads/squad-creator/tasks/squad-overview.md +117 -0
- package/pro/squads/squad-creator/tasks/sync-chief-codex-skill.md +73 -0
- package/pro/squads/squad-creator/tasks/sync-ide-skills.md +240 -0
- package/pro/squads/squad-creator/tasks/update-radar.md +151 -0
- package/pro/squads/squad-creator/tasks/upgrade-squad-apply.md +187 -0
- package/pro/squads/squad-creator/tasks/upgrade-squad-gap.md +203 -0
- package/pro/squads/squad-creator/tasks/upgrade-squad-inventory.md +186 -0
- package/pro/squads/squad-creator/tasks/upgrade-squad-plan.md +163 -0
- package/pro/squads/squad-creator/tasks/upgrade-squad-verify.md +178 -0
- package/pro/squads/squad-creator/tasks/upgrade-squad.md +138 -0
- package/pro/squads/squad-creator/tasks/validate-final-artifacts.md +104 -0
- package/pro/squads/squad-creator/tasks/validate-squad-classify.md +335 -0
- package/pro/squads/squad-creator/tasks/validate-squad-deep-review.md +226 -0
- package/pro/squads/squad-creator/tasks/validate-squad-preflight.md +189 -0
- package/pro/squads/squad-creator/tasks/validate-squad-verdict.md +442 -0
- package/pro/squads/squad-creator/tasks/validate-squad.md +117 -0
- package/pro/squads/squad-creator/templates/agent-flow-doc-tmpl.md +512 -0
- package/pro/squads/squad-creator/templates/agent-tmpl.md +703 -0
- package/pro/squads/squad-creator/templates/auto-heal-task-tmpl.md +417 -0
- package/pro/squads/squad-creator/templates/capability-map-tmpl.md +95 -0
- package/pro/squads/squad-creator/templates/config-tmpl.yaml +534 -0
- package/pro/squads/squad-creator/templates/cross-domain-handoff-tmpl.yaml +18 -0
- package/pro/squads/squad-creator/templates/ecosystem-health-tmpl.md +19 -0
- package/pro/squads/squad-creator/templates/gap-analysis-tmpl.md +13 -0
- package/pro/squads/squad-creator/templates/greeting-script-tmpl.cjs +169 -0
- package/pro/squads/squad-creator/templates/journey-log-tmpl.yaml +93 -0
- package/pro/squads/squad-creator/templates/operational-test-task-tmpl.md +514 -0
- package/pro/squads/squad-creator/templates/performance-dashboard-tmpl.md +77 -0
- package/pro/squads/squad-creator/templates/pipeline-prompt-tmpl.md +94 -0
- package/pro/squads/squad-creator/templates/pop-extractor-prompt.md +549 -0
- package/pro/squads/squad-creator/templates/quality-gate-tmpl.yaml +589 -0
- package/pro/squads/squad-creator/templates/readme-tmpl.md +254 -0
- package/pro/squads/squad-creator/templates/research-output-tmpl.md +625 -0
- package/pro/squads/squad-creator/templates/research-prompt-tmpl.md +479 -0
- package/pro/squads/squad-creator/templates/setup-runtime-task-tmpl.md +627 -0
- package/pro/squads/squad-creator/templates/squad-mappings-tmpl.yaml +71 -0
- package/pro/squads/squad-creator/templates/squad-prd-tmpl.md +488 -0
- package/pro/squads/squad-creator/templates/story-create-agent-tmpl.md +284 -0
- package/pro/squads/squad-creator/templates/task-tmpl.md +533 -0
- package/pro/squads/squad-creator/templates/tech-radar-tmpl.md +73 -0
- package/pro/squads/squad-creator/templates/template-tmpl.yaml +227 -0
- package/pro/squads/squad-creator/templates/weekly-digest-tmpl.md +11 -0
- package/pro/squads/squad-creator/templates/weekly-report-tmpl.md +155 -0
- package/pro/squads/squad-creator/templates/workflow-doc-tmpl.md +860 -0
- package/pro/squads/squad-creator/templates/workflow-tmpl.yaml +486 -0
- package/pro/squads/squad-creator/test-cases/an-assess-sources/TEST-REPORT-v2.1.md +351 -0
- package/pro/squads/squad-creator/test-cases/an-assess-sources/formal-qualification-report.yaml +389 -0
- package/pro/squads/squad-creator/test-cases/an-clone-review/opus-baseline.yaml +566 -0
- package/pro/squads/squad-creator/test-cases/pv-axioma-assessment/opus-baseline.yaml +96 -0
- package/pro/squads/squad-creator/test-cases/pv-modernization-score/opus-baseline.yaml +488 -0
- package/pro/squads/squad-creator/test-cases/smoke-test-model-routing/test-case.yaml +100 -0
- package/pro/squads/squad-creator/workflows/wf-auto-heal.yaml +33 -0
- package/pro/squads/squad-creator/workflows/wf-create-agent.yaml +252 -0
- package/pro/squads/squad-creator/workflows/wf-create-greeting-script.yaml +60 -0
- package/pro/squads/squad-creator/workflows/wf-create-pipeline.yaml +60 -0
- package/pro/squads/squad-creator/workflows/wf-create-squad.yaml +1916 -0
- package/pro/squads/squad-creator/workflows/wf-create-task.yaml +172 -0
- package/pro/squads/squad-creator/workflows/wf-create-template.yaml +60 -0
- package/pro/squads/squad-creator/workflows/wf-create-workflow.yaml +138 -0
- package/pro/squads/squad-creator/workflows/wf-cross-provider-qualification.yaml +769 -0
- package/pro/squads/squad-creator/workflows/wf-detect-operational-mode.yaml +112 -0
- package/pro/squads/squad-creator/workflows/wf-discover-tools.yaml +1695 -0
- package/pro/squads/squad-creator/workflows/wf-ecosystem-analysis.yaml +338 -0
- package/pro/squads/squad-creator/workflows/wf-improve-workflow-from-report.yaml +69 -0
- package/pro/squads/squad-creator/workflows/wf-install-skills.yaml +52 -0
- package/pro/squads/squad-creator/workflows/wf-next-squad.yaml +60 -0
- package/pro/squads/squad-creator/workflows/wf-operational-test.yaml +86 -0
- package/pro/squads/squad-creator/workflows/wf-qa-after-creation.yaml +339 -0
- package/pro/squads/squad-creator/workflows/wf-rename-squad.yaml +51 -0
- package/pro/squads/squad-creator/workflows/wf-self-improve.yaml +206 -0
- package/pro/squads/squad-creator/workflows/wf-setup-runtime.yaml +86 -0
- package/pro/squads/squad-creator/workflows/wf-squad-overview.yaml +100 -0
- package/pro/squads/squad-creator/workflows/wf-sync-ide-skills.yaml +24 -0
- package/pro/squads/squad-creator/workflows/wf-upgrade-squad.yaml +236 -0
- package/pro/squads/squad-creator/workflows/wf-weekly-report.yaml +139 -0
- package/pro/squads/squad-creator-pro/ARCHITECTURE.md +37 -0
- package/pro/squads/squad-creator-pro/CHANGELOG.md +12 -12
- package/pro/squads/squad-creator-pro/README.md +19 -17
- package/pro/squads/squad-creator-pro/agents/ecosystem-analyst.md +989 -0
- package/pro/squads/squad-creator-pro/agents/heuristic-ops.md +369 -0
- package/pro/squads/squad-creator-pro/agents/oalanicolas.md +582 -22
- package/pro/squads/squad-creator-pro/agents/pedro-valerio.md +957 -115
- package/pro/squads/squad-creator-pro/agents/squad-chief.md +580 -412
- package/pro/squads/squad-creator-pro/agents/thiago_finch.md +31 -21
- package/pro/squads/squad-creator-pro/benchmarks/golden/hormozi-golden.yaml +382 -0
- package/pro/squads/squad-creator-pro/benchmarks/scripts/run-benchmark.sh +363 -0
- package/pro/squads/squad-creator-pro/checklists/agent-depth-checklist.md +4 -4
- package/pro/squads/squad-creator-pro/checklists/agent-quality-gate.md +1 -1
- package/pro/squads/squad-creator-pro/checklists/create-squad-checklist.md +78 -6
- package/pro/squads/squad-creator-pro/checklists/deep-research-quality.md +3 -4
- package/pro/squads/squad-creator-pro/checklists/executor-matrix-checklist.md +3 -3
- package/pro/squads/squad-creator-pro/checklists/mental-model-integration-checklist.md +3 -3
- package/pro/squads/squad-creator-pro/checklists/mind-validation.md +2 -3
- package/pro/squads/squad-creator-pro/checklists/pipeline-quality-checklist.md +84 -0
- package/pro/squads/squad-creator-pro/checklists/quality-gate-checklist.md +3 -3
- package/pro/squads/squad-creator-pro/checklists/session-heuristics-extraction.md +65 -0
- package/pro/squads/squad-creator-pro/checklists/sop-validation.md +2 -2
- package/pro/squads/squad-creator-pro/checklists/squad-checklist.md +20 -20
- package/pro/squads/squad-creator-pro/checklists/task-anatomy-checklist.md +1 -1
- package/pro/squads/squad-creator-pro/config/heuristic-watcher-rubric.yaml +300 -0
- package/pro/squads/squad-creator-pro/config/heuristics.yaml +196 -12
- package/pro/squads/squad-creator-pro/config/model-routing.yaml +10 -10
- package/pro/squads/squad-creator-pro/config/scoring-rubric.yaml +1 -1
- package/pro/squads/squad-creator-pro/config/squad-config.yaml +1 -1
- package/pro/squads/squad-creator-pro/config.yaml +452 -32
- package/pro/squads/squad-creator-pro/data/an-output-examples.yaml +9 -9
- package/pro/squads/squad-creator-pro/data/best-practices.md +8 -8
- package/pro/squads/squad-creator-pro/data/core-heuristics.md +5 -5
- package/pro/squads/squad-creator-pro/data/decision-heuristics-framework.md +2 -2
- package/pro/squads/squad-creator-pro/data/executor-matrix-framework.md +2 -2
- package/pro/squads/squad-creator-pro/data/extraction-mentoria-processos-dec19.yaml +337 -0
- package/pro/squads/squad-creator-pro/data/fusion-dry-runs/traffic-masters-absorve-_traffic-2026-03-09.md +135 -0
- package/pro/squads/squad-creator-pro/data/fusion-executor-analysis.md +1 -1
- package/pro/squads/squad-creator-pro/data/hybridops-patterns.md +3 -3
- package/pro/squads/squad-creator-pro/data/internal-infrastructure-library.yaml +5 -1
- package/pro/squads/squad-creator-pro/data/mental-model-task-matrix.yaml +4 -4
- package/pro/squads/squad-creator-pro/data/pm-best-practices.md +71 -7
- package/pro/squads/squad-creator-pro/data/pv-output-examples.yaml +1 -1
- package/pro/squads/squad-creator-pro/data/pv-workflow-validation.yaml +4 -4
- package/pro/squads/squad-creator-pro/data/quality-dimensions-framework.md +2 -2
- package/pro/squads/squad-creator-pro/data/quality-gate-coverage.yaml +169 -0
- package/pro/squads/squad-creator-pro/data/squad-analytics-guide.md +2 -2
- package/pro/squads/squad-creator-pro/data/squad-kb.md +14 -14
- package/pro/squads/squad-creator-pro/data/squad-kpis.yaml +60 -0
- package/pro/squads/squad-creator-pro/data/squad-registry.yaml +4868 -809
- package/pro/squads/squad-creator-pro/data/tier-system-framework.md +2 -2
- package/pro/squads/squad-creator-pro/data/token-registry.yaml +386 -0
- package/pro/squads/squad-creator-pro/data/tool-registry.yaml +130 -14
- package/pro/squads/squad-creator-pro/docs/COMMANDS.md +1 -1
- package/pro/squads/squad-creator-pro/docs/FAQ.md +4 -4
- package/pro/squads/squad-creator-pro/docs/PATTERN-LIBRARY.md +12 -4
- package/pro/squads/squad-creator-pro/docs/PEDRO-VALERIO-ARCHITECTURE.md +2 -2
- package/pro/squads/squad-creator-pro/docs/POR-ONDE-COMECAR.md +4 -4
- package/pro/squads/squad-creator-pro/docs/QUICK-START.md +2 -2
- package/pro/squads/squad-creator-pro/docs/TOOL-RECOMMENDATIONS.md +3 -1
- package/pro/squads/squad-creator-pro/docs/TUTORIAL-COMPLETO.md +3 -3
- package/pro/squads/squad-creator-pro/docs/sop-extraction-process.md +2 -2
- package/pro/squads/squad-creator-pro/docs/squad-chief-agent-flow.md +8 -8
- package/pro/squads/squad-creator-pro/minds/oalanicolas/artifacts/HANDOFF_PROTOCOL.md +1 -1
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_001.md +85 -134
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_002.md +88 -179
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_003.md +82 -211
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_004.md +79 -123
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_005.md +90 -135
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_006.md +17 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_007.md +83 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_008.md +13 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_009.md +12 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_010.md +27 -2
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_011.md +72 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_012.md +59 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_013.md +69 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_014.md +69 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_015.md +83 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_016.md +67 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_017.md +64 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_018.md +79 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_019.md +69 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_020.md +67 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_021.md +114 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_022.md +75 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_023.md +60 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_024.md +66 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_025.md +81 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_026.md +82 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_027.md +85 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_028.md +74 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_029.md +73 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_030.md +80 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_031.md +78 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_032.md +81 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_033.md +69 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_034.md +119 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_035.md +120 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_036.md +134 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_037.md +123 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_038.md +85 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_039.md +74 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_040.md +130 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_041.md +87 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_042.md +89 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_043.md +78 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_044.md +97 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_045.md +82 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_046.md +83 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_047.md +77 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_048.md +83 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_049.md +102 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_050.md +85 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_051.md +90 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_052.md +84 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_053.md +83 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_054.md +96 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_055.md +137 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_056.md +114 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_057.md +82 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_058.md +79 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_059.md +88 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_060.md +78 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_061.md +79 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_062.md +99 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_063.md +73 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_064.md +106 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_065.md +87 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_066.md +66 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_067.md +65 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_068.md +70 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_069.md +69 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_070.md +67 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_071.md +87 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_072.md +84 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_073.md +89 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_074.md +60 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_075.md +87 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_076.md +107 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_077.md +98 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_078.md +66 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_079.md +91 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_080.md +59 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_081.md +64 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_082.md +71 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_083.md +62 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_084.md +66 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_085.md +62 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_086.md +69 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_087.md +74 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_088.md +89 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_089.md +88 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_090.md +74 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_091.md +76 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_092.md +61 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_093.md +69 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_094.md +58 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_095.md +58 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_096.md +65 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_097.md +63 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_098.md +98 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_099.md +97 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_100.md +100 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_101.md +62 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_102.md +65 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_103.md +60 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_104.md +60 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_105.md +67 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_106.md +64 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_107.md +63 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_108.md +60 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_109.md +62 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_110.md +58 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_111.md +88 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_112.md +60 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_113.md +74 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_114.md +55 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_115.md +126 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_116.md +76 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_117.md +65 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_118.md +72 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_119.md +58 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_120.md +77 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_121.md +65 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_122.md +57 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_123.md +63 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_124.md +69 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_125.md +73 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_126.md +81 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_127.md +77 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_128.md +76 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_129.md +81 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_130.md +88 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_131.md +85 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_132.md +81 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_133.md +86 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/decision-cards.yaml +1010 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/heuristic-analytics.md +24 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_BS_001.md +7 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_041.md +80 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_042.md +79 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_043.md +81 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_044.md +83 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_045.md +82 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_046.md +82 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_047.md +81 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_048.md +77 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_049.md +81 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_050.md +79 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_051.md +81 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_052.md +81 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_053.md +79 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_054.md +74 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_055.md +78 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_056.md +78 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_057.md +78 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_058.md +81 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_059.md +81 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_060.md +82 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_061.md +74 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_062.md +75 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_063.md +80 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_064.md +75 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_065.md +74 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_066.md +76 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_067.md +75 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_068.md +78 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_069.md +78 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_070.md +75 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_071.md +77 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_072.md +76 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_073.md +82 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_074.md +80 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_075.md +85 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_076.md +81 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_077.md +77 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_078.md +81 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_079.md +77 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_080.md +81 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_081.md +76 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_082.md +84 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_083.md +78 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_084.md +76 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_085.md +83 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_086.md +74 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_087.md +87 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_088.md +75 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_089.md +79 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_090.md +75 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_091.md +77 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_092.md +81 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_093.md +74 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_094.md +73 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_095.md +84 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_096.md +78 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_097.md +79 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_098.md +85 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_099.md +82 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_100.md +81 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_KE_101.md +61 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_001.md +23 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_002.md +165 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_003.md +164 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_004.md +163 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_005.md +161 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_006.md +164 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_007.md +162 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_008.md +156 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_009.md +157 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_010.md +166 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_011.md +161 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_012.md +80 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_013.md +66 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_014.md +64 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_015.md +61 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_016.md +60 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_017.md +66 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_018.md +56 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_019.md +63 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_020.md +64 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_021.md +71 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_022.md +69 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_023.md +56 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_024.md +61 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_025.md +60 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_026.md +71 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_027.md +65 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_028.md +61 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_029.md +62 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_030.md +62 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_031.md +62 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_032.md +59 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_033.md +64 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_034.md +65 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_035.md +62 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_036.md +63 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_037.md +60 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_038.md +78 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_039.md +58 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_040.md +62 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_041.md +61 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PM_001.md +7 -0
- package/pro/squads/squad-creator-pro/package-lock.json +38 -0
- package/pro/squads/squad-creator-pro/package.json +10 -6
- package/pro/squads/squad-creator-pro/requirements.txt +1 -0
- package/pro/squads/squad-creator-pro/schemas/agent-persona.schema.json +78 -0
- package/pro/squads/squad-creator-pro/schemas/squad-config.schema.json +146 -0
- package/pro/squads/squad-creator-pro/scripts/README.md +123 -203
- package/pro/squads/squad-creator-pro/scripts/WAVE-LOOP.md +157 -0
- package/pro/squads/squad-creator-pro/scripts/checklist_validator.py +34 -426
- package/pro/squads/squad-creator-pro/scripts/create-agent-preflight.py +2 -2
- package/pro/squads/squad-creator-pro/scripts/cross-mind-linker.py +143 -0
- package/pro/squads/squad-creator-pro/scripts/cross_map.json +338 -0
- package/pro/squads/squad-creator-pro/scripts/dependency_check.py +8 -4
- package/pro/squads/squad-creator-pro/scripts/detect-environment-contract.cjs +37 -0
- package/pro/squads/squad-creator-pro/scripts/export-antigravity-workflows.cjs +12 -0
- package/pro/squads/squad-creator-pro/scripts/generate-heuristic-registry.py +83 -0
- package/pro/squads/squad-creator-pro/scripts/generate-squad-greeting.js +3 -3
- package/pro/squads/squad-creator-pro/scripts/generate-squad-guide.js +13 -533
- package/pro/squads/squad-creator-pro/scripts/inventory.py +35 -245
- package/pro/squads/squad-creator-pro/scripts/lib/config-loader.js +10 -149
- package/pro/squads/squad-creator-pro/scripts/lib/squad-runtime-paths.cjs +14 -0
- package/pro/squads/squad-creator-pro/scripts/lib/validate-runtime-state.cjs +14 -0
- package/pro/squads/squad-creator-pro/scripts/load-business-sops.cjs +460 -0
- package/pro/squads/squad-creator-pro/scripts/model-usage-logger.cjs +1 -1
- package/pro/squads/squad-creator-pro/scripts/modernization-score.sh +14 -14
- package/pro/squads/squad-creator-pro/scripts/naming_validator.py +34 -274
- package/pro/squads/squad-creator-pro/scripts/on-specialist-complete.py +72 -18
- package/pro/squads/squad-creator-pro/scripts/refresh-registry.py +157 -2
- package/pro/squads/squad-creator-pro/scripts/rename-squad.sh +8 -0
- package/pro/squads/squad-creator-pro/scripts/save-session-metrics.py +72 -19
- package/pro/squads/squad-creator-pro/scripts/scaffold-squad.cjs +8 -277
- package/pro/squads/squad-creator-pro/scripts/security_scanner.py +34 -353
- package/pro/squads/squad-creator-pro/scripts/squad-analytics.py +34 -560
- package/pro/squads/squad-creator-pro/scripts/squad-context-loader.cjs +48 -21
- package/pro/squads/squad-creator-pro/scripts/squad-state-manager.cjs +322 -66
- package/pro/squads/squad-creator-pro/scripts/squad-workflow-runner.cjs +615 -202
- package/pro/squads/squad-creator-pro/scripts/squad_utils.py +37 -239
- package/pro/squads/squad-creator-pro/scripts/sync-chief-codex-skill.js +242 -0
- package/pro/squads/squad-creator-pro/scripts/sync-ide-skills.py +59 -0
- package/pro/squads/squad-creator-pro/scripts/tests/__init__.py +1 -1
- package/pro/squads/squad-creator-pro/scripts/tests/test_load_business_sops.cjs +158 -0
- package/pro/squads/squad-creator-pro/scripts/tests/test_modernization_score.sh +4 -4
- package/pro/squads/squad-creator-pro/scripts/tests/test_refresh_registry.py +243 -253
- package/pro/squads/squad-creator-pro/scripts/tests/test_security_scanner.py +2 -2
- package/pro/squads/squad-creator-pro/scripts/tests/test_squad_analytics.py +210 -351
- package/pro/squads/squad-creator-pro/scripts/tests/test_squad_runtime_pipeline_e2e.cjs +267 -0
- package/pro/squads/squad-creator-pro/scripts/tests/test_validate_squad_runtime_state_e2e.cjs +99 -0
- package/pro/squads/squad-creator-pro/scripts/tests/test_wave_loop_runtime_e2e.cjs +216 -0
- package/pro/squads/squad-creator-pro/scripts/tests/test_wave_loop_runtime_unit.cjs +336 -0
- package/pro/squads/squad-creator-pro/scripts/validate-clone.sh +345 -0
- package/pro/squads/squad-creator-pro/scripts/validate-squad-structure.py +35 -511
- package/pro/squads/squad-creator-pro/scripts/validate-squad.sh +6 -938
- package/pro/squads/squad-creator-pro/scripts/validate-workspace-contract.py +204 -0
- package/pro/squads/squad-creator-pro/scripts/verify-squad-completeness.sh +8 -0
- package/pro/squads/squad-creator-pro/scripts/wave-loop.cjs +911 -0
- package/pro/squads/squad-creator-pro/scripts/wave-loop.sh +5 -0
- package/pro/squads/squad-creator-pro/scripts/yaml_validator.py +34 -503
- package/pro/squads/squad-creator-pro/skills/fidelity-score.md +245 -0
- package/pro/squads/squad-creator-pro/skills/squad.md +7 -14
- package/pro/squads/squad-creator-pro/squad-io.yaml +49 -0
- package/pro/squads/squad-creator-pro/tasks/CHANGELOG.md +38 -0
- package/pro/squads/squad-creator-pro/tasks/an-assess-sources-collect.md +197 -0
- package/pro/squads/squad-creator-pro/tasks/an-assess-sources-score.md +471 -0
- package/pro/squads/squad-creator-pro/tasks/an-assess-sources.md +157 -58
- package/pro/squads/squad-creator-pro/tasks/an-clone-review-report.md +171 -0
- package/pro/squads/squad-creator-pro/tasks/an-clone-review-source-trinity.md +227 -0
- package/pro/squads/squad-creator-pro/tasks/an-clone-review-stages-fidelity.md +158 -0
- package/pro/squads/squad-creator-pro/tasks/an-clone-review.md +146 -77
- package/pro/squads/squad-creator-pro/tasks/an-compare-outputs-score.md +340 -0
- package/pro/squads/squad-creator-pro/tasks/an-compare-outputs.md +105 -305
- package/pro/squads/squad-creator-pro/tasks/an-design-clone-blueprint.md +51 -0
- package/pro/squads/squad-creator-pro/tasks/an-design-clone-contexts.md +48 -0
- package/pro/squads/squad-creator-pro/tasks/an-design-clone-memory.md +49 -0
- package/pro/squads/squad-creator-pro/tasks/an-design-clone-stages.md +48 -0
- package/pro/squads/squad-creator-pro/tasks/an-design-clone-trinity.md +49 -0
- package/pro/squads/squad-creator-pro/tasks/an-design-clone.md +86 -59
- package/pro/squads/squad-creator-pro/tasks/an-diagnose-clone-prescribe.md +147 -0
- package/pro/squads/squad-creator-pro/tasks/an-diagnose-clone-symptoms.md +147 -0
- package/pro/squads/squad-creator-pro/tasks/an-diagnose-clone-verify-trinity.md +200 -0
- package/pro/squads/squad-creator-pro/tasks/an-diagnose-clone.md +105 -60
- package/pro/squads/squad-creator-pro/tasks/an-extract-dna-layer-extraction.md +54 -0
- package/pro/squads/squad-creator-pro/tasks/an-extract-dna-report.md +55 -0
- package/pro/squads/squad-creator-pro/tasks/an-extract-dna-source-assessment.md +54 -0
- package/pro/squads/squad-creator-pro/tasks/an-extract-dna-thinking-dna.md +54 -0
- package/pro/squads/squad-creator-pro/tasks/an-extract-dna-voice-dna.md +54 -0
- package/pro/squads/squad-creator-pro/tasks/an-extract-dna.md +86 -70
- package/pro/squads/squad-creator-pro/tasks/an-extract-framework-analyze.md +178 -0
- package/pro/squads/squad-creator-pro/tasks/an-extract-framework-integrate.md +239 -0
- package/pro/squads/squad-creator-pro/tasks/an-extract-framework-trinity.md +206 -0
- package/pro/squads/squad-creator-pro/tasks/an-extract-framework.md +119 -75
- package/pro/squads/squad-creator-pro/tasks/an-extract-heuristics.md +560 -0
- package/pro/squads/squad-creator-pro/tasks/an-extract-session-heuristics.md +633 -0
- package/pro/squads/squad-creator-pro/tasks/an-fidelity-score-calculate.md +317 -0
- package/pro/squads/squad-creator-pro/tasks/an-fidelity-score.md +113 -89
- package/pro/squads/squad-creator-pro/tasks/an-validate-clone-hackability.md +346 -0
- package/pro/squads/squad-creator-pro/tasks/an-validate-clone.md +89 -78
- package/pro/squads/squad-creator-pro/tasks/auto-acquire-sources-consolidate.md +186 -0
- package/pro/squads/squad-creator-pro/tasks/auto-acquire-sources-expand.md +173 -0
- package/pro/squads/squad-creator-pro/tasks/auto-acquire-sources-search.md +200 -0
- package/pro/squads/squad-creator-pro/tasks/auto-acquire-sources.md +103 -285
- package/pro/squads/squad-creator-pro/tasks/batch-closeout.md +96 -0
- package/pro/squads/squad-creator-pro/tasks/clone-mind-quality-dashboard.md +142 -0
- package/pro/squads/squad-creator-pro/tasks/clone-mind-smoke-test.md +137 -0
- package/pro/squads/squad-creator-pro/tasks/clone-mind-synthesis.md +147 -0
- package/pro/squads/squad-creator-pro/tasks/collect-sources-classify.md +209 -0
- package/pro/squads/squad-creator-pro/tasks/collect-sources-discover.md +244 -0
- package/pro/squads/squad-creator-pro/tasks/collect-sources-gap-analysis.md +201 -0
- package/pro/squads/squad-creator-pro/tasks/collect-sources-quality-gate.md +227 -0
- package/pro/squads/squad-creator-pro/tasks/collect-sources-validate.md +234 -0
- package/pro/squads/squad-creator-pro/tasks/collect-sources.md +111 -466
- package/pro/squads/squad-creator-pro/tasks/create-agent.md +101 -747
- package/pro/squads/squad-creator-pro/tasks/create-documentation.md +149 -205
- package/pro/squads/squad-creator-pro/tasks/create-from-sop-brief.md +139 -0
- package/pro/squads/squad-creator-pro/tasks/create-from-sop-load-classify.md +173 -0
- package/pro/squads/squad-creator-pro/tasks/create-from-sop-map-workflow.md +172 -0
- package/pro/squads/squad-creator-pro/tasks/create-from-sop.md +130 -0
- package/pro/squads/squad-creator-pro/tasks/create-greeting-script.md +148 -0
- package/pro/squads/squad-creator-pro/tasks/create-pipeline.md +99 -288
- package/pro/squads/squad-creator-pro/tasks/create-squad.md +135 -927
- package/pro/squads/squad-creator-pro/tasks/create-task.md +102 -1125
- package/pro/squads/squad-creator-pro/tasks/create-template.md +87 -456
- package/pro/squads/squad-creator-pro/tasks/create-workflow.md +107 -697
- package/pro/squads/squad-creator-pro/tasks/deconstruct-extract.md +221 -0
- package/pro/squads/squad-creator-pro/tasks/deconstruct-synthesize.md +154 -0
- package/pro/squads/squad-creator-pro/tasks/deconstruct.md +89 -133
- package/pro/squads/squad-creator-pro/tasks/deep-research-check-local-knowledge.md +164 -0
- package/pro/squads/squad-creator-pro/tasks/deep-research-execute.md +200 -0
- package/pro/squads/squad-creator-pro/tasks/deep-research-generate-prompt.md +245 -0
- package/pro/squads/squad-creator-pro/tasks/deep-research-pre-agent.md +114 -512
- package/pro/squads/squad-creator-pro/tasks/deep-research-validate.md +192 -0
- package/pro/squads/squad-creator-pro/tasks/delete-squad.md +104 -0
- package/pro/squads/squad-creator-pro/tasks/discover-tools-execute.md +293 -0
- package/pro/squads/squad-creator-pro/tasks/discover-tools.md +142 -885
- package/pro/squads/squad-creator-pro/tasks/etd-assemble-output.md +183 -0
- package/pro/squads/squad-creator-pro/tasks/etd-discovery.md +216 -0
- package/pro/squads/squad-creator-pro/tasks/etd-extract-and-classify.md +250 -0
- package/pro/squads/squad-creator-pro/tasks/etd-extract-heuristics.md +173 -0
- package/pro/squads/squad-creator-pro/tasks/etd-handoff-triggers.md +166 -0
- package/pro/squads/squad-creator-pro/tasks/etd-l4-card-generation.md +224 -0
- package/pro/squads/squad-creator-pro/tasks/etd-objection-handling.md +167 -0
- package/pro/squads/squad-creator-pro/tasks/etd-resolve-and-consolidate.md +158 -0
- package/pro/squads/squad-creator-pro/tasks/evd-assemble-voice-dna.md +218 -0
- package/pro/squads/squad-creator-pro/tasks/evd-collect-sources.md +176 -0
- package/pro/squads/squad-creator-pro/tasks/evd-extract-dimensions.md +667 -0
- package/pro/squads/squad-creator-pro/tasks/extract-expert-gold-context-load.md +180 -0
- package/pro/squads/squad-creator-pro/tasks/extract-expert-gold-enrichment.md +181 -0
- package/pro/squads/squad-creator-pro/tasks/extract-expert-gold-filter.md +192 -0
- package/pro/squads/squad-creator-pro/tasks/extract-expert-gold-multi-lense.md +158 -0
- package/pro/squads/squad-creator-pro/tasks/extract-expert-gold-validation.md +167 -0
- package/pro/squads/squad-creator-pro/tasks/extract-expert-gold.md +185 -0
- package/pro/squads/squad-creator-pro/tasks/extract-implicit-analyze.md +192 -0
- package/pro/squads/squad-creator-pro/tasks/extract-implicit-prioritize.md +212 -0
- package/pro/squads/squad-creator-pro/tasks/extract-implicit-scan.md +231 -0
- package/pro/squads/squad-creator-pro/tasks/extract-implicit-synthesize.md +176 -0
- package/pro/squads/squad-creator-pro/tasks/extract-implicit-validate.md +234 -0
- package/pro/squads/squad-creator-pro/tasks/extract-implicit.md +137 -317
- package/pro/squads/squad-creator-pro/tasks/extract-knowledge-checklist.md +220 -0
- package/pro/squads/squad-creator-pro/tasks/extract-knowledge-framework.md +244 -0
- package/pro/squads/squad-creator-pro/tasks/extract-knowledge-sop.md +244 -0
- package/pro/squads/squad-creator-pro/tasks/extract-knowledge-source-validation.md +191 -0
- package/pro/squads/squad-creator-pro/tasks/extract-knowledge-validation.md +224 -0
- package/pro/squads/squad-creator-pro/tasks/extract-knowledge.md +92 -476
- package/pro/squads/squad-creator-pro/tasks/extract-sop-analyze.md +180 -0
- package/pro/squads/squad-creator-pro/tasks/extract-sop-assemble.md +184 -0
- package/pro/squads/squad-creator-pro/tasks/extract-sop-extract.md +178 -0
- package/pro/squads/squad-creator-pro/tasks/extract-sop-prepare.md +189 -0
- package/pro/squads/squad-creator-pro/tasks/extract-sop.md +129 -267
- package/pro/squads/squad-creator-pro/tasks/extract-thinking-dna.md +103 -596
- package/pro/squads/squad-creator-pro/tasks/extract-voice-dna.md +102 -551
- package/pro/squads/squad-creator-pro/tasks/find-0-8-classify.md +203 -0
- package/pro/squads/squad-creator-pro/tasks/find-0-8-recommend.md +166 -0
- package/pro/squads/squad-creator-pro/tasks/find-0-8.md +136 -0
- package/pro/squads/squad-creator-pro/tasks/ics-audit.md +211 -0
- package/pro/squads/squad-creator-pro/tasks/ics-domain-mapping.md +172 -0
- package/pro/squads/squad-creator-pro/tasks/ics-generate-scripts.md +241 -0
- package/pro/squads/squad-creator-pro/tasks/ics-integration.md +182 -0
- package/pro/squads/squad-creator-pro/tasks/ics-validation.md +181 -0
- package/pro/squads/squad-creator-pro/tasks/install-context-stack.md +228 -0
- package/pro/squads/squad-creator-pro/tasks/install-skills.md +180 -0
- package/pro/squads/squad-creator-pro/tasks/lookup-model.md +61 -0
- package/pro/squads/squad-creator-pro/tasks/migrate-workflows-analyze.md +154 -0
- package/pro/squads/squad-creator-pro/tasks/migrate-workflows-archive.md +162 -0
- package/pro/squads/squad-creator-pro/tasks/migrate-workflows-convert.md +167 -0
- package/pro/squads/squad-creator-pro/tasks/migrate-workflows-to-yaml.md +77 -239
- package/pro/squads/squad-creator-pro/tasks/modernize-squad.md +338 -0
- package/pro/squads/squad-creator-pro/tasks/next-action-discovery.md +191 -0
- package/pro/squads/squad-creator-pro/tasks/next-action-gap-map.md +220 -0
- package/pro/squads/squad-creator-pro/tasks/next-action-implement.md +183 -0
- package/pro/squads/squad-creator-pro/tasks/next-action.md +149 -0
- package/pro/squads/squad-creator-pro/tasks/optimize-binary-checkpoints.md +114 -0
- package/pro/squads/squad-creator-pro/tasks/optimize-determinism-analysis.md +164 -0
- package/pro/squads/squad-creator-pro/tasks/optimize-empirical-validation.md +138 -0
- package/pro/squads/squad-creator-pro/tasks/optimize-gap-zero.md +111 -0
- package/pro/squads/squad-creator-pro/tasks/optimize-gatekeeper-detection.md +113 -0
- package/pro/squads/squad-creator-pro/tasks/optimize-hybrid-executor.md +117 -0
- package/pro/squads/squad-creator-pro/tasks/optimize-post-economy.md +158 -0
- package/pro/squads/squad-creator-pro/tasks/optimize-scope-clarification.md +110 -0
- package/pro/squads/squad-creator-pro/tasks/optimize-workflow-apply.md +142 -0
- package/pro/squads/squad-creator-pro/tasks/optimize-workflow-checkpoints.md +108 -0
- package/pro/squads/squad-creator-pro/tasks/optimize-workflow-executor-distribution.md +107 -0
- package/pro/squads/squad-creator-pro/tasks/optimize-workflow-gap-zero.md +113 -0
- package/pro/squads/squad-creator-pro/tasks/optimize-workflow-parallelization.md +107 -0
- package/pro/squads/squad-creator-pro/tasks/optimize-workflow-phase-necessity.md +139 -0
- package/pro/squads/squad-creator-pro/tasks/optimize-workflow-report.md +146 -0
- package/pro/squads/squad-creator-pro/tasks/optimize-workflow.md +119 -831
- package/pro/squads/squad-creator-pro/tasks/optimize.md +149 -1059
- package/pro/squads/squad-creator-pro/tasks/parallel-discovery.md +56 -3
- package/pro/squads/squad-creator-pro/tasks/plan-squad-architecture.md +34 -0
- package/pro/squads/squad-creator-pro/tasks/plan-squad-challenge-reorder.md +34 -0
- package/pro/squads/squad-creator-pro/tasks/plan-squad-contract.md +38 -0
- package/pro/squads/squad-creator-pro/tasks/plan-squad-depth-calibration.md +34 -0
- package/pro/squads/squad-creator-pro/tasks/plan-squad-domain-mapping.md +32 -0
- package/pro/squads/squad-creator-pro/tasks/plan-squad-prd-assembly.md +37 -0
- package/pro/squads/squad-creator-pro/tasks/plan-squad-roadmap.md +32 -0
- package/pro/squads/squad-creator-pro/tasks/plan-squad.md +90 -0
- package/pro/squads/squad-creator-pro/tasks/pv-audit-deep-dive.md +157 -0
- package/pro/squads/squad-creator-pro/tasks/pv-audit-overview.md +157 -0
- package/pro/squads/squad-creator-pro/tasks/pv-audit-sample.md +188 -0
- package/pro/squads/squad-creator-pro/tasks/pv-audit.md +118 -191
- package/pro/squads/squad-creator-pro/tasks/pv-axioma-assessment.md +89 -0
- package/pro/squads/squad-creator-pro/tasks/pv-modernization-score.md +87 -8
- package/pro/squads/squad-creator-pro/tasks/qa-after-creation.md +94 -455
- package/pro/squads/squad-creator-pro/tasks/qualify-task.md +93 -241
- package/pro/squads/squad-creator-pro/tasks/refresh-registry-enrich.md +171 -0
- package/pro/squads/squad-creator-pro/tasks/refresh-registry-scan.md +173 -0
- package/pro/squads/squad-creator-pro/tasks/refresh-registry-write.md +192 -0
- package/pro/squads/squad-creator-pro/tasks/refresh-registry.md +111 -351
- package/pro/squads/squad-creator-pro/tasks/smoke-test-model-routing-comparison.md +49 -0
- package/pro/squads/squad-creator-pro/tasks/smoke-test-model-routing-execution.md +49 -0
- package/pro/squads/squad-creator-pro/tasks/smoke-test-model-routing-lookup.md +49 -0
- package/pro/squads/squad-creator-pro/tasks/smoke-test-model-routing-preflight.md +48 -0
- package/pro/squads/squad-creator-pro/tasks/smoke-test-model-routing-report.md +51 -0
- package/pro/squads/squad-creator-pro/tasks/smoke-test-model-routing.md +84 -146
- package/pro/squads/squad-creator-pro/tasks/squad-analytics.md +141 -214
- package/pro/squads/squad-creator-pro/tasks/squad-fusion-cleanup.md +93 -0
- package/pro/squads/squad-creator-pro/tasks/squad-fusion-command-sync.md +97 -0
- package/pro/squads/squad-creator-pro/tasks/squad-fusion-deduplication.md +234 -0
- package/pro/squads/squad-creator-pro/tasks/squad-fusion-discovery.md +98 -0
- package/pro/squads/squad-creator-pro/tasks/squad-fusion-execution.md +246 -0
- package/pro/squads/squad-creator-pro/tasks/squad-fusion-initialize.md +247 -0
- package/pro/squads/squad-creator-pro/tasks/squad-fusion-integration.md +95 -0
- package/pro/squads/squad-creator-pro/tasks/squad-fusion-resolution.md +205 -0
- package/pro/squads/squad-creator-pro/tasks/squad-fusion-scope.md +95 -0
- package/pro/squads/squad-creator-pro/tasks/squad-fusion-structure.md +128 -0
- package/pro/squads/squad-creator-pro/tasks/squad-fusion-validation.md +96 -0
- package/pro/squads/squad-creator-pro/tasks/squad-fusion.md +115 -784
- package/pro/squads/squad-creator-pro/tasks/sync-chief-codex-skill.md +107 -0
- package/pro/squads/squad-creator-pro/tasks/sync-ide-skills.md +192 -0
- package/pro/squads/squad-creator-pro/tasks/update-mind-apply.md +207 -0
- package/pro/squads/squad-creator-pro/tasks/update-mind-extract-merge.md +257 -0
- package/pro/squads/squad-creator-pro/tasks/update-mind-extract.md +201 -0
- package/pro/squads/squad-creator-pro/tasks/update-mind-load-snapshot.md +177 -0
- package/pro/squads/squad-creator-pro/tasks/update-mind-load.md +173 -0
- package/pro/squads/squad-creator-pro/tasks/update-mind-merge.md +193 -0
- package/pro/squads/squad-creator-pro/tasks/update-mind.md +113 -364
- package/pro/squads/squad-creator-pro/tasks/upgrade-squad-apply.md +104 -0
- package/pro/squads/squad-creator-pro/tasks/upgrade-squad-gap.md +110 -0
- package/pro/squads/squad-creator-pro/tasks/upgrade-squad-inventory.md +110 -0
- package/pro/squads/squad-creator-pro/tasks/upgrade-squad-plan.md +107 -0
- package/pro/squads/squad-creator-pro/tasks/upgrade-squad-qualitative.md +104 -0
- package/pro/squads/squad-creator-pro/tasks/upgrade-squad-verify.md +106 -0
- package/pro/squads/squad-creator-pro/tasks/upgrade-squad.md +143 -907
- package/pro/squads/squad-creator-pro/tasks/validate-extraction-adversarial.md +182 -0
- package/pro/squads/squad-creator-pro/tasks/validate-extraction-checklist.md +155 -0
- package/pro/squads/squad-creator-pro/tasks/validate-extraction-gate.md +175 -0
- package/pro/squads/squad-creator-pro/tasks/validate-extraction.md +114 -172
- package/pro/squads/squad-creator-pro/tasks/validate-squad-contextual.md +120 -0
- package/pro/squads/squad-creator-pro/tasks/validate-squad-cross-references.md +122 -0
- package/pro/squads/squad-creator-pro/tasks/validate-squad-deterministic.md +261 -0
- package/pro/squads/squad-creator-pro/tasks/validate-squad-quality.md +138 -0
- package/pro/squads/squad-creator-pro/tasks/validate-squad-verdict.md +183 -0
- package/pro/squads/squad-creator-pro/tasks/validate-squad.md +102 -1352
- package/pro/squads/squad-creator-pro/tasks/workspace-integration-hardening.md +187 -0
- package/pro/squads/squad-creator-pro/templates/agent-flow-doc-tmpl.md +3 -3
- package/pro/squads/squad-creator-pro/templates/agent-tmpl.md +1 -1
- package/pro/squads/squad-creator-pro/templates/config-tmpl.yaml +87 -5
- package/pro/squads/squad-creator-pro/templates/cross-domain-handoff-tmpl.yaml +17 -0
- package/pro/squads/squad-creator-pro/templates/journey-log-tmpl.yaml +75 -0
- package/pro/squads/squad-creator-pro/templates/pop-extractor-prompt.md +4 -4
- package/pro/squads/squad-creator-pro/templates/quality-gate-tmpl.yaml +4 -4
- package/pro/squads/squad-creator-pro/templates/readme-tmpl.md +5 -5
- package/pro/squads/squad-creator-pro/templates/report-tmpl.yaml +14 -0
- package/pro/squads/squad-creator-pro/templates/session-heuristic-tmpl.md +100 -0
- package/pro/squads/squad-creator-pro/templates/squad-prd-deep-tmpl.md +434 -0
- package/pro/squads/squad-creator-pro/templates/task-tmpl.md +1 -1
- package/pro/squads/squad-creator-pro/templates/workflow-doc-tmpl.md +2 -2
- package/pro/squads/squad-creator-pro/templates/workflow-tmpl.yaml +4 -4
- package/pro/squads/squad-creator-pro/test-cases/BATCH-PROGRESS.md +3 -3
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/README.md +1 -1
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/TEST-REPORT-v2.1.md +2 -2
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/VERIFICATION-CHECKLIST.txt +2 -2
- package/pro/squads/squad-creator-pro/test-cases/an-validate-clone/opus-baseline.yaml +2 -2
- package/pro/squads/squad-creator-pro/test-cases/create-task/test-case.yaml +2 -2
- package/pro/squads/squad-creator-pro/test-cases/pv-modernization-score/opus-baseline.yaml +3 -3
- package/pro/squads/squad-creator-pro/test-cases/qa-after-creation/opus-baseline.yaml +1 -1
- package/pro/squads/squad-creator-pro/test-cases/upgrade-squad/test-case.yaml +3 -3
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/opus-round-3-v4-task.yaml +1 -1
- package/pro/squads/squad-creator-pro/workflows/create-squad.yaml +219 -267
- package/pro/squads/squad-creator-pro/workflows/modules/module-discovery.yaml +3 -3
- package/pro/squads/squad-creator-pro/workflows/modules/module-integration.yaml +19 -1
- package/pro/squads/squad-creator-pro/workflows/modules/module-quality-gates.yaml +6 -1
- package/pro/squads/squad-creator-pro/workflows/validate-squad.yaml +461 -491
- package/pro/squads/squad-creator-pro/workflows/wf-assess-sources.yaml +62 -0
- package/pro/squads/squad-creator-pro/workflows/wf-auto-acquire-sources.yaml +258 -256
- package/pro/squads/squad-creator-pro/workflows/wf-brownfield-upgrade-squad.yaml +115 -19
- package/pro/squads/squad-creator-pro/workflows/wf-clone-mind.yaml +327 -241
- package/pro/squads/squad-creator-pro/workflows/wf-clone-review.yaml +111 -0
- package/pro/squads/squad-creator-pro/workflows/wf-collect-sources.yaml +104 -0
- package/pro/squads/squad-creator-pro/workflows/wf-compare-outputs.yaml +77 -0
- package/pro/squads/squad-creator-pro/workflows/wf-context-aware-create-squad.yaml +150 -20
- package/pro/squads/squad-creator-pro/workflows/wf-create-from-sop.yaml +117 -0
- package/pro/squads/squad-creator-pro/workflows/wf-create-pipeline.yaml +19 -0
- package/pro/squads/squad-creator-pro/workflows/wf-create-squad.yaml +1053 -909
- package/pro/squads/squad-creator-pro/workflows/wf-create-task.yaml +22 -0
- package/pro/squads/squad-creator-pro/workflows/wf-create-template.yaml +17 -0
- package/pro/squads/squad-creator-pro/workflows/wf-create-workflow.yaml +22 -0
- package/pro/squads/squad-creator-pro/workflows/wf-cross-provider-qualification.yaml +289 -340
- package/pro/squads/squad-creator-pro/workflows/wf-deconstruct.yaml +92 -0
- package/pro/squads/squad-creator-pro/workflows/wf-deep-research.yaml +148 -0
- package/pro/squads/squad-creator-pro/workflows/wf-design-clone.yaml +103 -0
- package/pro/squads/squad-creator-pro/workflows/wf-diagnose-clone.yaml +115 -0
- package/pro/squads/squad-creator-pro/workflows/wf-discover-tools.yaml +881 -609
- package/pro/squads/squad-creator-pro/workflows/wf-extract-dna.yaml +103 -0
- package/pro/squads/squad-creator-pro/workflows/wf-extract-expert-gold.yaml +101 -0
- package/pro/squads/squad-creator-pro/workflows/wf-extract-framework.yaml +108 -0
- package/pro/squads/squad-creator-pro/workflows/wf-extract-implicit.yaml +101 -0
- package/pro/squads/squad-creator-pro/workflows/wf-extract-knowledge.yaml +162 -0
- package/pro/squads/squad-creator-pro/workflows/wf-extract-sop.yaml +143 -0
- package/pro/squads/squad-creator-pro/workflows/wf-extract-thinking-dna.yaml +210 -0
- package/pro/squads/squad-creator-pro/workflows/wf-extract-voice-dna.yaml +76 -0
- package/pro/squads/squad-creator-pro/workflows/wf-extraction-pipeline.yaml +267 -278
- package/pro/squads/squad-creator-pro/workflows/wf-fidelity-score.yaml +88 -0
- package/pro/squads/squad-creator-pro/workflows/wf-find-08.yaml +71 -0
- package/pro/squads/squad-creator-pro/workflows/wf-install-context-stack.yaml +88 -0
- package/pro/squads/squad-creator-pro/workflows/wf-install-workspace-context.yaml +764 -0
- package/pro/squads/squad-creator-pro/workflows/wf-migrate-workflows.yaml +103 -0
- package/pro/squads/squad-creator-pro/workflows/wf-mind-research-loop.yaml +364 -361
- package/pro/squads/squad-creator-pro/workflows/wf-model-tier-qualification.yaml +297 -360
- package/pro/squads/squad-creator-pro/workflows/wf-modernize-squad.yaml +178 -0
- package/pro/squads/squad-creator-pro/workflows/wf-next-action.yaml +113 -0
- package/pro/squads/squad-creator-pro/workflows/wf-optimize-squad.yaml +450 -373
- package/pro/squads/squad-creator-pro/workflows/wf-optimize-workflow.yaml +122 -0
- package/pro/squads/squad-creator-pro/workflows/wf-optimize-yolo.yaml +595 -0
- package/pro/squads/squad-creator-pro/workflows/wf-plan-squad.yaml +255 -0
- package/pro/squads/squad-creator-pro/workflows/wf-pv-audit.yaml +115 -0
- package/pro/squads/squad-creator-pro/workflows/wf-refresh-registry.yaml +110 -0
- package/pro/squads/squad-creator-pro/workflows/wf-research-then-create-agent.yaml +489 -552
- package/pro/squads/squad-creator-pro/workflows/wf-smoke-test-model-routing.yaml +103 -0
- package/pro/squads/squad-creator-pro/workflows/wf-squad-fusion.yaml +697 -690
- package/pro/squads/squad-creator-pro/workflows/wf-update-mind.yaml +148 -0
- package/pro/squads/squad-creator-pro/workflows/wf-upgrade-squad.yaml +141 -0
- package/pro/squads/squad-creator-pro/workflows/wf-validate-clone.yaml +120 -0
- package/pro/squads/squad-creator-pro/workflows/wf-validate-extraction.yaml +111 -0
- package/pro/squads/squad-creator-pro/workflows/wf-workspace-integration-hardening.yaml +119 -0
- package/pro/squads/storytelling/CHANGELOG.md +30 -0
- package/pro/squads/storytelling/HEADLINE.md +3 -0
- package/pro/squads/storytelling/README.md +137 -0
- package/pro/squads/storytelling/agents/blake-snyder.md +451 -0
- package/pro/squads/storytelling/agents/dan-harmon.md +742 -0
- package/pro/squads/storytelling/agents/donald-miller.md +662 -0
- package/pro/squads/storytelling/agents/joseph-campbell.md +625 -0
- package/pro/squads/storytelling/agents/keith-johnstone.md +467 -0
- package/pro/squads/storytelling/agents/kindra-hall.md +953 -0
- package/pro/squads/storytelling/agents/marshall-ganz.md +473 -0
- package/pro/squads/storytelling/agents/matthew-dicks.md +526 -0
- package/pro/squads/storytelling/agents/nancy-duarte.md +528 -0
- package/pro/squads/storytelling/agents/oren-klaff.md +785 -0
- package/pro/squads/storytelling/agents/park-howell.md +807 -0
- package/pro/squads/storytelling/agents/shawn-coyne.md +540 -0
- package/pro/squads/storytelling/agents/story-chief.md +409 -0
- package/pro/squads/storytelling/checklists/story-quality-checklist.md +100 -0
- package/pro/squads/storytelling/config.yaml +248 -0
- package/pro/squads/storytelling/data/story-mappings.yaml +200 -0
- package/pro/squads/storytelling/docs/.gitkeep +0 -0
- package/pro/squads/storytelling/research/blake-snyder-save-the-cat-research.md +958 -0
- package/pro/squads/storytelling/research/donald-miller-storybrand-research.md +1205 -0
- package/pro/squads/storytelling/research/joseph-campbell-heros-journey-research.md +1170 -0
- package/pro/squads/storytelling/research/keith-johnstone-improv-spontaneity-research.md +574 -0
- package/pro/squads/storytelling/research/marshall-ganz-public-narrative-research.md +658 -0
- package/pro/squads/storytelling/research/nancy-duarte-sparkline-research.md +892 -0
- package/pro/squads/storytelling/research/shawn-coyne-story-grid-research.md +760 -0
- package/pro/squads/storytelling/scripts/generate-story-greeting.cjs +140 -0
- package/pro/squads/storytelling/scripts/load-context.cjs +141 -0
- package/pro/squads/storytelling/scripts/resolve-readiness.cjs +45 -0
- package/pro/squads/storytelling/scripts/runtime-paths.cjs +44 -0
- package/pro/squads/storytelling/scripts/set-active-context.cjs +108 -0
- package/pro/squads/storytelling/scripts/show-context.cjs +22 -0
- package/pro/squads/storytelling/squad-io.yaml +573 -0
- package/pro/squads/storytelling/tasks/apply-abt.md +856 -0
- package/pro/squads/storytelling/tasks/apply-beat-sheet.md +1245 -0
- package/pro/squads/storytelling/tasks/apply-heros-journey.md +1100 -0
- package/pro/squads/storytelling/tasks/apply-save-the-cat.md +1075 -0
- package/pro/squads/storytelling/tasks/apply-story-circle.md +1116 -0
- package/pro/squads/storytelling/tasks/craft-personal-story.md +1004 -0
- package/pro/squads/storytelling/tasks/craft-public-narrative.md +1193 -0
- package/pro/squads/storytelling/tasks/craft-ted-talk.md +773 -0
- package/pro/squads/storytelling/tasks/create-brandscript.md +1376 -0
- package/pro/squads/storytelling/tasks/create-business-story.md +1472 -0
- package/pro/squads/storytelling/tasks/create-pitch.md +1128 -0
- package/pro/squads/storytelling/tasks/diagnose-story-grid.md +979 -0
- package/pro/squads/storytelling/tasks/improvise-story.md +772 -0
- package/pro/squads/storytelling/templates/narrative-output-tmpl.md +44 -0
- package/pro/squads/storytelling/workflows/story-creation.yaml +80 -0
- package/scripts/validate-package-completeness.js +4 -1
- package/.aiox-core/core/execution/predictive-pipeline.js +0 -1283
- package/.aiox-core/core/memory/decision-memory.js +0 -564
- package/.aiox-core/data/registry-update-log.jsonl +0 -2
- package/pro/squads/mmos-squad/minds/alex_hormozi/artifacts/ARQUITETURA_COGNITIVA_DE_ALEX_HORMOZI_EXTRA/303/207/303/203O_COMPLETA.md +0 -215
- package/pro/squads/mmos-squad/minds/alex_hormozi/artifacts/A_Rotina_de_Alta_Performance_de_Alex_Hormozi_Arquitetura,_Motiva/303/247/303/265es_e_Replica/303/247/303/243o.md +0 -309
- package/pro/squads/mmos-squad/minds/alex_hormozi/artifacts/O_sistema_completo_de_cria/303/247/303/243o_de_conte/303/272do_de_Alex_Hormozi.md +0 -416
- package/pro/squads/mmos-squad/minds/brad_frost/.backup/2026-01-13/artifacts/DECIS/303/225ES_ESTRAT/303/211GICAS_DE_DESIGN_SYSTEMS_(2022_2025).md +0 -1038
- package/pro/squads/mmos-squad/minds/brad_frost/.backup/2026-01-13/artifacts/FRAMEWORK_COMPLETO_DE_IMPLEMENTA/303/207/303/203O_ATOMIC_DESIGN.md +0 -797
- package/pro/squads/mmos-squad/minds/brad_frost/.backup/2026-01-13/artifacts/O_Cemit/303/251rio_de_Design_Systems.md +0 -447
- package/pro/squads/mmos-squad/minds/brad_frost/.backup/2026-01-13/artifacts/PRINC/303/215PIOS_DE_RACIOC/303/215NIO.md +0 -190
- package/pro/squads/mmos-squad/minds/brad_frost/artifacts/DECIS/303/225ES_ESTRAT/303/211GICAS_DE_DESIGN_SYSTEMS_(2022_2025).md +0 -1038
- package/pro/squads/mmos-squad/minds/brad_frost/artifacts/FRAMEWORK_COMPLETO_DE_IMPLEMENTA/303/207/303/203O_ATOMIC_DESIGN.md +0 -797
- package/pro/squads/mmos-squad/minds/brad_frost/artifacts/O_Cemit/303/251rio_de_Design_Systems.md +0 -447
- package/pro/squads/mmos-squad/minds/brad_frost/artifacts/PRINC/303/215PIOS_DE_RACIOC/303/215NIO.md +0 -190
- package/pro/squads/mmos-squad/minds/elon_musk/artifacts/AN/303/201LISE_PSICOM/303/211TRICA_PROFUNDA_ELON_MUSK.md +0 -291
- package/pro/squads/mmos-squad/minds/elon_musk/artifacts/ASSINATURA_LINGU/303/215STICA_ELON_MUSK.md +0 -485
- package/pro/squads/mmos-squad/minds/elon_musk/artifacts/A_Arquitetura_Mental_de_Elon_Musk_Uma_An/303/241lise_Sistem/303/241tica_dos_Frameworks_de_Pensamento.md +0 -907
- package/pro/squads/mmos-squad/minds/elon_musk/artifacts/Dossi/303/252_Estrat/303/251gico_A_Arquitetura_Psicol/303/263gica_de_Elon_Musk.md +0 -252
- package/pro/squads/mmos-squad/minds/elon_musk/artifacts/Os_Padr/303/265es_de_Leitura_de_Elon_Musk_e_Sua_Influ/303/252ncia_Sistem/303/241tica.md +0 -287
- package/pro/squads/mmos-squad/minds/elon_musk/artifacts/Uma_an/303/241lise_psicol/303/263gica_abrangente.md +0 -187
- package/pro/squads/mmos-squad/minds/eugene_schwartz/artifacts/AN/303/201LISE_PSICOM/303/211TRICA_PROFUNDA_EUGENE_M._SCHWARTZ.md +0 -790
- package/pro/squads/mmos-squad/minds/eugene_schwartz/artifacts/An/303/241lise_Completa_Eugene_Schwartz_Arquitetura_Cognitiva_DEEP.md +0 -210
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/5H_EXTRA/303/207/303/203O_COGNITIVA_COMPLETA_PEDRO_VAL/303/211RIO_LOPEZ.md +0 -226
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/AN/303/201LISE_COMPARATIVA_REVISADA_PEDRO_VAL/303/211RIO_LOPEZ.md +0 -246
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/AN/303/201LISE_LINGU/303/215STICA_CARIOCA_PEDRO_VAL/303/211RIO_LOPEZ.md +0 -274
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/AN/303/201LISE_PSICOM/303/211TRICA_DEFINITIVA_PEDRO_VAL/303/211RIO_LOPEZ.md +0 -821
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/AN/303/201LISE_PSICOM/303/211TRICA_PROFUNDA_PEDRO_VAL/303/211RIO.md +0 -1844
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/C/303/201LCULO_DE_RARIDADE_ESTAT/303/215STICA_PEDRO_VAL/303/211RIO_LOPEZ.md +0 -154
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/EXTRA/303/207/303/203O_PEDRO_VAL/303/211RIO.md +0 -237
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/MAPEAMENTO_LINGU/303/215STICO_PROFUNDO.md +0 -161
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/META_AXIOMAS_DE_PEDRO_VAL/303/211RIO.md +0 -256
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/SISTEMA_IMUNOL/303/223GICO_COGNITIVO_PEDRO_VAL/303/211RIO_LOPEZ.md +0 -586
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/SISTEMA_IMUNOL/303/223GICO_COGNITIVO_V2_/342/200/224_CLONE_IA.md +0 -452
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/TABELA_COMPARATIVA_AN/303/201LISE_COMPLETA_DOS_CLONES_IA.md +0 -102
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/WHATSAPP_PADR/303/225ES_LINGU/303/215STICOS_PEDRO_VAL/303/211RIO_LOPEZ.md +0 -286
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/heur/303/255sticas_de_decis/303/243o_e_algoritmos_mentais_/303/272nicos.md +0 -268
- package/pro/squads/mmos-squad/minds/ray_kurzweil/sources/books/PROTOCOLO_COMPLETO_DE_INTERROGA/303/207/303/203O_-_NAVAL_RAVIKANT.md +0 -3624
- package/pro/squads/mmos-squad/minds/steve_jobs/artifacts/FRAMEWORK_COMPLETO_DE_IMPLEMENTA/303/207/303/203O_JOBS.md +0 -488
- package/pro/squads/mmos-squad/minds/steve_jobs/artifacts/Framework_Cabe/303/247a_Steve.md +0 -257
- package/pro/squads/mmos-squad/minds/steve_jobs/artifacts/Relat/303/263rio_Abrangente_sobre_Steve_Jobs_para_Cria/303/247/303/243o_de_Clone_de_IA.md +0 -370
- package/pro/squads/mmos-squad/minds/steve_jobs/artifacts/Steve_Jobs_An/303/241lise_Psicol/303/263gica_Profunda_e_Valida/303/247/303/243o_Comportamental.md +0 -65
- package/pro/squads/squad-creator-pro/assessments/axioma-assessment-wf-create-squad.yaml +0 -325
- package/pro/squads/squad-creator-pro/checklists/create-agent-checklist.md +0 -184
- package/pro/squads/squad-creator-pro/checklists/create-workflow-checklist.md +0 -224
- package/pro/squads/squad-creator-pro/checklists/squad-overview-checklist.md +0 -393
- package/pro/squads/squad-creator-pro/docs/ADR-001-model-tier-qualification.md +0 -344
- package/pro/squads/squad-creator-pro/docs/AGENT-COLLABORATION.md +0 -609
- package/pro/squads/squad-creator-pro/docs/MIGRATION-PLAN-AGENT-CONFORMITY.md +0 -861
- package/pro/squads/squad-creator-pro/docs/MIGRATION-ROADMAP-HYBRIDOPS.md +0 -1161
- package/pro/squads/squad-creator-pro/docs/MODEL-TIER-QUALIFICATION.md +0 -337
- package/pro/squads/squad-creator-pro/docs/RFC-001-deterministic-refactoring.md +0 -463
- package/pro/squads/squad-creator-pro/docs/optimize-v4-proposal.md +0 -354
- package/pro/squads/squad-creator-pro/docs/session-report-2026-02-01.md +0 -411
- package/pro/squads/squad-creator-pro/docs/validation-report-2026-02-01.md +0 -439
- package/pro/squads/squad-creator-pro/protocols/ai-first-governance.md +0 -63
- package/pro/squads/squad-creator-pro/scripts/__pycache__/dependency_check.cpython-314.pyc +0 -0
- package/pro/squads/squad-creator-pro/scripts/__pycache__/inventory.cpython-314.pyc +0 -0
- package/pro/squads/squad-creator-pro/scripts/__pycache__/naming_validator.cpython-314.pyc +0 -0
- package/pro/squads/squad-creator-pro/scripts/__pycache__/quality_gate.cpython-314.pyc +0 -0
- package/pro/squads/squad-creator-pro/scripts/__pycache__/scoring.cpython-314.pyc +0 -0
- package/pro/squads/squad-creator-pro/scripts/__pycache__/yaml_validator.cpython-314.pyc +0 -0
- package/pro/squads/squad-creator-pro/scripts/sync-ide-command.py +0 -590
- package/pro/squads/squad-creator-pro/squad.yaml +0 -36
- package/pro/squads/squad-creator-pro/tasks/detect-squad-context.md +0 -81
- package/pro/squads/squad-creator-pro/tasks/find-0.8.md +0 -222
- package/pro/squads/squad-creator-pro/tasks/install-commands.md +0 -373
- package/pro/squads/squad-creator-pro/tasks/next-squad.md +0 -487
- package/pro/squads/squad-creator-pro/tasks/pv-axioma-assessment-wf-clone-mind.yaml +0 -256
- package/pro/squads/squad-creator-pro/tasks/reexecute-squad-phase.md +0 -64
- package/pro/squads/squad-creator-pro/tasks/squad-overview.md +0 -683
- package/pro/squads/squad-creator-pro/tasks/sync-ide-command.md +0 -392
- package/pro/squads/squad-creator-pro/tasks/validate-final-artifacts.md +0 -80
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/haiku-output.yaml +0 -366
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/haiku-v2.1-output.yaml +0 -452
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/haiku-v2.2.1-output.yaml +0 -281
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/haiku-v2.2.2-output.yaml +0 -332
- package/pro/squads/squad-creator-pro/test-cases/an-clone-review/haiku-round-1.yaml +0 -213
- package/pro/squads/squad-creator-pro/test-cases/an-fidelity-score/haiku-round-1.yaml +0 -262
- package/pro/squads/squad-creator-pro/test-cases/an-validate-clone/haiku-round-1.yaml +0 -282
- package/pro/squads/squad-creator-pro/test-cases/pv-axioma-assessment/haiku-output.yaml +0 -209
- package/pro/squads/squad-creator-pro/test-cases/pv-modernization-score/haiku-round-1.yaml +0 -393
- package/pro/squads/squad-creator-pro/test-cases/qa-after-creation/haiku-round-1.yaml +0 -292
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/haiku-round-1-MINE.yaml +0 -36
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/haiku-round-1.yaml +0 -193
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/haiku-round-2.yaml +0 -303
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/haiku-round-3-v4-task.yaml +0 -149
- package/pro/squads/squad-creator-pro/test-cases/wf-clone-mind/haiku-output-v2-calibrated.yaml +0 -200
- package/pro/squads/squad-creator-pro/test-cases/wf-clone-mind/haiku-output.yaml +0 -183
- /package/pro/squads/{mmos-squad/minds/alex_hormozi/artifacts/Processo_Cria/303/247/303/243o_Conte/303/272do_Hormozi.md" → claude-code-mastery/docs/.gitkeep} +0 -0
- /package/pro/squads/{squad-creator-pro → squad-creator}/HEADLINE.md +0 -0
- /package/pro/squads/{squad-creator-pro → squad-creator}/checklists/smoke-test-agent.md +0 -0
- /package/pro/squads/{squad-creator-pro → squad-creator}/data/executor-decision-tree.md +0 -0
- /package/pro/squads/{squad-creator-pro → squad-creator}/data/pipeline-patterns.md +0 -0
- /package/pro/squads/{squad-creator-pro → squad-creator}/data/squad-type-definitions.yaml +0 -0
- /package/pro/squads/{squad-creator-pro → squad-creator}/docs/TROUBLESHOOTING.md +0 -0
- /package/pro/squads/{squad-creator-pro → squad-creator}/docs/task-optimization-framework.md +0 -0
- /package/pro/squads/{squad-creator-pro → squad-creator}/templates/handoff-insumos-tmpl.yaml +0 -0
- /package/pro/squads/{squad-creator-pro → squad-creator}/templates/orchestrator-tmpl.md +0 -0
- /package/pro/squads/{squad-creator-pro → squad-creator}/templates/pipeline-progress-tmpl.py +0 -0
- /package/pro/squads/{squad-creator-pro → squad-creator}/templates/pipeline-runner-tmpl.py +0 -0
- /package/pro/squads/{squad-creator-pro → squad-creator}/templates/pipeline-state-tmpl.py +0 -0
- /package/pro/squads/{squad-creator-pro → squad-creator}/templates/quality-dashboard-tmpl.md +0 -0
- /package/pro/squads/{squad-creator-pro → squad-creator}/templates/squad-readme-tmpl.md +0 -0
|
@@ -0,0 +1,1660 @@
|
|
|
1
|
+
# Calculate Customer Lifetime Value (CLV) Task
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Calcular o Customer Lifetime Value (CLV) usando metodologias rigorosas de Peter Fader e Bruce Hardie (Wharton/LBS). Esta task implementa múltiplos métodos de cálculo - do histórico simples aos modelos probabilísticos avançados (BG/NBD, Gamma-Gamma) - permitindo escolher a abordagem adequada baseada nos dados disponíveis e maturidade analítica da organização.
|
|
6
|
+
|
|
7
|
+
## Workspace Output Contract
|
|
8
|
+
|
|
9
|
+
- Preflight: `*workspace-preflight` + `*workspace-context {slug}`
|
|
10
|
+
- Output canônico (template-first): `workspace/businesses/{slug}/analytics/clv-report.yaml`
|
|
11
|
+
- Output custom (ad-hoc): `docs/data/{slug}/clv-investigation-{date}.md`
|
|
12
|
+
- Regra: escrita canônica só se existir template em `workspace/_templates/analytics/clv-report.yaml`
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
- Precisa determinar quanto vale cada cliente para o negócio
|
|
17
|
+
- Quer segmentar clientes por valor (não apenas por comportamento)
|
|
18
|
+
- Precisa calcular CAC máximo aceitável (CLV deve ser > CAC)
|
|
19
|
+
- Quer projetar receita futura baseada em clientes existentes
|
|
20
|
+
- Precisa justificar investimento em retenção vs aquisição
|
|
21
|
+
- Quer identificar quais clientes merecem mais investimento
|
|
22
|
+
- Precisa valuar a empresa baseada em customer equity
|
|
23
|
+
- Está fazendo análise de cohort por valor
|
|
24
|
+
- Precisa prever comportamento futuro de compra
|
|
25
|
+
|
|
26
|
+
## Core Methodology
|
|
27
|
+
|
|
28
|
+
Esta task integra três níveis de sofisticação:
|
|
29
|
+
|
|
30
|
+
1. **CLV Histórico** - Análise retroativa simples
|
|
31
|
+
2. **CLV Preditivo Tradicional** - Projeções com fórmulas determinísticas
|
|
32
|
+
3. **CLV Probabilístico** - Modelos BG/NBD + Gamma-Gamma (Fader/Hardie)
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Task Metadata
|
|
37
|
+
|
|
38
|
+
```yaml
|
|
39
|
+
task:
|
|
40
|
+
name: Calculate Customer Lifetime Value
|
|
41
|
+
id: calculate-clv
|
|
42
|
+
version: "1.0"
|
|
43
|
+
category: customer_analytics
|
|
44
|
+
difficulty: intermediate_to_advanced
|
|
45
|
+
primary_agents:
|
|
46
|
+
- peter-fader
|
|
47
|
+
supporting_agents:
|
|
48
|
+
- nick-mehta # Para integração com Health Score
|
|
49
|
+
- sean-ellis # Para conexão com métricas de growth
|
|
50
|
+
estimated_time: "2-4 hours (dados prontos) | 1-2 semanas (coleta + análise)"
|
|
51
|
+
|
|
52
|
+
prerequisites:
|
|
53
|
+
- Dados transacionais de clientes (mínimo 6 meses)
|
|
54
|
+
- Identificação única por cliente
|
|
55
|
+
- Timestamps das transações
|
|
56
|
+
- Valores monetários das transações
|
|
57
|
+
|
|
58
|
+
outputs:
|
|
59
|
+
- CLV por cliente individual
|
|
60
|
+
- CLV por segmento/cohort
|
|
61
|
+
- Distribuição de valor (Pareto analysis)
|
|
62
|
+
- Projeções de receita futura
|
|
63
|
+
- Recomendações de estratégia por valor
|
|
64
|
+
|
|
65
|
+
frameworks_used:
|
|
66
|
+
- Customer Centricity (Fader)
|
|
67
|
+
- RFM Analysis
|
|
68
|
+
- BG/NBD Model
|
|
69
|
+
- Gamma-Gamma Model
|
|
70
|
+
- Pareto/NBD Model (reference)
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Phase 0: Pre-Flight Check (Tier 0 Diagnostic)
|
|
76
|
+
|
|
77
|
+
**MANDATORY: Antes de calcular qualquer CLV, complete este diagnóstico.**
|
|
78
|
+
|
|
79
|
+
### Block A: Entendimento do Contexto de Negócio
|
|
80
|
+
|
|
81
|
+
```yaml
|
|
82
|
+
questions:
|
|
83
|
+
A1_business_model:
|
|
84
|
+
question: "Qual é o modelo de negócio?"
|
|
85
|
+
options:
|
|
86
|
+
contractual:
|
|
87
|
+
description: "Assinaturas, SaaS, memberships"
|
|
88
|
+
implication: "Churn é observável diretamente"
|
|
89
|
+
clv_approach: "Retention-based CLV"
|
|
90
|
+
non_contractual:
|
|
91
|
+
description: "E-commerce, varejo, compras recorrentes opcionais"
|
|
92
|
+
implication: "Churn é latente (não sabemos quando cliente 'morreu')"
|
|
93
|
+
clv_approach: "BG/NBD + Gamma-Gamma (probabilístico)"
|
|
94
|
+
hybrid:
|
|
95
|
+
description: "Mix de transacional com elementos contratuais"
|
|
96
|
+
implication: "Requer análise separada por stream"
|
|
97
|
+
clv_approach: "Modelo híbrido"
|
|
98
|
+
|
|
99
|
+
A2_transaction_frequency:
|
|
100
|
+
question: "Com que frequência clientes compram?"
|
|
101
|
+
options:
|
|
102
|
+
high_frequency: "Múltiplas vezes por mês (daily/weekly)"
|
|
103
|
+
medium_frequency: "1-2x por mês"
|
|
104
|
+
low_frequency: "Algumas vezes por ano"
|
|
105
|
+
very_low: "1-2x por ano ou menos"
|
|
106
|
+
implication: |
|
|
107
|
+
Alta frequência = mais dados = modelos mais precisos
|
|
108
|
+
Baixa frequência = requer período de análise mais longo
|
|
109
|
+
|
|
110
|
+
A3_customer_tenure:
|
|
111
|
+
question: "Quanto tempo você tem dados de clientes?"
|
|
112
|
+
validation:
|
|
113
|
+
minimum_recommended: "12 meses (ideal 24-36)"
|
|
114
|
+
minimum_viable: "6 meses"
|
|
115
|
+
if_less_than_6_months: "CLV histórico apenas, modelos preditivos instáveis"
|
|
116
|
+
|
|
117
|
+
A4_objective:
|
|
118
|
+
question: "Qual é o objetivo principal do cálculo de CLV?"
|
|
119
|
+
options:
|
|
120
|
+
segmentation: "Segmentar base por valor para estratégias diferenciadas"
|
|
121
|
+
acquisition: "Determinar CAC máximo aceitável"
|
|
122
|
+
valuation: "Calcular customer equity para valuation"
|
|
123
|
+
retention: "Identificar quem vale a pena reter"
|
|
124
|
+
forecasting: "Projetar receita futura"
|
|
125
|
+
all_above: "Análise completa de Customer Centricity"
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Block B: Disponibilidade de Dados
|
|
129
|
+
|
|
130
|
+
```yaml
|
|
131
|
+
data_requirements:
|
|
132
|
+
minimum_fields:
|
|
133
|
+
- customer_id: "Identificador único do cliente"
|
|
134
|
+
- transaction_date: "Data de cada transação"
|
|
135
|
+
- transaction_amount: "Valor de cada transação"
|
|
136
|
+
|
|
137
|
+
enhanced_fields:
|
|
138
|
+
- first_purchase_date: "Data da primeira compra"
|
|
139
|
+
- product_category: "Para CLV por categoria"
|
|
140
|
+
- acquisition_channel: "Para CLV por fonte"
|
|
141
|
+
- cost_of_goods: "Para CLV baseado em margem"
|
|
142
|
+
- cohort_id: "Para análise de cohort"
|
|
143
|
+
|
|
144
|
+
data_quality_check:
|
|
145
|
+
- "Há duplicatas de customer_id?"
|
|
146
|
+
- "Há transações com valor zero ou negativo?"
|
|
147
|
+
- "Há gaps temporais nos dados?"
|
|
148
|
+
- "Refunds/chargebacks estão identificados?"
|
|
149
|
+
- "B2B e B2C estão separados?"
|
|
150
|
+
|
|
151
|
+
questions:
|
|
152
|
+
B1_data_format:
|
|
153
|
+
question: "Em que formato estão os dados?"
|
|
154
|
+
options:
|
|
155
|
+
- "Database SQL (Postgres, MySQL, etc.)"
|
|
156
|
+
- "CSV/Excel"
|
|
157
|
+
- "Data Warehouse (BigQuery, Snowflake, etc.)"
|
|
158
|
+
- "CRM export"
|
|
159
|
+
- "Multiple sources (need integration)"
|
|
160
|
+
|
|
161
|
+
B2_data_completeness:
|
|
162
|
+
question: "Os dados cobrem 100% das transações?"
|
|
163
|
+
warning: |
|
|
164
|
+
Se não, CLV será subestimado.
|
|
165
|
+
Exemplo: Se loja física não está integrada, CLV de omnichannel será incorreto.
|
|
166
|
+
|
|
167
|
+
B3_margin_availability:
|
|
168
|
+
question: "Você tem dados de margem/custo por transação?"
|
|
169
|
+
options:
|
|
170
|
+
yes_per_transaction: "Margem calculada por transação"
|
|
171
|
+
yes_average: "Margem média conhecida (ex: 40%)"
|
|
172
|
+
no: "Apenas receita disponível"
|
|
173
|
+
implication: |
|
|
174
|
+
CLV baseado em receita superestima valor real.
|
|
175
|
+
CLV baseado em margem é mais preciso para decisões.
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Block C: Premissas de Negócio
|
|
179
|
+
|
|
180
|
+
```yaml
|
|
181
|
+
questions:
|
|
182
|
+
C1_discount_rate:
|
|
183
|
+
question: "Qual taxa de desconto usar para NPV?"
|
|
184
|
+
guidance: |
|
|
185
|
+
Típico: 10-15% ao ano
|
|
186
|
+
Conservador: 15-20%
|
|
187
|
+
Agressivo: 5-10%
|
|
188
|
+
default: "12% (1% ao mês)"
|
|
189
|
+
|
|
190
|
+
C2_time_horizon:
|
|
191
|
+
question: "Por quanto tempo projetar CLV?"
|
|
192
|
+
options:
|
|
193
|
+
- "12 meses (CLV curto prazo)"
|
|
194
|
+
- "24 meses (CLV médio prazo)"
|
|
195
|
+
- "36 meses (CLV padrão)"
|
|
196
|
+
- "60 meses (CLV longo prazo)"
|
|
197
|
+
- "Lifetime (até churn esperado)"
|
|
198
|
+
recommendation: |
|
|
199
|
+
Para maioria dos negócios digitais: 36 meses
|
|
200
|
+
Para SaaS com churn alto: 24 meses
|
|
201
|
+
Para mercados estáveis com alta retenção: 60+ meses
|
|
202
|
+
|
|
203
|
+
C3_acquisition_cost:
|
|
204
|
+
question: "Qual é o CAC médio atual?"
|
|
205
|
+
purpose: "Para calcular CLV:CAC ratio e payback period"
|
|
206
|
+
healthy_ratio: "CLV:CAC >= 3:1"
|
|
207
|
+
minimum_ratio: "CLV:CAC >= 1:1 (breakeven)"
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Pre-Flight Output
|
|
211
|
+
|
|
212
|
+
```yaml
|
|
213
|
+
diagnostic_summary:
|
|
214
|
+
business_model: "[contractual/non_contractual/hybrid]"
|
|
215
|
+
recommended_method: "[histórico/preditivo_tradicional/probabilístico]"
|
|
216
|
+
data_readiness: "[ready/needs_preparation/insufficient]"
|
|
217
|
+
time_horizon: "[X] meses"
|
|
218
|
+
discount_rate: "[X]%"
|
|
219
|
+
|
|
220
|
+
data_gaps:
|
|
221
|
+
- "[Gap 1 identificado]"
|
|
222
|
+
- "[Gap 2 identificado]"
|
|
223
|
+
|
|
224
|
+
recommended_actions_before_clv:
|
|
225
|
+
- "[Ação 1 para preparar dados]"
|
|
226
|
+
- "[Ação 2]"
|
|
227
|
+
|
|
228
|
+
proceed_to_phase: "[1/2/3]" # Baseado em maturidade e dados
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## Phase 1: CLV Histórico (Retroativo)
|
|
234
|
+
|
|
235
|
+
**Quando usar:** Primeiro passo para qualquer análise, baseline para validar modelos mais complexos.
|
|
236
|
+
|
|
237
|
+
### Método 1A: CLV Histórico Simples
|
|
238
|
+
|
|
239
|
+
```yaml
|
|
240
|
+
formula:
|
|
241
|
+
name: "Simple Historical CLV"
|
|
242
|
+
calculation: |
|
|
243
|
+
CLV_histórico = Σ (Transações do cliente no período)
|
|
244
|
+
|
|
245
|
+
code_sql: |
|
|
246
|
+
SELECT
|
|
247
|
+
customer_id,
|
|
248
|
+
COUNT(*) as total_transactions,
|
|
249
|
+
SUM(amount) as total_revenue,
|
|
250
|
+
MIN(transaction_date) as first_purchase,
|
|
251
|
+
MAX(transaction_date) as last_purchase,
|
|
252
|
+
DATEDIFF(MAX(transaction_date), MIN(transaction_date)) as customer_age_days,
|
|
253
|
+
SUM(amount) as historical_clv
|
|
254
|
+
FROM transactions
|
|
255
|
+
WHERE transaction_date >= DATE_SUB(NOW(), INTERVAL 36 MONTH)
|
|
256
|
+
GROUP BY customer_id
|
|
257
|
+
ORDER BY historical_clv DESC
|
|
258
|
+
|
|
259
|
+
limitations:
|
|
260
|
+
- "Não projeta futuro"
|
|
261
|
+
- "Novos clientes têm CLV baixo artificialmente"
|
|
262
|
+
- "Não considera tempo de relacionamento"
|
|
263
|
+
- "Não diferencia cliente ativo de churned"
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
### Método 1B: CLV Histórico Normalizado
|
|
267
|
+
|
|
268
|
+
```yaml
|
|
269
|
+
formula:
|
|
270
|
+
name: "Normalized Historical CLV (ARPU-based)"
|
|
271
|
+
calculation: |
|
|
272
|
+
CLV_normalizado = (Receita Total / Meses de Vida) × Expectativa de Vida
|
|
273
|
+
|
|
274
|
+
Onde:
|
|
275
|
+
- Receita Total = soma de todas transações
|
|
276
|
+
- Meses de Vida = diferença entre primeira e última transação
|
|
277
|
+
- Expectativa de Vida = estimativa de quanto tempo cliente fica ativo (ex: 24 meses)
|
|
278
|
+
|
|
279
|
+
code_sql: |
|
|
280
|
+
WITH customer_metrics AS (
|
|
281
|
+
SELECT
|
|
282
|
+
customer_id,
|
|
283
|
+
SUM(amount) as total_revenue,
|
|
284
|
+
MIN(transaction_date) as first_purchase,
|
|
285
|
+
MAX(transaction_date) as last_purchase,
|
|
286
|
+
TIMESTAMPDIFF(MONTH, MIN(transaction_date), MAX(transaction_date)) + 1 as tenure_months
|
|
287
|
+
FROM transactions
|
|
288
|
+
GROUP BY customer_id
|
|
289
|
+
)
|
|
290
|
+
SELECT
|
|
291
|
+
customer_id,
|
|
292
|
+
total_revenue,
|
|
293
|
+
tenure_months,
|
|
294
|
+
total_revenue / tenure_months as monthly_revenue,
|
|
295
|
+
(total_revenue / tenure_months) * 24 as projected_clv_24m, -- Assumindo 24 meses de vida
|
|
296
|
+
(total_revenue / tenure_months) * 36 as projected_clv_36m -- Assumindo 36 meses de vida
|
|
297
|
+
FROM customer_metrics
|
|
298
|
+
WHERE tenure_months >= 3 -- Mínimo 3 meses para estabilidade
|
|
299
|
+
ORDER BY projected_clv_36m DESC
|
|
300
|
+
|
|
301
|
+
advantages:
|
|
302
|
+
- "Normaliza por tempo de relacionamento"
|
|
303
|
+
- "Permite comparar clientes novos e antigos"
|
|
304
|
+
|
|
305
|
+
limitations:
|
|
306
|
+
- "Assume comportamento linear no tempo"
|
|
307
|
+
- "Não considera variações sazonais"
|
|
308
|
+
- "Expectativa de vida é estimativa arbitrária"
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### Método 1C: CLV Histórico por Cohort
|
|
312
|
+
|
|
313
|
+
```yaml
|
|
314
|
+
formula:
|
|
315
|
+
name: "Cohort-Based Historical CLV"
|
|
316
|
+
purpose: "Comparar valor de diferentes safras de clientes"
|
|
317
|
+
|
|
318
|
+
code_sql: |
|
|
319
|
+
WITH customer_cohort AS (
|
|
320
|
+
SELECT
|
|
321
|
+
customer_id,
|
|
322
|
+
DATE_FORMAT(MIN(transaction_date), '%Y-%m') as cohort_month
|
|
323
|
+
FROM transactions
|
|
324
|
+
GROUP BY customer_id
|
|
325
|
+
),
|
|
326
|
+
cohort_revenue AS (
|
|
327
|
+
SELECT
|
|
328
|
+
cc.cohort_month,
|
|
329
|
+
t.customer_id,
|
|
330
|
+
TIMESTAMPDIFF(MONTH, STR_TO_DATE(CONCAT(cc.cohort_month, '-01'), '%Y-%m-%d'), t.transaction_date) as month_number,
|
|
331
|
+
SUM(t.amount) as revenue
|
|
332
|
+
FROM transactions t
|
|
333
|
+
JOIN customer_cohort cc ON t.customer_id = cc.customer_id
|
|
334
|
+
GROUP BY cc.cohort_month, t.customer_id, month_number
|
|
335
|
+
)
|
|
336
|
+
SELECT
|
|
337
|
+
cohort_month,
|
|
338
|
+
month_number,
|
|
339
|
+
COUNT(DISTINCT customer_id) as customers,
|
|
340
|
+
SUM(revenue) as total_revenue,
|
|
341
|
+
SUM(revenue) / COUNT(DISTINCT customer_id) as revenue_per_customer,
|
|
342
|
+
SUM(SUM(revenue)) OVER (PARTITION BY cohort_month ORDER BY month_number) /
|
|
343
|
+
FIRST_VALUE(COUNT(DISTINCT customer_id)) OVER (PARTITION BY cohort_month ORDER BY month_number) as cumulative_clv
|
|
344
|
+
FROM cohort_revenue
|
|
345
|
+
GROUP BY cohort_month, month_number
|
|
346
|
+
ORDER BY cohort_month, month_number
|
|
347
|
+
|
|
348
|
+
output_interpretation: |
|
|
349
|
+
- Compare CLV cumulativo entre cohorts
|
|
350
|
+
- Identifique se cohorts recentes estão melhores ou piores
|
|
351
|
+
- Use como baseline para projetar CLV de novos cohorts
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
### Phase 1 Output Template
|
|
355
|
+
|
|
356
|
+
```yaml
|
|
357
|
+
historical_clv_report:
|
|
358
|
+
summary_metrics:
|
|
359
|
+
total_customers_analyzed: "[N]"
|
|
360
|
+
analysis_period: "[data início] a [data fim]"
|
|
361
|
+
total_revenue_period: "$[X]"
|
|
362
|
+
|
|
363
|
+
distribution:
|
|
364
|
+
average_clv: "$[X]"
|
|
365
|
+
median_clv: "$[X]"
|
|
366
|
+
std_deviation: "$[X]"
|
|
367
|
+
|
|
368
|
+
percentiles:
|
|
369
|
+
p10: "$[X]"
|
|
370
|
+
p25: "$[X]"
|
|
371
|
+
p50: "$[X]"
|
|
372
|
+
p75: "$[X]"
|
|
373
|
+
p90: "$[X]"
|
|
374
|
+
p99: "$[X]"
|
|
375
|
+
|
|
376
|
+
pareto_analysis:
|
|
377
|
+
top_1_percent_customers: "[N] clientes"
|
|
378
|
+
top_1_percent_revenue: "[X]% da receita total"
|
|
379
|
+
top_10_percent_revenue: "[X]% da receita total"
|
|
380
|
+
top_20_percent_revenue: "[X]% da receita total (Pareto check)"
|
|
381
|
+
bottom_50_percent_revenue: "[X]% da receita total"
|
|
382
|
+
|
|
383
|
+
cohort_comparison:
|
|
384
|
+
best_cohort: "[cohort] com CLV médio de $[X]"
|
|
385
|
+
worst_cohort: "[cohort] com CLV médio de $[X]"
|
|
386
|
+
trend: "[melhorando/piorando/estável]"
|
|
387
|
+
|
|
388
|
+
insights:
|
|
389
|
+
- "[Insight 1 sobre distribuição de valor]"
|
|
390
|
+
- "[Insight 2 sobre concentração]"
|
|
391
|
+
- "[Insight 3 sobre cohorts]"
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
---
|
|
395
|
+
|
|
396
|
+
## Phase 2: CLV Preditivo Tradicional
|
|
397
|
+
|
|
398
|
+
**Quando usar:** Modelos mais simples que probabilísticos, bons para contextos contratuais.
|
|
399
|
+
|
|
400
|
+
### Método 2A: CLV Contratual (Subscription-Based)
|
|
401
|
+
|
|
402
|
+
```yaml
|
|
403
|
+
formula:
|
|
404
|
+
name: "Contractual CLV (SaaS/Subscription)"
|
|
405
|
+
calculation: |
|
|
406
|
+
CLV = ARPU × Gross Margin × (1 / Churn Rate)
|
|
407
|
+
|
|
408
|
+
Ou com desconto:
|
|
409
|
+
CLV = ARPU × Gross Margin × (1 / (Churn Rate + Discount Rate))
|
|
410
|
+
|
|
411
|
+
Onde:
|
|
412
|
+
- ARPU = Average Revenue Per User (mensal ou anual)
|
|
413
|
+
- Gross Margin = Margem bruta (ex: 0.70 para 70%)
|
|
414
|
+
- Churn Rate = Taxa de churn (mensal ou anual, consistente com ARPU)
|
|
415
|
+
- Discount Rate = Taxa de desconto para NPV
|
|
416
|
+
|
|
417
|
+
example:
|
|
418
|
+
arpu_monthly: "$100"
|
|
419
|
+
gross_margin: "70%"
|
|
420
|
+
monthly_churn: "3%"
|
|
421
|
+
discount_rate: "1% ao mês"
|
|
422
|
+
|
|
423
|
+
calculation: |
|
|
424
|
+
CLV = $100 × 0.70 × (1 / (0.03 + 0.01))
|
|
425
|
+
CLV = $70 × (1 / 0.04)
|
|
426
|
+
CLV = $70 × 25
|
|
427
|
+
CLV = $1,750
|
|
428
|
+
|
|
429
|
+
code_python: |
|
|
430
|
+
def calculate_contractual_clv(arpu, gross_margin, churn_rate, discount_rate=0):
|
|
431
|
+
"""
|
|
432
|
+
Calculate CLV for subscription/contractual businesses.
|
|
433
|
+
|
|
434
|
+
Args:
|
|
435
|
+
arpu: Average Revenue Per User (same period as churn)
|
|
436
|
+
gross_margin: Gross margin as decimal (0.70 = 70%)
|
|
437
|
+
churn_rate: Churn rate as decimal (0.03 = 3%)
|
|
438
|
+
discount_rate: Discount rate for NPV (same period as churn)
|
|
439
|
+
|
|
440
|
+
Returns:
|
|
441
|
+
CLV value
|
|
442
|
+
"""
|
|
443
|
+
if churn_rate == 0:
|
|
444
|
+
return float('inf')
|
|
445
|
+
|
|
446
|
+
clv = (arpu * gross_margin) / (churn_rate + discount_rate)
|
|
447
|
+
return clv
|
|
448
|
+
|
|
449
|
+
# Example usage
|
|
450
|
+
clv = calculate_contractual_clv(
|
|
451
|
+
arpu=100,
|
|
452
|
+
gross_margin=0.70,
|
|
453
|
+
churn_rate=0.03,
|
|
454
|
+
discount_rate=0.01
|
|
455
|
+
)
|
|
456
|
+
print(f"CLV: ${clv:,.2f}") # CLV: $1,750.00
|
|
457
|
+
|
|
458
|
+
variations:
|
|
459
|
+
with_expansion_revenue: |
|
|
460
|
+
CLV = (ARPU × GM × (1 + Expansion Rate)) / (Churn Rate + Discount Rate - Expansion Rate)
|
|
461
|
+
|
|
462
|
+
Onde Expansion Rate = taxa de crescimento de receita em clientes existentes (upsells)
|
|
463
|
+
|
|
464
|
+
with_retention_curve: |
|
|
465
|
+
CLV = Σ (Revenue_t × Retention_t × GM) / (1 + d)^t
|
|
466
|
+
|
|
467
|
+
Para t de 1 até N períodos
|
|
468
|
+
Mais preciso quando retenção não é constante
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
### Método 2B: CLV por Fórmula de Segmentos (RFM-Based)
|
|
472
|
+
|
|
473
|
+
```yaml
|
|
474
|
+
formula:
|
|
475
|
+
name: "RFM-Weighted CLV"
|
|
476
|
+
approach: |
|
|
477
|
+
Calcular CLV diferenciado por segmento RFM,
|
|
478
|
+
usando comportamento histórico de cada segmento para projetar.
|
|
479
|
+
|
|
480
|
+
steps:
|
|
481
|
+
step_1_calculate_rfm:
|
|
482
|
+
description: "Calcular scores RFM para cada cliente"
|
|
483
|
+
code_sql: |
|
|
484
|
+
WITH rfm_base AS (
|
|
485
|
+
SELECT
|
|
486
|
+
customer_id,
|
|
487
|
+
DATEDIFF(NOW(), MAX(transaction_date)) as recency_days,
|
|
488
|
+
COUNT(*) as frequency,
|
|
489
|
+
SUM(amount) as monetary
|
|
490
|
+
FROM transactions
|
|
491
|
+
WHERE transaction_date >= DATE_SUB(NOW(), INTERVAL 24 MONTH)
|
|
492
|
+
GROUP BY customer_id
|
|
493
|
+
),
|
|
494
|
+
rfm_scores AS (
|
|
495
|
+
SELECT
|
|
496
|
+
customer_id,
|
|
497
|
+
recency_days,
|
|
498
|
+
frequency,
|
|
499
|
+
monetary,
|
|
500
|
+
NTILE(5) OVER (ORDER BY recency_days DESC) as R_score,
|
|
501
|
+
NTILE(5) OVER (ORDER BY frequency ASC) as F_score,
|
|
502
|
+
NTILE(5) OVER (ORDER BY monetary ASC) as M_score
|
|
503
|
+
FROM rfm_base
|
|
504
|
+
)
|
|
505
|
+
SELECT
|
|
506
|
+
customer_id,
|
|
507
|
+
R_score,
|
|
508
|
+
F_score,
|
|
509
|
+
M_score,
|
|
510
|
+
CONCAT(R_score, F_score, M_score) as RFM_segment,
|
|
511
|
+
CASE
|
|
512
|
+
WHEN R_score >= 4 AND F_score >= 4 AND M_score >= 4 THEN 'Champions'
|
|
513
|
+
WHEN R_score >= 4 AND F_score >= 3 THEN 'Loyal Customers'
|
|
514
|
+
WHEN R_score >= 4 AND F_score <= 2 THEN 'Recent Customers'
|
|
515
|
+
WHEN R_score >= 3 AND F_score >= 3 AND M_score >= 3 THEN 'Potential Loyalists'
|
|
516
|
+
WHEN R_score <= 2 AND F_score >= 4 AND M_score >= 4 THEN 'At Risk'
|
|
517
|
+
WHEN R_score <= 2 AND F_score <= 2 THEN 'Lost'
|
|
518
|
+
ELSE 'Others'
|
|
519
|
+
END as segment_name
|
|
520
|
+
FROM rfm_scores
|
|
521
|
+
|
|
522
|
+
step_2_segment_behavior:
|
|
523
|
+
description: "Analisar comportamento histórico por segmento"
|
|
524
|
+
code_sql: |
|
|
525
|
+
SELECT
|
|
526
|
+
segment_name,
|
|
527
|
+
COUNT(*) as customer_count,
|
|
528
|
+
AVG(monetary) as avg_historical_value,
|
|
529
|
+
AVG(frequency) as avg_frequency,
|
|
530
|
+
AVG(recency_days) as avg_recency,
|
|
531
|
+
-- Estimar retention baseado em recency
|
|
532
|
+
SUM(CASE WHEN recency_days <= 90 THEN 1 ELSE 0 END) * 1.0 / COUNT(*) as retention_proxy
|
|
533
|
+
FROM rfm_with_segments
|
|
534
|
+
GROUP BY segment_name
|
|
535
|
+
|
|
536
|
+
step_3_project_clv:
|
|
537
|
+
description: "Projetar CLV por segmento"
|
|
538
|
+
formula: |
|
|
539
|
+
CLV_segment = AVG_historical_value × Retention_proxy × Growth_factor × Time_horizon
|
|
540
|
+
|
|
541
|
+
Onde Growth_factor varia por segmento:
|
|
542
|
+
- Champions: 1.2 (espera-se crescimento)
|
|
543
|
+
- Loyal: 1.1
|
|
544
|
+
- At Risk: 0.5 (espera-se queda)
|
|
545
|
+
- Lost: 0.1 (baixa probabilidade de retorno)
|
|
546
|
+
```
|
|
547
|
+
|
|
548
|
+
### Método 2C: Markov Chain CLV
|
|
549
|
+
|
|
550
|
+
```yaml
|
|
551
|
+
formula:
|
|
552
|
+
name: "Markov Chain CLV Model"
|
|
553
|
+
description: |
|
|
554
|
+
Modelo estados onde clientes transitam entre níveis de engajamento.
|
|
555
|
+
Útil para negócios com jornadas de cliente bem definidas.
|
|
556
|
+
|
|
557
|
+
states:
|
|
558
|
+
- "New" (recém adquirido)
|
|
559
|
+
- "Active" (comprou recentemente)
|
|
560
|
+
- "At Risk" (não comprou há X dias)
|
|
561
|
+
- "Dormant" (não comprou há Y dias)
|
|
562
|
+
- "Churned" (estado absorvente)
|
|
563
|
+
|
|
564
|
+
transition_matrix_example: |
|
|
565
|
+
De/Para | New | Active | At Risk | Dormant | Churned |
|
|
566
|
+
-----------|-------|--------|---------|---------|---------|
|
|
567
|
+
New | 0.00 | 0.60 | 0.25 | 0.10 | 0.05 |
|
|
568
|
+
Active | 0.00 | 0.70 | 0.20 | 0.05 | 0.05 |
|
|
569
|
+
At Risk | 0.00 | 0.20 | 0.40 | 0.25 | 0.15 |
|
|
570
|
+
Dormant | 0.00 | 0.05 | 0.10 | 0.50 | 0.35 |
|
|
571
|
+
Churned | 0.00 | 0.00 | 0.00 | 0.00 | 1.00 |
|
|
572
|
+
|
|
573
|
+
revenue_per_state:
|
|
574
|
+
New: "$50 (primeira compra)"
|
|
575
|
+
Active: "$100 (compras regulares)"
|
|
576
|
+
At Risk: "$30 (compras reduzidas)"
|
|
577
|
+
Dormant: "$0"
|
|
578
|
+
Churned: "$0"
|
|
579
|
+
|
|
580
|
+
clv_calculation: |
|
|
581
|
+
CLV = Σ (Probabilidade de estar em estado S no tempo t) × (Receita do estado S)
|
|
582
|
+
|
|
583
|
+
Implementado através de multiplicação matricial:
|
|
584
|
+
CLV = r × (I - Q)^(-1) × 1
|
|
585
|
+
|
|
586
|
+
Onde:
|
|
587
|
+
- r = vetor de receitas por estado
|
|
588
|
+
- Q = submatriz de transição (sem estado absorvente)
|
|
589
|
+
- I = matriz identidade
|
|
590
|
+
```
|
|
591
|
+
|
|
592
|
+
---
|
|
593
|
+
|
|
594
|
+
## Phase 3: CLV Probabilístico (Fader/Hardie)
|
|
595
|
+
|
|
596
|
+
**Quando usar:** Setting não-contratual onde churn é latente. Estado da arte para e-commerce, varejo.
|
|
597
|
+
|
|
598
|
+
### Fundamentação Teórica
|
|
599
|
+
|
|
600
|
+
```yaml
|
|
601
|
+
peter_fader_philosophy:
|
|
602
|
+
core_insight: |
|
|
603
|
+
"Em negócios não-contratuais, não sabemos quando um cliente 'morre'.
|
|
604
|
+
Devemos modelar probabilisticamente se ele ainda está 'vivo' e qual
|
|
605
|
+
será seu comportamento futuro."
|
|
606
|
+
|
|
607
|
+
key_distinction: |
|
|
608
|
+
ERRADO: "Este cliente não comprou há 6 meses, está churned"
|
|
609
|
+
CERTO: "Este cliente tem 23% de probabilidade de ainda estar ativo"
|
|
610
|
+
|
|
611
|
+
quote: |
|
|
612
|
+
"Most companies focus too much on 'How many customers do we have?'
|
|
613
|
+
when the better question is 'How valuable are our customers?'"
|
|
614
|
+
- Peter Fader
|
|
615
|
+
|
|
616
|
+
model_overview:
|
|
617
|
+
bg_nbd:
|
|
618
|
+
full_name: "Beta-Geometric/Negative Binomial Distribution"
|
|
619
|
+
purpose: "Modelar frequência de transações futuras"
|
|
620
|
+
paper: "Fader, Hardie, Lee (2005) - 'Counting Your Customers the Easy Way'"
|
|
621
|
+
|
|
622
|
+
gamma_gamma:
|
|
623
|
+
full_name: "Gamma-Gamma Model"
|
|
624
|
+
purpose: "Modelar valor monetário das transações"
|
|
625
|
+
paper: "Fader & Hardie (2013)"
|
|
626
|
+
|
|
627
|
+
combined:
|
|
628
|
+
clv_formula: "E[CLV] = E[Transactions] × E[Average Order Value]"
|
|
629
|
+
where: |
|
|
630
|
+
E[Transactions] vem do BG/NBD
|
|
631
|
+
E[Average Order Value] vem do Gamma-Gamma
|
|
632
|
+
```
|
|
633
|
+
|
|
634
|
+
### Preparação de Dados para BG/NBD
|
|
635
|
+
|
|
636
|
+
```yaml
|
|
637
|
+
data_preparation:
|
|
638
|
+
required_format:
|
|
639
|
+
name: "RFM Summary Format"
|
|
640
|
+
columns:
|
|
641
|
+
- frequency: "Número de transações REPETIDAS (excluindo primeira)"
|
|
642
|
+
- recency: "Tempo desde primeira até última transação"
|
|
643
|
+
- T: "Tempo desde primeira transação até hoje (age)"
|
|
644
|
+
- monetary_value: "Valor médio por transação (excluindo primeira)"
|
|
645
|
+
|
|
646
|
+
important_notes:
|
|
647
|
+
- "Frequency exclui a primeira transação (é count of repeat purchases)"
|
|
648
|
+
- "Recency é tempo entre PRIMEIRA e ÚLTIMA transação, não entre última e hoje"
|
|
649
|
+
- "T é a 'idade' do cliente desde aquisição"
|
|
650
|
+
- "Todas as medidas de tempo devem ser na mesma unidade (dias, semanas, etc.)"
|
|
651
|
+
|
|
652
|
+
code_sql: |
|
|
653
|
+
WITH customer_transactions AS (
|
|
654
|
+
SELECT
|
|
655
|
+
customer_id,
|
|
656
|
+
transaction_date,
|
|
657
|
+
amount,
|
|
658
|
+
ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY transaction_date) as txn_order
|
|
659
|
+
FROM transactions
|
|
660
|
+
),
|
|
661
|
+
customer_first AS (
|
|
662
|
+
SELECT customer_id, transaction_date as first_date
|
|
663
|
+
FROM customer_transactions
|
|
664
|
+
WHERE txn_order = 1
|
|
665
|
+
),
|
|
666
|
+
customer_last AS (
|
|
667
|
+
SELECT customer_id, MAX(transaction_date) as last_date
|
|
668
|
+
FROM customer_transactions
|
|
669
|
+
GROUP BY customer_id
|
|
670
|
+
),
|
|
671
|
+
repeat_purchases AS (
|
|
672
|
+
SELECT
|
|
673
|
+
customer_id,
|
|
674
|
+
COUNT(*) as frequency,
|
|
675
|
+
AVG(amount) as monetary_value
|
|
676
|
+
FROM customer_transactions
|
|
677
|
+
WHERE txn_order > 1 -- Excluindo primeira transação
|
|
678
|
+
GROUP BY customer_id
|
|
679
|
+
)
|
|
680
|
+
SELECT
|
|
681
|
+
cf.customer_id,
|
|
682
|
+
COALESCE(rp.frequency, 0) as frequency,
|
|
683
|
+
CASE
|
|
684
|
+
WHEN rp.frequency > 0 THEN DATEDIFF(cl.last_date, cf.first_date)
|
|
685
|
+
ELSE 0
|
|
686
|
+
END as recency,
|
|
687
|
+
DATEDIFF(CURDATE(), cf.first_date) as T,
|
|
688
|
+
COALESCE(rp.monetary_value, 0) as monetary_value
|
|
689
|
+
FROM customer_first cf
|
|
690
|
+
LEFT JOIN customer_last cl ON cf.customer_id = cl.customer_id
|
|
691
|
+
LEFT JOIN repeat_purchases rp ON cf.customer_id = rp.customer_id
|
|
692
|
+
|
|
693
|
+
code_python_pandas: |
|
|
694
|
+
import pandas as pd
|
|
695
|
+
from lifetimes.utils import summary_data_from_transaction_data
|
|
696
|
+
|
|
697
|
+
# Preparar dados
|
|
698
|
+
df = pd.read_sql(query, connection)
|
|
699
|
+
df['transaction_date'] = pd.to_datetime(df['transaction_date'])
|
|
700
|
+
|
|
701
|
+
# Criar summary data para lifetimes
|
|
702
|
+
summary = summary_data_from_transaction_data(
|
|
703
|
+
df,
|
|
704
|
+
customer_id_col='customer_id',
|
|
705
|
+
datetime_col='transaction_date',
|
|
706
|
+
monetary_value_col='amount',
|
|
707
|
+
observation_period_end='2026-01-23' # Data de análise
|
|
708
|
+
)
|
|
709
|
+
|
|
710
|
+
# Resultado: DataFrame com frequency, recency, T, monetary_value
|
|
711
|
+
print(summary.head())
|
|
712
|
+
```
|
|
713
|
+
|
|
714
|
+
### BG/NBD Model Implementation
|
|
715
|
+
|
|
716
|
+
```yaml
|
|
717
|
+
bg_nbd_model:
|
|
718
|
+
assumptions:
|
|
719
|
+
- "Enquanto ativo, cliente transaciona conforme Poisson com taxa λ"
|
|
720
|
+
- "Taxa λ varia entre clientes seguindo distribuição Gamma"
|
|
721
|
+
- "Após cada transação, cliente 'morre' com probabilidade p"
|
|
722
|
+
- "Probabilidade p varia entre clientes seguindo distribuição Beta"
|
|
723
|
+
- "Heterogeneidade capturada por distribuições Gamma e Beta"
|
|
724
|
+
|
|
725
|
+
parameters:
|
|
726
|
+
r: "Shape parameter da Gamma (frequência)"
|
|
727
|
+
alpha: "Scale parameter da Gamma (frequência)"
|
|
728
|
+
a: "Shape parameter da Beta (dropout)"
|
|
729
|
+
b: "Shape parameter da Beta (dropout)"
|
|
730
|
+
|
|
731
|
+
code_python: |
|
|
732
|
+
from lifetimes import BetaGeoFitter
|
|
733
|
+
|
|
734
|
+
# Fit BG/NBD model
|
|
735
|
+
bgf = BetaGeoFitter(penalizer_coef=0.0)
|
|
736
|
+
bgf.fit(
|
|
737
|
+
summary['frequency'],
|
|
738
|
+
summary['recency'],
|
|
739
|
+
summary['T']
|
|
740
|
+
)
|
|
741
|
+
|
|
742
|
+
# View fitted parameters
|
|
743
|
+
print(bgf.summary)
|
|
744
|
+
|
|
745
|
+
# Predict expected transactions in next 30 days for each customer
|
|
746
|
+
summary['predicted_purchases_30d'] = bgf.conditional_expected_number_of_purchases_up_to_time(
|
|
747
|
+
30,
|
|
748
|
+
summary['frequency'],
|
|
749
|
+
summary['recency'],
|
|
750
|
+
summary['T']
|
|
751
|
+
)
|
|
752
|
+
|
|
753
|
+
# Probability of being alive
|
|
754
|
+
summary['prob_alive'] = bgf.conditional_probability_alive(
|
|
755
|
+
summary['frequency'],
|
|
756
|
+
summary['recency'],
|
|
757
|
+
summary['T']
|
|
758
|
+
)
|
|
759
|
+
|
|
760
|
+
# Expected purchases for whole customer base
|
|
761
|
+
expected_total_30d = bgf.expected_number_of_purchases_up_to_time(30)
|
|
762
|
+
|
|
763
|
+
interpretation:
|
|
764
|
+
prob_alive: |
|
|
765
|
+
- prob_alive > 0.8: Likely still active customer
|
|
766
|
+
- prob_alive 0.5-0.8: At risk, may need reactivation
|
|
767
|
+
- prob_alive 0.2-0.5: Probably churned, win-back needed
|
|
768
|
+
- prob_alive < 0.2: Almost certainly churned
|
|
769
|
+
|
|
770
|
+
predicted_purchases: |
|
|
771
|
+
- Use para forecasting de demanda
|
|
772
|
+
- Aggregate para projeção de receita
|
|
773
|
+
- Individual para prioritização de outreach
|
|
774
|
+
```
|
|
775
|
+
|
|
776
|
+
### Gamma-Gamma Model Implementation
|
|
777
|
+
|
|
778
|
+
```yaml
|
|
779
|
+
gamma_gamma_model:
|
|
780
|
+
purpose: "Modelar valor monetário das transações"
|
|
781
|
+
|
|
782
|
+
assumption_critical: |
|
|
783
|
+
IMPORTANTE: Gamma-Gamma assume que frequência e valor são INDEPENDENTES.
|
|
784
|
+
|
|
785
|
+
Verificar com correlação:
|
|
786
|
+
correlation = df[['frequency', 'monetary_value']].corr()
|
|
787
|
+
|
|
788
|
+
Se correlação > 0.3, resultados podem ser imprecisos.
|
|
789
|
+
|
|
790
|
+
code_python: |
|
|
791
|
+
from lifetimes import GammaGammaFitter
|
|
792
|
+
|
|
793
|
+
# Filtrar clientes com ao menos 1 repeat purchase
|
|
794
|
+
returning_customers = summary[summary['frequency'] > 0]
|
|
795
|
+
|
|
796
|
+
# Fit Gamma-Gamma model
|
|
797
|
+
ggf = GammaGammaFitter(penalizer_coef=0.0)
|
|
798
|
+
ggf.fit(
|
|
799
|
+
returning_customers['frequency'],
|
|
800
|
+
returning_customers['monetary_value']
|
|
801
|
+
)
|
|
802
|
+
|
|
803
|
+
# Expected average profit (conditional)
|
|
804
|
+
summary['expected_avg_profit'] = ggf.conditional_expected_average_profit(
|
|
805
|
+
summary['frequency'],
|
|
806
|
+
summary['monetary_value']
|
|
807
|
+
)
|
|
808
|
+
|
|
809
|
+
print(f"Expected avg order value: ${summary['expected_avg_profit'].mean():,.2f}")
|
|
810
|
+
```
|
|
811
|
+
|
|
812
|
+
### Combined CLV Calculation
|
|
813
|
+
|
|
814
|
+
```yaml
|
|
815
|
+
combined_clv:
|
|
816
|
+
formula: |
|
|
817
|
+
CLV = E[Purchases in period] × E[Average Order Value] × Margin
|
|
818
|
+
|
|
819
|
+
Com desconto (NPV):
|
|
820
|
+
CLV = Σ (E[Purchases_t] × E[AOV] × Margin) / (1 + d)^t
|
|
821
|
+
|
|
822
|
+
code_python: |
|
|
823
|
+
from lifetimes import BetaGeoFitter, GammaGammaFitter
|
|
824
|
+
|
|
825
|
+
# Fit models
|
|
826
|
+
bgf = BetaGeoFitter(penalizer_coef=0.001)
|
|
827
|
+
bgf.fit(summary['frequency'], summary['recency'], summary['T'])
|
|
828
|
+
|
|
829
|
+
ggf = GammaGammaFitter(penalizer_coef=0.001)
|
|
830
|
+
ggf.fit(
|
|
831
|
+
summary[summary['frequency'] > 0]['frequency'],
|
|
832
|
+
summary[summary['frequency'] > 0]['monetary_value']
|
|
833
|
+
)
|
|
834
|
+
|
|
835
|
+
# Calculate CLV for 12 months
|
|
836
|
+
summary['clv_12m'] = ggf.customer_lifetime_value(
|
|
837
|
+
bgf,
|
|
838
|
+
summary['frequency'],
|
|
839
|
+
summary['recency'],
|
|
840
|
+
summary['T'],
|
|
841
|
+
summary['monetary_value'],
|
|
842
|
+
time=12, # months
|
|
843
|
+
freq='D', # frequency of T is in days
|
|
844
|
+
discount_rate=0.01 # monthly discount rate
|
|
845
|
+
)
|
|
846
|
+
|
|
847
|
+
# Top 10 most valuable customers
|
|
848
|
+
top_customers = summary.nlargest(10, 'clv_12m')[
|
|
849
|
+
['customer_id', 'frequency', 'monetary_value', 'prob_alive', 'clv_12m']
|
|
850
|
+
]
|
|
851
|
+
print(top_customers)
|
|
852
|
+
|
|
853
|
+
# Aggregate metrics
|
|
854
|
+
print(f"Total 12-month CLV: ${summary['clv_12m'].sum():,.2f}")
|
|
855
|
+
print(f"Average 12-month CLV: ${summary['clv_12m'].mean():,.2f}")
|
|
856
|
+
print(f"Median 12-month CLV: ${summary['clv_12m'].median():,.2f}")
|
|
857
|
+
|
|
858
|
+
model_validation:
|
|
859
|
+
holdout_test: |
|
|
860
|
+
# Split data: calibration vs holdout
|
|
861
|
+
# Fit model on calibration period
|
|
862
|
+
# Compare predictions vs actual in holdout
|
|
863
|
+
|
|
864
|
+
from lifetimes.utils import calibration_and_holdout_data
|
|
865
|
+
|
|
866
|
+
summary_cal_holdout = calibration_and_holdout_data(
|
|
867
|
+
df,
|
|
868
|
+
'customer_id',
|
|
869
|
+
'transaction_date',
|
|
870
|
+
calibration_period_end='2025-06-30',
|
|
871
|
+
observation_period_end='2026-01-23'
|
|
872
|
+
)
|
|
873
|
+
|
|
874
|
+
# Fit on calibration
|
|
875
|
+
bgf.fit(
|
|
876
|
+
summary_cal_holdout['frequency_cal'],
|
|
877
|
+
summary_cal_holdout['recency_cal'],
|
|
878
|
+
summary_cal_holdout['T_cal']
|
|
879
|
+
)
|
|
880
|
+
|
|
881
|
+
# Predict for holdout period
|
|
882
|
+
summary_cal_holdout['predicted'] = bgf.conditional_expected_number_of_purchases_up_to_time(
|
|
883
|
+
summary_cal_holdout['duration_holdout'],
|
|
884
|
+
summary_cal_holdout['frequency_cal'],
|
|
885
|
+
summary_cal_holdout['recency_cal'],
|
|
886
|
+
summary_cal_holdout['T_cal']
|
|
887
|
+
)
|
|
888
|
+
|
|
889
|
+
# Compare predicted vs actual
|
|
890
|
+
from lifetimes.plotting import plot_calibration_purchases_vs_holdout_purchases
|
|
891
|
+
plot_calibration_purchases_vs_holdout_purchases(bgf, summary_cal_holdout)
|
|
892
|
+
```
|
|
893
|
+
|
|
894
|
+
---
|
|
895
|
+
|
|
896
|
+
## Phase 4: Segmentação por CLV
|
|
897
|
+
|
|
898
|
+
### Criar Segmentos de Valor
|
|
899
|
+
|
|
900
|
+
```yaml
|
|
901
|
+
segmentation_approach:
|
|
902
|
+
principle: |
|
|
903
|
+
"Not all customers are created equal. Treat them unequally
|
|
904
|
+
(proportionally to their value)." - Peter Fader
|
|
905
|
+
|
|
906
|
+
methodology:
|
|
907
|
+
step_1: "Calcular CLV para cada cliente"
|
|
908
|
+
step_2: "Ordenar por CLV"
|
|
909
|
+
step_3: "Criar segmentos (decis, quintis, ou custom)"
|
|
910
|
+
step_4: "Analisar características de cada segmento"
|
|
911
|
+
step_5: "Definir estratégias diferenciadas"
|
|
912
|
+
|
|
913
|
+
segment_definitions:
|
|
914
|
+
by_deciles:
|
|
915
|
+
top_10: "Champions - 10% mais valiosos"
|
|
916
|
+
top_10_30: "Gold - Próximos 20%"
|
|
917
|
+
top_30_60: "Silver - Próximos 30%"
|
|
918
|
+
bottom_40: "Bronze - 40% de menor valor"
|
|
919
|
+
|
|
920
|
+
by_value_thresholds:
|
|
921
|
+
example: |
|
|
922
|
+
VIP: CLV > $5,000
|
|
923
|
+
High: CLV $1,000-$5,000
|
|
924
|
+
Medium: CLV $200-$1,000
|
|
925
|
+
Low: CLV $50-$200
|
|
926
|
+
Minimal: CLV < $50
|
|
927
|
+
|
|
928
|
+
code_python: |
|
|
929
|
+
# Criar segmentos por percentil
|
|
930
|
+
summary['clv_segment'] = pd.qcut(
|
|
931
|
+
summary['clv_12m'],
|
|
932
|
+
q=[0, 0.4, 0.6, 0.8, 0.9, 1.0],
|
|
933
|
+
labels=['Bronze', 'Silver', 'Gold', 'Platinum', 'Diamond']
|
|
934
|
+
)
|
|
935
|
+
|
|
936
|
+
# Análise por segmento
|
|
937
|
+
segment_analysis = summary.groupby('clv_segment').agg({
|
|
938
|
+
'customer_id': 'count',
|
|
939
|
+
'clv_12m': ['sum', 'mean', 'median'],
|
|
940
|
+
'frequency': 'mean',
|
|
941
|
+
'monetary_value': 'mean',
|
|
942
|
+
'prob_alive': 'mean',
|
|
943
|
+
'recency': 'mean'
|
|
944
|
+
}).round(2)
|
|
945
|
+
|
|
946
|
+
print(segment_analysis)
|
|
947
|
+
|
|
948
|
+
# Pareto analysis
|
|
949
|
+
total_clv = summary['clv_12m'].sum()
|
|
950
|
+
summary_sorted = summary.sort_values('clv_12m', ascending=False)
|
|
951
|
+
summary_sorted['cumulative_clv'] = summary_sorted['clv_12m'].cumsum()
|
|
952
|
+
summary_sorted['cumulative_pct'] = summary_sorted['cumulative_clv'] / total_clv * 100
|
|
953
|
+
|
|
954
|
+
# Find what % of customers = 80% of CLV
|
|
955
|
+
pct_for_80 = (summary_sorted['cumulative_pct'] <= 80).sum() / len(summary_sorted) * 100
|
|
956
|
+
print(f"{pct_for_80:.1f}% dos clientes representam 80% do CLV total")
|
|
957
|
+
```
|
|
958
|
+
|
|
959
|
+
### Estratégias por Segmento
|
|
960
|
+
|
|
961
|
+
```yaml
|
|
962
|
+
segment_strategies:
|
|
963
|
+
champions_diamond:
|
|
964
|
+
clv_range: "Top 10% (maior CLV)"
|
|
965
|
+
characteristics:
|
|
966
|
+
- "Alta frequência de compra"
|
|
967
|
+
- "Alto ticket médio"
|
|
968
|
+
- "Alta prob_alive"
|
|
969
|
+
- "Compra recente"
|
|
970
|
+
|
|
971
|
+
strategy:
|
|
972
|
+
retention_focus: "MÁXIMO"
|
|
973
|
+
investment_level: "Premium"
|
|
974
|
+
|
|
975
|
+
tactics:
|
|
976
|
+
- "Gerente de conta dedicado"
|
|
977
|
+
- "Acesso antecipado a novos produtos"
|
|
978
|
+
- "Programa VIP exclusivo"
|
|
979
|
+
- "Pesquisas qualitativas (entender o que funciona)"
|
|
980
|
+
- "Never let them churn - alarmes para qualquer sinal"
|
|
981
|
+
|
|
982
|
+
kpis_to_track:
|
|
983
|
+
- "Retention rate deste segmento"
|
|
984
|
+
- "Share of wallet"
|
|
985
|
+
- "NPS/CSAT"
|
|
986
|
+
- "Frequency trend"
|
|
987
|
+
|
|
988
|
+
warning: |
|
|
989
|
+
"Estes clientes já são valiosos. Foco é MANTER, não tentar
|
|
990
|
+
extrair mais valor de forma agressiva (pode alienar)."
|
|
991
|
+
|
|
992
|
+
gold_platinum:
|
|
993
|
+
clv_range: "Top 10-30%"
|
|
994
|
+
characteristics:
|
|
995
|
+
- "Boa frequência"
|
|
996
|
+
- "Ticket médio bom"
|
|
997
|
+
- "Potencial de subir para Champions"
|
|
998
|
+
|
|
999
|
+
strategy:
|
|
1000
|
+
focus: "DEVELOPMENT"
|
|
1001
|
+
goal: "Aumentar CLV para nível Champion"
|
|
1002
|
+
|
|
1003
|
+
tactics:
|
|
1004
|
+
- "Upsell/cross-sell estratégico"
|
|
1005
|
+
- "Programa de loyalty com benefícios escaláveis"
|
|
1006
|
+
- "Educação sobre portfolio completo"
|
|
1007
|
+
- "Ofertas exclusivas para aumentar frequência"
|
|
1008
|
+
|
|
1009
|
+
kpis_to_track:
|
|
1010
|
+
- "Migration rate para Champions"
|
|
1011
|
+
- "Aumento de frequency"
|
|
1012
|
+
- "Aumento de basket size"
|
|
1013
|
+
|
|
1014
|
+
silver:
|
|
1015
|
+
clv_range: "30-60%"
|
|
1016
|
+
characteristics:
|
|
1017
|
+
- "Frequência moderada"
|
|
1018
|
+
- "Ticket médio"
|
|
1019
|
+
- "Potencial variado"
|
|
1020
|
+
|
|
1021
|
+
strategy:
|
|
1022
|
+
focus: "EFFICIENCY"
|
|
1023
|
+
goal: "Maximizar valor com custo proporcional"
|
|
1024
|
+
|
|
1025
|
+
tactics:
|
|
1026
|
+
- "Automações de marketing (email, push)"
|
|
1027
|
+
- "Ofertas sazonais"
|
|
1028
|
+
- "Programa de pontos básico"
|
|
1029
|
+
- "Self-service predominante"
|
|
1030
|
+
|
|
1031
|
+
kpis_to_track:
|
|
1032
|
+
- "ROI de campanhas"
|
|
1033
|
+
- "Cost per retained customer"
|
|
1034
|
+
|
|
1035
|
+
bronze_minimal:
|
|
1036
|
+
clv_range: "Bottom 40%"
|
|
1037
|
+
characteristics:
|
|
1038
|
+
- "Baixa frequência"
|
|
1039
|
+
- "Baixo ticket"
|
|
1040
|
+
- "Muitos one-time purchasers"
|
|
1041
|
+
|
|
1042
|
+
strategy:
|
|
1043
|
+
focus: "MINIMUM VIABLE"
|
|
1044
|
+
goal: "Não perder dinheiro servindo estes clientes"
|
|
1045
|
+
|
|
1046
|
+
tactics:
|
|
1047
|
+
- "Comunicação apenas automatizada"
|
|
1048
|
+
- "Sem investimento em retenção proativa"
|
|
1049
|
+
- "Self-service apenas"
|
|
1050
|
+
- "Identificar potenciais 'diamonds in rough'"
|
|
1051
|
+
|
|
1052
|
+
important_note: |
|
|
1053
|
+
"NUNCA trate mal estes clientes - eles podem virar valiosos
|
|
1054
|
+
ou influenciar outros. Apenas não invista mais do que retorna."
|
|
1055
|
+
|
|
1056
|
+
reactivation_strategy: |
|
|
1057
|
+
"Testar ofertas agressivas (deep discounts) para identificar
|
|
1058
|
+
quem pode ser reativado. Se não responder, deprioritizar."
|
|
1059
|
+
```
|
|
1060
|
+
|
|
1061
|
+
---
|
|
1062
|
+
|
|
1063
|
+
## Phase 5: Output e Relatório Final
|
|
1064
|
+
|
|
1065
|
+
### Template de Relatório CLV
|
|
1066
|
+
|
|
1067
|
+
```yaml
|
|
1068
|
+
clv_report_structure:
|
|
1069
|
+
executive_summary:
|
|
1070
|
+
total_customer_equity: "$[X] (soma de todos CLVs)"
|
|
1071
|
+
average_clv: "$[X]"
|
|
1072
|
+
median_clv: "$[X]"
|
|
1073
|
+
clv_cac_ratio: "[X]:1"
|
|
1074
|
+
payback_period: "[X] meses"
|
|
1075
|
+
|
|
1076
|
+
key_findings:
|
|
1077
|
+
finding_1: "[Concentração de valor: X% clientes = Y% valor]"
|
|
1078
|
+
finding_2: "[Trend: CLV de novos cohorts está melhorando/piorando]"
|
|
1079
|
+
finding_3: "[Segment insight mais importante]"
|
|
1080
|
+
|
|
1081
|
+
strategic_implications:
|
|
1082
|
+
- "[Implicação 1 para estratégia]"
|
|
1083
|
+
- "[Implicação 2]"
|
|
1084
|
+
- "[Implicação 3]"
|
|
1085
|
+
|
|
1086
|
+
methodology_section:
|
|
1087
|
+
model_used: "[BG/NBD + Gamma-Gamma / Contratual / Histórico]"
|
|
1088
|
+
time_period_analyzed: "[X] a [Y]"
|
|
1089
|
+
time_horizon_projected: "[N] meses"
|
|
1090
|
+
discount_rate: "[X]%"
|
|
1091
|
+
|
|
1092
|
+
data_quality_notes:
|
|
1093
|
+
- "[Nota sobre qualidade dos dados]"
|
|
1094
|
+
- "[Limitações conhecidas]"
|
|
1095
|
+
|
|
1096
|
+
model_validation:
|
|
1097
|
+
holdout_test_result: "MAPE = [X]%"
|
|
1098
|
+
confidence_level: "[Alta/Média/Baixa]"
|
|
1099
|
+
|
|
1100
|
+
segment_analysis:
|
|
1101
|
+
segment_1:
|
|
1102
|
+
name: "[Champions/Diamond]"
|
|
1103
|
+
customer_count: "[N] ([X]% do total)"
|
|
1104
|
+
total_clv: "$[X] ([Y]% do total)"
|
|
1105
|
+
average_clv: "$[X]"
|
|
1106
|
+
key_characteristics:
|
|
1107
|
+
- "Freq média: [X]"
|
|
1108
|
+
- "AOV médio: $[X]"
|
|
1109
|
+
- "Prob alive: [X]%"
|
|
1110
|
+
recommended_strategy: "[Resumo da estratégia]"
|
|
1111
|
+
|
|
1112
|
+
# ... repeat for each segment
|
|
1113
|
+
|
|
1114
|
+
pareto_analysis:
|
|
1115
|
+
top_1_pct: "[N] clientes representam [X]% do CLV"
|
|
1116
|
+
top_5_pct: "[N] clientes representam [X]% do CLV"
|
|
1117
|
+
top_10_pct: "[N] clientes representam [X]% do CLV"
|
|
1118
|
+
top_20_pct: "[N] clientes representam [X]% do CLV"
|
|
1119
|
+
|
|
1120
|
+
visualization: "[Lorenz curve / Pareto chart]"
|
|
1121
|
+
|
|
1122
|
+
cohort_comparison:
|
|
1123
|
+
best_cohort:
|
|
1124
|
+
cohort_id: "[YYYY-MM]"
|
|
1125
|
+
average_clv: "$[X]"
|
|
1126
|
+
notable_traits: "[O que diferencia este cohort]"
|
|
1127
|
+
|
|
1128
|
+
worst_cohort:
|
|
1129
|
+
cohort_id: "[YYYY-MM]"
|
|
1130
|
+
average_clv: "$[X]"
|
|
1131
|
+
possible_reasons: "[Hipóteses]"
|
|
1132
|
+
|
|
1133
|
+
trend_analysis: "[CLV está melhorando/piorando ao longo do tempo]"
|
|
1134
|
+
|
|
1135
|
+
actionable_recommendations:
|
|
1136
|
+
immediate_actions:
|
|
1137
|
+
- action: "[Ação 1]"
|
|
1138
|
+
segment_impacted: "[Segmento]"
|
|
1139
|
+
expected_impact: "[X]% aumento em CLV"
|
|
1140
|
+
effort: "[Alto/Médio/Baixo]"
|
|
1141
|
+
|
|
1142
|
+
- action: "[Ação 2]"
|
|
1143
|
+
# ...
|
|
1144
|
+
|
|
1145
|
+
medium_term_initiatives:
|
|
1146
|
+
- "[Iniciativa 1]"
|
|
1147
|
+
- "[Iniciativa 2]"
|
|
1148
|
+
|
|
1149
|
+
metrics_to_track:
|
|
1150
|
+
- "CLV médio por cohort (mensal)"
|
|
1151
|
+
- "Distribuição de segmentos (quarterly)"
|
|
1152
|
+
- "CLV:CAC ratio"
|
|
1153
|
+
- "Payback period"
|
|
1154
|
+
|
|
1155
|
+
appendix:
|
|
1156
|
+
detailed_sql_queries: "[Link para queries]"
|
|
1157
|
+
model_parameters: "[Parâmetros fitted do BG/NBD e Gamma-Gamma]"
|
|
1158
|
+
full_segment_breakdown: "[Tabela completa]"
|
|
1159
|
+
customer_level_export: "[Link para arquivo com CLV individual]"
|
|
1160
|
+
```
|
|
1161
|
+
|
|
1162
|
+
---
|
|
1163
|
+
|
|
1164
|
+
## Elicitation Questions (Perguntas de Descoberta)
|
|
1165
|
+
|
|
1166
|
+
```yaml
|
|
1167
|
+
discovery_questions:
|
|
1168
|
+
business_context:
|
|
1169
|
+
- "Qual é o seu modelo de negócio? (subscription, e-commerce, híbrido)"
|
|
1170
|
+
- "Qual é a frequência típica de compra dos seus clientes?"
|
|
1171
|
+
- "Você tem dados de margem por transação?"
|
|
1172
|
+
- "Há quanto tempo você coleta dados transacionais?"
|
|
1173
|
+
|
|
1174
|
+
analytical_maturity:
|
|
1175
|
+
- "Você já calculou CLV antes? Qual método usou?"
|
|
1176
|
+
- "Você tem times de analytics/data science?"
|
|
1177
|
+
- "Quais ferramentas de BI você usa?"
|
|
1178
|
+
- "Os dados estão centralizados em um data warehouse?"
|
|
1179
|
+
|
|
1180
|
+
strategic_goals:
|
|
1181
|
+
- "O principal objetivo é segmentação, previsão, ou valuation?"
|
|
1182
|
+
- "Você quer CLV por cliente individual ou por segmento?"
|
|
1183
|
+
- "Qual é o CAC atual? Você sabe o CLV:CAC ratio?"
|
|
1184
|
+
- "Existe pressão para mostrar ROI de iniciativas de retenção?"
|
|
1185
|
+
|
|
1186
|
+
data_specifics:
|
|
1187
|
+
- "Quantos clientes únicos você tem no histórico?"
|
|
1188
|
+
- "Qual é o período de dados disponível?"
|
|
1189
|
+
- "Há clientes B2B e B2C misturados?"
|
|
1190
|
+
- "Transações canceladas/reembolsadas estão marcadas?"
|
|
1191
|
+
```
|
|
1192
|
+
|
|
1193
|
+
---
|
|
1194
|
+
|
|
1195
|
+
## Common Pitfalls e Como Evitar
|
|
1196
|
+
|
|
1197
|
+
```yaml
|
|
1198
|
+
pitfalls:
|
|
1199
|
+
pitfall_1_confusing_revenue_with_margin:
|
|
1200
|
+
problem: "Calcular CLV em receita bruta superestima valor real"
|
|
1201
|
+
solution: "Sempre usar margem quando possível"
|
|
1202
|
+
if_no_margin: "Aplicar margem média conhecida ao resultado final"
|
|
1203
|
+
|
|
1204
|
+
pitfall_2_ignoring_time_value_money:
|
|
1205
|
+
problem: "CLV sem desconto ignora custo de capital"
|
|
1206
|
+
solution: "Sempre aplicar discount rate (10-15% anual é razoável)"
|
|
1207
|
+
|
|
1208
|
+
pitfall_3_treating_all_customers_equal:
|
|
1209
|
+
problem: "Métricas agregadas escondem heterogeneidade"
|
|
1210
|
+
solution: "Sempre analisar distribuição e segmentos, não apenas média"
|
|
1211
|
+
|
|
1212
|
+
pitfall_4_using_wrong_recency_definition:
|
|
1213
|
+
problem: "BG/NBD usa recency diferente do RFM tradicional"
|
|
1214
|
+
solution: "Para BG/NBD: recency = tempo entre PRIMEIRA e ÚLTIMA compra"
|
|
1215
|
+
|
|
1216
|
+
pitfall_5_not_validating_model:
|
|
1217
|
+
problem: "Confiar cegamente em projeções sem validação"
|
|
1218
|
+
solution: "Sempre fazer holdout test comparando previsão vs realidade"
|
|
1219
|
+
|
|
1220
|
+
pitfall_6_over_engineering_for_small_data:
|
|
1221
|
+
problem: "Usar BG/NBD com poucos clientes ou curto histórico"
|
|
1222
|
+
solution: "Para <1000 clientes ou <12 meses, usar métodos simples"
|
|
1223
|
+
|
|
1224
|
+
pitfall_7_mixing_b2b_b2c:
|
|
1225
|
+
problem: "B2B tem comportamento muito diferente de B2C"
|
|
1226
|
+
solution: "Sempre analisar separadamente ou com modelos distintos"
|
|
1227
|
+
```
|
|
1228
|
+
|
|
1229
|
+
---
|
|
1230
|
+
|
|
1231
|
+
## Ferramentas e Bibliotecas Recomendadas
|
|
1232
|
+
|
|
1233
|
+
```yaml
|
|
1234
|
+
python_libraries:
|
|
1235
|
+
lifetimes:
|
|
1236
|
+
description: "Biblioteca mais usada para BG/NBD e Gamma-Gamma"
|
|
1237
|
+
install: "pip install lifetimes"
|
|
1238
|
+
docs: "https://lifetimes.readthedocs.io/"
|
|
1239
|
+
status: "Mature but no longer actively maintained"
|
|
1240
|
+
|
|
1241
|
+
pymc_marketing:
|
|
1242
|
+
description: "Implementação Bayesiana moderna dos modelos"
|
|
1243
|
+
install: "pip install pymc-marketing"
|
|
1244
|
+
docs: "https://www.pymc-marketing.io/"
|
|
1245
|
+
advantages:
|
|
1246
|
+
- "Quantificação de incerteza"
|
|
1247
|
+
- "Mais flexível"
|
|
1248
|
+
- "Ativamente mantida"
|
|
1249
|
+
|
|
1250
|
+
btyd:
|
|
1251
|
+
description: "Pacote R com implementações clássicas"
|
|
1252
|
+
install: "install.packages('BTYD')"
|
|
1253
|
+
|
|
1254
|
+
sql_approaches:
|
|
1255
|
+
description: "Para empresas que preferem não usar Python/R"
|
|
1256
|
+
recommendation: "Implementar CLV histórico e por cohort em SQL"
|
|
1257
|
+
note: "Modelos probabilísticos são complexos para SQL puro"
|
|
1258
|
+
|
|
1259
|
+
bi_tools:
|
|
1260
|
+
- "Looker com custom measures para CLV"
|
|
1261
|
+
- "Tableau com calculated fields"
|
|
1262
|
+
- "Power BI com DAX measures"
|
|
1263
|
+
- "Metabase com custom questions"
|
|
1264
|
+
```
|
|
1265
|
+
|
|
1266
|
+
---
|
|
1267
|
+
|
|
1268
|
+
## Quick Reference: Fórmulas
|
|
1269
|
+
|
|
1270
|
+
```yaml
|
|
1271
|
+
formulas_summary:
|
|
1272
|
+
historical_simple:
|
|
1273
|
+
formula: "CLV = Σ Transações do cliente"
|
|
1274
|
+
use_case: "Baseline, análise retroativa"
|
|
1275
|
+
|
|
1276
|
+
historical_normalized:
|
|
1277
|
+
formula: "CLV = (Receita Total / Meses de Vida) × Expectativa de Vida"
|
|
1278
|
+
use_case: "Comparar clientes novos e antigos"
|
|
1279
|
+
|
|
1280
|
+
contractual_basic:
|
|
1281
|
+
formula: "CLV = ARPU × Margin / Churn Rate"
|
|
1282
|
+
use_case: "SaaS, subscriptions"
|
|
1283
|
+
|
|
1284
|
+
contractual_npv:
|
|
1285
|
+
formula: "CLV = ARPU × Margin / (Churn Rate + Discount Rate)"
|
|
1286
|
+
use_case: "SaaS com valor presente"
|
|
1287
|
+
|
|
1288
|
+
probabilistic:
|
|
1289
|
+
formula: "CLV = E[Purchases] × E[AOV] × Margin"
|
|
1290
|
+
where: "E[Purchases] de BG/NBD, E[AOV] de Gamma-Gamma"
|
|
1291
|
+
use_case: "E-commerce, varejo, não-contratual"
|
|
1292
|
+
|
|
1293
|
+
key_ratios:
|
|
1294
|
+
clv_cac_ratio:
|
|
1295
|
+
formula: "CLV:CAC = CLV / CAC"
|
|
1296
|
+
healthy: ">= 3:1"
|
|
1297
|
+
minimum: ">= 1:1"
|
|
1298
|
+
|
|
1299
|
+
payback_period:
|
|
1300
|
+
formula: "Payback = CAC / (ARPU × Margin)"
|
|
1301
|
+
healthy: "<= 12 meses"
|
|
1302
|
+
```
|
|
1303
|
+
|
|
1304
|
+
---
|
|
1305
|
+
|
|
1306
|
+
## References
|
|
1307
|
+
|
|
1308
|
+
```yaml
|
|
1309
|
+
academic_sources:
|
|
1310
|
+
- title: "Counting Your Customers the Easy Way: An Alternative to the Pareto/NBD Model"
|
|
1311
|
+
authors: "Fader, Hardie, Lee"
|
|
1312
|
+
year: 2005
|
|
1313
|
+
journal: "Marketing Science"
|
|
1314
|
+
importance: "Paper original do BG/NBD"
|
|
1315
|
+
|
|
1316
|
+
- title: "Customer-Base Analysis in a Discrete-Time Noncontractual Setting"
|
|
1317
|
+
authors: "Fader, Hardie, Shang"
|
|
1318
|
+
year: 2010
|
|
1319
|
+
journal: "Marketing Science"
|
|
1320
|
+
importance: "Extensão para discrete time"
|
|
1321
|
+
|
|
1322
|
+
- title: "Probability Models for Customer-Base Analysis"
|
|
1323
|
+
authors: "Fader, Hardie"
|
|
1324
|
+
year: 2009
|
|
1325
|
+
importance: "Overview completo dos modelos"
|
|
1326
|
+
|
|
1327
|
+
books:
|
|
1328
|
+
- title: "Customer Centricity: Focus on the Right Customers for Strategic Advantage"
|
|
1329
|
+
author: "Peter Fader"
|
|
1330
|
+
year: 2012
|
|
1331
|
+
importance: "Filosofia por trás de CLV"
|
|
1332
|
+
|
|
1333
|
+
- title: "The Customer Centricity Playbook"
|
|
1334
|
+
authors: "Fader, Toms"
|
|
1335
|
+
year: 2018
|
|
1336
|
+
importance: "Implementação prática"
|
|
1337
|
+
|
|
1338
|
+
online_resources:
|
|
1339
|
+
- "brucehardie.com - Papers e tutoriais"
|
|
1340
|
+
- "petefader.com - Recursos adicionais"
|
|
1341
|
+
- "Lifetimes documentation"
|
|
1342
|
+
- "PyMC-Marketing documentation"
|
|
1343
|
+
```
|
|
1344
|
+
|
|
1345
|
+
---
|
|
1346
|
+
|
|
1347
|
+
*Task Version: 1.0*
|
|
1348
|
+
*Primary Agent: Peter Fader*
|
|
1349
|
+
*Supporting Agents: Nick Mehta (Health Score integration), Sean Ellis (Growth metrics)*
|
|
1350
|
+
*Lines: 900+*
|
|
1351
|
+
*Research Base: Fader/Hardie papers, Wharton research, lifetimes library*
|
|
1352
|
+
|
|
1353
|
+
---
|
|
1354
|
+
|
|
1355
|
+
# Appendix: Complete Python Implementation
|
|
1356
|
+
|
|
1357
|
+
```python
|
|
1358
|
+
"""
|
|
1359
|
+
Complete CLV Calculation Pipeline
|
|
1360
|
+
Based on Fader/Hardie methodology
|
|
1361
|
+
|
|
1362
|
+
Requirements:
|
|
1363
|
+
pip install pandas numpy lifetimes matplotlib seaborn
|
|
1364
|
+
"""
|
|
1365
|
+
|
|
1366
|
+
import pandas as pd
|
|
1367
|
+
import numpy as np
|
|
1368
|
+
from datetime import datetime
|
|
1369
|
+
import matplotlib.pyplot as plt
|
|
1370
|
+
import seaborn as sns
|
|
1371
|
+
|
|
1372
|
+
# For probabilistic models
|
|
1373
|
+
from lifetimes import BetaGeoFitter, GammaGammaFitter
|
|
1374
|
+
from lifetimes.utils import summary_data_from_transaction_data
|
|
1375
|
+
from lifetimes.utils import calibration_and_holdout_data
|
|
1376
|
+
from lifetimes.plotting import (
|
|
1377
|
+
plot_frequency_recency_matrix,
|
|
1378
|
+
plot_probability_alive_matrix,
|
|
1379
|
+
plot_period_transactions,
|
|
1380
|
+
plot_calibration_purchases_vs_holdout_purchases
|
|
1381
|
+
)
|
|
1382
|
+
|
|
1383
|
+
|
|
1384
|
+
class CLVCalculator:
|
|
1385
|
+
"""
|
|
1386
|
+
Complete CLV calculation following Fader/Hardie methodology.
|
|
1387
|
+
"""
|
|
1388
|
+
|
|
1389
|
+
def __init__(self, transactions_df,
|
|
1390
|
+
customer_id_col='customer_id',
|
|
1391
|
+
date_col='transaction_date',
|
|
1392
|
+
amount_col='amount',
|
|
1393
|
+
observation_period_end=None):
|
|
1394
|
+
"""
|
|
1395
|
+
Initialize CLV Calculator.
|
|
1396
|
+
|
|
1397
|
+
Args:
|
|
1398
|
+
transactions_df: DataFrame with transaction data
|
|
1399
|
+
customer_id_col: Column name for customer ID
|
|
1400
|
+
date_col: Column name for transaction date
|
|
1401
|
+
amount_col: Column name for transaction amount
|
|
1402
|
+
observation_period_end: End date for analysis (default: today)
|
|
1403
|
+
"""
|
|
1404
|
+
self.df = transactions_df.copy()
|
|
1405
|
+
self.customer_id_col = customer_id_col
|
|
1406
|
+
self.date_col = date_col
|
|
1407
|
+
self.amount_col = amount_col
|
|
1408
|
+
self.observation_period_end = observation_period_end or datetime.now()
|
|
1409
|
+
|
|
1410
|
+
# Convert date column
|
|
1411
|
+
self.df[date_col] = pd.to_datetime(self.df[date_col])
|
|
1412
|
+
|
|
1413
|
+
# Initialize models
|
|
1414
|
+
self.bgf = None
|
|
1415
|
+
self.ggf = None
|
|
1416
|
+
self.summary = None
|
|
1417
|
+
|
|
1418
|
+
def prepare_data(self):
|
|
1419
|
+
"""Prepare data in RFM format for lifetimes."""
|
|
1420
|
+
self.summary = summary_data_from_transaction_data(
|
|
1421
|
+
self.df,
|
|
1422
|
+
customer_id_col=self.customer_id_col,
|
|
1423
|
+
datetime_col=self.date_col,
|
|
1424
|
+
monetary_value_col=self.amount_col,
|
|
1425
|
+
observation_period_end=self.observation_period_end
|
|
1426
|
+
)
|
|
1427
|
+
return self.summary
|
|
1428
|
+
|
|
1429
|
+
def calculate_historical_clv(self):
|
|
1430
|
+
"""Calculate simple historical CLV."""
|
|
1431
|
+
historical = self.df.groupby(self.customer_id_col).agg({
|
|
1432
|
+
self.amount_col: ['sum', 'mean', 'count'],
|
|
1433
|
+
self.date_col: ['min', 'max']
|
|
1434
|
+
})
|
|
1435
|
+
historical.columns = ['total_revenue', 'avg_order_value',
|
|
1436
|
+
'order_count', 'first_purchase', 'last_purchase']
|
|
1437
|
+
historical['tenure_days'] = (historical['last_purchase'] -
|
|
1438
|
+
historical['first_purchase']).dt.days
|
|
1439
|
+
return historical
|
|
1440
|
+
|
|
1441
|
+
def fit_bgnbd(self, penalizer_coef=0.001):
|
|
1442
|
+
"""Fit BG/NBD model for purchase frequency."""
|
|
1443
|
+
if self.summary is None:
|
|
1444
|
+
self.prepare_data()
|
|
1445
|
+
|
|
1446
|
+
self.bgf = BetaGeoFitter(penalizer_coef=penalizer_coef)
|
|
1447
|
+
self.bgf.fit(
|
|
1448
|
+
self.summary['frequency'],
|
|
1449
|
+
self.summary['recency'],
|
|
1450
|
+
self.summary['T']
|
|
1451
|
+
)
|
|
1452
|
+
return self.bgf
|
|
1453
|
+
|
|
1454
|
+
def fit_gamma_gamma(self, penalizer_coef=0.001):
|
|
1455
|
+
"""Fit Gamma-Gamma model for monetary value."""
|
|
1456
|
+
if self.summary is None:
|
|
1457
|
+
self.prepare_data()
|
|
1458
|
+
|
|
1459
|
+
# Filter to returning customers only
|
|
1460
|
+
returning = self.summary[self.summary['frequency'] > 0]
|
|
1461
|
+
|
|
1462
|
+
self.ggf = GammaGammaFitter(penalizer_coef=penalizer_coef)
|
|
1463
|
+
self.ggf.fit(
|
|
1464
|
+
returning['frequency'],
|
|
1465
|
+
returning['monetary_value']
|
|
1466
|
+
)
|
|
1467
|
+
return self.ggf
|
|
1468
|
+
|
|
1469
|
+
def calculate_probabilistic_clv(self, time_months=12,
|
|
1470
|
+
discount_rate_monthly=0.01,
|
|
1471
|
+
margin=1.0):
|
|
1472
|
+
"""
|
|
1473
|
+
Calculate probabilistic CLV using BG/NBD + Gamma-Gamma.
|
|
1474
|
+
|
|
1475
|
+
Args:
|
|
1476
|
+
time_months: Projection period in months
|
|
1477
|
+
discount_rate_monthly: Monthly discount rate
|
|
1478
|
+
margin: Gross margin (1.0 = 100%, 0.7 = 70%)
|
|
1479
|
+
|
|
1480
|
+
Returns:
|
|
1481
|
+
DataFrame with CLV for each customer
|
|
1482
|
+
"""
|
|
1483
|
+
if self.bgf is None:
|
|
1484
|
+
self.fit_bgnbd()
|
|
1485
|
+
if self.ggf is None:
|
|
1486
|
+
self.fit_gamma_gamma()
|
|
1487
|
+
|
|
1488
|
+
# Calculate CLV
|
|
1489
|
+
clv = self.ggf.customer_lifetime_value(
|
|
1490
|
+
self.bgf,
|
|
1491
|
+
self.summary['frequency'],
|
|
1492
|
+
self.summary['recency'],
|
|
1493
|
+
self.summary['T'],
|
|
1494
|
+
self.summary['monetary_value'],
|
|
1495
|
+
time=time_months,
|
|
1496
|
+
freq='D',
|
|
1497
|
+
discount_rate=discount_rate_monthly
|
|
1498
|
+
) * margin
|
|
1499
|
+
|
|
1500
|
+
# Add to summary
|
|
1501
|
+
self.summary['clv'] = clv
|
|
1502
|
+
self.summary['prob_alive'] = self.bgf.conditional_probability_alive(
|
|
1503
|
+
self.summary['frequency'],
|
|
1504
|
+
self.summary['recency'],
|
|
1505
|
+
self.summary['T']
|
|
1506
|
+
)
|
|
1507
|
+
|
|
1508
|
+
return self.summary
|
|
1509
|
+
|
|
1510
|
+
def segment_customers(self, clv_column='clv',
|
|
1511
|
+
segments=['Bronze', 'Silver', 'Gold', 'Platinum', 'Diamond'],
|
|
1512
|
+
quantiles=[0, 0.4, 0.6, 0.8, 0.9, 1.0]):
|
|
1513
|
+
"""Segment customers by CLV."""
|
|
1514
|
+
self.summary['segment'] = pd.qcut(
|
|
1515
|
+
self.summary[clv_column],
|
|
1516
|
+
q=quantiles,
|
|
1517
|
+
labels=segments
|
|
1518
|
+
)
|
|
1519
|
+
return self.summary.groupby('segment').agg({
|
|
1520
|
+
clv_column: ['count', 'sum', 'mean', 'median'],
|
|
1521
|
+
'frequency': 'mean',
|
|
1522
|
+
'monetary_value': 'mean',
|
|
1523
|
+
'prob_alive': 'mean'
|
|
1524
|
+
})
|
|
1525
|
+
|
|
1526
|
+
def pareto_analysis(self, clv_column='clv'):
|
|
1527
|
+
"""Perform Pareto analysis on CLV."""
|
|
1528
|
+
sorted_df = self.summary.sort_values(clv_column, ascending=False)
|
|
1529
|
+
sorted_df['cumulative_clv'] = sorted_df[clv_column].cumsum()
|
|
1530
|
+
sorted_df['cumulative_pct'] = sorted_df['cumulative_clv'] / sorted_df[clv_column].sum()
|
|
1531
|
+
sorted_df['customer_pct'] = (range(1, len(sorted_df) + 1)) / len(sorted_df)
|
|
1532
|
+
|
|
1533
|
+
# Find key thresholds
|
|
1534
|
+
results = {}
|
|
1535
|
+
for pct in [0.1, 0.2, 0.5]:
|
|
1536
|
+
n_customers = int(len(sorted_df) * pct)
|
|
1537
|
+
value_pct = sorted_df.iloc[:n_customers]['cumulative_pct'].iloc[-1]
|
|
1538
|
+
results[f'top_{int(pct*100)}%_customers'] = f"{value_pct*100:.1f}% of CLV"
|
|
1539
|
+
|
|
1540
|
+
return results, sorted_df
|
|
1541
|
+
|
|
1542
|
+
def validate_model(self, calibration_end, holdout_end=None):
|
|
1543
|
+
"""Validate model using calibration/holdout approach."""
|
|
1544
|
+
holdout_end = holdout_end or self.observation_period_end
|
|
1545
|
+
|
|
1546
|
+
summary_cal = calibration_and_holdout_data(
|
|
1547
|
+
self.df,
|
|
1548
|
+
self.customer_id_col,
|
|
1549
|
+
self.date_col,
|
|
1550
|
+
calibration_period_end=calibration_end,
|
|
1551
|
+
observation_period_end=holdout_end
|
|
1552
|
+
)
|
|
1553
|
+
|
|
1554
|
+
# Fit on calibration
|
|
1555
|
+
bgf_cal = BetaGeoFitter()
|
|
1556
|
+
bgf_cal.fit(
|
|
1557
|
+
summary_cal['frequency_cal'],
|
|
1558
|
+
summary_cal['recency_cal'],
|
|
1559
|
+
summary_cal['T_cal']
|
|
1560
|
+
)
|
|
1561
|
+
|
|
1562
|
+
# Predict
|
|
1563
|
+
summary_cal['predicted'] = bgf_cal.conditional_expected_number_of_purchases_up_to_time(
|
|
1564
|
+
summary_cal['duration_holdout'],
|
|
1565
|
+
summary_cal['frequency_cal'],
|
|
1566
|
+
summary_cal['recency_cal'],
|
|
1567
|
+
summary_cal['T_cal']
|
|
1568
|
+
)
|
|
1569
|
+
|
|
1570
|
+
# Calculate MAPE
|
|
1571
|
+
actual = summary_cal['frequency_holdout']
|
|
1572
|
+
predicted = summary_cal['predicted']
|
|
1573
|
+
mape = np.mean(np.abs((actual - predicted) / (actual + 1))) * 100
|
|
1574
|
+
|
|
1575
|
+
return {
|
|
1576
|
+
'mape': mape,
|
|
1577
|
+
'summary': summary_cal,
|
|
1578
|
+
'model': bgf_cal
|
|
1579
|
+
}
|
|
1580
|
+
|
|
1581
|
+
def generate_report(self, clv_column='clv'):
|
|
1582
|
+
"""Generate comprehensive CLV report."""
|
|
1583
|
+
report = {
|
|
1584
|
+
'total_customers': len(self.summary),
|
|
1585
|
+
'total_clv': self.summary[clv_column].sum(),
|
|
1586
|
+
'average_clv': self.summary[clv_column].mean(),
|
|
1587
|
+
'median_clv': self.summary[clv_column].median(),
|
|
1588
|
+
'std_clv': self.summary[clv_column].std(),
|
|
1589
|
+
'percentiles': {
|
|
1590
|
+
'p10': self.summary[clv_column].quantile(0.10),
|
|
1591
|
+
'p25': self.summary[clv_column].quantile(0.25),
|
|
1592
|
+
'p50': self.summary[clv_column].quantile(0.50),
|
|
1593
|
+
'p75': self.summary[clv_column].quantile(0.75),
|
|
1594
|
+
'p90': self.summary[clv_column].quantile(0.90),
|
|
1595
|
+
'p99': self.summary[clv_column].quantile(0.99)
|
|
1596
|
+
},
|
|
1597
|
+
'pareto': self.pareto_analysis(clv_column)[0]
|
|
1598
|
+
}
|
|
1599
|
+
return report
|
|
1600
|
+
|
|
1601
|
+
|
|
1602
|
+
# Example usage
|
|
1603
|
+
if __name__ == "__main__":
|
|
1604
|
+
# Sample data creation (replace with real data)
|
|
1605
|
+
np.random.seed(42)
|
|
1606
|
+
n_customers = 1000
|
|
1607
|
+
|
|
1608
|
+
transactions = []
|
|
1609
|
+
for cid in range(n_customers):
|
|
1610
|
+
n_purchases = np.random.poisson(3) + 1
|
|
1611
|
+
for _ in range(n_purchases):
|
|
1612
|
+
transactions.append({
|
|
1613
|
+
'customer_id': f'C{cid:04d}',
|
|
1614
|
+
'transaction_date': pd.Timestamp('2024-01-01') +
|
|
1615
|
+
pd.Timedelta(days=np.random.randint(0, 700)),
|
|
1616
|
+
'amount': np.random.lognormal(4, 0.5)
|
|
1617
|
+
})
|
|
1618
|
+
|
|
1619
|
+
df = pd.DataFrame(transactions)
|
|
1620
|
+
|
|
1621
|
+
# Initialize calculator
|
|
1622
|
+
calc = CLVCalculator(df)
|
|
1623
|
+
|
|
1624
|
+
# Calculate CLV
|
|
1625
|
+
calc.prepare_data()
|
|
1626
|
+
calc.fit_bgnbd()
|
|
1627
|
+
calc.fit_gamma_gamma()
|
|
1628
|
+
results = calc.calculate_probabilistic_clv(time_months=12, margin=0.70)
|
|
1629
|
+
|
|
1630
|
+
# Generate segments
|
|
1631
|
+
segments = calc.segment_customers()
|
|
1632
|
+
|
|
1633
|
+
# Generate report
|
|
1634
|
+
report = calc.generate_report()
|
|
1635
|
+
|
|
1636
|
+
print("="*50)
|
|
1637
|
+
print("CLV REPORT")
|
|
1638
|
+
print("="*50)
|
|
1639
|
+
print(f"Total Customers: {report['total_customers']:,}")
|
|
1640
|
+
print(f"Total CLV: ${report['total_clv']:,.2f}")
|
|
1641
|
+
print(f"Average CLV: ${report['average_clv']:,.2f}")
|
|
1642
|
+
print(f"Median CLV: ${report['median_clv']:,.2f}")
|
|
1643
|
+
print("\nPareto Analysis:")
|
|
1644
|
+
for k, v in report['pareto'].items():
|
|
1645
|
+
print(f" {k}: {v}")
|
|
1646
|
+
print("\nSegment Analysis:")
|
|
1647
|
+
print(segments)
|
|
1648
|
+
```
|
|
1649
|
+
|
|
1650
|
+
---
|
|
1651
|
+
|
|
1652
|
+
## Acceptance Criteria
|
|
1653
|
+
|
|
1654
|
+
- [ ] O modelo de negócio, o horizonte de projeção e as premissas financeiras foram documentados antes do cálculo.
|
|
1655
|
+
- [ ] O método de CLV escolhido é compatível com a qualidade e a cobertura dos dados disponíveis.
|
|
1656
|
+
- [ ] O output final separa claramente entregáveis canônicos de outputs ad-hoc.
|
|
1657
|
+
- [ ] O relatório inclui segmentos de valor, projeções e recomendações acionáveis.
|
|
1658
|
+
|
|
1659
|
+
*End of Task: calculate-clv.md*
|
|
1660
|
+
*Lines: 1000+*
|