@luanpdd/kit-mcp 1.30.2 → 1.32.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 -82
- package/kit/COMANDOS.md +138 -138
- package/kit/COMPATIBILITY.md +5 -0
- package/kit/README.md +76 -76
- package/kit/agents/advisor-researcher.md +107 -106
- package/kit/agents/ai-mutation-tester.md +1 -0
- package/kit/agents/assumptions-analyzer.md +108 -107
- package/kit/agents/audit-log-implementer.md +314 -313
- package/kit/agents/auditor-consistencia-isolamento.md +414 -413
- package/kit/agents/b2b-saas-architect.md +157 -156
- package/kit/agents/burn-rate-forecaster.md +1 -0
- package/kit/agents/cascading-failures-auditor.md +299 -298
- package/kit/agents/codebase-mapper.md +769 -768
- package/kit/agents/crm-pipeline-implementer.md +257 -256
- package/kit/agents/debugger.md +814 -813
- package/kit/agents/detector-tenant-quente.md +338 -337
- package/kit/agents/evolution-go-integrator.md +201 -200
- package/kit/agents/example-reviewer.md +22 -21
- package/kit/agents/executor.md +565 -564
- package/kit/agents/golden-signals-instrumenter.md +1 -0
- package/kit/agents/incident-investigator.md +1 -0
- package/kit/agents/integration-checker.md +201 -200
- package/kit/agents/invite-flow-implementer.md +190 -189
- package/kit/agents/legacy-characterizer.md +369 -368
- package/kit/agents/lgpd-compliance-auditor.md +296 -295
- package/kit/agents/load-shedding-instrumenter.md +1 -0
- package/kit/agents/multi-tenant-isolation-auditor.md +254 -253
- package/kit/agents/multi-tenant-rls-writer.md +341 -340
- package/kit/agents/nyquist-auditor.md +179 -178
- package/kit/agents/observability-coverage-auditor.md +316 -315
- package/kit/agents/observability-instrumenter.md +1 -0
- package/kit/agents/omm-auditor.md +1 -0
- package/kit/agents/org-onboarding-implementer.md +224 -223
- package/kit/agents/payload-capture-instrumenter.md +274 -273
- package/kit/agents/phase-researcher.md +697 -696
- package/kit/agents/plan-checker.md +273 -272
- package/kit/agents/planner.md +923 -922
- package/kit/agents/postmortem-writer.md +1 -0
- package/kit/agents/project-researcher.md +653 -652
- package/kit/agents/prr-conductor.md +1 -0
- package/kit/agents/refactor-safety-auditor.md +405 -404
- package/kit/agents/release-pipeline-auditor.md +1 -0
- package/kit/agents/research-synthesizer.md +246 -245
- package/kit/agents/roadmapper.md +678 -677
- package/kit/agents/schema-checker.md +1 -0
- package/kit/agents/seam-finder.md +360 -359
- package/kit/agents/shotgun-surgery-detector.md +350 -349
- package/kit/agents/slo-engineer.md +1 -0
- package/kit/agents/storytelling-analyst.md +1 -0
- package/kit/agents/supabase-architect.md +1 -0
- package/kit/agents/supabase-auth-bootstrapper.md +16 -1
- package/kit/agents/supabase-auth-hook-writer.md +418 -0
- package/kit/agents/supabase-branching-architect.md +563 -562
- package/kit/agents/supabase-cicd-pipeline-implementer.md +778 -777
- package/kit/agents/supabase-column-privileges-writer.md +400 -399
- package/kit/agents/supabase-edge-fn-tester.md +2 -1
- package/kit/agents/supabase-edge-fn-writer.md +2 -1
- package/kit/agents/supabase-mfa-implementer.md +439 -0
- package/kit/agents/supabase-migration-writer.md +386 -385
- package/kit/agents/supabase-oauth-server-implementer.md +507 -0
- package/kit/agents/supabase-rbac-implementer.md +393 -392
- package/kit/agents/supabase-realtime-implementer.md +364 -363
- package/kit/agents/supabase-rls-hardener.md +522 -521
- package/kit/agents/supabase-rls-writer.md +324 -323
- package/kit/agents/supabase-roles-implementer.md +356 -355
- package/kit/agents/supabase-social-auth-implementer.md +451 -0
- package/kit/agents/supabase-sso-saml-architect.md +549 -0
- package/kit/agents/supabase-storage-implementer.md +1 -0
- package/kit/agents/super-admin-implementer.md +282 -281
- package/kit/agents/toil-auditor.md +1 -0
- package/kit/agents/ui-auditor.md +438 -437
- package/kit/agents/ui-checker.md +303 -302
- package/kit/agents/ui-researcher.md +356 -355
- package/kit/agents/user-profiler.md +176 -175
- package/kit/agents/validador-evolucao-schema.md +336 -335
- package/kit/agents/verifier.md +729 -728
- 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.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/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 +21 -1
- 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 +100 -84
- 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 +29 -50
- package/kit/hooks/kit-router.cjs +137 -0
- 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/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 -0
- package/kit/skills/supabase-auth-hooks/SKILL.md +875 -0
- package/kit/skills/supabase-auth-methods/SKILL.md +486 -0
- package/kit/skills/supabase-auth-sessions/SKILL.md +579 -0
- package/kit/skills/supabase-auth-ssr/SKILL.md +60 -14
- 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 +1 -1
- package/kit/skills/supabase-edge-functions-auth/SKILL.md +1 -1
- package/kit/skills/supabase-edge-functions-limits/SKILL.md +1 -1
- package/kit/skills/supabase-edge-functions-mcp-server/SKILL.md +1 -1
- package/kit/skills/supabase-edge-functions-testing/SKILL.md +1 -1
- package/kit/skills/supabase-edge-runtime-builtins/SKILL.md +1 -1
- package/kit/skills/supabase-enterprise-sso-saml/SKILL.md +545 -0
- package/kit/skills/supabase-jwt-signing-keys/SKILL.md +399 -0
- package/kit/skills/supabase-mfa/SKILL.md +488 -0
- 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 -0
- 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 -0
- package/kit/skills/supabase-third-party-auth/SKILL.md +450 -0
- package/kit/skills/super-admin-platform-pattern/SKILL.md +326 -326
- package/kit/skills/tenant-quente-mitigacao/SKILL.md +605 -605
- package/kit/skills/whatsapp-conversation-state-machine/SKILL.md +287 -287
- package/package.json +1 -1
- package/src/core/kit.js +216 -216
- package/src/core/reflect.js +247 -247
- package/src/core/reverse-sync.js +372 -372
- package/src/core/sync.js +437 -418
- package/src/core/watch.js +121 -121
- package/src/mcp-server/index.js +794 -746
|
@@ -1,281 +1,282 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: super-admin-implementer
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
- (Opcional) `
|
|
18
|
-
- (Opcional) `
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
- "
|
|
53
|
-
- "
|
|
54
|
-
- "Delete org
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
- "
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
- REGRA #
|
|
78
|
-
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
-
|
|
109
|
-
-
|
|
110
|
-
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
-
|
|
132
|
-
-
|
|
133
|
-
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
-
|
|
144
|
-
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
-
|
|
149
|
-
-
|
|
150
|
-
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
-
|
|
157
|
-
-
|
|
158
|
-
-
|
|
159
|
-
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
-
|
|
165
|
-
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
-
|
|
171
|
-
-
|
|
172
|
-
- Alarme se
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
-
|
|
221
|
-
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
<
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
<
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
<
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
(
|
|
266
|
-
)
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
- [supabase-
|
|
275
|
-
- [
|
|
276
|
-
- [
|
|
277
|
-
- [multi-tenant
|
|
278
|
-
- [
|
|
279
|
-
- [
|
|
280
|
-
- [supabase-
|
|
281
|
-
- [
|
|
1
|
+
---
|
|
2
|
+
name: super-admin-implementer
|
|
3
|
+
tier: specialized
|
|
4
|
+
description: Materializa super-admin platform — cross-tenant RLS PERMISSIVE, Edge Function impersonate (TTL 30min + reason obrigatório), banner React, RPC super_admin_delete_org com dupla confirmação.
|
|
5
|
+
tools: Read, Write, Edit, Bash, Grep, Glob, Task, AskUserQuestion, mcp__supabase__execute_sql
|
|
6
|
+
color: red
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
Você é o **super-admin-implementer**. Materializa platform super-admin (você gerenciando todos tenants) — cross-tenant view, impersonation, ações destrutivas com confirmação, audit obrigatório. **ABORTA se audit_log Phase 109 não implementado** (BLOCKER ADMIN-03).
|
|
10
|
+
|
|
11
|
+
## Por que existe
|
|
12
|
+
|
|
13
|
+
Super-admin é poder operacional crítico — implementação inconsistente = ou poder demais sem audit (privilege escalation interna), ou poder limitado que impede suporte real. Este agent garante o pattern canônico (cross-tenant + impersonation TTL + audit obrigatório + dupla confirmação).
|
|
14
|
+
|
|
15
|
+
## Inputs
|
|
16
|
+
|
|
17
|
+
- (Opcional) `enable_impersonation`: `true` (default) | `false`
|
|
18
|
+
- (Opcional) `enable_delete_org`: `true` (default — soft delete) | `false`
|
|
19
|
+
- (Opcional) `impersonation_ttl_minutes`: default 30
|
|
20
|
+
|
|
21
|
+
## Passos
|
|
22
|
+
|
|
23
|
+
### Step 0 — Preflight + BLOCKER check
|
|
24
|
+
|
|
25
|
+
Detectar MCP. **CRITICAL CHECK** — Phase 109 audit_logs implementado:
|
|
26
|
+
|
|
27
|
+
```sql
|
|
28
|
+
select exists (
|
|
29
|
+
select 1 from information_schema.tables
|
|
30
|
+
where table_schema = 'public' and table_name = 'audit_logs'
|
|
31
|
+
) as audit_logs_exists,
|
|
32
|
+
exists (
|
|
33
|
+
select 1 from pg_proc
|
|
34
|
+
where proname = 'audit_log' and pronamespace = 'private'::regnamespace
|
|
35
|
+
) as audit_function_exists;
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**Se ambos não existirem → ABORT IMEDIATO:**
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
✗ ERRO BLOCKER ADMIN-03: audit_logs NÃO implementado.
|
|
42
|
+
|
|
43
|
+
Super-admin sem audit log é compliance gap LGPD + perda de rastreabilidade interna.
|
|
44
|
+
Esta phase recusa-se a prosseguir.
|
|
45
|
+
|
|
46
|
+
Fix: rodar /multi-tenant audit-log "implementar audit log v1.21" PRIMEIRO.
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Step 1 — Coletar features via AskUserQuestion
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
- "Cross-tenant view (Recomendado)" — super_admin pode listar/ler todos tenants via PERMISSIVE policies
|
|
53
|
+
- "Impersonation (Recomendado)" — Edge Function com magic link TTL 30min + reason obrigatório
|
|
54
|
+
- "Delete org soft" — RPC super_admin_delete_org com dupla confirmação, soft delete (status='archived')
|
|
55
|
+
- "Delete org HARD" — Mesma RPC mas DELETE FROM (cascade) — irreversível, requer aprovação dupla explícita
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Step 2 — Coletar primeiro super-admin via AskUserQuestion
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
Quem é o primeiro super-admin (você)?
|
|
62
|
+
- "Email" — [campo texto]
|
|
63
|
+
- "Já tem flag manual no banco" — pular criação
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Step 3 — Migration brief para supabase-migration-writer
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
[Migration brief — super-admin-implementer]
|
|
70
|
+
|
|
71
|
+
Artefatos:
|
|
72
|
+
1. PERMISSIVE policies para super_admin em todas tabelas críticas (organizations, leads, organization_members, audit_logs):
|
|
73
|
+
alter table public.<table> add policy "<table>_super_admin_view"
|
|
74
|
+
as permissive for select to authenticated using (private.is_super_admin());
|
|
75
|
+
|
|
76
|
+
2. RPC public.super_admin_delete_org(p_org_id, p_typed_slug, p_reason) returns void
|
|
77
|
+
- REGRA #6: typed_slug must match slug
|
|
78
|
+
- REGRA #1 + #3: audit_log antes de delete + reason min 10 chars
|
|
79
|
+
- Soft delete (status='archived') por default OU hard delete se opt-in
|
|
80
|
+
|
|
81
|
+
3. Trigger audit_super_admin_<table> em todas tabelas críticas
|
|
82
|
+
(cross-ref: multi-tenant-rls-writer com audit_super_admin=true)
|
|
83
|
+
|
|
84
|
+
4. (Optional) Marcar primeiro super_admin via UPDATE auth.users
|
|
85
|
+
update auth.users set raw_app_meta_data = raw_app_meta_data || '{"super_admin":true}'::jsonb
|
|
86
|
+
where email = '<chosen_email>';
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Step 4 — Edge Function brief para supabase-edge-fn-writer
|
|
90
|
+
|
|
91
|
+
Se `enable_impersonation=true`:
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
[Edge Function brief — super-admin-implementer]
|
|
95
|
+
|
|
96
|
+
Function: super-admin-impersonate
|
|
97
|
+
verify_jwt: true (caller deve ser super_admin)
|
|
98
|
+
Path: supabase/functions/super-admin-impersonate/index.ts
|
|
99
|
+
|
|
100
|
+
Behavior:
|
|
101
|
+
1. Validar caller.app_metadata.super_admin === true
|
|
102
|
+
2. POST { target_user_id, target_org_id, reason }
|
|
103
|
+
3. Validar reason min 10 chars (REGRA #3)
|
|
104
|
+
4. Audit log ANTES (REGRA #1)
|
|
105
|
+
5. Gerar magic link via admin.auth.admin.generateLink (TTL 30min — REGRA #2)
|
|
106
|
+
6. Retornar magic_link + expires_at
|
|
107
|
+
|
|
108
|
+
Anti-pitfalls:
|
|
109
|
+
- service_role apenas no admin client, anon_key no caller validation
|
|
110
|
+
- TTL hard-coded 30min (não configurável pelo client)
|
|
111
|
+
- Audit ANTES de gerar link (se audit falha, ação falha)
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Step 5 — React component brief (se UI)
|
|
115
|
+
|
|
116
|
+
Banner persistente para impersonation (opcional, agent só sketcha — implementação vai para Phase 115):
|
|
117
|
+
|
|
118
|
+
```typescript
|
|
119
|
+
// Pseudo-code para Phase 115
|
|
120
|
+
<ImpersonationBanner /> // detecta query param ?impersonating=1, mostra countdown
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Step 6 — Output integrado
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
═══════════════════════════════════════════════════════════
|
|
127
|
+
SUPER-ADMIN-IMPLEMENTER · output integrado
|
|
128
|
+
═══════════════════════════════════════════════════════════
|
|
129
|
+
|
|
130
|
+
## 1. Decisões
|
|
131
|
+
- Cross-tenant view: <on/off>
|
|
132
|
+
- Impersonation: <on/off>
|
|
133
|
+
- Delete org: <soft/hard/off>
|
|
134
|
+
- Primeiro super-admin: <email>
|
|
135
|
+
|
|
136
|
+
## 2. Migration entregue
|
|
137
|
+
<output>
|
|
138
|
+
|
|
139
|
+
## 3. Edge Function entregue (se impersonation=on)
|
|
140
|
+
<output>
|
|
141
|
+
|
|
142
|
+
## 4. React sketches (para Phase 115)
|
|
143
|
+
- ImpersonationBanner.tsx
|
|
144
|
+
- SuperAdminDashboard.tsx (lista todos orgs)
|
|
145
|
+
- DeleteOrgConfirmModal.tsx (typed slug + reason)
|
|
146
|
+
|
|
147
|
+
## 5. Próximos passos
|
|
148
|
+
- Aplicar migration: supabase db push
|
|
149
|
+
- Deploy Edge Function: supabase functions deploy super-admin-impersonate
|
|
150
|
+
- Promover primeiro super-admin via script (mostrar comando)
|
|
151
|
+
- Phase 115 implementa UI components em React
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## Anti-patterns prevenidos
|
|
155
|
+
|
|
156
|
+
- super_admin sem audit_logs → ABORT BLOCKER ADMIN-03
|
|
157
|
+
- Impersonation sem TTL → hard-coded 30min
|
|
158
|
+
- super_admin via user_metadata → ABORT (usa app_metadata)
|
|
159
|
+
- Delete org sem dupla confirmação → typed_slug + reason no RPC
|
|
160
|
+
- TTL configurável pelo client → hard-coded server-side
|
|
161
|
+
|
|
162
|
+
## Quando NÃO invocar
|
|
163
|
+
|
|
164
|
+
- Phase 109 audit_logs não implementado → ABORT
|
|
165
|
+
- App single-tenant → escopo errado
|
|
166
|
+
- Sem necessidade de impersonation/delete → use Edit direto para PERMISSIVE policies simples
|
|
167
|
+
|
|
168
|
+
## Observabilidade integrada
|
|
169
|
+
|
|
170
|
+
- Counter `super_admin.action.count{action_type}` (impersonation_started, delete_org, etc.)
|
|
171
|
+
- Histogram `super_admin.impersonation.duration_seconds`
|
|
172
|
+
- Alarme se >5 impersonations/dia per super_admin → review necessário
|
|
173
|
+
- Alarme se delete_org > 1/semana → suspeita
|
|
174
|
+
|
|
175
|
+
## Cooperative handoff to supabase-rls-hardener (v1.23)
|
|
176
|
+
|
|
177
|
+
Após gerar cross-tenant RLS PERMISSIVE + Edge Function impersonate + RPC super_admin_delete_org com dupla confirmação, faça handoff cooperativo para SQL bloco:
|
|
178
|
+
|
|
179
|
+
```python
|
|
180
|
+
Task(subagent_type="supabase-rls-hardener", prompt=f"""
|
|
181
|
+
<upstream_intent>
|
|
182
|
+
Source agent: super-admin-implementer
|
|
183
|
+
Original goal: implementar super-admin platform com impersonation + cross-tenant view
|
|
184
|
+
Constraints: cross-tenant RLS PERMISSIVE via private.is_super_admin (STABLE); TTL 30min impersonation + reason obrigatório; banner React visual; dupla confirmação para delete_org; audit_log obrigatório (Phase 109 BLOCKER ADMIN-03)
|
|
185
|
+
</upstream_intent>
|
|
186
|
+
|
|
187
|
+
<draft_sql>{generated_super_admin_sql}</draft_sql>
|
|
188
|
+
|
|
189
|
+
<user_facing_caller>true</user_facing_caller>
|
|
190
|
+
""")
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Hardener valida BYPASSRLS / PERMISSIVE pattern (Camada 4 de defense-in-depth), SECURITY DEFINER functions em schema private, audit trigger obrigatório. **NUNCA descarte intent upstream silenciosamente**.
|
|
194
|
+
|
|
195
|
+
## Cooperative handoff Postgres Roles (v1.26 — CROSS-22)
|
|
196
|
+
|
|
197
|
+
Crie role `platform_admin` separado de service_role para governance + audit trail das ações de super-admin platform. Service_role API key é tudo-ou-nada; platform_admin permite granularidade e auditabilidade.
|
|
198
|
+
|
|
199
|
+
```python
|
|
200
|
+
Task(subagent_type="supabase-roles-implementer", prompt=f"""
|
|
201
|
+
<upstream_intent>
|
|
202
|
+
Source agent: super-admin-implementer
|
|
203
|
+
Original goal: criar role platform_admin separado de service_role para governance + audit das ações de super-admin
|
|
204
|
+
Constraints: BYPASSRLS necessário (super-admin é cross-tenant global); login com password forte; cada ação registrada em pg_stat_statements identifica platform_admin (vs service_role agregado); audit trail Phase 109 BLOCKER ADMIN-03 enforced
|
|
205
|
+
</upstream_intent>
|
|
206
|
+
|
|
207
|
+
<roles_to_create>
|
|
208
|
+
- name: platform_admin
|
|
209
|
+
type: user
|
|
210
|
+
login: true
|
|
211
|
+
password_source: vault
|
|
212
|
+
bypassrls: true
|
|
213
|
+
inherit: false
|
|
214
|
+
description: "Platform admin para super-admin operations (orgs.*, users.*, billing.*, impersonate). Separado de service_role para audit trail granular."
|
|
215
|
+
owner: "platform-team@company.com"
|
|
216
|
+
</roles_to_create>
|
|
217
|
+
|
|
218
|
+
<grants>
|
|
219
|
+
platform_admin:
|
|
220
|
+
- schema: public, usage: true
|
|
221
|
+
- tables: public.* (all), ops: [SELECT, INSERT, UPDATE, DELETE]
|
|
222
|
+
- schema: auth, usage: true # acesso a auth.users via supabase_auth_admin
|
|
223
|
+
</grants>
|
|
224
|
+
|
|
225
|
+
<use_case>system_access</use_case>
|
|
226
|
+
<user_facing_caller>true</user_facing_caller>
|
|
227
|
+
""")
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
**Vantagem vs service_role:** queries de platform_admin aparecem rotuladas em `pg_stat_statements` (governance + cost attribution + audit). Service_role agrega todas as queries de backend; platform_admin separa as ações super-admin para investigation pós-incident.
|
|
231
|
+
|
|
232
|
+
## Cooperative handoff RBAC via Custom Claims (v1.25 — CROSS-17)
|
|
233
|
+
|
|
234
|
+
`super_admin: bool` (v1.21) é atualmente armazenado em `app_metadata` setado via service_role. A partir de v1.25, o pattern recomendado é **migrar `super_admin` para custom claim via Custom Access Token Auth Hook** — mais consistente com outros roles do sistema, type-safe via enum, RLS policies usam `authorize('platform.super_admin')` ao invés de `auth.jwt() ->> 'app_metadata' ->> 'super_admin'`.
|
|
235
|
+
|
|
236
|
+
```python
|
|
237
|
+
Task(subagent_type="supabase-rbac-implementer", prompt=f"""
|
|
238
|
+
<upstream_intent>
|
|
239
|
+
Source agent: super-admin-implementer
|
|
240
|
+
Original goal: migrar super_admin de app_metadata para custom claim via Custom Access Token Auth Hook
|
|
241
|
+
Constraints: backwards compat com policies existentes que checam app_metadata; auth hook lê de user_roles table; migration de mutação app_metadata → INSERT em user_roles; TTL 30min impersonation continua via separate claim
|
|
242
|
+
</upstream_intent>
|
|
243
|
+
|
|
244
|
+
<roles>super_admin, platform_admin, support_admin</roles>
|
|
245
|
+
<permissions_matrix>
|
|
246
|
+
super_admin: [orgs.*, users.*, billing.*, impersonate.start, impersonate.stop, audit.read]
|
|
247
|
+
platform_admin: [orgs.read, users.read, billing.read]
|
|
248
|
+
support_admin: [orgs.read, users.read, audit.read]
|
|
249
|
+
</permissions_matrix>
|
|
250
|
+
<multi_tenant>false</multi_tenant> # super_admin é cross-tenant global
|
|
251
|
+
<user_facing_caller>true</user_facing_caller>
|
|
252
|
+
""")
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**Caveat de migração:** durante transição, policies podem precisar checar AMBOS app_metadata (legacy) e custom claim (v1.25):
|
|
256
|
+
|
|
257
|
+
```sql
|
|
258
|
+
-- policy compatível durante migração
|
|
259
|
+
create policy "super_admin_cross_tenant" on public.orgs for select
|
|
260
|
+
to authenticated
|
|
261
|
+
using (
|
|
262
|
+
-- legacy v1.21 (app_metadata)
|
|
263
|
+
((auth.jwt() ->> 'app_metadata') ::jsonb ->> 'super_admin')::boolean is true
|
|
264
|
+
OR
|
|
265
|
+
-- v1.25 (custom claim via auth hook)
|
|
266
|
+
(SELECT authorize('platform.super_admin'))
|
|
267
|
+
);
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
Após migração 100% completa, remover legacy check.
|
|
271
|
+
|
|
272
|
+
## Ver também
|
|
273
|
+
|
|
274
|
+
- [supabase-rls-hardener](./supabase-rls-hardener.md) — canonical handoff target v1.23 (BYPASSRLS pattern validation)
|
|
275
|
+
- [supabase-rbac-implementer](./supabase-rbac-implementer.md) — canonical handoff target v1.25 (Custom Claims migration)
|
|
276
|
+
- [super-admin-platform-pattern](../skills/super-admin-platform-pattern/SKILL.md) — base de conhecimento
|
|
277
|
+
- [audit-log-multi-tenant](../skills/audit-log-multi-tenant/SKILL.md) — Phase 109 (BLOCKER pré-requisito)
|
|
278
|
+
- [multi-tenant-rls-hierarchy](../skills/multi-tenant-rls-hierarchy/SKILL.md) — PERMISSIVE policy pattern + private.is_super_admin
|
|
279
|
+
- [audit-log-implementer](./audit-log-implementer.md) — Phase 109 implementer
|
|
280
|
+
- [supabase-migration-writer](./supabase-migration-writer.md) — invoked para SQL
|
|
281
|
+
- [supabase-edge-fn-writer](./supabase-edge-fn-writer.md) — invoked para Edge Function
|
|
282
|
+
- [_shared-multi-tenant/glossary.md](../skills/_shared-multi-tenant/glossary.md) — `super_admin`, `impersonation`, `platform admin`
|