@daniellins/power-claude 0.16.3
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.
Potentially problematic release.
This version of @daniellins/power-claude might be problematic. Click here for more details.
- package/LICENSE +21 -0
- package/README.md +121 -0
- package/bin/cli.js +124 -0
- package/installer/__tests__/doctor-ready-oracles.test.cjs +140 -0
- package/installer/__tests__/merge-settings.test.cjs +330 -0
- package/installer/adopt.js +161 -0
- package/installer/copy.js +203 -0
- package/installer/doctor.js +266 -0
- package/installer/install.js +155 -0
- package/installer/manifest.js +102 -0
- package/installer/motor-scripts.js +50 -0
- package/installer/motor-scripts.json +39 -0
- package/installer/uninstall.js +99 -0
- package/installer/update.js +376 -0
- package/installer/util.js +113 -0
- package/installer/wizard.js +64 -0
- package/package.json +26 -0
- package/scripts/__fixtures__/anti-path-demo/agents/ap-writer.md +13 -0
- package/scripts/__fixtures__/anti-path-demo/templates/write-tmpl.md +7 -0
- package/scripts/__fixtures__/anti-path-demo/workflows/wf-ap.smoke.json +10 -0
- package/scripts/__fixtures__/anti-path-demo/workflows/wf-ap.yaml +25 -0
- package/scripts/__fixtures__/assess-tier/retrofit-leve/pod/agents/content-chief.md +1 -0
- package/scripts/__fixtures__/assess-tier/retrofit-leve/pod/workflows/wf-criacao-redteam.yaml +3 -0
- package/scripts/__fixtures__/assess-tier/retrofit-leve/pod-spec.json +13 -0
- package/scripts/__fixtures__/fidelity/fake-green-average-in-band.yaml +21 -0
- package/scripts/__fixtures__/fidelity/fake-green-average.yaml +18 -0
- package/scripts/__fixtures__/fidelity/fake-green-denominator.yaml +19 -0
- package/scripts/__fixtures__/fidelity/fake-green-missing-evidence.yaml +18 -0
- package/scripts/__fixtures__/fidelity/fake-green-threshold.yaml +18 -0
- package/scripts/__fixtures__/fidelity/fake-green-weight.yaml +18 -0
- package/scripts/__fixtures__/fidelity/golden.yaml +31 -0
- package/scripts/__fixtures__/fidelity/trindade-incoherent.yaml +15 -0
- package/scripts/__fixtures__/forge-canonical/pod-spec-example.json +37 -0
- package/scripts/__fixtures__/migrate-squad/authored/agents/offer-engineer.md +17 -0
- package/scripts/__fixtures__/migrate-squad/authored/knowledge/no-source.md +7 -0
- package/scripts/__fixtures__/migrate-squad/authored/knowledge/value-stack-method.md +8 -0
- package/scripts/__fixtures__/migrate-squad/authored/specs/wf-sample.smoke.json +24 -0
- package/scripts/__fixtures__/migrate-squad/authored/specs/wf-sample.spec.json +45 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/HEADLINE.md +3 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/README.md +4 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/agents/hormozi-offer.md +14 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/checklists/dead-redundant.md +4 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/checklists/method-guide.md +6 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/checklists/veto-screen.md +4 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/config/config.yaml +2 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/data/case-library.md +3 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/scripts/validate-mvn.py +16 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/sops/sop-sample.md +3 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/squad-io.yaml +14 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/tasks/gather-context.md +7 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/templates/output-tmpl.md +5 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/workflows/wf-sample.yaml +24 -0
- package/scripts/__fixtures__/pipeline/pipelines/pipeline-checkpoint.yaml +21 -0
- package/scripts/__fixtures__/pipeline/pipelines/pipeline-demo.yaml +22 -0
- package/scripts/__fixtures__/pipeline/pods/pipe-a/agents/maker.md +13 -0
- package/scripts/__fixtures__/pipeline/pods/pipe-a/memory/learnings.consolidated.md +8 -0
- package/scripts/__fixtures__/pipeline/pods/pipe-a/memory/learnings.jsonl +83 -0
- package/scripts/__fixtures__/pipeline/pods/pipe-a/templates/make-tmpl.md +8 -0
- package/scripts/__fixtures__/pipeline/pods/pipe-a/workflows/wf-a.yaml +16 -0
- package/scripts/__fixtures__/pipeline/pods/pipe-b/agents/user.md +13 -0
- package/scripts/__fixtures__/pipeline/pods/pipe-b/memory/learnings.consolidated.md +8 -0
- package/scripts/__fixtures__/pipeline/pods/pipe-b/memory/learnings.jsonl +14 -0
- package/scripts/__fixtures__/pipeline/pods/pipe-b/templates/use-tmpl.md +6 -0
- package/scripts/__fixtures__/pipeline/pods/pipe-b/workflows/wf-b.yaml +16 -0
- package/scripts/__fixtures__/pod-run/agents/forge-chief.md +13 -0
- package/scripts/__fixtures__/pod-run/agents/pod-critic.md +13 -0
- package/scripts/__fixtures__/pod-run/templates/build-tmpl.md +8 -0
- package/scripts/__fixtures__/pod-run/templates/gate-tmpl.md +6 -0
- package/scripts/__fixtures__/pod-run/workflows/wf-min.yaml +43 -0
- package/scripts/__fixtures__/pod-run/workflows/wf-skip-modes.yaml +50 -0
- package/scripts/__fixtures__/pod-workflow/invalid-checkpoint-all-skippable.yaml +30 -0
- package/scripts/__fixtures__/pod-workflow/invalid-checkpoint-criteria-escalar-de-bloco.yaml +40 -0
- package/scripts/__fixtures__/pod-workflow/invalid-checkpoint-skip-mode-desconhecido.yaml +30 -0
- package/scripts/__fixtures__/pod-workflow/invalid-checkpoint-unknown-key.yaml +29 -0
- package/scripts/__fixtures__/pod-workflow/invalid-cycle.yaml +26 -0
- package/scripts/__fixtures__/pod-workflow/invalid-fix-loop-backedge.yaml +29 -0
- package/scripts/__fixtures__/pod-workflow/invalid-fix-loop-forward.yaml +29 -0
- package/scripts/__fixtures__/pod-workflow/invalid-handoff-open.yaml +27 -0
- package/scripts/__fixtures__/pod-workflow/invalid-knowledge-shape.yaml +18 -0
- package/scripts/__fixtures__/pod-workflow/invalid-missing-agent.yaml +15 -0
- package/scripts/__fixtures__/pod-workflow/invalid-missing-outputs.yaml +15 -0
- package/scripts/__fixtures__/pod-workflow/invalid-missing-template.yaml +15 -0
- package/scripts/__fixtures__/pod-workflow/invalid-missing-veto.yaml +13 -0
- package/scripts/__fixtures__/pod-workflow/invalid-template-not-on-disk.yaml +16 -0
- package/scripts/__fixtures__/pod-workflow/invalid-veto-prose.yaml +17 -0
- package/scripts/__fixtures__/pod-workflow/knowledge/a.md +4 -0
- package/scripts/__fixtures__/pod-workflow/knowledge/b.md +4 -0
- package/scripts/__fixtures__/pod-workflow/knowledge/c.md +4 -0
- package/scripts/__fixtures__/pod-workflow/templates/step-tmpl.md +7 -0
- package/scripts/__fixtures__/pod-workflow/valid-checkpoint-skip-modes.yaml +29 -0
- package/scripts/__fixtures__/pod-workflow/valid-fix-loop.yaml +30 -0
- package/scripts/__fixtures__/pod-workflow/valid-knowledge.yaml +30 -0
- package/scripts/__fixtures__/pod-workflow/valid-veto-always-true.yaml +20 -0
- package/scripts/__fixtures__/pod-workflow/valid.yaml +27 -0
- package/scripts/__fixtures__/smoke-canary/agents/canary-reporter.md +13 -0
- package/scripts/__fixtures__/smoke-canary/agents/canary-researcher.md +13 -0
- package/scripts/__fixtures__/smoke-canary/agents/canary-synth.md +13 -0
- package/scripts/__fixtures__/smoke-canary/memory/learnings.consolidated.md +10 -0
- package/scripts/__fixtures__/smoke-canary/memory/learnings.jsonl +448 -0
- package/scripts/__fixtures__/smoke-canary/templates/report-tmpl.md +9 -0
- package/scripts/__fixtures__/smoke-canary/templates/research-tmpl.md +7 -0
- package/scripts/__fixtures__/smoke-canary/templates/synth-tmpl.md +9 -0
- package/scripts/__fixtures__/smoke-canary/workflows/wf-canary.smoke.json +11 -0
- package/scripts/__fixtures__/smoke-canary/workflows/wf-canary.yaml +53 -0
- package/scripts/__fixtures__/source-audit/fake-green-bronze-unsignaled.yaml +10 -0
- package/scripts/__fixtures__/source-audit/fake-green-counts.yaml +9 -0
- package/scripts/__fixtures__/source-audit/fake-green-missing-evidence.yaml +9 -0
- package/scripts/__fixtures__/source-audit/fake-green-unclassified.yaml +10 -0
- package/scripts/__fixtures__/source-audit/fake-green-verdict.yaml +10 -0
- package/scripts/__fixtures__/source-audit/golden-blocked.yaml +10 -0
- package/scripts/__fixtures__/source-audit/golden.yaml +11 -0
- package/scripts/__fixtures__/sweep-forms/agents/forms-count.md +13 -0
- package/scripts/__fixtures__/sweep-forms/agents/forms-field.md +13 -0
- package/scripts/__fixtures__/sweep-forms/agents/forms-fileref.md +13 -0
- package/scripts/__fixtures__/sweep-forms/agents/forms-json.md +13 -0
- package/scripts/__fixtures__/sweep-forms/agents/forms-section.md +13 -0
- package/scripts/__fixtures__/sweep-forms/specs/wf-forms.spec.json +5 -0
- package/scripts/__fixtures__/sweep-forms/templates/t_count.md +5 -0
- package/scripts/__fixtures__/sweep-forms/templates/t_field.md +3 -0
- package/scripts/__fixtures__/sweep-forms/templates/t_fileref.md +3 -0
- package/scripts/__fixtures__/sweep-forms/templates/t_json.md +0 -0
- package/scripts/__fixtures__/sweep-forms/templates/t_section.md +3 -0
- package/scripts/__fixtures__/sweep-forms/workflows/wf-forms.smoke.json +13 -0
- package/scripts/__fixtures__/sweep-forms/workflows/wf-forms.yaml +67 -0
- package/scripts/__fixtures__/validate-story-acs-corpus/corpus-1-noop-state-json.fixture.md +18 -0
- package/scripts/__fixtures__/validate-story-acs-corpus/corpus-2-crash-buildworkflowyaml.fixture.md +26 -0
- package/scripts/__fixtures__/validate-story-acs-corpus/corpus-3-nasce-verde-skip-modes.fixture.md +29 -0
- package/scripts/__fixtures__/validate-story-acs-corpus/corpus-4-guarda-sem-irmao.fixture.md +17 -0
- package/scripts/__fixtures__/validate-story-acs-corpus/corpus-5a-diff-stat-sem-guarda.fixture.md +17 -0
- package/scripts/__fixtures__/validate-story-acs-corpus/corpus-5b-test-f-sobre-diretorio.fixture.md +20 -0
- package/scripts/__fixtures__/veto-checks/copy-clean.md +4 -0
- package/scripts/__fixtures__/veto-checks/copy-dashes.md +4 -0
- package/scripts/__fixtures__/veto-checks/n8n-bad.md +18 -0
- package/scripts/__fixtures__/veto-checks/n8n-ok.md +22 -0
- package/scripts/__fixtures__/veto-checks/page-bad.html +7 -0
- package/scripts/__fixtures__/veto-checks/phash/copy.png +0 -0
- package/scripts/__fixtures__/veto-checks/phash/distinct.png +0 -0
- package/scripts/__fixtures__/veto-checks/phash/distinct2.png +0 -0
- package/scripts/__fixtures__/veto-checks/phash/make-fixtures.cjs +203 -0
- package/scripts/__fixtures__/veto-checks/phash/ref.png +0 -0
- package/scripts/__fixtures__/veto-checks/slide-ok.html +15 -0
- package/scripts/__fixtures__/veto-checks/slide-overflow.html +14 -0
- package/scripts/__fixtures__/veto-checks/sweep-pod/agents/vc-checker.md +13 -0
- package/scripts/__fixtures__/veto-checks/sweep-pod/templates/check-tmpl.md +6 -0
- package/scripts/__fixtures__/veto-checks/sweep-pod/workflows/wf-vc.smoke.json +10 -0
- package/scripts/__fixtures__/veto-checks/sweep-pod/workflows/wf-vc.yaml +19 -0
- package/scripts/__fixtures__/voz-do-dono/README.md +23 -0
- package/scripts/__fixtures__/voz-do-dono/dono-escalar.yaml +9 -0
- package/scripts/__fixtures__/voz-do-dono/dono-guia.yaml +10 -0
- package/scripts/__fixtures__/voz-do-dono/peca-3a-pessoa.md +6 -0
- package/scripts/__fixtures__/voz-do-dono/peca-com-lexico-proibido.md +6 -0
- package/scripts/__fixtures__/voz-do-dono/peca-limpa-1a-pessoa.md +6 -0
- package/scripts/__tests__/derive-ready-transitions.test.cjs +269 -0
- package/scripts/__tests__/enforce-cycle-authority.test.cjs +869 -0
- package/scripts/__tests__/enforce-git-push-authority.test.cjs +701 -0
- package/scripts/__tests__/enforce-ready-oracles.test.cjs +745 -0
- package/scripts/__tests__/motor-scripts.test.cjs +339 -0
- package/scripts/__tests__/pc-run-pod-counter.test.cjs +58 -0
- package/scripts/__tests__/pc-run-pod.test.cjs +578 -0
- package/scripts/__tests__/validate-pod-workflow.test.cjs +90 -0
- package/scripts/__tests__/validate-story-acs.test.cjs +607 -0
- package/scripts/anti-path.test.cjs +163 -0
- package/scripts/arena.cjs +514 -0
- package/scripts/arena.test.cjs +213 -0
- package/scripts/brief-leitura-obrigatoria.test.cjs +364 -0
- package/scripts/consolidate-knowledge-runner.test.cjs +249 -0
- package/scripts/default-funcional.test.cjs +153 -0
- package/scripts/derive-ready-transitions.cjs +325 -0
- package/scripts/forge-additive.test.cjs +158 -0
- package/scripts/forge-assess-tier.cjs +205 -0
- package/scripts/forge-assess-tier.test.cjs +114 -0
- package/scripts/forge-canonical.test.cjs +624 -0
- package/scripts/forge-generate.cjs +1303 -0
- package/scripts/forge-harden-learning.cjs +921 -0
- package/scripts/forge-harden-learning.test.cjs +242 -0
- package/scripts/forge-ingest-memory.cjs +136 -0
- package/scripts/forge-upgrade-pod.cjs +368 -0
- package/scripts/forge.test.cjs +609 -0
- package/scripts/harden-knowledge.test.cjs +612 -0
- package/scripts/harness-g5-lite.cjs +243 -0
- package/scripts/harness-g5-lite.test.cjs +134 -0
- package/scripts/hn-carousel-contrato-entrada.test.cjs +96 -0
- package/scripts/migrate-squad-orchestration.test.cjs +146 -0
- package/scripts/migration-manifest-sf3.2.test.cjs +382 -0
- package/scripts/migration-manifest-sf3.3.test.cjs +170 -0
- package/scripts/migration-manifest-sf5.5.test.cjs +189 -0
- package/scripts/migration-manifest.cjs +1146 -0
- package/scripts/migration-manifest.test.cjs +186 -0
- package/scripts/npm-scope-invocation.test.cjs +194 -0
- package/scripts/owner-layer.cjs +442 -0
- package/scripts/owner-layer.test.cjs +358 -0
- package/scripts/pc-run-pipeline.cjs +289 -0
- package/scripts/pc-run-pipeline.test.cjs +256 -0
- package/scripts/pc-run-pod-countgte.test.cjs +66 -0
- package/scripts/pc-run-pod.cjs +1355 -0
- package/scripts/phash-gate.test.cjs +433 -0
- package/scripts/pod-export-compile.cjs +487 -0
- package/scripts/pod-export-compile.test.cjs +312 -0
- package/scripts/pod-export-executor.cjs +678 -0
- package/scripts/pod-export-executor.test.cjs +1341 -0
- package/scripts/pod-export-hardening.test.cjs +531 -0
- package/scripts/pod-export-postprocess.cjs +427 -0
- package/scripts/pod-export-postprocess.test.cjs +558 -0
- package/scripts/pod-export-queue-race.test.cjs +865 -0
- package/scripts/pod-export-release.cjs +473 -0
- package/scripts/pod-export-release.test.cjs +267 -0
- package/scripts/pod-export-service.cjs +1297 -0
- package/scripts/pod-export-service.test.cjs +489 -0
- package/scripts/pod-export-tools.cjs +470 -0
- package/scripts/pod-export-ui.cjs +805 -0
- package/scripts/pod-export-ui.test.cjs +301 -0
- package/scripts/pod-memory-budget.test.cjs +309 -0
- package/scripts/pod-memory-note.cjs +357 -0
- package/scripts/pod-memory-note.test.cjs +452 -0
- package/scripts/pod-memory.cjs +1252 -0
- package/scripts/pod-memory.test.cjs +951 -0
- package/scripts/render-png.test.cjs +307 -0
- package/scripts/smoke-isolation.test.cjs +100 -0
- package/scripts/smoke-pod-workflow.cjs +755 -0
- package/scripts/smoke-sweep.test.cjs +170 -0
- package/scripts/validate-adopt.js +235 -0
- package/scripts/validate-branding.js +84 -0
- package/scripts/validate-budgets.js +140 -0
- package/scripts/validate-fidelity-output.cjs +267 -0
- package/scripts/validate-fidelity-output.test.cjs +101 -0
- package/scripts/validate-install.js +230 -0
- package/scripts/validate-no-clone.cjs +220 -0
- package/scripts/validate-no-clone.test.cjs +77 -0
- package/scripts/validate-pipeline.cjs +145 -0
- package/scripts/validate-pod-workflow.cjs +878 -0
- package/scripts/validate-source-audit.cjs +170 -0
- package/scripts/validate-source-audit.test.cjs +90 -0
- package/scripts/validate-story-acs.cjs +862 -0
- package/scripts/validate-update-scope-motor.js +421 -0
- package/scripts/veto-checks/html-valid.cjs +92 -0
- package/scripts/veto-checks/lexical-check.cjs +62 -0
- package/scripts/veto-checks/phash-gate.cjs +589 -0
- package/scripts/veto-checks/render-gate.cjs +165 -0
- package/scripts/veto-checks/render-png.cjs +358 -0
- package/scripts/veto-checks.test.cjs +219 -0
- package/scripts/watcher-audit.cjs +178 -0
- package/template/.claude/CLAUDE.md +103 -0
- package/template/.claude/agents/pc-analyst.md +100 -0
- package/template/.claude/agents/pc-architect.md +32 -0
- package/template/.claude/agents/pc-dev.md +27 -0
- package/template/.claude/agents/pc-devops.md +45 -0
- package/template/.claude/agents/pc-planner.md +32 -0
- package/template/.claude/agents/pc-po.md +25 -0
- package/template/.claude/agents/pc-qa.md +25 -0
- package/template/.claude/commands/power/academy.md +9 -0
- package/template/.claude/commands/power/automation.md +9 -0
- package/template/.claude/commands/power/content-carousel.md +267 -0
- package/template/.claude/commands/power/content.md +9 -0
- package/template/.claude/commands/power/dev.md +9 -0
- package/template/.claude/commands/power/forge.md +224 -0
- package/template/.claude/commands/power/hormozi.md +221 -0
- package/template/.claude/commands/power/modo.md +57 -0
- package/template/.claude/hooks/README.md +114 -0
- package/template/.claude/hooks/context-budget.cjs +64 -0
- package/template/.claude/hooks/enforce-cycle-authority.cjs +457 -0
- package/template/.claude/hooks/enforce-git-push-authority.cjs +925 -0
- package/template/.claude/hooks/enforce-ready-oracles.cjs +502 -0
- package/template/.claude/rules/authority.md +76 -0
- package/template/.claude/rules/curadoria-de-conhecimento.md +30 -0
- package/template/.claude/rules/model-matrix.md +34 -0
- package/template/.claude/rules/orchestration.md +133 -0
- package/template/.claude/settings.json +50 -0
- package/template/.claude/skills/pc-apply-qa-fixes/SKILL.md +108 -0
- package/template/.claude/skills/pc-apply-qa-fixes/references/fix-loop.md +40 -0
- package/template/.claude/skills/pc-apply-qa-fixes/references/fix-request-template.md +70 -0
- package/template/.claude/skills/pc-arena/SKILL.md +96 -0
- package/template/.claude/skills/pc-close-story/SKILL.md +105 -0
- package/template/.claude/skills/pc-commit/SKILL.md +108 -0
- package/template/.claude/skills/pc-develop-story/SKILL.md +116 -0
- package/template/.claude/skills/pc-full-cycle/SKILL.md +150 -0
- package/template/.claude/skills/pc-pipeline/SKILL.md +63 -0
- package/template/.claude/skills/pc-pipeline/references/gate-templates.md +46 -0
- package/template/.claude/skills/pc-review-story/SKILL.md +129 -0
- package/template/.claude/skills/pc-review-story/references/false-positive-detection.md +50 -0
- package/template/.claude/skills/pc-review-story/references/nfr-assess.md +47 -0
- package/template/.claude/skills/pc-review-story/references/risk-profile.md +75 -0
- package/template/.claude/skills/pc-review-story/references/security-checklist.md +69 -0
- package/template/.claude/skills/pc-review-story/references/test-design.md +37 -0
- package/template/.claude/skills/pc-review-story/references/trace-requirements.md +46 -0
- package/template/.claude/skills/pc-run-pod/SKILL.md +123 -0
- package/template/.claude/skills/pc-validate-story/SKILL.md +114 -0
- package/template/.claude/skills/pc-wave/SKILL.md +133 -0
- package/template/.env.example +10 -0
- package/template/knowledge/analyst/brainstorming.md +40 -0
- package/template/knowledge/analyst/brief-skeleton.md +32 -0
- package/template/knowledge/analyst/competitor-skeleton.md +39 -0
- package/template/knowledge/analyst/elicitation-menu.md +49 -0
- package/template/knowledge/analyst/market-research-skeleton.md +36 -0
- package/template/knowledge/analyst/research-prompt-structure.md +48 -0
- package/template/knowledge/analyst/roi-skeleton.md +51 -0
- package/template/knowledge/voice-dna/README.md +99 -0
- package/template/knowledge/voice-dna/voice-dna.example.yaml +157 -0
- package/template/pods/README.md +64 -0
- package/template/pods/academy/README.md +37 -0
- package/template/pods/academy/agents/academy-chief.md +27 -0
- package/template/pods/academy/examples/palestra.example.md +142 -0
- package/template/pods/academy/pod-spec.json +44 -0
- package/template/pods/academy/templates/materiais-tmpl.md +17 -0
- package/template/pods/academy/templates/revisao-didatica-tmpl.md +20 -0
- package/template/pods/academy/workflows/wf-materiais-revisao.yaml +30 -0
- package/template/pods/authority-content/README.md +43 -0
- package/template/pods/authority-content/agents/content-chief.md +28 -0
- package/template/pods/authority-content/pod-spec.json +45 -0
- package/template/pods/authority-content/templates/criacao-na-voz-tmpl.md +17 -0
- package/template/pods/authority-content/templates/red-team-factual-tmpl.md +23 -0
- package/template/pods/authority-content/workflows/wf-criacao-redteam.yaml +30 -0
- package/template/pods/automation/README.md +37 -0
- package/template/pods/automation/agents/langgraph-architect.md +30 -0
- package/template/pods/automation/agents/n8n-architect.md +30 -0
- package/template/pods/automation/examples/README.md +46 -0
- package/template/pods/automation/examples/n8n-content-radar.example.json +380 -0
- package/template/pods/automation/knowledge/langgraph-patterns.md +126 -0
- package/template/pods/automation/knowledge/n8n-patterns.md +131 -0
- package/template/pods/automation/memory/README.md +16 -0
- package/template/pods/automation/memory/learnings.consolidated.md +8 -0
- package/template/pods/automation/memory/learnings.jsonl +0 -0
- package/template/pods/automation/pod-spec.json +109 -0
- package/template/pods/automation/specs/wf-langgraph-build.spec.json +107 -0
- package/template/pods/automation/squad-io.yaml +28 -0
- package/template/pods/automation/templates/lg-build-tmpl.md +17 -0
- package/template/pods/automation/templates/lg-design-tmpl.md +23 -0
- package/template/pods/automation/templates/lg-discover-tmpl.md +20 -0
- package/template/pods/automation/templates/lg-handoff-tmpl.md +20 -0
- package/template/pods/automation/templates/lg-test-tmpl.md +20 -0
- package/template/pods/automation/templates/n8n-build-tmpl.md +14 -0
- package/template/pods/automation/templates/n8n-design-tmpl.md +23 -0
- package/template/pods/automation/templates/n8n-discover-tmpl.md +20 -0
- package/template/pods/automation/templates/n8n-handoff-tmpl.md +20 -0
- package/template/pods/automation/templates/n8n-test-tmpl.md +20 -0
- package/template/pods/automation/workflows/wf-langgraph-build.smoke.json +11 -0
- package/template/pods/automation/workflows/wf-langgraph-build.yaml +64 -0
- package/template/pods/automation/workflows/wf-n8n-build.smoke.json +11 -0
- package/template/pods/automation/workflows/wf-n8n-build.yaml +65 -0
- package/template/pods/content-carousel/README.md +91 -0
- package/template/pods/content-carousel/agents/carousel-builder.md +28 -0
- package/template/pods/content-carousel/agents/carousel-visual.md +24 -0
- package/template/pods/content-carousel/agents/hn-curator.md +74 -0
- package/template/pods/content-carousel/config/heuristic-watcher-rubric.yaml +59 -0
- package/template/pods/content-carousel/knowledge/aquisicao-ancora.md +443 -0
- package/template/pods/content-carousel/knowledge/cta-brief.md +25 -0
- package/template/pods/content-carousel/knowledge/dono.example.yaml +45 -0
- package/template/pods/content-carousel/knowledge/identidade-visual-mascote.md +62 -0
- package/template/pods/content-carousel/knowledge/image-generation.md +62 -0
- package/template/pods/content-carousel/knowledge/selecao-de-ancora.md +60 -0
- package/template/pods/content-carousel/knowledge/slides-html.md +56 -0
- package/template/pods/content-carousel/memory/README.md +18 -0
- package/template/pods/content-carousel/memory/learnings.consolidated.md +6 -0
- package/template/pods/content-carousel/memory/learnings.jsonl +0 -0
- package/template/pods/content-carousel/pod-spec.json +100 -0
- package/template/pods/content-carousel/squad-io.yaml +10 -0
- package/template/pods/content-carousel/templates/assembly-tmpl.md +23 -0
- package/template/pods/content-carousel/templates/digest-tmpl.md +29 -0
- package/template/pods/content-carousel/templates/visuals-tmpl.md +20 -0
- package/template/pods/content-carousel/workflows/wf-content-carousel.smoke.json +23 -0
- package/template/pods/content-carousel/workflows/wf-content-carousel.yaml +80 -0
- package/template/pods/dev-ia/README.md +45 -0
- package/template/pods/dev-ia/agents/db-architect.md +33 -0
- package/template/pods/dev-ia/agents/ux-architect.md +29 -0
- package/template/pods/dev-ia/knowledge/db/migration-protocol.md +95 -0
- package/template/pods/dev-ia/knowledge/db/rls-patterns.md +101 -0
- package/template/pods/dev-ia/knowledge/db/schema-review-checklist.md +76 -0
- package/template/pods/dev-ia/memory/README.md +16 -0
- package/template/pods/dev-ia/memory/learnings.consolidated.md +8 -0
- package/template/pods/dev-ia/memory/learnings.jsonl +0 -0
- package/template/pods/dev-ia/pod-spec.json +34 -0
- package/template/pods/dev-ia/templates/schema-review-tmpl.md +23 -0
- package/template/pods/dev-ia/templates/ux-flow-review-tmpl.md +23 -0
- package/template/pods/dev-ia/tools/db-ops/backup-manager.sh +321 -0
- package/template/pods/dev-ia/tools/db-ops/best-practices-auditor.sh +534 -0
- package/template/pods/dev-ia/tools/db-ops/bootstrap-runner.sh +255 -0
- package/template/pods/dev-ia/tools/db-ops/data-loader.sh +616 -0
- package/template/pods/dev-ia/tools/db-ops/detect-database.sh +113 -0
- package/template/pods/dev-ia/tools/db-ops/explain-analyzer.sh +285 -0
- package/template/pods/dev-ia/tools/db-ops/health-checker.sh +323 -0
- package/template/pods/dev-ia/tools/db-ops/migration-runner.sh +308 -0
- package/template/pods/dev-ia/tools/db-ops/postgresql-schema-loader.sh +334 -0
- package/template/pods/dev-ia/tools/db-ops/query-runner.sh +171 -0
- package/template/pods/dev-ia/tools/db-ops/rls-policy-installer.sh +480 -0
- package/template/pods/dev-ia/tools/db-ops/rls-test-suite.sh +172 -0
- package/template/pods/dev-ia/tools/db-ops/schema-context-loader.sh +176 -0
- package/template/pods/hormozi-method/README.md +52 -0
- package/template/pods/hormozi-method/agents/acquisition-strategist.md +33 -0
- package/template/pods/hormozi-method/agents/conversion-copywriter.md +34 -0
- package/template/pods/hormozi-method/agents/monetization-architect.md +35 -0
- package/template/pods/hormozi-method/agents/offer-engineer.md +37 -0
- package/template/pods/hormozi-method/knowledge/core-four-leads.md +51 -0
- package/template/pods/hormozi-method/knowledge/grand-slam-offer.md +66 -0
- package/template/pods/hormozi-method/knowledge/growth-decision.md +38 -0
- package/template/pods/hormozi-method/knowledge/hooks-and-ads.md +56 -0
- package/template/pods/hormozi-method/knowledge/launch-email.md +31 -0
- package/template/pods/hormozi-method/knowledge/money-model.md +46 -0
- package/template/pods/hormozi-method/knowledge/opportunity-screening.md +44 -0
- package/template/pods/hormozi-method/knowledge/pages.md +25 -0
- package/template/pods/hormozi-method/knowledge/pos-lancamento-leads.md +56 -0
- package/template/pods/hormozi-method/knowledge/pricing.md +36 -0
- package/template/pods/hormozi-method/knowledge/retention-ltv.md +37 -0
- package/template/pods/hormozi-method/knowledge/scale-roadmap.md +35 -0
- package/template/pods/hormozi-method/knowledge/swipefiles-curados.md +44 -0
- package/template/pods/hormozi-method/knowledge/value-equation-diagnostic.md +77 -0
- package/template/pods/hormozi-method/memory/README.md +16 -0
- package/template/pods/hormozi-method/memory/learnings.consolidated.md +6 -0
- package/template/pods/hormozi-method/memory/learnings.jsonl +0 -0
- package/template/pods/hormozi-method/pod-spec.json +50 -0
- package/template/pods/hormozi-method/specs/wf-full-launch-sequence.spec.json +149 -0
- package/template/pods/hormozi-method/specs/wf-lead-magnet-pipeline.spec.json +125 -0
- package/template/pods/hormozi-method/specs/wf-money-model-design.spec.json +117 -0
- package/template/pods/hormozi-method/specs/wf-paid-ads-campaign.spec.json +132 -0
- package/template/pods/hormozi-method/specs/wf-scaling-diagnostic.spec.json +121 -0
- package/template/pods/hormozi-method/squad-io.yaml +43 -0
- package/template/pods/hormozi-method/templates/conversion-copywriter-tmpl.md +20 -0
- package/template/pods/hormozi-method/templates/launch-execucao-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/launch-fechamento-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/launch-pos-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/launch-preparacao-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/lm-copy-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/lm-distribuicao-tmpl.md +18 -0
- package/template/pods/hormozi-method/templates/lm-estrategia-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/mm-arquitetura-tmpl.md +18 -0
- package/template/pods/hormozi-method/templates/mm-copy-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/mm-diagnostico-tmpl.md +14 -0
- package/template/pods/hormozi-method/templates/monetization-architect-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/offer-engineer-tmpl.md +20 -0
- package/template/pods/hormozi-method/templates/paid-criativos-tmpl.md +19 -0
- package/template/pods/hormozi-method/templates/paid-fundacao-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/paid-teste-escala-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/scaling-diagnostico-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/scaling-priorizacao-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/scaling-roadmap-tmpl.md +17 -0
- package/template/pods/hormozi-method/workflows/wf-full-launch-sequence.smoke.json +12 -0
- package/template/pods/hormozi-method/workflows/wf-full-launch-sequence.yaml +56 -0
- package/template/pods/hormozi-method/workflows/wf-grand-slam-offer.smoke.json +11 -0
- package/template/pods/hormozi-method/workflows/wf-grand-slam-offer.yaml +45 -0
- package/template/pods/hormozi-method/workflows/wf-lead-magnet-pipeline.smoke.json +9 -0
- package/template/pods/hormozi-method/workflows/wf-lead-magnet-pipeline.yaml +45 -0
- package/template/pods/hormozi-method/workflows/wf-money-model-design.smoke.json +11 -0
- package/template/pods/hormozi-method/workflows/wf-money-model-design.yaml +45 -0
- package/template/pods/hormozi-method/workflows/wf-paid-ads-campaign.smoke.json +9 -0
- package/template/pods/hormozi-method/workflows/wf-paid-ads-campaign.yaml +46 -0
- package/template/pods/hormozi-method/workflows/wf-scaling-diagnostic.smoke.json +11 -0
- package/template/pods/hormozi-method/workflows/wf-scaling-diagnostic.yaml +44 -0
- package/template/pods/squad-forge/README.md +53 -0
- package/template/pods/squad-forge/agents/forge-chief.md +31 -0
- package/template/pods/squad-forge/agents/mind-extractor.md +29 -0
- package/template/pods/squad-forge/agents/pod-critic.md +26 -0
- package/template/pods/squad-forge/config/heuristic-watcher-rubric.yaml +74 -0
- package/template/pods/squad-forge/knowledge/fidelity-rubric.yaml +176 -0
- package/template/pods/squad-forge/knowledge/g6-memory-check.md +17 -0
- package/template/pods/squad-forge/knowledge/memory-ingest.md +16 -0
- package/template/pods/squad-forge/knowledge/source-audit-rubric.yaml +60 -0
- package/template/pods/squad-forge/memory/README.md +16 -0
- package/template/pods/squad-forge/memory/learnings.consolidated.md +8 -0
- package/template/pods/squad-forge/memory/learnings.jsonl +0 -0
- package/template/pods/squad-forge/pod-spec.json +166 -0
- package/template/pods/squad-forge/squad-io.yaml +13 -0
- package/template/pods/squad-forge/tasks/pipeline.md +158 -0
- package/template/pods/squad-forge/templates/discovery-tmpl.md +40 -0
- package/template/pods/squad-forge/templates/generation-tmpl.md +18 -0
- package/template/pods/squad-forge/templates/red-team-tmpl.md +17 -0
- package/template/pods/squad-forge/templates/register-tmpl.md +17 -0
- package/template/pods/squad-forge/templates/workflow-tmpl.yaml +101 -0
- package/template/pods/squad-forge/workflows/wf-forge.smoke.json +12 -0
- package/template/pods/squad-forge/workflows/wf-forge.yaml +60 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# voice-dna.example.yaml — FORMA DECLARADA do Voice DNA (degrau 3 da escada
|
|
3
|
+
# ADR-013). Placeholder: o template NUNCA distribui o DNA de uma pessoa real.
|
|
4
|
+
# pc:placeholder
|
|
5
|
+
#
|
|
6
|
+
# COMO INSTANCIAR — duas rotas, e a segunda é a recomendada:
|
|
7
|
+
# (1) copiar e preencher à mão:
|
|
8
|
+
# cp knowledge/voice-dna/voice-dna.example.yaml knowledge/voice-dna/voice-dna.yaml
|
|
9
|
+
# (2) EXTRAIR de material real que você já escreveu (recomendada):
|
|
10
|
+
# `/power:forge` → agente `mind-extractor` → `*extract {caminho-do-corpus}`
|
|
11
|
+
# Ele lê o seu corpus, classifica cada fonte (SOURCE-AUDIT ouro/bronze) e
|
|
12
|
+
# preenche cada campo com `evidence:` — a citação que sustenta o campo.
|
|
13
|
+
#
|
|
14
|
+
# POR QUE NÃO EXISTE UM QUESTIONÁRIO QUE PREENCHA ISTO: um DNA de voz não é
|
|
15
|
+
# declarável por introspecção. Pedir a alguém que enumere os próprios
|
|
16
|
+
# `anti_patterns` e `signatures` produz AUTORRETRATO, não DNA — campos sem
|
|
17
|
+
# evidência e `confidence` fabricado. Sem corpus, não há DNA real: fique no
|
|
18
|
+
# degrau 1 (sem voz, funciona) ou no degrau 2 (guia de estilo em
|
|
19
|
+
# `pods/<pod>/knowledge/dono.yaml`). Isto é honestidade do mecanismo, não
|
|
20
|
+
# limitação a contornar.
|
|
21
|
+
#
|
|
22
|
+
# ESTE ARQUIVO É OPCIONAL. Nenhum gate do framework exige DNA de voz. Ausente,
|
|
23
|
+
# os pods produzem saída genérica e boa — nunca bloqueiam, nunca avisam em loop.
|
|
24
|
+
#
|
|
25
|
+
# CONVENÇÕES DE NOME (ADR-027 Decisão 8):
|
|
26
|
+
# • `voice-dna.yaml` → o SEU DNA. Nome reservado, sem nome de pessoa.
|
|
27
|
+
# • `{slug}-dna.yaml` → DNA de TERCEIRO (saída default do mind-extractor).
|
|
28
|
+
# Os dois são dado pessoal e nenhum dos dois é publicável: o diretório inteiro
|
|
29
|
+
# é camada do dono, e no repositório do framework um oráculo de máquina reprova
|
|
30
|
+
# o pacote se qualquer arquivo daqui sair sem ser um `.example.` com sentinela.
|
|
31
|
+
#
|
|
32
|
+
# FONTE ÚNICA DA VOZ: quando este arquivo existe, ele é o lar autorado do eixo de
|
|
33
|
+
# voz. Os campos `voz.*` do degrau 2 (`dono.yaml`) não são autorados em paralelo
|
|
34
|
+
# — ficam ausentes ou carregam `derived_from:` apontando para cá.
|
|
35
|
+
# =============================================================================
|
|
36
|
+
|
|
37
|
+
meta:
|
|
38
|
+
placeholder: true # SENTINELA — apague ao personalizar de verdade
|
|
39
|
+
owner: "<seu nome ou o nome da sua marca>"
|
|
40
|
+
extracted_from: "<de onde o DNA foi extraído, ex.: 12 artigos do meu blog + 3 roteiros>"
|
|
41
|
+
sampled_files:
|
|
42
|
+
- "<caminho/do/arquivo-1.md>"
|
|
43
|
+
- "<caminho/do/arquivo-2.md>"
|
|
44
|
+
extraction_rule: "Todo campo cita evidência. Campo sem evidência suficiente nasce confidence: low."
|
|
45
|
+
|
|
46
|
+
# -----------------------------------------------------------------------------
|
|
47
|
+
# QUEM VOCÊ É PARA QUEM ESCREVE. Sem isto, a peça sai correta e sem endereço.
|
|
48
|
+
identity:
|
|
49
|
+
confidence: low
|
|
50
|
+
temas_centrais:
|
|
51
|
+
- "<tema recorrente 1 — sobre o que você escreve toda semana>"
|
|
52
|
+
- "<tema recorrente 2>"
|
|
53
|
+
posicionamento: "<uma linha factual: de onde vem a sua autoridade e o que você recusa dizer>"
|
|
54
|
+
publico_alvo:
|
|
55
|
+
primario: "<quem decide algo depois de ler você>"
|
|
56
|
+
secundario: "<quem lê mas não decide>"
|
|
57
|
+
evidence:
|
|
58
|
+
- "<arquivo-fonte: trecho curto que sustenta o campo acima>"
|
|
59
|
+
|
|
60
|
+
# -----------------------------------------------------------------------------
|
|
61
|
+
# COMO SOA. Registro, energia e a relação que o texto estabelece com quem lê.
|
|
62
|
+
tone:
|
|
63
|
+
confidence: low
|
|
64
|
+
registro: "<formal culto | informal culto | técnico direto | conversacional>"
|
|
65
|
+
energia: "<calma e assertiva | intensa | irônica — e o que você NÃO faz para convencer>"
|
|
66
|
+
relacao_com_leitor: "<par sênior | professor | provocador — e a pessoa gramatical que usa>"
|
|
67
|
+
honestidade_epistemica: "<como você sinaliza o limite do próprio argumento, se sinaliza>"
|
|
68
|
+
evidence:
|
|
69
|
+
- "<arquivo-fonte: trecho curto>"
|
|
70
|
+
|
|
71
|
+
# -----------------------------------------------------------------------------
|
|
72
|
+
# A FORMA POR CANAL. Um formato por canal em que você de fato publica; apague os
|
|
73
|
+
# que não usa (campo ausente é melhor que campo inventado).
|
|
74
|
+
structures:
|
|
75
|
+
confidence: low
|
|
76
|
+
artigo_longo:
|
|
77
|
+
tamanho: "<faixa de palavras>"
|
|
78
|
+
abertura: "<como você abre — história, número, pergunta; e como NUNCA abre>"
|
|
79
|
+
desenvolvimento: "<a progressão típica, em etapas numeradas>"
|
|
80
|
+
recursos: "<tabelas, blocos de código, subtítulos, negrito em frase-tese>"
|
|
81
|
+
fechamento: "<como fecha e o que promete a seguir>"
|
|
82
|
+
carrossel:
|
|
83
|
+
formatos:
|
|
84
|
+
serie_autoral: "<quantos slides, e o papel de cada um>"
|
|
85
|
+
derivado_de_artigo: "<quantos slides, e como o artigo vira sequência>"
|
|
86
|
+
caption: "<a estrutura da legenda, do primeiro ao último elemento>"
|
|
87
|
+
post_curto:
|
|
88
|
+
tamanho: "<faixa de palavras>"
|
|
89
|
+
padrao: "<a sequência típica: abertura, contraste, fechamento, CTA>"
|
|
90
|
+
fala_oral:
|
|
91
|
+
padrao: "<como você explica falando, se produz áudio ou vídeo>"
|
|
92
|
+
evidence:
|
|
93
|
+
- "<arquivo-fonte: trecho curto>"
|
|
94
|
+
|
|
95
|
+
# -----------------------------------------------------------------------------
|
|
96
|
+
# COMO VOCÊ COMEÇA. O hook é o campo mais copiável do DNA — colete exemplos reais.
|
|
97
|
+
hooks:
|
|
98
|
+
confidence: low
|
|
99
|
+
padroes:
|
|
100
|
+
- "<padrão de abertura 1, descrito em uma linha>"
|
|
101
|
+
- "<padrão de abertura 2>"
|
|
102
|
+
exemplos_reais:
|
|
103
|
+
- texto: "<uma abertura que você realmente escreveu, copiada literal>"
|
|
104
|
+
fonte: "<arquivo-fonte>"
|
|
105
|
+
|
|
106
|
+
# -----------------------------------------------------------------------------
|
|
107
|
+
# AS PALAVRAS. Inclui a formatação, que é vocabulário visual.
|
|
108
|
+
vocabulary:
|
|
109
|
+
confidence: low
|
|
110
|
+
expressoes_recorrentes:
|
|
111
|
+
- "<expressão que aparece em quase tudo que você escreve>"
|
|
112
|
+
pt_en_tecnico: "<quais termos ficam em inglês e quais você traduz>"
|
|
113
|
+
numeros_e_moeda: "<como apresenta número, percentual, moeda e período>"
|
|
114
|
+
emojis_formatacao: "<onde usa emoji, se usa; negrito, itálico, listas>"
|
|
115
|
+
pontuacao: "<travessão, reticências, exclamação: o que você usa e o que evita>"
|
|
116
|
+
evidence:
|
|
117
|
+
- "<arquivo-fonte: trecho curto>"
|
|
118
|
+
|
|
119
|
+
# -----------------------------------------------------------------------------
|
|
120
|
+
# COMO VOCÊ CONVENCE. A diferença entre a sua opinião e o seu argumento.
|
|
121
|
+
argumentation:
|
|
122
|
+
confidence: low
|
|
123
|
+
construcao_de_autoridade:
|
|
124
|
+
- "<por caso operado | por dado com fonte | por credencial — escolha o que é verdade>"
|
|
125
|
+
temas_polemicos: "<como você discorda de alguém sem virar briga>"
|
|
126
|
+
equilibrio: "<você mostra o contraponto? antes ou depois da sua tese?>"
|
|
127
|
+
evidence:
|
|
128
|
+
- "<arquivo-fonte: trecho curto>"
|
|
129
|
+
|
|
130
|
+
# -----------------------------------------------------------------------------
|
|
131
|
+
# O QUE SÓ VOCÊ FAZ. Se um leitor reconhece o texto sem ver o nome, está aqui.
|
|
132
|
+
signatures:
|
|
133
|
+
confidence: low
|
|
134
|
+
frases_ancora:
|
|
135
|
+
- "<a frase que resume um texto seu inteiro, copiada literal>"
|
|
136
|
+
manerismos:
|
|
137
|
+
- "<tique de escrita recorrente: uma construção, um ritmo, uma pergunta>"
|
|
138
|
+
padrao_visual_textual: "<como o texto se PARECE na tela: tamanho de parágrafo, respiro, listas>"
|
|
139
|
+
|
|
140
|
+
# -----------------------------------------------------------------------------
|
|
141
|
+
# O QUE NUNCA APARECE. Este bloco é o mais útil na revisão: é o que reprova um
|
|
142
|
+
# rascunho antes de ele chegar a você.
|
|
143
|
+
anti_patterns:
|
|
144
|
+
confidence: low
|
|
145
|
+
nunca_aparece:
|
|
146
|
+
- "<construção que não é sua, por mais correta que esteja>"
|
|
147
|
+
- "<promessa, tom ou clichê que você recusa>"
|
|
148
|
+
evidence:
|
|
149
|
+
- "<arquivo-fonte: a ausência também é evidência, quando o corpus é amplo>"
|
|
150
|
+
|
|
151
|
+
# -----------------------------------------------------------------------------
|
|
152
|
+
# O QUE O DNA NÃO SABE. Campo de primeira classe, não rodapé: um DNA que não
|
|
153
|
+
# declara a própria lacuna leva o agente a inventar com confiança.
|
|
154
|
+
gaps_e_limitacoes:
|
|
155
|
+
- campo: "<canal ou situação sem material amostrado>"
|
|
156
|
+
confidence: low
|
|
157
|
+
nota: "<por que faltou, e o que validar antes de confiar no campo derivado>"
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# PODS — POWER CLAUDE
|
|
2
|
+
|
|
3
|
+
Um **pod** é uma unidade de capacidade organizada por job-to-be-done. Fonte única da verdade: os agentes vivem AQUI; qualquer exposição como slash command é um stub fino que aponta para cá.
|
|
4
|
+
|
|
5
|
+
## Os 7 pods
|
|
6
|
+
|
|
7
|
+
| Pod | Job-to-be-done | Status |
|
|
8
|
+
|---|---|---|
|
|
9
|
+
| `dev-ia/` | Desenvolvimento de software com IA (ciclo SDC: spec → story → validação → implementação → QA) | Validado + **v0.3 formal** — tier **STANDARD-interface** (ADR-004 adendo 2026-07-25): pod-interface para o ciclo `pc-*` (skills), 2 especialistas ortogonais ad hoc (`db-architect`/`ux-architect`), **zero handoff interno** → SEM `wf-*.yaml`/`squad-io.yaml` (o processo do crítico vive no ciclo, não num segundo runner); COM `pod-spec.json` (evidência), memória operante e templates por especialista. Retrofit SF6.2, 2026-07-25 (Story 1.1 do chat-gateway segue como referência de validação do ciclo, 2026-07-21) |
|
|
10
|
+
| `authority-content/` | Conteúdo de autoridade multi-canal (spy → criação na voz → red-team factual → publicação) | Validado (peças IA-atendimento-PMEs aprovadas 10/10, 2026-07-21) + **tier SIMPLE confirmado por código** — retrofit leve SF6.4, `wf-criacao-redteam.yaml` (2 etapas: Criação na voz → Red-team factual; Radar/Adaptação/Publicação seguem comandos de agente em prosa), sem checkpoint bloqueante, sem squad-io/memória (ADR-004), 2026-07-25 |
|
|
11
|
+
| `automation/` | Automações com N8N e Langgraph | Validado + **v0.3 formal** — 2 `wf-*.yaml` seguíveis (`wf-n8n-build` + `wf-langgraph-build`, 5 fases do "Fluxo típico" Descoberta→Desenho→Geração→Teste→Handoff; smoke --sweep 11/11 cada), retrofit SF6.3, 2026-07-25 (Regra do pod mapeada a checkpoint/veto ADR-002; workflow Content Radar importável preservado, 2026-07-21) |
|
|
12
|
+
| `academy/` | Palestras, treinamentos, consultorias e mentorias | Validado (roteiro de palestra derivado do artigo aprovado, 2026-07-21) + **tier SIMPLE confirmado por código** — retrofit leve SF6.4, `wf-materiais-revisao.yaml` (2 etapas: Materiais → Revisão didática; Tema/Estrutura/Conteúdo seguem comandos de agente em prosa; divulgação = handoff externo ao pod `authority-content`, em prosa), sem checkpoint bloqueante, sem squad-io/memória (ADR-004), 2026-07-25 |
|
|
13
|
+
| `squad-forge/` | Criação de novos pods/agentes/skills | Validado + **v0.3 formal** — `wf-forge.yaml` seguível (Fase 1→5/G1-G5 do `pipeline.md`, smoke --sweep 12/12), retrofit SF6.1, 2026-07-25 (gates G2/G3/G5/G6 aplicados; runner + memória evolutiva + `*migrate-squad` operacional de campo — piloto `hormozi-method`, 6/9 workflows migrados por gates completos, `money-model` em G5-FULL/5 runs, 2026-07-25) |
|
|
14
|
+
| `hormozi-method/` | Método $100M de Alex Hormozi aplicado a oferta/aquisição/monetização/copy de conversão | Validado — 6 workflows com paridade G5 provada, decisão de máquina por workflow; histórico completo em CHANGELOG v0.5.0/epic SF5 |
|
|
15
|
+
| `content-carousel/` | Carrossel de Instagram a partir de âncora editorial configurável (digest → visuals → assembly; fonte default: Hacker News; dono parametrizado em `knowledge/dono.yaml`) | Absorvido do benchmark 4-braços (braço A3, **vencedor operacional** — maior média, única estrutura 25/25, mais barato), generalizado na SF7.5/ADR-010; memória zerada (experiência é por-instância); mecanismo de identidade visual/mascote validado em campo. **Epic SF11 (2026-08-04):** comando do template passa a invocar o motor de verdade (SF11.6) — antes conduzia por prosa, sem `veto.assertions` rodando. **Não mais parcial — leitura superada, não repetir:** as 4 melhorias endurecidas na instância do dono do pod-irmão `hn-carousel` (gate de texto antes do custo de imagem, PNG como entregável verificado, framework de diferenciação dos 5 Cs, modo `entrada=roteiro`) já chegaram aqui, propagadas pela SF12.2 (1ª frente do épico SF12, generalização de pods), ver `docs/stories/sf12.2.story.md` e `CHANGELOG.md` [0.16.1]. |
|
|
16
|
+
|
|
17
|
+
## Por que "pod"?
|
|
18
|
+
|
|
19
|
+
Três ressonâncias, todas intencionais: na biologia, *pod* é o grupo pequeno e coeso (um pod de golfinhos; *peas in a pod*) — o time mínimo autocontido; na infraestrutura, *pod* é a menor unidade implantável — o encapsulamento que se instala e roda como um todo; nos times ágeis, *pods* são células multifuncionais que entregam ponta a ponta. É exatamente o que um pod do POWER CLAUDE é: um organismo autocontido — agentes + workflows + templates + knowledge + memória — executado por um runner determinístico, com memória que evolui com o uso.
|
|
20
|
+
|
|
21
|
+
## O padrão de agente (inegociável)
|
|
22
|
+
|
|
23
|
+
Todo agente de pod é UM arquivo markdown de **até 150 linhas** com este frontmatter:
|
|
24
|
+
|
|
25
|
+
```yaml
|
|
26
|
+
---
|
|
27
|
+
name: nome-do-agente
|
|
28
|
+
description: "<O que faz>. Use para: <3-4 casos concretos>." # descoberta por linguagem natural
|
|
29
|
+
model: sonnet # opus somente com justificativa no corpo
|
|
30
|
+
budget_tokens: 1200 # orçamento de ativação declarado — gate de CI
|
|
31
|
+
---
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Corpo em 3 blocos, nesta ordem:
|
|
35
|
+
1. **Papel** (3-5 linhas): identidade e critério de qualidade.
|
|
36
|
+
2. **Comandos** (`*comando → knowledge/... ou pods/<pod>/tasks/...`): conhecimento profundo NUNCA vive no agente; vive em `knowledge/` ou `pods/<pod>/` e carrega sob demanda por comando.
|
|
37
|
+
3. **Regras de ouro** (≤5 bullets): vetos e não-negociáveis.
|
|
38
|
+
|
|
39
|
+
Proibido no agente: ACTIVATION-NOTICE, boilerplate de resolução de arquivos, voice DNA inline, greetings de múltiplos passos, "read this entire file", qualquer referência a frameworks de terceiros.
|
|
40
|
+
|
|
41
|
+
## Contrato de workflow (v0.3)
|
|
42
|
+
|
|
43
|
+
Além do padrão de agente acima (o entry point), um pod pode declarar **processo executável**, não só personas: `workflows/wf-*.yaml` (DAG de etapas + checkpoints bloqueantes + vetos machine-evaluable — nunca prosa avaliada por LLM), templates de etapa (uma seção nível-2+ por campo exigido, conferidos por conformidade estrutural), `squad-io.yaml` (contratos de handoff entre agentes) e `pod-spec.json` (ordem das etapas DECLARADA, não inferida por auto-sequenciamento — ADR-005, fecha o risco de auto-aprovação).
|
|
44
|
+
|
|
45
|
+
A execução é sempre pela skill `pc-run-pod` (motor `scripts/pc-run-pod.cjs`): despacha um subagente fresco por etapa, verifica o artefato EM DISCO antes de avançar, e só libera checkpoints bloqueantes por `approve`/`revise` — nunca por relato do agente.
|
|
46
|
+
|
|
47
|
+
**Memória (2 níveis).** `<pod>/memory/learnings.jsonl` é o log cru append-only (nunca lido pelo agente); `<pod>/memory/learnings.consolidated.md` é o consolidado podado por budget de tokens (~1.500) e top-N, o único que entra no brief. CRITICAL só entra por trava categórica (evidência atribuída), nunca por maioria estatística.
|
|
48
|
+
|
|
49
|
+
**Proporcionalidade (ADR-004).** Geração e memória são proporcionais ao tier do pod: SIMPLE não ganha memória automática (`--with-memory` é opt-in); STANDARD/COMPLEX ganham memória por padrão. O aparato do runner/gates não é tamanho único — escala com a complexidade real do pod.
|
|
50
|
+
|
|
51
|
+
## O gate de orçamento
|
|
52
|
+
|
|
53
|
+
`scripts/validate-budgets.js` percorre `pods/*/agents/*.md`, estima o custo de ativação (bytes/4) e **falha** se exceder o `budget_tokens` declarado ou o teto global (1.500). Roda em CI e localmente:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
node scripts/validate-budgets.js
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Regras transversais
|
|
60
|
+
|
|
61
|
+
- **Enforcement determinístico primeiro:** o que é inegociável vira hook/gate, não prosa.
|
|
62
|
+
- **Verificação adversarial embutida:** todo pipeline que publica ou entrega para fora tem fase de red-team obrigatória (lição do ciclo 2026-07-21: o gate de estilo aprovou o que o red-team factual derrubou de 10 para 6,5).
|
|
63
|
+
- **Model routing:** sonnet por default; opus para arquitetura, síntese criativa e revisão adversarial; haiku para varreduras mecânicas em lote.
|
|
64
|
+
- **Voz:** conteúdo dirigido a público usa a voz do próprio usuário (`knowledge/voice-dna/voice-dna.yaml`) — nunca persona de terceiros. O arquivo é **opcional**: ausente, o pod cai para o degrau abaixo da escada de voz (guia de estilo em `knowledge/dono.yaml`, ou saída neutra) sem bloquear. Como criar: `knowledge/voice-dna/README.md`.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Pod Academy — Palestras, Treinamentos, Consultorias e Mentorias
|
|
2
|
+
|
|
3
|
+
## Propósito
|
|
4
|
+
|
|
5
|
+
Transformar conhecimento validado em experiências de aprendizagem que geram autoridade e receita: palestras, treinamentos, programas de mentoria e ofertas de consultoria. O critério de sucesso não é "slide bonito" — é o aluno sair capaz de aplicar.
|
|
6
|
+
|
|
7
|
+
## Pipeline
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
tema + público
|
|
11
|
+
→ estrutura narrativa (tese, contraste, sparkline — squads/storytelling/)
|
|
12
|
+
→ conteúdo didático (blocos, exemplos, exercícios — sempre com fonte)
|
|
13
|
+
→ materiais (deck, apostila, exercícios — via skill palestra-builder)
|
|
14
|
+
→ revisão didática (gate obrigatório — via skill revisor-didatico)
|
|
15
|
+
→ peças de divulgação (delegado ao pod authority-content, com red-team factual)
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Nenhum material pula a revisão didática. Nenhuma peça de divulgação sai sem passar pelo pipeline do pod `authority-content`.
|
|
19
|
+
|
|
20
|
+
## Integrações declaradas
|
|
21
|
+
|
|
22
|
+
| Recurso | Papel no pipeline |
|
|
23
|
+
|---|---|
|
|
24
|
+
| skill `palestra-builder` | Produção do deck final, material de apoio e peças derivadas |
|
|
25
|
+
| skill `revisor-didatico` | Gate da ótica do aluno: clareza, progressão cognitiva, retenção |
|
|
26
|
+
| skill `validacao-adversarial` | Revisão crítica de dados e afirmações antes de apresentar |
|
|
27
|
+
| `squads/storytelling/` | Frameworks narrativos (contraste, sparkline, jornada) carregados sob demanda |
|
|
28
|
+
| `knowledge/voice-dna/` | A voz é a do usuário — nunca persona genérica de palestrante |
|
|
29
|
+
| pod `authority-content` | Divulgação da palestra/treinamento em Substack/LinkedIn/IG |
|
|
30
|
+
|
|
31
|
+
## Agente
|
|
32
|
+
|
|
33
|
+
- `agents/academy-chief.md` — comandos `*palestra`, `*treinamento`, `*mentoria`, `*oferta`.
|
|
34
|
+
|
|
35
|
+
## Exemplos validados
|
|
36
|
+
|
|
37
|
+
- `examples/palestra.example.md` — **esqueleto** de roteiro de 25 min: os blocos, o que cada um faz e por que existe. O assunto, a tese e os números são seus — o template não traz palestra pronta, porque tese é posicionamento e posicionamento não se herda.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: academy-chief
|
|
3
|
+
description: "Chief do pod Academy: transforma conhecimento validado em palestras, treinamentos, mentorias e ofertas. Use para: montar roteiro de palestra, desenhar treinamento com exercícios, estruturar programa de mentoria, empacotar oferta de consultoria."
|
|
4
|
+
model: sonnet
|
|
5
|
+
budget_tokens: 1200
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# academy-chief
|
|
9
|
+
|
|
10
|
+
## Papel
|
|
11
|
+
|
|
12
|
+
Chief do pod Academy. Transforma conhecimento com fonte em experiências de aprendizagem: palestras, treinamentos, mentorias e ofertas. Critério de qualidade: o aluno sai capaz de aplicar, não impressionado com slides. Todo material nasce de conteúdo verificado e passa por gate didático antes de sair.
|
|
13
|
+
|
|
14
|
+
## Comandos
|
|
15
|
+
|
|
16
|
+
- `*palestra {tema} {público} {duração}` → roteiro completo: tese → sparkline/estrutura de contraste (carrega `squads/storytelling/data/` sob demanda) → blocos com exemplos → chamada final. Entrega roteiro + esqueleto de slides; deck final e materiais delegados à skill `palestra-builder`. Referência de FORMA (esqueleto, não conteúdo): `pods/academy/examples/palestra.example.md` — o assunto, a tese e os números são do usuário.
|
|
17
|
+
- `*treinamento {tema} {público}` → desenho de treinamento: objetivos de aprendizagem mensuráveis → módulos → exercícios práticos → avaliação de aprendizagem.
|
|
18
|
+
- `*mentoria {perfil}` → estrutura de programa: diagnóstico inicial → trilha → cadência de encontros → métricas de progresso.
|
|
19
|
+
- `*oferta {produto}` → empacota como oferta: promessa, entregáveis, formato, preço-âncora. Carrega `squads/hormozi/data/` sob demanda, se existir.
|
|
20
|
+
|
|
21
|
+
## Regras de ouro
|
|
22
|
+
|
|
23
|
+
- Todo material passa pelo gate didático (skill `revisor-didatico`) ANTES de ser entregue.
|
|
24
|
+
- Conteúdo técnico sempre com fonte; número sem fonte não entra em slide.
|
|
25
|
+
- A voz é a do usuário (`knowledge/voice-dna/`) — nunca persona genérica de palestrante.
|
|
26
|
+
- Nada de prometer resultado que o conteúdo não sustenta.
|
|
27
|
+
- Divulgação sai pelo pod `authority-content`, com red-team factual obrigatório.
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
<!-- pc:placeholder — ESQUELETO de palestra, não uma palestra pronta.
|
|
2
|
+
A FORMA é do framework (o que cada bloco faz e por que existe). O ASSUNTO, a tese e
|
|
3
|
+
os números são SEUS: opinião e posicionamento não vêm na instalação padrão, porque o
|
|
4
|
+
que direciona bem o conteúdo de um dono direciona mal o de outro.
|
|
5
|
+
Preencha tudo entre < > e apague esta marca ao instanciar. -->
|
|
6
|
+
|
|
7
|
+
# Palestra: "<frase-âncora que resume a tese em uma linha — ela vai fechar a palestra>"
|
|
8
|
+
|
|
9
|
+
**Duração:** <25> minutos | **Público:** <quem está na plateia e o que essa pessoa decide depois>
|
|
10
|
+
**Derivada de:** `<content/{data}-{slug}/…>` (conteúdo já verificado; **todo número aqui usa as fontes de lá**)
|
|
11
|
+
**Produzida por:** pod Academy (`*palestra`) — deck final via skill `palestra-builder`; gate via skill `revisor-didatico`
|
|
12
|
+
|
|
13
|
+
> **Regra que não muda de assunto para assunto:** número sem fonte não entra em slide. Se você não
|
|
14
|
+
> tem o dado com origem nomeada, o bloco vira pergunta ou sai — nunca vira estimativa.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Tese e estrutura de contraste
|
|
19
|
+
|
|
20
|
+
**O que é (hoje):** <a situação atual, dita sem eufemismo — o que as pessoas fazem e o que isso custa>
|
|
21
|
+
**O que poderia ser:** <o estado melhor, concreto e alcançável, não uma promessa vaga>
|
|
22
|
+
**Frase-âncora (fechamento):** "<a frase que a plateia repete no corredor — contraste, ≤14 palavras>"
|
|
23
|
+
|
|
24
|
+
A palestra alterna entre os dois polos até resolver o contraste com <o seu framework nomeado>.
|
|
25
|
+
|
|
26
|
+
*Por que esta seção existe:* sem contraste declarado antes de escrever os blocos, a palestra vira lista
|
|
27
|
+
de tópicos. O contraste é o que dá direção a cada minuto.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Abertura — <o gancho> (0:00–3:00)
|
|
32
|
+
|
|
33
|
+
**Slide 1:** <o elemento visual mínimo que sustenta o gancho — um par de números, uma imagem, uma frase>
|
|
34
|
+
|
|
35
|
+
**O que falar:**
|
|
36
|
+
- <lado A do contraste, com o dado e a FONTE nomeada — inclusive o interesse de quem publicou>
|
|
37
|
+
- <lado B, que tensiona o lado A, com fonte e o mesmo desconto de interesse aplicado>
|
|
38
|
+
- <a tensão: por que os dois são verdade ao mesmo tempo — é isso que prende a plateia>
|
|
39
|
+
- Promessa da palestra: "<o que a pessoa vai saber fazer em N minutos, dito como promessa verificável>"
|
|
40
|
+
|
|
41
|
+
**Nota de honestidade (falar de passagem, cria autoridade):** <declare o viés das suas fontes antes que
|
|
42
|
+
a plateia o descubra — quem nomeia o dono de cada número compra credibilidade barata>.
|
|
43
|
+
|
|
44
|
+
*Por que esta seção existe:* abertura por definição de conceito perde a sala. Abertura por tensão real
|
|
45
|
+
(dois fatos que não fecham) faz a plateia querer a resolução.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Bloco 1 — <o lado que funciona> (3:00–8:00)
|
|
50
|
+
|
|
51
|
+
**Slide 2:** <título do bloco + o dado central em forma visual>
|
|
52
|
+
|
|
53
|
+
**O que falar:**
|
|
54
|
+
- <evidência 1, com fonte e magnitude>
|
|
55
|
+
- <evidência 2 — de preferência um caso concreto, com números e quem os publicou>
|
|
56
|
+
|
|
57
|
+
**Slide 3:** <tabela de casos, se você tiver>
|
|
58
|
+
|
|
59
|
+
| <Caso> | <Métrica> | <Resultado> |
|
|
60
|
+
|---|---|---|
|
|
61
|
+
| <caso 1> | <número> | <efeito> |
|
|
62
|
+
| <caso 2> | <número> | <efeito> |
|
|
63
|
+
|
|
64
|
+
**O que falar:**
|
|
65
|
+
- <o detalhe mais revelador da tabela — o que só quem olhou de perto percebe>
|
|
66
|
+
- <o padrão comum aos casos: o que eles fizeram igual>
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Bloco 2 — <o lado que falha> (8:00–14:00)
|
|
71
|
+
|
|
72
|
+
**Slide 4-6:** <a evidência do outro lado>
|
|
73
|
+
|
|
74
|
+
**O que falar:**
|
|
75
|
+
- <o custo do modo errado, com dado e fonte>
|
|
76
|
+
- <por que ele acontece: a causa, não o sintoma>
|
|
77
|
+
- <o erro mais comum, nomeado sem ironia — a plateia provavelmente o comete>
|
|
78
|
+
|
|
79
|
+
*Por que esta seção existe:* palestra que só mostra o lado bom não muda comportamento — a plateia
|
|
80
|
+
reconhece a si mesma no lado que falha, e é aí que ela decide agir.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Bloco 3 — <o seu framework> (14:00–19:00)
|
|
85
|
+
|
|
86
|
+
**Slide 7-8:** <o framework nomeado e numerado — N perguntas, N etapas, N sinais>
|
|
87
|
+
|
|
88
|
+
**O que falar:**
|
|
89
|
+
- <cada item do framework, em uma linha, com o veredito que ele produz>
|
|
90
|
+
- <o que é evidência de terceiro e o que é a SUA leitura — separe os dois em voz alta>
|
|
91
|
+
- Convite: "<aplique o framework mentalmente agora; já sabe o seu resultado?>"
|
|
92
|
+
|
|
93
|
+
*Por que esta seção existe:* é o que a plateia leva embora e usa sem você. Nomeie e numere — framework
|
|
94
|
+
sem nome não é lembrado, e sem contagem não é aplicado.
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Momento "Quando NÃO usar" (19:00–22:00)
|
|
99
|
+
|
|
100
|
+
**Slide 9:** "Quando NÃO usar" — <N> cenários.
|
|
101
|
+
|
|
102
|
+
**O que falar:**
|
|
103
|
+
- **<cenário 1>.** <por que aqui a sua recomendação NÃO se aplica>
|
|
104
|
+
- **<cenário 2>.** <idem>
|
|
105
|
+
- **<cenário 3>.** <idem>
|
|
106
|
+
|
|
107
|
+
**Nota de apresentação:** este é o bloco que mais gera confiança — quem sabe dizer "não use" é ouvido
|
|
108
|
+
quando diz "use". Falar devagar, sem ironia.
|
|
109
|
+
|
|
110
|
+
*Por que esta seção existe:* é a prova de que você conhece os limites do que defende. Palestra sem
|
|
111
|
+
contraindicação soa como venda.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Fechamento (22:00–25:00)
|
|
116
|
+
|
|
117
|
+
**Slide 10:** "<N> passos, se for começar"
|
|
118
|
+
|
|
119
|
+
**O que falar:**
|
|
120
|
+
1. **<passo 1 — a medição ANTES de qualquer ferramenta>:** <o que medir e por quanto tempo>. Sem
|
|
121
|
+
linha de base, resultado futuro é opinião.
|
|
122
|
+
2. **<passo 2 — comece pelo simples, com a saída de emergência desde o dia 1>:** <o recorte mínimo>.
|
|
123
|
+
3. **<passo 3 — o critério para expandir>:** <a métrica dupla que impede otimizar uma coisa às custas
|
|
124
|
+
de outra>.
|
|
125
|
+
|
|
126
|
+
**Slide 11 (final):** frase-âncora, tela limpa, sem logo:
|
|
127
|
+
|
|
128
|
+
> **"<a mesma frase-âncora da tese>"**
|
|
129
|
+
|
|
130
|
+
**O que falar:**
|
|
131
|
+
- <retome o gancho da abertura e resolva a tensão que você abriu>
|
|
132
|
+
- Pausa de 2 segundos na frase-âncora. Encerrar com o convite/próximo passo definido pelo evento.
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Fontes (as mesmas do conteúdo verificado que originou a palestra)
|
|
137
|
+
|
|
138
|
+
- <fonte 1 — publicação, título, data, e o interesse de quem publicou>
|
|
139
|
+
- <fonte 2>
|
|
140
|
+
- <fonte 3>
|
|
141
|
+
|
|
142
|
+
> Se uma fonte é de fornecedor, diga que é. O desconto aplicado a um lado tem de ser aplicado ao outro.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"pod": "academy",
|
|
3
|
+
"workflowId": "materiais-revisao",
|
|
4
|
+
"_adr": "ADR-004 caminho leve (Story SF6.4, SIMPLE): retrofit LEVE — no máximo 1 workflow mínimo, cobrindo só as 2 etapas com o gate mais forte do pipeline de 6 estágios (Materiais + Revisão didática). Tema+público, Estrutura narrativa e Conteúdo didático permanecem comandos de agente em prosa (`*palestra`/`*treinamento`/`*mentoria`/`*oferta`, agents/academy-chief.md — NÃO tocado), não formalizados em DAG. Peças de divulgação (delegado ao pod authority-content) fica handoff EXTERNO documentado em prosa, NÃO um workflow cross-pod (Escopo OUT explícito). SEM squad-io.yaml/memória obrigatórios (ADR-004 explícito para SIMPLE).",
|
|
5
|
+
"_sources": {
|
|
6
|
+
"pipeline": "template/pods/academy/README.md:9-16 — pipeline 6 estágios: tema+público → estrutura narrativa (squads/storytelling/) → conteúdo didático → materiais (via skill palestra-builder) → revisão didática (via skill revisor-didatico) → peças de divulgação (delegado ao pod authority-content).",
|
|
7
|
+
"gate_mais_forte": "README.md:18 'Nenhum material pula a revisão didática. Nenhuma peça de divulgação sai sem passar pelo pipeline do pod authority-content.' — a revisão didática é o gate obrigatório explícito do pod (equivalente ao red-team factual de authority-content); candidato natural a formalização.",
|
|
8
|
+
"escopo_do_workflow": "Só 'Materiais' → 'Revisão didática' formalizadas em 2 etapas (2 templates = Escopo IN (d)/AC4, 'templates das 1-2 saídas mais valiosas': roteiro/deck + relatório de revisão didática). Tema+público, Estrutura narrativa e Conteúdo didático (etapas exploratórias/criativas, já cobertas em prosa pelos comandos `*palestra`/`*treinamento`/`*mentoria`) permanecem NÃO formalizadas — workflow MÍNIMO. Peças de divulgação é handoff EXTERNO (para o pod authority-content), documentado em prosa no README — Escopo OUT explícito veta formalizar um workflow cross-pod único (cada pod formaliza só a parte que executa).",
|
|
9
|
+
"handoffs_racional": "handoffs:0 — as 2 etapas do workflow são executadas pelo MESMO agente físico (academy-chief); não há handoff CROSS-AGENTE dentro do escopo do workflow (limiar de forge-assess-tier.cjs: '≤1 handoff cross-agente ainda pode ser SIMPLE'). O handoff para authority-content (divulgação) é EXTERNO ao pod, fora do escopo de handoffs cross-agente de UM workflow (mesmo padrão de rationale de authority-content/pod-spec.json).",
|
|
10
|
+
"dna_racional": "dna:false — academy-chief consome `knowledge/voice-dna/` como INSUMO DE ESTILO ('A voz é a do usuário — nunca persona genérica de palestrante', README.md:28, agents/academy-chief.md 'Regras de ouro'). Não é o gatilho dna/persona/clone de forge-assess-tier.cjs (clonar mente/voz de especialista EXTERNO). Nota já registrada no header AUTO-DECISION pc-planner da story.",
|
|
11
|
+
"critical_racional": "critical:false — a revisão didática (skill revisor-didatico) é rigor de QUALIDADE pedagógica ('nenhum material pula'), não criticidade de PERSISTÊNCIA/produção no sentido do limiar ADR-004. Material reprovado na revisão simplesmente não sai — sem efeito de sistema. O gate em si não é enfraquecido por esta story: agents/academy-chief.md não foi tocado."
|
|
12
|
+
},
|
|
13
|
+
"handoffs": 0,
|
|
14
|
+
"workflows": 1,
|
|
15
|
+
"dna": false,
|
|
16
|
+
"critical": false,
|
|
17
|
+
"agents": [
|
|
18
|
+
{
|
|
19
|
+
"name": "academy-chief",
|
|
20
|
+
"step": "materiais",
|
|
21
|
+
"output": "materiais-didaticos",
|
|
22
|
+
"sections": [
|
|
23
|
+
"## Roteiro/Deck",
|
|
24
|
+
"## Apostila e Exercícios",
|
|
25
|
+
"## Fontes dos Dados Técnicos"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"name": "academy-chief",
|
|
30
|
+
"step": "revisao-didatica",
|
|
31
|
+
"output": "relatorio-revisao-didatica",
|
|
32
|
+
"sections": [
|
|
33
|
+
"## Clareza",
|
|
34
|
+
"## Progressão Cognitiva",
|
|
35
|
+
"## Retenção",
|
|
36
|
+
"## Veredito"
|
|
37
|
+
],
|
|
38
|
+
"checkpoint": {
|
|
39
|
+
"blocking": false,
|
|
40
|
+
"criteria": "Caminho leve SIMPLE (ADR-004, Story SF6.4): sem checkpoint bloqueante de máquina/gate humano formal no workflow mínimo — este workflow é smoke estático + caminho feliz, não substitui o rigor da skill `revisor-didatico` (agents/academy-chief.md, não tocado)."
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Template de saída — etapa `materiais` (agente `academy-chief`, artefato `materiais-didaticos`)
|
|
2
|
+
|
|
3
|
+
> Gerado por forge-generate.cjs (SF1.4 + ADR-005). Preencher com o artefato real da etapa.
|
|
4
|
+
> FORMA (seções `##`) verificada por checkTemplateConformance; VETO ORTOGONAL via o
|
|
5
|
+
> campo de máquina `confianca` abaixo (fora dos headings — ADR-005 Decisão A).
|
|
6
|
+
|
|
7
|
+
## Roteiro/Deck
|
|
8
|
+
<!-- preencher: conteúdo de "Roteiro/Deck" -->
|
|
9
|
+
|
|
10
|
+
## Apostila e Exercícios
|
|
11
|
+
<!-- preencher: conteúdo de "Apostila e Exercícios" -->
|
|
12
|
+
|
|
13
|
+
## Fontes dos Dados Técnicos
|
|
14
|
+
<!-- preencher: conteúdo de "Fontes dos Dados Técnicos" -->
|
|
15
|
+
|
|
16
|
+
<!-- Campo de máquina do veto default (ADR-005) — NÃO é heading. Troque o placeholder por alta|media|baixa. -->
|
|
17
|
+
confianca: <alta|media|baixa>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Template de saída — etapa `revisao-didatica` (agente `academy-chief`, artefato `relatorio-revisao-didatica`)
|
|
2
|
+
|
|
3
|
+
> Gerado por forge-generate.cjs (SF1.4 + ADR-005). Preencher com o artefato real da etapa.
|
|
4
|
+
> FORMA (seções `##`) verificada por checkTemplateConformance; VETO ORTOGONAL via o
|
|
5
|
+
> campo de máquina `confianca` abaixo (fora dos headings — ADR-005 Decisão A).
|
|
6
|
+
|
|
7
|
+
## Clareza
|
|
8
|
+
<!-- preencher: conteúdo de "Clareza" -->
|
|
9
|
+
|
|
10
|
+
## Progressão Cognitiva
|
|
11
|
+
<!-- preencher: conteúdo de "Progressão Cognitiva" -->
|
|
12
|
+
|
|
13
|
+
## Retenção
|
|
14
|
+
<!-- preencher: conteúdo de "Retenção" -->
|
|
15
|
+
|
|
16
|
+
## Veredito
|
|
17
|
+
<!-- preencher: conteúdo de "Veredito" -->
|
|
18
|
+
|
|
19
|
+
<!-- Campo de máquina do veto default (ADR-005) — NÃO é heading. Troque o placeholder por alta|media|baixa. -->
|
|
20
|
+
confianca: <alta|media|baixa>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# wf-materiais-revisao.yaml — gerado por forge-generate.cjs (SF1.4).
|
|
2
|
+
# Contrato: templates/workflow-tmpl.yaml. Validador: scripts/validate-pod-workflow.cjs.
|
|
3
|
+
|
|
4
|
+
state_machine:
|
|
5
|
+
states: [init, running, review, complete, failed]
|
|
6
|
+
initial: init
|
|
7
|
+
terminal: [complete, failed]
|
|
8
|
+
|
|
9
|
+
steps:
|
|
10
|
+
- id: materiais
|
|
11
|
+
agent: academy-chief
|
|
12
|
+
template: templates/materiais-tmpl.md
|
|
13
|
+
inputs: [brief]
|
|
14
|
+
outputs: [materiais-didaticos]
|
|
15
|
+
depends_on: []
|
|
16
|
+
checkpoint: null
|
|
17
|
+
veto:
|
|
18
|
+
assertions:
|
|
19
|
+
- { type: field_matches, field: confianca, pattern: "^(alta|media|baixa)$" }
|
|
20
|
+
|
|
21
|
+
- id: revisao-didatica
|
|
22
|
+
agent: academy-chief
|
|
23
|
+
template: templates/revisao-didatica-tmpl.md
|
|
24
|
+
inputs: [materiais-didaticos]
|
|
25
|
+
outputs: [relatorio-revisao-didatica]
|
|
26
|
+
depends_on: [materiais]
|
|
27
|
+
checkpoint: { blocking: false, criteria: "Caminho leve SIMPLE (ADR-004, Story SF6.4): sem checkpoint bloqueante de máquina/gate humano formal no workflow mínimo — este workflow é smoke estático + caminho feliz, não substitui o rigor da skill `revisor-didatico` (agents/academy-chief.md, não tocado)." }
|
|
28
|
+
veto:
|
|
29
|
+
assertions:
|
|
30
|
+
- { type: field_matches, field: confianca, pattern: "^(alta|media|baixa)$" }
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Pod Authority-Content — Conteúdo de Autoridade Multi-Canal
|
|
2
|
+
|
|
3
|
+
## Propósito
|
|
4
|
+
|
|
5
|
+
Produzir conteúdo de autoridade (Substack, LinkedIn, Instagram) baseado em dados reais, na voz do usuário, com verificação factual adversarial antes de qualquer publicação. Autoridade se constrói com números que sobrevivem a checagem — não com hype.
|
|
6
|
+
|
|
7
|
+
## Pipeline — 5 fases OBRIGATÓRIAS
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
(1) Radar/spy → (2) Criação na voz → (3) RED-TEAM FACTUAL → (4) Adaptação por canal → (5) Publicação + medição
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
| # | Fase | O que produz | Regra |
|
|
14
|
+
|---|---|---|---|
|
|
15
|
+
| 1 | **Radar/spy** | Research com dados reais, fontes datadas, notas de confiança | Nenhum número entra sem fonte primária identificada |
|
|
16
|
+
| 2 | **Criação na voz** | Peça-mãe na voz do usuário (`knowledge/voice-dna/`) | Todo número da peça rastreia ao research |
|
|
17
|
+
| 3 | **Red-team factual** | Fact-check adversarial contra fontes PRIMÁRIAS | **Inegociável — ver lição abaixo** |
|
|
18
|
+
| 4 | **Adaptação por canal** | Derivadas Substack / LinkedIn / IG do material aprovado | Deriva só do aprovado; não reescreve fatos |
|
|
19
|
+
| 5 | **Publicação + medição** | Peças publicadas + métricas por canal | Aprendizado alimenta o próximo radar |
|
|
20
|
+
|
|
21
|
+
### A lição de 2026-07-21 (por que a fase 3 é inegociável)
|
|
22
|
+
|
|
23
|
+
No primeiro ciclo completo, o **gate de estilo aprovou** as peças (voz, anti-patterns, estrutura — tudo OK). O **red-team factual contra fontes primárias derrubou a nota de 10 para 6,5**: erros de enunciado (número certo, afirmação errada) e de atribuição de fonte (dado real creditado ao veículo errado). Estilo não detecta erro factual. Por isso a fase 3 é uma fase própria, com postura adversarial e acesso às fontes originais — nunca um sub-item da revisão de estilo.
|
|
24
|
+
|
|
25
|
+
## Artefatos que o pod produz (a forma, não o assunto)
|
|
26
|
+
|
|
27
|
+
O pod escreve **no seu tema e na sua voz** — os artefatos abaixo são a FORMA que ele entrega, e nascem vazios na instalação:
|
|
28
|
+
|
|
29
|
+
- `docs/research/{data}-{slug}/` — research no protocolo DATA FIRST, com uma seção **ERRATA** que funciona como memória factual: a correção fica registrada ali para que conteúdo futuro não repita o erro.
|
|
30
|
+
- `content/{data}-{slug}/` — peça-mãe (canal longo) + derivadas por canal, cada uma com o gate de qualidade documentado no rodapé.
|
|
31
|
+
|
|
32
|
+
## Integrações declaradas
|
|
33
|
+
|
|
34
|
+
| Recurso | Papel |
|
|
35
|
+
|---|---|
|
|
36
|
+
| `knowledge/voice-dna/voice-dna.yaml` | Voz de todas as peças. **Opcional:** ausente ⇒ o pod cai para o degrau abaixo da escada de voz (guia de estilo em `knowledge/dono.yaml`, ou saída neutra) — nunca bloqueia. Como criar: `knowledge/voice-dna/README.md`. |
|
|
37
|
+
| skill `validacao-adversarial` | Reforço do red-team em peças de alto risco |
|
|
38
|
+
| squad `spy` | Inteligência competitiva na fase de radar |
|
|
39
|
+
| pod `academy` | Consome peças aprovadas para divulgar palestras/treinamentos |
|
|
40
|
+
|
|
41
|
+
## Agente
|
|
42
|
+
|
|
43
|
+
- `agents/content-chief.md` — comandos `*radar`, `*create`, `*redteam`, `*adapt`, `*errata`.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: content-chief
|
|
3
|
+
description: "Chief do pod Authority-Content: pipeline de conteúdo de autoridade com verificação factual adversarial. Use para: pesquisar dados para artigo (radar), criar peça na voz do usuário, fact-checar contra fontes primárias, adaptar peça aprovada por canal."
|
|
4
|
+
model: sonnet
|
|
5
|
+
budget_tokens: 1200
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# content-chief
|
|
9
|
+
|
|
10
|
+
## Papel
|
|
11
|
+
|
|
12
|
+
Chief do pod Authority-Content. Conduz o pipeline de 5 fases (radar → criação → red-team → adaptação → publicação). Critério de qualidade: toda afirmação sobrevive a fact-check adversarial contra a fonte primária. Estilo aprova como se fala; só o red-team aprova o que se afirma.
|
|
13
|
+
|
|
14
|
+
## Comandos
|
|
15
|
+
|
|
16
|
+
- `*radar {tema}` → pesquisa com protocolo DATA FIRST: múltiplos ângulos (pró, contra, oficial, vendor), fontes datadas, notas de confiança por dado, seção explícita de riscos "o que NÃO afirmar". Salva em `docs/research/{data}-{slug}/`.
|
|
17
|
+
- `*create {canal}` → peça na voz do usuário (`knowledge/voice-dna/voice-dna.yaml`; ausente ou ainda com `meta.placeholder: true` ⇒ degrau da escada de voz — degrau 2 (`knowledge/dono.yaml`) ou saída neutra —, NUNCA bloquear nem elicitar DNA), todo número com fonte rastreável ao research. Salva em `content/{data}-{slug}/`.
|
|
18
|
+
- `*redteam {peça}` → fact-check adversarial contra fontes PRIMÁRIAS: verificar cada número na fonte original, cada atribuição (quem publicou o quê), cada enunciado (o número sustenta a frase?), conflitos de interesse dos DOIS lados do argumento. Postura: reprovar por default; a peça precisa provar que está certa.
|
|
19
|
+
- `*adapt {peça-aprovada}` → deriva peças por canal (Substack/LinkedIn/IG) APENAS do material que passou no red-team; adaptação muda formato, nunca fatos.
|
|
20
|
+
- `*errata {correção}` → registra a correção no research original (seção ERRATA) para que conteúdo futuro herde a memória factual.
|
|
21
|
+
|
|
22
|
+
## Regras de ouro
|
|
23
|
+
|
|
24
|
+
- Nenhuma peça publica sem passar pelo `*redteam` — o gate de estilo NÃO substitui (lição 2026-07-21: estilo aprovou o que o red-team derrubou de 10 para 6,5).
|
|
25
|
+
- Dado de vendor é marcado como vendor DOS DOIS lados do argumento (pró-IA e pró-humano).
|
|
26
|
+
- Janelas temporais sempre datadas ("entre out/2025 e abr/2026", nunca "recentemente").
|
|
27
|
+
- Mecanismo causal só se a fonte o afirmar; senão, marcar como "minha leitura".
|
|
28
|
+
- Erro encontrado vira `*errata` no research — nunca só correção silenciosa na peça.
|