@luanpdd/kit-mcp 1.33.0 → 1.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +168 -168
- package/gates/agent-no-recursive-dispatch.md +84 -84
- package/kit/COMANDOS.md +138 -138
- package/kit/COMPATIBILITY.md +70 -70
- package/kit/README.md +76 -76
- package/kit/agents/advisor-researcher.md +109 -109
- package/kit/agents/ai-mutation-tester.md +289 -289
- package/kit/agents/assumptions-analyzer.md +110 -110
- package/kit/agents/audit-log-implementer.md +314 -314
- package/kit/agents/auditor-consistencia-isolamento.md +414 -414
- package/kit/agents/b2b-saas-architect.md +157 -157
- package/kit/agents/burn-rate-forecaster.md +153 -153
- package/kit/agents/cascading-failures-auditor.md +299 -299
- package/kit/agents/codebase-mapper.md +769 -769
- package/kit/agents/crm-pipeline-implementer.md +257 -257
- package/kit/agents/debugger.md +814 -814
- package/kit/agents/designer-ui.md +216 -216
- package/kit/agents/detector-tenant-quente.md +338 -338
- package/kit/agents/evolution-go-integrator.md +201 -201
- package/kit/agents/example-reviewer.md +22 -22
- package/kit/agents/executor.md +565 -565
- package/kit/agents/golden-signals-instrumenter.md +232 -232
- package/kit/agents/incident-investigator.md +238 -238
- package/kit/agents/integration-checker.md +203 -203
- package/kit/agents/invite-flow-implementer.md +190 -190
- package/kit/agents/legacy-characterizer.md +369 -369
- package/kit/agents/lgpd-compliance-auditor.md +296 -296
- package/kit/agents/load-shedding-instrumenter.md +290 -290
- package/kit/agents/multi-tenant-isolation-auditor.md +254 -254
- package/kit/agents/multi-tenant-rls-writer.md +341 -341
- package/kit/agents/nyquist-auditor.md +181 -181
- package/kit/agents/observability-coverage-auditor.md +316 -316
- package/kit/agents/observability-instrumenter.md +191 -191
- package/kit/agents/omm-auditor.md +291 -291
- package/kit/agents/org-onboarding-implementer.md +224 -224
- package/kit/agents/payload-capture-instrumenter.md +274 -274
- package/kit/agents/phase-researcher.md +697 -697
- package/kit/agents/plan-checker.md +275 -275
- package/kit/agents/planner.md +923 -923
- package/kit/agents/postmortem-writer.md +273 -273
- package/kit/agents/project-researcher.md +653 -653
- package/kit/agents/prr-conductor.md +287 -287
- package/kit/agents/refactor-safety-auditor.md +405 -405
- package/kit/agents/release-pipeline-auditor.md +364 -364
- package/kit/agents/research-synthesizer.md +246 -246
- package/kit/agents/roadmapper.md +678 -678
- package/kit/agents/schema-checker.md +160 -160
- package/kit/agents/seam-finder.md +360 -360
- package/kit/agents/shotgun-surgery-detector.md +350 -350
- package/kit/agents/slo-engineer.md +217 -217
- package/kit/agents/storytelling-analyst.md +300 -300
- package/kit/agents/supabase-architect.md +249 -249
- package/kit/agents/supabase-auth-bootstrapper.md +400 -400
- package/kit/agents/supabase-auth-hook-writer.md +418 -418
- package/kit/agents/supabase-branching-architect.md +563 -563
- package/kit/agents/supabase-cicd-pipeline-implementer.md +778 -778
- package/kit/agents/supabase-column-privileges-writer.md +400 -400
- package/kit/agents/supabase-edge-fn-tester.md +288 -288
- package/kit/agents/supabase-edge-fn-writer.md +341 -341
- package/kit/agents/supabase-mfa-implementer.md +439 -439
- package/kit/agents/supabase-migration-writer.md +386 -386
- package/kit/agents/supabase-oauth-server-implementer.md +507 -507
- package/kit/agents/supabase-rbac-implementer.md +393 -393
- package/kit/agents/supabase-realtime-implementer.md +364 -364
- package/kit/agents/supabase-rls-hardener.md +522 -522
- package/kit/agents/supabase-rls-writer.md +324 -324
- package/kit/agents/supabase-roles-implementer.md +356 -356
- package/kit/agents/supabase-social-auth-implementer.md +451 -451
- package/kit/agents/supabase-sso-saml-architect.md +549 -549
- package/kit/agents/supabase-storage-implementer.md +407 -407
- package/kit/agents/super-admin-implementer.md +282 -282
- package/kit/agents/toil-auditor.md +268 -268
- package/kit/agents/ui-auditor.md +438 -438
- package/kit/agents/ui-checker.md +305 -305
- package/kit/agents/ui-researcher.md +356 -356
- package/kit/agents/user-profiler.md +176 -176
- package/kit/agents/validador-evolucao-schema.md +336 -336
- package/kit/agents/verifier.md +729 -729
- package/kit/agents/workflow-generator.md +167 -0
- package/kit/commands/adicionar-backlog.md +75 -75
- package/kit/commands/adicionar-fase.md +42 -42
- package/kit/commands/adicionar-tarefa.md +45 -45
- package/kit/commands/adicionar-testes.md +41 -41
- package/kit/commands/ajuda.md +21 -21
- package/kit/commands/atualizar.md +37 -37
- package/kit/commands/auditar-cascading.md +111 -111
- package/kit/commands/auditar-marco.md +179 -179
- package/kit/commands/auditar-observabilidade-cobertura-workflow.md +121 -0
- package/kit/commands/auditar-observabilidade-cobertura.md +183 -183
- package/kit/commands/auditar-refactor.md +219 -219
- package/kit/commands/auditar-release.md +109 -109
- package/kit/commands/auditar-uat.md +23 -23
- package/kit/commands/autonomo.md +40 -40
- package/kit/commands/branch-pr.md +24 -24
- package/kit/commands/burn-rate-status.md +408 -408
- package/kit/commands/capturar-payloads.md +193 -193
- package/kit/commands/caracterizar.md +212 -212
- package/kit/commands/concluir-marco.md +247 -247
- package/kit/commands/configuracoes.md +36 -36
- package/kit/commands/criar-workflow.md +158 -0
- package/kit/commands/dados-distribuidos.md +188 -188
- package/kit/commands/definir-perfil.md +10 -10
- package/kit/commands/depurar.md +190 -190
- package/kit/commands/detectar-duplicacao.md +197 -197
- package/kit/commands/discutir-fase.md +131 -131
- package/kit/commands/encontrar-seams.md +136 -136
- package/kit/commands/entrar-discord.md +17 -17
- package/kit/commands/estatisticas.md +18 -18
- package/kit/commands/example-greeting.md +33 -33
- package/kit/commands/executar-fase.md +58 -58
- package/kit/commands/expresso.md +56 -56
- package/kit/commands/fase-ui.md +34 -34
- package/kit/commands/fazer.md +57 -57
- package/kit/commands/fio.md +125 -125
- package/kit/commands/fluxos-trabalho.md +64 -64
- package/kit/commands/forense.md +176 -176
- package/kit/commands/gerenciador.md +38 -38
- package/kit/commands/inserir-fase.md +31 -31
- package/kit/commands/legacy.md +263 -263
- package/kit/commands/limpeza.md +17 -17
- package/kit/commands/listar-hipoteses-fase.md +45 -45
- package/kit/commands/listar-workspaces.md +18 -18
- package/kit/commands/load-shedding.md +117 -117
- package/kit/commands/mapear-codebase.md +70 -70
- package/kit/commands/multi-tenant.md +163 -163
- package/kit/commands/nota.md +33 -33
- package/kit/commands/novo-marco.md +43 -43
- package/kit/commands/novo-projeto.md +41 -41
- package/kit/commands/novo-workspace.md +43 -43
- package/kit/commands/pausar-trabalho.md +37 -37
- package/kit/commands/perfil-usuario.md +45 -45
- package/kit/commands/pesquisar-fase.md +195 -195
- package/kit/commands/planejar-fase.md +67 -67
- package/kit/commands/planejar-lacunas.md +33 -33
- package/kit/commands/plantar-ideia.md +25 -25
- package/kit/commands/progresso.md +24 -24
- package/kit/commands/proximo.md +30 -30
- package/kit/commands/publicar.md +490 -490
- package/kit/commands/rapido.md +35 -35
- package/kit/commands/reaplicar-patches.md +124 -124
- package/kit/commands/refactor-seguro.md +321 -321
- package/kit/commands/relatorio-sessao.md +19 -19
- package/kit/commands/remover-fase.md +31 -31
- package/kit/commands/remover-workspace.md +26 -26
- package/kit/commands/resumo-marco.md +50 -50
- package/kit/commands/retomar-trabalho.md +40 -40
- package/kit/commands/revisar-backlog.md +60 -60
- package/kit/commands/revisar-ui.md +32 -32
- package/kit/commands/revisar.md +37 -37
- package/kit/commands/saude.md +21 -21
- package/kit/commands/setup-notion.md +93 -93
- package/kit/commands/storytelling.md +179 -179
- package/kit/commands/supabase.md +238 -238
- package/kit/commands/sync-main.md +68 -68
- package/kit/commands/validar-fase.md +35 -35
- package/kit/commands/verificar-tarefas.md +44 -44
- package/kit/commands/verificar-trabalho.md +64 -64
- package/kit/file-manifest.json +424 -419
- package/kit/framework/bin/lib/commands.cjs +959 -959
- package/kit/framework/bin/lib/config.cjs +442 -442
- package/kit/framework/bin/lib/core.cjs +1230 -1230
- package/kit/framework/bin/lib/frontmatter.cjs +336 -336
- package/kit/framework/bin/lib/init.cjs +1442 -1442
- package/kit/framework/bin/lib/milestone.cjs +252 -252
- package/kit/framework/bin/lib/model-profiles.cjs +68 -68
- package/kit/framework/bin/lib/phase.cjs +888 -888
- package/kit/framework/bin/lib/profile-output.cjs +952 -952
- package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
- package/kit/framework/bin/lib/roadmap.cjs +329 -329
- package/kit/framework/bin/lib/security.cjs +382 -382
- package/kit/framework/bin/lib/state.cjs +1031 -1031
- package/kit/framework/bin/lib/template.cjs +222 -222
- package/kit/framework/bin/lib/uat.cjs +282 -282
- package/kit/framework/bin/lib/verify.cjs +888 -888
- package/kit/framework/bin/lib/workstream.cjs +491 -491
- package/kit/framework/bin/tools.cjs +918 -918
- package/kit/framework/commands/workstreams.md +63 -63
- package/kit/framework/references/checkpoints.md +778 -778
- package/kit/framework/references/continuation-format.md +249 -249
- package/kit/framework/references/decimal-phase-calculation.md +64 -64
- package/kit/framework/references/git-integration.md +295 -295
- package/kit/framework/references/git-planning-commit.md +38 -38
- package/kit/framework/references/model-profile-resolution.md +36 -36
- package/kit/framework/references/model-profiles.md +139 -139
- package/kit/framework/references/phase-argument-parsing.md +61 -61
- package/kit/framework/references/planning-config.md +202 -202
- package/kit/framework/references/questioning.md +162 -162
- package/kit/framework/references/tdd.md +263 -263
- package/kit/framework/references/ui-brand.md +160 -160
- package/kit/framework/references/user-profiling.md +657 -657
- package/kit/framework/references/verification-patterns.md +612 -612
- package/kit/framework/references/workstream-flag.md +58 -58
- package/kit/framework/templates/DEBUG.md +164 -164
- package/kit/framework/templates/UAT.md +265 -265
- package/kit/framework/templates/UI-SPEC.md +100 -100
- package/kit/framework/templates/VALIDATION.md +76 -76
- package/kit/framework/templates/claude-md.md +122 -122
- package/kit/framework/templates/codebase/architecture.md +185 -185
- package/kit/framework/templates/codebase/concerns.md +205 -205
- package/kit/framework/templates/codebase/conventions.md +204 -204
- package/kit/framework/templates/codebase/integrations.md +192 -192
- package/kit/framework/templates/codebase/stack.md +158 -158
- package/kit/framework/templates/codebase/structure.md +199 -199
- package/kit/framework/templates/codebase/testing.md +301 -301
- package/kit/framework/templates/config.json +44 -44
- package/kit/framework/templates/context.md +352 -352
- package/kit/framework/templates/continue-here.md +78 -78
- package/kit/framework/templates/copilot-instructions.md +7 -7
- package/kit/framework/templates/debug-subagent-prompt.md +91 -91
- package/kit/framework/templates/dev-preferences.md +20 -20
- package/kit/framework/templates/discovery.md +146 -146
- package/kit/framework/templates/discussion-log.md +63 -63
- package/kit/framework/templates/milestone-archive.md +123 -123
- package/kit/framework/templates/milestone.md +115 -115
- package/kit/framework/templates/phase-prompt.md +610 -610
- package/kit/framework/templates/planner-subagent-prompt.md +117 -117
- package/kit/framework/templates/project.md +186 -186
- package/kit/framework/templates/requirements.md +231 -231
- package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
- package/kit/framework/templates/research-project/FEATURES.md +147 -147
- package/kit/framework/templates/research-project/PITFALLS.md +200 -200
- package/kit/framework/templates/research-project/STACK.md +120 -120
- package/kit/framework/templates/research-project/SUMMARY.md +170 -170
- package/kit/framework/templates/research.md +419 -419
- package/kit/framework/templates/retrospective.md +54 -54
- package/kit/framework/templates/roadmap.md +202 -202
- package/kit/framework/templates/state.md +176 -176
- package/kit/framework/templates/summary-complex.md +59 -59
- package/kit/framework/templates/summary-minimal.md +41 -41
- package/kit/framework/templates/summary-standard.md +48 -48
- package/kit/framework/templates/summary.md +209 -209
- package/kit/framework/templates/user-profile.md +146 -146
- package/kit/framework/templates/user-setup.md +256 -256
- package/kit/framework/templates/verification-report.md +258 -258
- package/kit/framework/workflows/add-phase.md +112 -112
- package/kit/framework/workflows/add-tests.md +351 -351
- package/kit/framework/workflows/add-todo.md +158 -158
- package/kit/framework/workflows/audit-milestone.md +340 -340
- package/kit/framework/workflows/audit-uat.md +109 -109
- package/kit/framework/workflows/autonomous.md +891 -891
- package/kit/framework/workflows/check-todos.md +177 -177
- package/kit/framework/workflows/cleanup.md +152 -152
- package/kit/framework/workflows/complete-milestone.md +696 -696
- package/kit/framework/workflows/diagnose-issues.md +231 -231
- package/kit/framework/workflows/discovery-phase.md +289 -289
- package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
- package/kit/framework/workflows/discuss-phase.md +784 -784
- package/kit/framework/workflows/do.md +104 -104
- package/kit/framework/workflows/execute-phase.md +838 -838
- package/kit/framework/workflows/execute-plan.md +510 -510
- package/kit/framework/workflows/fast.md +102 -102
- package/kit/framework/workflows/forensics.md +265 -265
- package/kit/framework/workflows/health.md +181 -181
- package/kit/framework/workflows/help.md +619 -619
- package/kit/framework/workflows/insert-phase.md +130 -130
- package/kit/framework/workflows/list-phase-assumptions.md +178 -178
- package/kit/framework/workflows/list-workspaces.md +56 -56
- package/kit/framework/workflows/manager.md +362 -362
- package/kit/framework/workflows/map-codebase.md +377 -377
- package/kit/framework/workflows/milestone-summary.md +223 -223
- package/kit/framework/workflows/new-milestone.md +486 -486
- package/kit/framework/workflows/new-project.md +1159 -1159
- package/kit/framework/workflows/new-workspace.md +237 -237
- package/kit/framework/workflows/next.md +97 -97
- package/kit/framework/workflows/node-repair.md +92 -92
- package/kit/framework/workflows/note.md +156 -156
- package/kit/framework/workflows/pause-work.md +176 -176
- package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
- package/kit/framework/workflows/plan-phase.md +765 -765
- package/kit/framework/workflows/plant-seed.md +169 -169
- package/kit/framework/workflows/pr-branch.md +129 -129
- package/kit/framework/workflows/profile-user.md +450 -450
- package/kit/framework/workflows/progress.md +507 -507
- package/kit/framework/workflows/quick.md +757 -757
- package/kit/framework/workflows/remove-phase.md +155 -155
- package/kit/framework/workflows/remove-workspace.md +90 -90
- package/kit/framework/workflows/research-phase.md +82 -82
- package/kit/framework/workflows/resume-project.md +326 -326
- package/kit/framework/workflows/review.md +228 -228
- package/kit/framework/workflows/session-report.md +146 -146
- package/kit/framework/workflows/settings.md +283 -283
- package/kit/framework/workflows/ship.md +228 -228
- package/kit/framework/workflows/stats.md +60 -60
- package/kit/framework/workflows/transition.md +671 -671
- package/kit/framework/workflows/ui-phase.md +302 -302
- package/kit/framework/workflows/ui-review.md +165 -165
- package/kit/framework/workflows/update.md +323 -323
- package/kit/framework/workflows/validate-phase.md +174 -174
- package/kit/framework/workflows/verify-phase.md +252 -252
- package/kit/framework/workflows/verify-work.md +637 -637
- package/kit/hooks/check-update.js +118 -118
- package/kit/hooks/context-monitor.js +163 -163
- package/kit/hooks/kit-attribution-reminder.cjs +92 -92
- package/kit/hooks/kit-router.cjs +137 -137
- package/kit/hooks/prompt-guard.js +103 -103
- package/kit/hooks/statusline.js +125 -125
- package/kit/hooks/workflow-guard.js +101 -101
- package/kit/settings.json +45 -45
- package/kit/skills/ai-prompt-characterization/SKILL.md +335 -335
- package/kit/skills/armadilhas-sistemas-distribuidos/SKILL.md +447 -447
- package/kit/skills/audit-log-multi-tenant/SKILL.md +340 -340
- package/kit/skills/b2b-saas-architecture/SKILL.md +300 -300
- package/kit/skills/consistencia-leitura-replica/SKILL.md +385 -385
- package/kit/skills/crm-lead-pipeline-patterns/SKILL.md +343 -343
- package/kit/skills/dynamic-workflow-authoring/SKILL.md +223 -0
- package/kit/skills/escolha-modelo-consistencia/SKILL.md +494 -494
- package/kit/skills/evolucao-schema-compativel/SKILL.md +448 -448
- package/kit/skills/evolution-go-whatsapp-integration/SKILL.md +322 -322
- package/kit/skills/example-skill/SKILL.md +42 -42
- package/kit/skills/legacy-api-only-applications/SKILL.md +358 -358
- package/kit/skills/legacy-characterization-tests/SKILL.md +330 -330
- package/kit/skills/legacy-effect-analysis/SKILL.md +331 -331
- package/kit/skills/legacy-extract-class/SKILL.md +203 -203
- package/kit/skills/legacy-programming-by-difference/SKILL.md +252 -252
- package/kit/skills/legacy-seams-and-test-harness/SKILL.md +460 -460
- package/kit/skills/legacy-shotgun-surgery/SKILL.md +286 -286
- package/kit/skills/legacy-sprout-wrap-techniques/SKILL.md +434 -434
- package/kit/skills/legacy-storytelling-naked-crc/SKILL.md +270 -270
- package/kit/skills/lgpd-multi-tenant-compliance/SKILL.md +340 -340
- package/kit/skills/member-invite-flow/SKILL.md +305 -305
- package/kit/skills/member-management-react-shadcn/SKILL.md +328 -328
- package/kit/skills/multi-tenant-performance-scaling/SKILL.md +316 -316
- package/kit/skills/multi-tenant-rls-hierarchy/SKILL.md +342 -342
- package/kit/skills/org-onboarding-flow/SKILL.md +257 -257
- package/kit/skills/org-switcher-react-pattern/SKILL.md +349 -349
- package/kit/skills/permission-gate-react-pattern/SKILL.md +271 -271
- package/kit/skills/postgres-isolamento-concorrencia/SKILL.md +552 -552
- package/kit/skills/pre-refactor-characterization/SKILL.md +421 -421
- package/kit/skills/rbac-permissions-matrix-supabase/SKILL.md +338 -338
- package/kit/skills/streams-eventos-cdc/SKILL.md +711 -711
- package/kit/skills/supabase-auth-hardening/SKILL.md +674 -674
- package/kit/skills/supabase-auth-hooks/SKILL.md +875 -875
- package/kit/skills/supabase-auth-methods/SKILL.md +486 -486
- package/kit/skills/supabase-auth-sessions/SKILL.md +579 -579
- package/kit/skills/supabase-auth-ssr/SKILL.md +306 -306
- package/kit/skills/supabase-branching-workflow/SKILL.md +544 -544
- package/kit/skills/supabase-ci-cd-github-actions/SKILL.md +880 -880
- package/kit/skills/supabase-column-level-security/SKILL.md +426 -426
- package/kit/skills/supabase-config-toml-remotes/SKILL.md +807 -807
- package/kit/skills/supabase-custom-claims-rbac/SKILL.md +472 -472
- package/kit/skills/supabase-edge-functions/SKILL.md +330 -330
- package/kit/skills/supabase-edge-functions-auth/SKILL.md +309 -309
- package/kit/skills/supabase-edge-functions-limits/SKILL.md +302 -302
- package/kit/skills/supabase-edge-functions-mcp-server/SKILL.md +279 -279
- package/kit/skills/supabase-edge-functions-testing/SKILL.md +277 -277
- package/kit/skills/supabase-edge-runtime-builtins/SKILL.md +357 -357
- package/kit/skills/supabase-enterprise-sso-saml/SKILL.md +545 -545
- package/kit/skills/supabase-jwt-signing-keys/SKILL.md +399 -399
- package/kit/skills/supabase-mfa/SKILL.md +488 -488
- package/kit/skills/supabase-migration-repair/SKILL.md +823 -823
- package/kit/skills/supabase-migrations/SKILL.md +297 -297
- package/kit/skills/supabase-oauth-server/SKILL.md +537 -537
- package/kit/skills/supabase-pgtap-testing/SKILL.md +1053 -1053
- package/kit/skills/supabase-postgres-roles/SKILL.md +392 -392
- package/kit/skills/supabase-realtime/SKILL.md +460 -460
- package/kit/skills/supabase-rls-defense-in-depth/SKILL.md +418 -418
- package/kit/skills/supabase-rls-policies/SKILL.md +635 -635
- package/kit/skills/supabase-social-oauth/SKILL.md +480 -480
- package/kit/skills/supabase-third-party-auth/SKILL.md +450 -450
- package/kit/skills/super-admin-platform-pattern/SKILL.md +326 -326
- package/kit/skills/tenant-quente-mitigacao/SKILL.md +605 -605
- package/kit/skills/ui-anti-padroes-ia/SKILL.md +261 -261
- package/kit/skills/ui-contexto-produto/SKILL.md +248 -248
- package/kit/skills/ui-cor-estrategia/SKILL.md +213 -213
- package/kit/skills/ui-critica-auditoria/SKILL.md +260 -260
- package/kit/skills/ui-motion-funcional/SKILL.md +264 -264
- package/kit/skills/ui-ritmo-espacial/SKILL.md +259 -259
- package/kit/skills/ui-tipografia/SKILL.md +211 -211
- package/kit/skills/whatsapp-conversation-state-machine/SKILL.md +287 -287
- package/kit/workflows/auditar-observabilidade-cobertura.workflow.js +250 -0
- package/package.json +65 -63
- package/src/core/kit.js +333 -216
- package/src/core/reflect.js +247 -247
- package/src/core/registry.js +123 -112
- package/src/core/reverse-sync.js +448 -372
- package/src/core/sync.js +477 -437
- package/src/core/watch.js +121 -121
- package/src/mcp-server/index.js +794 -794
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: criar-workflow
|
|
3
|
+
description: Gera um Dynamic Workflow customizado pro teu projeto. Pergunta o padrao de harness (6 opcoes), eliciaa params especificos, compoe reusando agents/skills do kit, materializa em .claude/workflows/.
|
|
4
|
+
argument-hint: "<descricao livre em portugues do que voce quer auditar/automatizar>"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
- Grep
|
|
10
|
+
- Glob
|
|
11
|
+
- AskUserQuestion
|
|
12
|
+
- Task
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# criar-workflow
|
|
16
|
+
|
|
17
|
+
> Entrypoint pra gerar um Dynamic Workflow customizado pro teu projeto. O kit não cresce com workflows de nicho — cresce com a capacidade de gerar workflows sob demanda.
|
|
18
|
+
|
|
19
|
+
> Cada usuário ganha o DELE, calibrado pro stack/dor que ele tem. Outro usuário com necessidade diferente roda `/criar-workflow <sua descrição>` e ganha um diferente.
|
|
20
|
+
|
|
21
|
+
<objective>
|
|
22
|
+
Invoca o agent [`workflow-generator`](../agents/workflow-generator.md) que executa 4 layers:
|
|
23
|
+
|
|
24
|
+
1. **Classify** — pergunta qual dos 6 patterns canônicos (Classify-Act, Fanout-Synthesize, Adversarial-Verify, Generate-Filter, Tournament, Loop-Done) encaixa
|
|
25
|
+
2. **Specify** — faz 2-4 perguntas específicas do pattern escolhido
|
|
26
|
+
3. **Compose** — detecta MCP necessárias + propõe reuso de agents canônicos do kit
|
|
27
|
+
4. **Materialize** — escreve `.claude/workflows/<slug>.workflow.js` + `.claude/commands/<slug>.md` (locais ao projeto, NUNCA no kit canônico)
|
|
28
|
+
|
|
29
|
+
**Cria:**
|
|
30
|
+
- `.claude/workflows/<slug>.workflow.js` — script JS executável pela tool Workflow do Claude Code
|
|
31
|
+
- `.claude/commands/<slug>.md` — slash-command que dispara o workflow
|
|
32
|
+
|
|
33
|
+
**Após:** `/<slug> [--args]` invoca direto. Pra rodar a cada N minutos: `/loop 3m /<slug>`. Pra cron remoto: `/schedule "*/3 * * * *" <slug>`.
|
|
34
|
+
</objective>
|
|
35
|
+
|
|
36
|
+
<context>
|
|
37
|
+
**Argumento:**
|
|
38
|
+
- `$ARGUMENTS` — descrição livre em português do objetivo. Quanto mais específico, menos perguntas o gerador faz no Layer 1.
|
|
39
|
+
|
|
40
|
+
**Exemplos:**
|
|
41
|
+
```
|
|
42
|
+
/criar-workflow auditar comportamento dos agentes IA atendendo WhatsApp
|
|
43
|
+
a cada 3 minutos, analisar transcripts e gerar report
|
|
44
|
+
|
|
45
|
+
/criar-workflow rankear top 10 PRs no GitHub abertos ha mais de 7 dias
|
|
46
|
+
sem revisao por impacto
|
|
47
|
+
|
|
48
|
+
/criar-workflow bug hunt continuo no codigo do servico de pagamento
|
|
49
|
+
ate 2 rounds sem novos achados
|
|
50
|
+
|
|
51
|
+
/criar-workflow brainstorm 12 nomes pra minha CLI e pegar top 3 por
|
|
52
|
+
memorability + brand fit
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Pré-requisitos:**
|
|
56
|
+
- Claude Code Max / Team / Enterprise (Dynamic Workflows em research preview Opus 4.8+)
|
|
57
|
+
- Tool `Workflow` habilitada na sessão
|
|
58
|
+
- `.claude/workflows/` existe ou sera criado
|
|
59
|
+
|
|
60
|
+
**Quando NÃO usar:**
|
|
61
|
+
- Tarefa cabe em 1 slash-command existente (ex.: ja temos `/auditar-observabilidade-cobertura-workflow` — não duplique)
|
|
62
|
+
- Descrição vaga ("automatize meu projeto") — refine antes
|
|
63
|
+
- Mudança que precisa entrar no kit canônico — esses são PRs no repo `luanpdd/kit-mcp`, não workflows locais
|
|
64
|
+
</context>
|
|
65
|
+
|
|
66
|
+
<process>
|
|
67
|
+
|
|
68
|
+
## 1. Validar descrição mínima
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
DESC="$ARGUMENTS"
|
|
72
|
+
if [ -z "$DESC" ] || [ ${#DESC} -lt 10 ]; then
|
|
73
|
+
echo "ERRO: descreva o que voce quer com pelo menos 10 chars."
|
|
74
|
+
echo "Exemplo: /criar-workflow auditar conversas IA no WhatsApp a cada 3min"
|
|
75
|
+
exit 1
|
|
76
|
+
fi
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## 2. Garantir destino existe
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
mkdir -p .claude/workflows .claude/commands
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## 3. Dispatch para workflow-generator
|
|
86
|
+
|
|
87
|
+
```text
|
|
88
|
+
Task(
|
|
89
|
+
subagent_type="workflow-generator",
|
|
90
|
+
prompt="
|
|
91
|
+
description: ${DESC}
|
|
92
|
+
output_dir_workflows: .claude/workflows/
|
|
93
|
+
output_dir_commands: .claude/commands/
|
|
94
|
+
|
|
95
|
+
Execute os 4 layers conforme spec do agent:
|
|
96
|
+
|
|
97
|
+
LAYER 0 — Classify (AskUserQuestion obrigatorio, 6 opcoes do pattern)
|
|
98
|
+
LAYER 1 — Specify (perguntas especificas do pattern escolhido, 2-4 max)
|
|
99
|
+
LAYER 2 — Compose (detectar MCP + propor reuso de agents do kit via AskUserQuestion)
|
|
100
|
+
LAYER 3 — Materialize (.workflow.js + .md com header // kit-mcp:user-generated)
|
|
101
|
+
LAYER 4 — Deliver (output formatado com slug, pattern, MCP, comandos /<slug>, /loop, /schedule)
|
|
102
|
+
|
|
103
|
+
REGRAS DURAS:
|
|
104
|
+
- meta literal puro (sem template literals, sem function calls, sem spread)
|
|
105
|
+
- Todo agent() com schema JSON Schema declarado (required: [...])
|
|
106
|
+
- pipeline() default, parallel() so com justificativa inline
|
|
107
|
+
- Sem Date.now()/Math.random()/argless new Date() — pra randomness varie por indice, pra timestamps passe via args
|
|
108
|
+
- Header // kit-mcp:user-generated no topo do .workflow.js (distingue de // kit-mcp:reference do canonico)
|
|
109
|
+
|
|
110
|
+
NAO escreva em kit/ — workflows gerados sao locais.
|
|
111
|
+
"
|
|
112
|
+
)
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## 4. Pós-output
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
═══════════════════════════════════════════════════════════
|
|
119
|
+
framework ► CRIAR-WORKFLOW ▸ <slug>
|
|
120
|
+
═══════════════════════════════════════════════════════════
|
|
121
|
+
|
|
122
|
+
[output do workflow-generator]
|
|
123
|
+
|
|
124
|
+
## Como usar
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
/<slug> [--args ...] # 1 execucao
|
|
128
|
+
/loop 3m /<slug> [--args ...] # a cada 3min (dentro da sessao)
|
|
129
|
+
/schedule "*/3 * * * *" <slug> [--args] # cron remoto (24/7)
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Editar depois
|
|
133
|
+
|
|
134
|
+
Se quiser ajustar:
|
|
135
|
+
- `.claude/workflows/<slug>.workflow.js` — script do workflow
|
|
136
|
+
- `.claude/commands/<slug>.md` — slash-command (interface + flags)
|
|
137
|
+
|
|
138
|
+
A tool Workflow do Claude Code re-le o script a cada execucao — edit ja vale na proxima rodada.
|
|
139
|
+
|
|
140
|
+
## Quando descontinuar
|
|
141
|
+
|
|
142
|
+
Apaga os 2 arquivos. Sem efeito colateral (workflows user-generated nao entram no kit/file-manifest.json nem no kit-mcp sync).
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
</process>
|
|
146
|
+
|
|
147
|
+
<success_criteria>
|
|
148
|
+
- [ ] `$ARGUMENTS` validado (≥ 10 chars)
|
|
149
|
+
- [ ] `.claude/workflows/` e `.claude/commands/` criados se ausentes
|
|
150
|
+
- [ ] `workflow-generator` invocado via `Task()` com a descrição original
|
|
151
|
+
- [ ] Layer 0 (classify pattern) com `AskUserQuestion` obrigatório — NUNCA infere
|
|
152
|
+
- [ ] Layer 1 (specify) com perguntas específicas DO PADRÃO ESCOLHIDO — não pergunta tudo sempre
|
|
153
|
+
- [ ] Layer 2 (compose) propõe reuso de agents canônicos quando match óbvio
|
|
154
|
+
- [ ] Layer 3 (materialize) escreve 2 arquivos com headers corretos
|
|
155
|
+
- [ ] Layer 4 (deliver) output com `/<slug>`, `/loop`, `/schedule` formatados
|
|
156
|
+
- [ ] Workflow gerado parseável (`node -c` syntax check)
|
|
157
|
+
- [ ] Nenhum arquivo escrito em `kit/` (canônico) — só em `.claude/`
|
|
158
|
+
</success_criteria>
|
|
@@ -1,188 +1,188 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: dados-distribuidos
|
|
3
|
-
description: Orquestrador da Suíte DDIA Foundations — dispatch para agents (auditor-consistencia-isolamento, detector-tenant-quente, validador-evolucao-schema) com sinônimos PT/EN (ddia, dados, consistencia…
|
|
4
|
-
argument-hint: "<subcomando> [args...]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Bash
|
|
9
|
-
- Grep
|
|
10
|
-
- Glob
|
|
11
|
-
- Task
|
|
12
|
-
- AskUserQuestion
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
<objective>
|
|
16
|
-
Orquestrador único da Suíte DDIA Foundations v1.22. Recebe um subcomando + args, faz dispatch via `Task(subagent_type=<ddia-agent>)` para o agent especializado correto. É o **único ponto de chain de agents da Suíte DDIA Foundations** — agents permanecem função pura (anti-pitfall A10 v1.8 herdado).
|
|
17
|
-
|
|
18
|
-
**Cross-Suite Invocation Pattern (herdado v1.21):** Agents da Suíte DDIA Foundations v1.22 **delegam para agents da Suíte Supabase v1.8 + Multi-Tenant v1.21** quando precisam materializar SQL, Edge Functions, RLS policies, audit logs. Padrão canônico:
|
|
19
|
-
|
|
20
|
-
- `auditor-consistencia-isolamento` → delega fix migration para `supabase-migration-writer` (v1.8) OU fix Edge Function para `supabase-edge-fn-writer` (v1.8)
|
|
21
|
-
- `detector-tenant-quente` → delega partitioning/dedicated schema para `supabase-migration-writer` (v1.8) + `b2b-saas-architect` (v1.21)
|
|
22
|
-
- `validador-evolucao-schema` → handoff bidirecional com `supabase-migration-writer` (v1.8 — invoca este validador ANTES de escrever migration arriscada)
|
|
23
|
-
- Subcomando `implementar-cdc` → carrega skill `streams-eventos-cdc` (v1.22) + delega Edge Function CDC para `supabase-edge-fn-writer` (v1.8)
|
|
24
|
-
|
|
25
|
-
**Cria/Atualiza:** o que cada agent invocado cria/atualiza (skills consultadas, audits gerados, vereditos retornados).
|
|
26
|
-
|
|
27
|
-
**Após:** o usuário tem o output do agent (audit report, veredito GO/NO-GO, ou Edge Function CDC scaffold).
|
|
28
|
-
</objective>
|
|
29
|
-
|
|
30
|
-
<execution_context>
|
|
31
|
-
Skills consultadas pelos agents (Suíte DDIA Foundations v1.22): `kit/skills/{evolucao-schema-compativel,consistencia-leitura-replica,tenant-quente-mitigacao,postgres-isolamento-concorrencia,armadilhas-sistemas-distribuidos,escolha-modelo-consistencia,streams-eventos-cdc}/SKILL.md` + `kit/skills/_shared-dados-distribuidos/glossary.md`.
|
|
32
|
-
|
|
33
|
-
Agents disponíveis (Suíte DDIA Foundations v1.22): `kit/agents/{auditor-consistencia-isolamento,detector-tenant-quente,validador-evolucao-schema}.md`.
|
|
34
|
-
|
|
35
|
-
Agents Suíte Supabase v1.8 invocados via cross-suite delegation: `supabase-migration-writer`, `supabase-edge-fn-writer`, `supabase-architect`.
|
|
36
|
-
|
|
37
|
-
Agents Suíte Multi-Tenant v1.21 invocados via cross-suite delegation: `b2b-saas-architect`, `multi-tenant-rls-writer`, `audit-log-implementer`.
|
|
38
|
-
</execution_context>
|
|
39
|
-
|
|
40
|
-
<context>
|
|
41
|
-
**Argumentos:** `$ARGUMENTS` — primeiro token é o subcomando; restante é passado para o agent como prompt.
|
|
42
|
-
|
|
43
|
-
**Subcomandos suportados (sinônimos PT-BR/EN):**
|
|
44
|
-
|
|
45
|
-
| Subcomando | Sinônimos | Agent dispatched | Skill carregada |
|
|
46
|
-
|---|---|---|---|
|
|
47
|
-
| `auditar-consistencia` | `consistencia`, `audit-consistency`, `auditar-race` | `auditor-consistencia-isolamento` | `postgres-isolamento-concorrencia`, `armadilhas-sistemas-distribuidos`, `escolha-modelo-consistencia`, `streams-eventos-cdc` |
|
|
48
|
-
| `auditar-tenant-quente` | `tenant-quente`, `hot-tenant`, `audit-tenant`, `tenant` | `detector-tenant-quente` | `tenant-quente-mitigacao` |
|
|
49
|
-
| `validar-evolucao-schema` | `validar-schema`, `validate-schema`, `evolution-check`, `validar-evolucao` | `validador-evolucao-schema` | `evolucao-schema-compativel` |
|
|
50
|
-
| `implementar-cdc` | `cdc`, `cdc-pipeline`, `streams`, `event-streaming` | (cross-suite) `supabase-edge-fn-writer` (v1.8) | `streams-eventos-cdc` (skill v1.22 carregada como contexto) |
|
|
51
|
-
| `help` | `ajuda`, `?` | exibe esta tabela inline | — |
|
|
52
|
-
|
|
53
|
-
**Aliases globais para o nome da suíte:** `dados-distribuidos`, `ddia`, `dados`, `consistencia`, `replicacao`, `streams` (todos roteiam para este orquestrador via `/dados-distribuidos`).
|
|
54
|
-
|
|
55
|
-
**Skills relacionadas (Suíte DDIA Foundations v1.22):**
|
|
56
|
-
|
|
57
|
-
| Skill | Capítulo DDIA | Quando usar |
|
|
58
|
-
|---|---|---|
|
|
59
|
-
| [`evolucao-schema-compativel`](../skills/evolucao-schema-compativel/SKILL.md) | Ch 4 (Encoding and Evolution) | Migrations com ALTER (NOT NULL, DROP, type narrow, default) |
|
|
60
|
-
| [`consistencia-leitura-replica`](../skills/consistencia-leitura-replica/SKILL.md) | Ch 5 (Replication) | Read replicas Supavisor, read-after-write, monotonic reads |
|
|
61
|
-
| [`tenant-quente-mitigacao`](../skills/tenant-quente-mitigacao/SKILL.md) | Ch 6 (Partitioning) | Multi-tenant skew, hot tenant, partitioning hash(org_id) |
|
|
62
|
-
| [`postgres-isolamento-concorrencia`](../skills/postgres-isolamento-concorrencia/SKILL.md) | Ch 7 (Transactions) | Lost update, write skew, isolation level Postgres |
|
|
63
|
-
| [`armadilhas-sistemas-distribuidos`](../skills/armadilhas-sistemas-distribuidos/SKILL.md) | Ch 8 (Distributed Systems Trouble) | Clock skew, network failure, partial failure |
|
|
64
|
-
| [`escolha-modelo-consistencia`](../skills/escolha-modelo-consistencia/SKILL.md) | Ch 9 (Consistency and Consensus) | Linearizabilidade, causal, eventual; uniqueness; CAP/PACELC |
|
|
65
|
-
| [`streams-eventos-cdc`](../skills/streams-eventos-cdc/SKILL.md) | Ch 11 (Stream Processing) | CDC, event sourcing, pgmq exactly-once, stream joins |
|
|
66
|
-
|
|
67
|
-
**Detect `supabase/config.toml`:** se presente, extrai `project_id` e passa como contexto para o agent (mesmo pattern de `/multi-tenant` v1.21 + `/supabase` v1.8).
|
|
68
|
-
</context>
|
|
69
|
-
|
|
70
|
-
<process>
|
|
71
|
-
|
|
72
|
-
## 1. Parsear Subcomando
|
|
73
|
-
|
|
74
|
-
```bash
|
|
75
|
-
SUBCMD=$(echo "$ARGUMENTS" | awk '{print $1}')
|
|
76
|
-
ARGS=$(echo "$ARGUMENTS" | cut -d' ' -f2-)
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
**Se `$ARGUMENTS` for vazio ou `SUBCMD` for `help`/`ajuda`/`?`:** exibir tabela de subcomandos inline + exemplo de uso. Sair.
|
|
80
|
-
|
|
81
|
-
## 2. Resolver Sinônimos
|
|
82
|
-
|
|
83
|
-
Mapear `SUBCMD` para agent name canônico:
|
|
84
|
-
|
|
85
|
-
```text
|
|
86
|
-
auditar-consistencia, consistencia, audit-consistency, auditar-race → auditor-consistencia-isolamento
|
|
87
|
-
auditar-tenant-quente, tenant-quente, hot-tenant, audit-tenant, tenant → detector-tenant-quente
|
|
88
|
-
validar-evolucao-schema, validar-schema, validate-schema, validar-evolucao, evolution-check → validador-evolucao-schema
|
|
89
|
-
implementar-cdc, cdc, cdc-pipeline, streams, event-streaming → cross-suite: supabase-edge-fn-writer (v1.8)
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
**Se subcomando não resolve:** exibir erro inline com lista de subcomandos válidos. Sair (fallback amigável).
|
|
93
|
-
|
|
94
|
-
```text
|
|
95
|
-
✗ Subcomando desconhecido: '<SUBCMD>'
|
|
96
|
-
|
|
97
|
-
Subcomandos válidos:
|
|
98
|
-
auditar-consistencia / consistencia → audita race conditions (6 detectores: lost update, write skew,
|
|
99
|
-
clock skew, UNIQUE app, cross-tenant lock, idempotência)
|
|
100
|
-
auditar-tenant-quente / tenant-quente → detecta outliers de tenant (queries/min, storage, conexões)
|
|
101
|
-
via mcp__supabase__execute_sql; thresholds 3×/10× P50
|
|
102
|
-
validar-evolucao-schema / validar-schema → valida migration SQL — veredito GO/NO-GO/NEEDS-REVIEW
|
|
103
|
-
+ sugestão de migration safe quando NO-GO
|
|
104
|
-
implementar-cdc / cdc → scaffold de Edge Function CDC (wal2json + Realtime broadcast,
|
|
105
|
-
pglogical → Kafka, ou trigger-based) via supabase-edge-fn-writer
|
|
106
|
-
help / ajuda / ? → exibe esta tabela
|
|
107
|
-
|
|
108
|
-
Uso: /dados-distribuidos <subcomando> <args...>
|
|
109
|
-
|
|
110
|
-
Exemplos:
|
|
111
|
-
/dados-distribuidos auditar-consistencia "auditar supabase/migrations/ + supabase/functions/"
|
|
112
|
-
/dados-distribuidos auditar-tenant-quente "últimos 30 dias, top 5 tenants"
|
|
113
|
-
/dados-distribuidos validar-evolucao-schema supabase/migrations/20260510_add_priority.sql
|
|
114
|
-
/dados-distribuidos implementar-cdc "CDC para tabela leads via wal2json + Realtime broadcast"
|
|
115
|
-
/dados-distribuidos help
|
|
116
|
-
|
|
117
|
-
Aliases para o comando: /dados-distribuidos, /ddia, /dados, /consistencia, /replicacao, /streams
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
## 3. Detectar `supabase/config.toml`
|
|
121
|
-
|
|
122
|
-
```bash
|
|
123
|
-
if [ -f supabase/config.toml ]; then
|
|
124
|
-
PROJECT_ID=$(grep -E '^project_id\s*=' supabase/config.toml | sed 's/.*= *"\(.*\)".*/\1/' | head -1)
|
|
125
|
-
fi
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
Se presente, anexar `project_id=<value>` ao prompt do agent. Se ausente, agent funciona sem (modo offline para `auditar-tenant-quente`).
|
|
129
|
-
|
|
130
|
-
## 4. Dispatch
|
|
131
|
-
|
|
132
|
-
Invocar `Task(subagent_type=<agent_name>, prompt=<built_prompt>)`.
|
|
133
|
-
|
|
134
|
-
**Prompt construído (template canônico):**
|
|
135
|
-
|
|
136
|
-
```text
|
|
137
|
-
{ARGS}
|
|
138
|
-
|
|
139
|
-
{Se project_id detectado:}
|
|
140
|
-
project_id: {PROJECT_ID}
|
|
141
|
-
|
|
142
|
-
{Skill de contexto (carregada conforme subcomando):}
|
|
143
|
-
Skill canônica: kit/skills/<skill-name>/SKILL.md
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### Subcomando-específico
|
|
147
|
-
|
|
148
|
-
**`auditar-consistencia`:** dispatch para `auditor-consistencia-isolamento`. Agent funciona offline (filesystem-only via Read/Grep/Glob). Sem necessidade de pre-question.
|
|
149
|
-
|
|
150
|
-
**`auditar-tenant-quente`:** dispatch para `detector-tenant-quente`. Agent requer MCP Supabase ativo para coleta live. Se MCP indisponível, agent declara modo offline-fallback (heurísticas estáticas apenas) — caller é avisado.
|
|
151
|
-
|
|
152
|
-
**`validar-evolucao-schema`:** dispatch para `validador-evolucao-schema`. Args devem incluir `migration_path` (arquivo `.sql`) OU `migration_sql` (SQL inline). Agent retorna veredito estruturado (GO/NO-GO/NEEDS-REVIEW) + sugestão de migration safe quando NO-GO.
|
|
153
|
-
|
|
154
|
-
**`implementar-cdc` (cross-suite):**
|
|
155
|
-
|
|
156
|
-
```text
|
|
157
|
-
Esta é uma operação cross-suite — DDIA Foundations v1.22 → Supabase v1.8.
|
|
158
|
-
|
|
159
|
-
Passos:
|
|
160
|
-
1. Carregar skill kit/skills/streams-eventos-cdc/SKILL.md como contexto canônico
|
|
161
|
-
2. AskUserQuestion para escolher abordagem CDC:
|
|
162
|
-
- Opção 1: wal2json + Supabase Realtime broadcast (zero infra, baixa latência)
|
|
163
|
-
- Opção 2: pglogical → Kafka externo (warehousing, alta robustez)
|
|
164
|
-
- Opção 3: Trigger-based (custom logic, baixo throughput)
|
|
165
|
-
3. Dispatch via Task(subagent_type="supabase-edge-fn-writer", prompt=<built>) com:
|
|
166
|
-
- Contexto: abordagem escolhida
|
|
167
|
-
- Skill: streams-eventos-cdc (referência canônica)
|
|
168
|
-
- Tabela alvo: <args fornecidos>
|
|
169
|
-
4. Agent v1.8 escreve Edge Function Deno conforme abordagem (com idempotência via processed_events table)
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
## 5. Output
|
|
173
|
-
|
|
174
|
-
Output do agent é o output do command. Sem post-processing — agent já formata estruturado (audit report, veredito, ou Edge Function code).
|
|
175
|
-
|
|
176
|
-
</process>
|
|
177
|
-
|
|
178
|
-
<success_criteria>
|
|
179
|
-
- [ ] Subcomando resolvido para agent canônico (4 subcomandos × seus sinônimos)
|
|
180
|
-
- [ ] `project_id` extraído de `supabase/config.toml` se presente
|
|
181
|
-
- [ ] Subcomando `implementar-cdc` faz `AskUserQuestion` upfront sobre abordagem CDC (3 opções)
|
|
182
|
-
- [ ] Dispatch via `Task(subagent_type=...)` — único ponto de chain de agents da Suíte DDIA Foundations
|
|
183
|
-
- [ ] Subcomando inválido → mensagem clara com lista (fallback amigável)
|
|
184
|
-
- [ ] Subcomando `help`/`ajuda`/`?` → exibe tabela inline
|
|
185
|
-
- [ ] Args após subcomando passam transparentemente para o agent
|
|
186
|
-
- [ ] Cross-suite invocation documentada (agents v1.22 → agents v1.8 + v1.21)
|
|
187
|
-
- [ ] Tabela de skills relacionadas (7 skills) com link ATIVO para SKILL.md
|
|
188
|
-
</success_criteria>
|
|
1
|
+
---
|
|
2
|
+
name: dados-distribuidos
|
|
3
|
+
description: Orquestrador da Suíte DDIA Foundations — dispatch para agents (auditor-consistencia-isolamento, detector-tenant-quente, validador-evolucao-schema) com sinônimos PT/EN (ddia, dados, consistencia…
|
|
4
|
+
argument-hint: "<subcomando> [args...]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
- Grep
|
|
10
|
+
- Glob
|
|
11
|
+
- Task
|
|
12
|
+
- AskUserQuestion
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
<objective>
|
|
16
|
+
Orquestrador único da Suíte DDIA Foundations v1.22. Recebe um subcomando + args, faz dispatch via `Task(subagent_type=<ddia-agent>)` para o agent especializado correto. É o **único ponto de chain de agents da Suíte DDIA Foundations** — agents permanecem função pura (anti-pitfall A10 v1.8 herdado).
|
|
17
|
+
|
|
18
|
+
**Cross-Suite Invocation Pattern (herdado v1.21):** Agents da Suíte DDIA Foundations v1.22 **delegam para agents da Suíte Supabase v1.8 + Multi-Tenant v1.21** quando precisam materializar SQL, Edge Functions, RLS policies, audit logs. Padrão canônico:
|
|
19
|
+
|
|
20
|
+
- `auditor-consistencia-isolamento` → delega fix migration para `supabase-migration-writer` (v1.8) OU fix Edge Function para `supabase-edge-fn-writer` (v1.8)
|
|
21
|
+
- `detector-tenant-quente` → delega partitioning/dedicated schema para `supabase-migration-writer` (v1.8) + `b2b-saas-architect` (v1.21)
|
|
22
|
+
- `validador-evolucao-schema` → handoff bidirecional com `supabase-migration-writer` (v1.8 — invoca este validador ANTES de escrever migration arriscada)
|
|
23
|
+
- Subcomando `implementar-cdc` → carrega skill `streams-eventos-cdc` (v1.22) + delega Edge Function CDC para `supabase-edge-fn-writer` (v1.8)
|
|
24
|
+
|
|
25
|
+
**Cria/Atualiza:** o que cada agent invocado cria/atualiza (skills consultadas, audits gerados, vereditos retornados).
|
|
26
|
+
|
|
27
|
+
**Após:** o usuário tem o output do agent (audit report, veredito GO/NO-GO, ou Edge Function CDC scaffold).
|
|
28
|
+
</objective>
|
|
29
|
+
|
|
30
|
+
<execution_context>
|
|
31
|
+
Skills consultadas pelos agents (Suíte DDIA Foundations v1.22): `kit/skills/{evolucao-schema-compativel,consistencia-leitura-replica,tenant-quente-mitigacao,postgres-isolamento-concorrencia,armadilhas-sistemas-distribuidos,escolha-modelo-consistencia,streams-eventos-cdc}/SKILL.md` + `kit/skills/_shared-dados-distribuidos/glossary.md`.
|
|
32
|
+
|
|
33
|
+
Agents disponíveis (Suíte DDIA Foundations v1.22): `kit/agents/{auditor-consistencia-isolamento,detector-tenant-quente,validador-evolucao-schema}.md`.
|
|
34
|
+
|
|
35
|
+
Agents Suíte Supabase v1.8 invocados via cross-suite delegation: `supabase-migration-writer`, `supabase-edge-fn-writer`, `supabase-architect`.
|
|
36
|
+
|
|
37
|
+
Agents Suíte Multi-Tenant v1.21 invocados via cross-suite delegation: `b2b-saas-architect`, `multi-tenant-rls-writer`, `audit-log-implementer`.
|
|
38
|
+
</execution_context>
|
|
39
|
+
|
|
40
|
+
<context>
|
|
41
|
+
**Argumentos:** `$ARGUMENTS` — primeiro token é o subcomando; restante é passado para o agent como prompt.
|
|
42
|
+
|
|
43
|
+
**Subcomandos suportados (sinônimos PT-BR/EN):**
|
|
44
|
+
|
|
45
|
+
| Subcomando | Sinônimos | Agent dispatched | Skill carregada |
|
|
46
|
+
|---|---|---|---|
|
|
47
|
+
| `auditar-consistencia` | `consistencia`, `audit-consistency`, `auditar-race` | `auditor-consistencia-isolamento` | `postgres-isolamento-concorrencia`, `armadilhas-sistemas-distribuidos`, `escolha-modelo-consistencia`, `streams-eventos-cdc` |
|
|
48
|
+
| `auditar-tenant-quente` | `tenant-quente`, `hot-tenant`, `audit-tenant`, `tenant` | `detector-tenant-quente` | `tenant-quente-mitigacao` |
|
|
49
|
+
| `validar-evolucao-schema` | `validar-schema`, `validate-schema`, `evolution-check`, `validar-evolucao` | `validador-evolucao-schema` | `evolucao-schema-compativel` |
|
|
50
|
+
| `implementar-cdc` | `cdc`, `cdc-pipeline`, `streams`, `event-streaming` | (cross-suite) `supabase-edge-fn-writer` (v1.8) | `streams-eventos-cdc` (skill v1.22 carregada como contexto) |
|
|
51
|
+
| `help` | `ajuda`, `?` | exibe esta tabela inline | — |
|
|
52
|
+
|
|
53
|
+
**Aliases globais para o nome da suíte:** `dados-distribuidos`, `ddia`, `dados`, `consistencia`, `replicacao`, `streams` (todos roteiam para este orquestrador via `/dados-distribuidos`).
|
|
54
|
+
|
|
55
|
+
**Skills relacionadas (Suíte DDIA Foundations v1.22):**
|
|
56
|
+
|
|
57
|
+
| Skill | Capítulo DDIA | Quando usar |
|
|
58
|
+
|---|---|---|
|
|
59
|
+
| [`evolucao-schema-compativel`](../skills/evolucao-schema-compativel/SKILL.md) | Ch 4 (Encoding and Evolution) | Migrations com ALTER (NOT NULL, DROP, type narrow, default) |
|
|
60
|
+
| [`consistencia-leitura-replica`](../skills/consistencia-leitura-replica/SKILL.md) | Ch 5 (Replication) | Read replicas Supavisor, read-after-write, monotonic reads |
|
|
61
|
+
| [`tenant-quente-mitigacao`](../skills/tenant-quente-mitigacao/SKILL.md) | Ch 6 (Partitioning) | Multi-tenant skew, hot tenant, partitioning hash(org_id) |
|
|
62
|
+
| [`postgres-isolamento-concorrencia`](../skills/postgres-isolamento-concorrencia/SKILL.md) | Ch 7 (Transactions) | Lost update, write skew, isolation level Postgres |
|
|
63
|
+
| [`armadilhas-sistemas-distribuidos`](../skills/armadilhas-sistemas-distribuidos/SKILL.md) | Ch 8 (Distributed Systems Trouble) | Clock skew, network failure, partial failure |
|
|
64
|
+
| [`escolha-modelo-consistencia`](../skills/escolha-modelo-consistencia/SKILL.md) | Ch 9 (Consistency and Consensus) | Linearizabilidade, causal, eventual; uniqueness; CAP/PACELC |
|
|
65
|
+
| [`streams-eventos-cdc`](../skills/streams-eventos-cdc/SKILL.md) | Ch 11 (Stream Processing) | CDC, event sourcing, pgmq exactly-once, stream joins |
|
|
66
|
+
|
|
67
|
+
**Detect `supabase/config.toml`:** se presente, extrai `project_id` e passa como contexto para o agent (mesmo pattern de `/multi-tenant` v1.21 + `/supabase` v1.8).
|
|
68
|
+
</context>
|
|
69
|
+
|
|
70
|
+
<process>
|
|
71
|
+
|
|
72
|
+
## 1. Parsear Subcomando
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
SUBCMD=$(echo "$ARGUMENTS" | awk '{print $1}')
|
|
76
|
+
ARGS=$(echo "$ARGUMENTS" | cut -d' ' -f2-)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Se `$ARGUMENTS` for vazio ou `SUBCMD` for `help`/`ajuda`/`?`:** exibir tabela de subcomandos inline + exemplo de uso. Sair.
|
|
80
|
+
|
|
81
|
+
## 2. Resolver Sinônimos
|
|
82
|
+
|
|
83
|
+
Mapear `SUBCMD` para agent name canônico:
|
|
84
|
+
|
|
85
|
+
```text
|
|
86
|
+
auditar-consistencia, consistencia, audit-consistency, auditar-race → auditor-consistencia-isolamento
|
|
87
|
+
auditar-tenant-quente, tenant-quente, hot-tenant, audit-tenant, tenant → detector-tenant-quente
|
|
88
|
+
validar-evolucao-schema, validar-schema, validate-schema, validar-evolucao, evolution-check → validador-evolucao-schema
|
|
89
|
+
implementar-cdc, cdc, cdc-pipeline, streams, event-streaming → cross-suite: supabase-edge-fn-writer (v1.8)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**Se subcomando não resolve:** exibir erro inline com lista de subcomandos válidos. Sair (fallback amigável).
|
|
93
|
+
|
|
94
|
+
```text
|
|
95
|
+
✗ Subcomando desconhecido: '<SUBCMD>'
|
|
96
|
+
|
|
97
|
+
Subcomandos válidos:
|
|
98
|
+
auditar-consistencia / consistencia → audita race conditions (6 detectores: lost update, write skew,
|
|
99
|
+
clock skew, UNIQUE app, cross-tenant lock, idempotência)
|
|
100
|
+
auditar-tenant-quente / tenant-quente → detecta outliers de tenant (queries/min, storage, conexões)
|
|
101
|
+
via mcp__supabase__execute_sql; thresholds 3×/10× P50
|
|
102
|
+
validar-evolucao-schema / validar-schema → valida migration SQL — veredito GO/NO-GO/NEEDS-REVIEW
|
|
103
|
+
+ sugestão de migration safe quando NO-GO
|
|
104
|
+
implementar-cdc / cdc → scaffold de Edge Function CDC (wal2json + Realtime broadcast,
|
|
105
|
+
pglogical → Kafka, ou trigger-based) via supabase-edge-fn-writer
|
|
106
|
+
help / ajuda / ? → exibe esta tabela
|
|
107
|
+
|
|
108
|
+
Uso: /dados-distribuidos <subcomando> <args...>
|
|
109
|
+
|
|
110
|
+
Exemplos:
|
|
111
|
+
/dados-distribuidos auditar-consistencia "auditar supabase/migrations/ + supabase/functions/"
|
|
112
|
+
/dados-distribuidos auditar-tenant-quente "últimos 30 dias, top 5 tenants"
|
|
113
|
+
/dados-distribuidos validar-evolucao-schema supabase/migrations/20260510_add_priority.sql
|
|
114
|
+
/dados-distribuidos implementar-cdc "CDC para tabela leads via wal2json + Realtime broadcast"
|
|
115
|
+
/dados-distribuidos help
|
|
116
|
+
|
|
117
|
+
Aliases para o comando: /dados-distribuidos, /ddia, /dados, /consistencia, /replicacao, /streams
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## 3. Detectar `supabase/config.toml`
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
if [ -f supabase/config.toml ]; then
|
|
124
|
+
PROJECT_ID=$(grep -E '^project_id\s*=' supabase/config.toml | sed 's/.*= *"\(.*\)".*/\1/' | head -1)
|
|
125
|
+
fi
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Se presente, anexar `project_id=<value>` ao prompt do agent. Se ausente, agent funciona sem (modo offline para `auditar-tenant-quente`).
|
|
129
|
+
|
|
130
|
+
## 4. Dispatch
|
|
131
|
+
|
|
132
|
+
Invocar `Task(subagent_type=<agent_name>, prompt=<built_prompt>)`.
|
|
133
|
+
|
|
134
|
+
**Prompt construído (template canônico):**
|
|
135
|
+
|
|
136
|
+
```text
|
|
137
|
+
{ARGS}
|
|
138
|
+
|
|
139
|
+
{Se project_id detectado:}
|
|
140
|
+
project_id: {PROJECT_ID}
|
|
141
|
+
|
|
142
|
+
{Skill de contexto (carregada conforme subcomando):}
|
|
143
|
+
Skill canônica: kit/skills/<skill-name>/SKILL.md
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Subcomando-específico
|
|
147
|
+
|
|
148
|
+
**`auditar-consistencia`:** dispatch para `auditor-consistencia-isolamento`. Agent funciona offline (filesystem-only via Read/Grep/Glob). Sem necessidade de pre-question.
|
|
149
|
+
|
|
150
|
+
**`auditar-tenant-quente`:** dispatch para `detector-tenant-quente`. Agent requer MCP Supabase ativo para coleta live. Se MCP indisponível, agent declara modo offline-fallback (heurísticas estáticas apenas) — caller é avisado.
|
|
151
|
+
|
|
152
|
+
**`validar-evolucao-schema`:** dispatch para `validador-evolucao-schema`. Args devem incluir `migration_path` (arquivo `.sql`) OU `migration_sql` (SQL inline). Agent retorna veredito estruturado (GO/NO-GO/NEEDS-REVIEW) + sugestão de migration safe quando NO-GO.
|
|
153
|
+
|
|
154
|
+
**`implementar-cdc` (cross-suite):**
|
|
155
|
+
|
|
156
|
+
```text
|
|
157
|
+
Esta é uma operação cross-suite — DDIA Foundations v1.22 → Supabase v1.8.
|
|
158
|
+
|
|
159
|
+
Passos:
|
|
160
|
+
1. Carregar skill kit/skills/streams-eventos-cdc/SKILL.md como contexto canônico
|
|
161
|
+
2. AskUserQuestion para escolher abordagem CDC:
|
|
162
|
+
- Opção 1: wal2json + Supabase Realtime broadcast (zero infra, baixa latência)
|
|
163
|
+
- Opção 2: pglogical → Kafka externo (warehousing, alta robustez)
|
|
164
|
+
- Opção 3: Trigger-based (custom logic, baixo throughput)
|
|
165
|
+
3. Dispatch via Task(subagent_type="supabase-edge-fn-writer", prompt=<built>) com:
|
|
166
|
+
- Contexto: abordagem escolhida
|
|
167
|
+
- Skill: streams-eventos-cdc (referência canônica)
|
|
168
|
+
- Tabela alvo: <args fornecidos>
|
|
169
|
+
4. Agent v1.8 escreve Edge Function Deno conforme abordagem (com idempotência via processed_events table)
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## 5. Output
|
|
173
|
+
|
|
174
|
+
Output do agent é o output do command. Sem post-processing — agent já formata estruturado (audit report, veredito, ou Edge Function code).
|
|
175
|
+
|
|
176
|
+
</process>
|
|
177
|
+
|
|
178
|
+
<success_criteria>
|
|
179
|
+
- [ ] Subcomando resolvido para agent canônico (4 subcomandos × seus sinônimos)
|
|
180
|
+
- [ ] `project_id` extraído de `supabase/config.toml` se presente
|
|
181
|
+
- [ ] Subcomando `implementar-cdc` faz `AskUserQuestion` upfront sobre abordagem CDC (3 opções)
|
|
182
|
+
- [ ] Dispatch via `Task(subagent_type=...)` — único ponto de chain de agents da Suíte DDIA Foundations
|
|
183
|
+
- [ ] Subcomando inválido → mensagem clara com lista (fallback amigável)
|
|
184
|
+
- [ ] Subcomando `help`/`ajuda`/`?` → exibe tabela inline
|
|
185
|
+
- [ ] Args após subcomando passam transparentemente para o agent
|
|
186
|
+
- [ ] Cross-suite invocation documentada (agents v1.22 → agents v1.8 + v1.21)
|
|
187
|
+
- [ ] Tabela de skills relacionadas (7 skills) com link ATIVO para SKILL.md
|
|
188
|
+
</success_criteria>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: definir-perfil
|
|
3
|
-
description: Altera o perfil de modelo para os agentes framework (quality/balanced/budget/inherit)
|
|
1
|
+
---
|
|
2
|
+
name: definir-perfil
|
|
3
|
+
description: Altera o perfil de modelo para os agentes framework (quality/balanced/budget/inherit)
|
|
4
4
|
argument-hint: "<perfil (quality|balanced|budget|inherit)>"
|
|
5
|
-
model: haiku
|
|
6
|
-
allowed-tools:
|
|
7
|
-
- Bash
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
Mostrar a seguinte saída ao usuário verbatim, sem comentários adicionais:
|
|
11
|
-
|
|
5
|
+
model: haiku
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- Bash
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
Mostrar a seguinte saída ao usuário verbatim, sem comentários adicionais:
|
|
11
|
+
|
|
12
12
|
!`node "./.claude/framework/bin/tools.cjs" config-set-model-profile $ARGUMENTS --raw`
|