@zaip-ai/cli 1.4.3 → 2.2.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.
Files changed (190) hide show
  1. package/README.md +33 -14
  2. package/dist/services/adapter-hook-sources.d.ts +1 -0
  3. package/dist/services/adapter-hook-sources.d.ts.map +1 -1
  4. package/dist/services/adapter-hook-sources.js +1 -0
  5. package/dist/services/adapter-hook-sources.js.map +1 -1
  6. package/dist/services/adapters.d.ts +1 -1
  7. package/dist/services/adapters.d.ts.map +1 -1
  8. package/dist/services/adapters.js +20 -16
  9. package/dist/services/adapters.js.map +1 -1
  10. package/dist/services/agent-adapters.d.ts +97 -34
  11. package/dist/services/agent-adapters.d.ts.map +1 -1
  12. package/dist/services/agent-adapters.js +279 -54
  13. package/dist/services/agent-adapters.js.map +1 -1
  14. package/dist/services/agent-adapters.test.js +13 -7
  15. package/dist/services/agent-adapters.test.js.map +1 -1
  16. package/dist/services/codex-conversation-lifecycle-hook.d.ts +2 -0
  17. package/dist/services/codex-conversation-lifecycle-hook.d.ts.map +1 -0
  18. package/dist/services/codex-conversation-lifecycle-hook.js +29 -0
  19. package/dist/services/codex-conversation-lifecycle-hook.js.map +1 -0
  20. package/dist/services/codex-pre-tool-hook-template.d.ts.map +1 -1
  21. package/dist/services/codex-pre-tool-hook-template.js +173 -0
  22. package/dist/services/codex-pre-tool-hook-template.js.map +1 -1
  23. package/dist/services/codex-subagent-hook-template.d.ts +1 -1
  24. package/dist/services/codex-subagent-hook-template.d.ts.map +1 -1
  25. package/dist/services/codex-subagent-hook-template.js +1 -1
  26. package/dist/services/doctor.js +2 -2
  27. package/dist/services/install-agents-template.d.ts.map +1 -1
  28. package/dist/services/install-agents-template.js +117 -5
  29. package/dist/services/install-agents-template.js.map +1 -1
  30. package/dist/services/logger.js +1 -1
  31. package/dist/services/logger.js.map +1 -1
  32. package/dist/services/logger.test.js +2 -2
  33. package/dist/services/runtime-template.test.js +9 -1
  34. package/dist/services/runtime-template.test.js.map +1 -1
  35. package/dist/services/stack-git.d.ts +3 -0
  36. package/dist/services/stack-git.d.ts.map +1 -1
  37. package/dist/services/stack-git.js +24 -3
  38. package/dist/services/stack-git.js.map +1 -1
  39. package/dist/services/template-manifest.d.ts.map +1 -1
  40. package/dist/services/template-manifest.js +3 -1
  41. package/dist/services/template-manifest.js.map +1 -1
  42. package/dist/services/transactional-files.d.ts +2 -1
  43. package/dist/services/transactional-files.d.ts.map +1 -1
  44. package/dist/services/transactional-files.js +8 -3
  45. package/dist/services/transactional-files.js.map +1 -1
  46. package/package.json +2 -2
  47. package/templates/.agents/README-ENG.md +735 -0
  48. package/templates/.agents/README.md +49 -43
  49. package/templates/.agents/architecture/hostinger-cloudflare-terraform.md +90 -0
  50. package/templates/.agents/config/agents/catalog.yaml +18 -18
  51. package/templates/.agents/config/autonomous-cloud-inputs.json +41 -0
  52. package/templates/.agents/config/clients/codex/agents/zaip-agent-analyst.toml +3 -6
  53. package/templates/.agents/config/clients/codex/agents/zaip-agent-auditor.toml +3 -6
  54. package/templates/.agents/config/clients/codex/agents/zaip-agent-backend.toml +3 -6
  55. package/templates/.agents/config/clients/codex/agents/zaip-agent-brand-strategist.toml +6 -8
  56. package/templates/.agents/config/clients/codex/agents/zaip-agent-builder.toml +3 -6
  57. package/templates/.agents/config/clients/codex/agents/zaip-agent-cloud-engineer.toml +3 -6
  58. package/templates/.agents/config/clients/codex/agents/zaip-agent-data-analyst.toml +5 -7
  59. package/templates/.agents/config/clients/codex/agents/zaip-agent-designer.toml +3 -6
  60. package/templates/.agents/config/clients/codex/agents/zaip-agent-finalizer.toml +3 -6
  61. package/templates/.agents/config/clients/codex/agents/zaip-agent-frontend.toml +3 -6
  62. package/templates/.agents/config/clients/codex/agents/zaip-agent-general-operations.toml +6 -8
  63. package/templates/.agents/config/clients/codex/agents/zaip-agent-governance-compliance.toml +3 -6
  64. package/templates/.agents/config/clients/codex/agents/zaip-agent-growth-strategist.toml +6 -8
  65. package/templates/.agents/config/clients/codex/agents/zaip-agent-integrator.toml +3 -6
  66. package/templates/.agents/config/clients/codex/agents/zaip-agent-marketing-analyst.toml +6 -8
  67. package/templates/.agents/config/clients/codex/agents/zaip-agent-orchestrator.toml +4 -5
  68. package/templates/.agents/config/clients/codex/agents/zaip-agent-refactoring-specialist.toml +3 -6
  69. package/templates/.agents/config/clients/codex/agents/zaip-agent-reviewer.toml +3 -6
  70. package/templates/.agents/config/clients/codex/agents/zaip-agent-sales-specialist.toml +6 -8
  71. package/templates/.agents/config/clients/codex/agents/zaip-agent-security-auditor.toml +3 -6
  72. package/templates/.agents/config/clients/codex/agents/zaip-agent-task-executor.toml +3 -6
  73. package/templates/.agents/config/clients/codex/agents/zaip-agent-website-developer.toml +3 -6
  74. package/templates/.agents/config/clients/codex/agents/zaip-agent-writer.toml +3 -6
  75. package/templates/.agents/config/pricing/models.json +53 -33
  76. package/templates/.agents/dashboard/.zaip-managed.json +64 -44
  77. package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-oZVlf-l5.js → DashboardHelpDialog-DaSllaJp.js} +118 -16
  78. package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-BYjVOHI_.js → TraceabilityWorkspace-BCvZFMEf.js} +1 -1
  79. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-_MEktQNM.js +2 -0
  80. package/templates/.agents/dashboard/apps/frontend/dist/index.html +2 -2
  81. package/templates/.agents/dashboard/apps/frontend/index.html +1 -1
  82. package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
  83. package/templates/.agents/dashboard/apps/frontend/src/App.tsx +28 -9
  84. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.test.ts +27 -0
  85. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.ts +13 -29
  86. package/templates/.agents/dashboard/apps/frontend/src/dashboard-identity.test.ts +43 -0
  87. package/templates/.agents/dashboard/apps/frontend/src/dashboard-identity.ts +32 -0
  88. package/templates/.agents/dashboard/apps/frontend/src/dashboard-project-overview.ts +28 -0
  89. package/templates/.agents/dashboard/apps/frontend/src/project-settings.test.ts +2 -2
  90. package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
  91. package/templates/.agents/dashboard/modules/operations/package.json +1 -1
  92. package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
  93. package/templates/.agents/dashboard/modules/traceability/src/contracts.ts +1 -1
  94. package/templates/.agents/dashboard/packages/branding/package.json +1 -1
  95. package/templates/.agents/dashboard/packages/branding/src/index.ts +1 -1
  96. package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
  97. package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
  98. package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +206 -206
  99. package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +169 -169
  100. package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
  101. package/templates/.agents/dashboard/packages/local-runtime/server.mjs +206 -206
  102. package/templates/.agents/dashboard/packages/local-runtime/src/server-identity.test.ts +42 -0
  103. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-synchronization.test.ts +41 -0
  104. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-synchronization.ts +1 -0
  105. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot.test.ts +2 -2
  106. package/templates/.agents/dashboard/packages/local-runtime/src/server-sqlite-task-trace.ts +6 -3
  107. package/templates/.agents/dashboard/packages/local-runtime/src/server-workspace.ts +1 -1
  108. package/templates/.agents/dashboard/packages/local-runtime/src/server.test-fixtures.ts +1 -1
  109. package/templates/.agents/dashboard/packages/local-runtime/src/server.test.ts +1 -13
  110. package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +11 -3
  111. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-incremental-refresh.test.ts +55 -0
  112. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-canonical.ts +9 -6
  113. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-source-fingerprint.test.ts +22 -0
  114. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-source-fingerprint.ts +10 -8
  115. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.test.ts +68 -2
  116. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.ts +39 -10
  117. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-snapshot-seed.test.ts +47 -42
  118. package/templates/.agents/dashboard/packages/ui/package.json +1 -1
  119. package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
  120. package/templates/.agents/design/.zaip-managed.json +41 -41
  121. package/templates/.agents/design/apps/catalog/package.json +1 -1
  122. package/templates/.agents/design/packages/local-runtime/package.json +1 -1
  123. package/templates/.agents/requirements/autonomous-assurance.md +1 -1
  124. package/templates/.agents/requirements/cloud-hostinger-autonomy.md +1 -1
  125. package/templates/.agents/requirements/comparative-audit.md +1 -1
  126. package/templates/.agents/requirements/context-engine.md +1 -1
  127. package/templates/.agents/requirements/cost-observability.md +1 -1
  128. package/templates/.agents/requirements/dashboard-launch.md +1 -1
  129. package/templates/.agents/requirements/data-export.md +1 -1
  130. package/templates/.agents/requirements/design-system.md +1 -1
  131. package/templates/.agents/requirements/execution-engine.md +1 -1
  132. package/templates/.agents/requirements/kanban-dashboard.md +1 -1
  133. package/templates/.agents/requirements/model-orchestration.md +15 -5
  134. package/templates/.agents/requirements/public-distribution.md +3 -3
  135. package/templates/.agents/requirements/software-architecture.md +1 -1
  136. package/templates/.agents/requirements/strategic-improvements.md +1 -1
  137. package/templates/.agents/requirements/work-lifecycle.md +1 -1
  138. package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
  139. package/templates/.agents/rules/astra-diagnostic.md +20 -0
  140. package/templates/.agents/rules/core.md +9 -14
  141. package/templates/.agents/rules/meta-mcp.md +1 -0
  142. package/templates/.agents/rules/run-lifecycle-closure.md +1 -1
  143. package/templates/.agents/rules/specialist-routing.md +3 -1
  144. package/templates/.agents/runtime/VERSION +1 -1
  145. package/templates/.agents/runtime/bin/zaip.mjs +95 -61
  146. package/templates/.agents/runtime/checksums.sha256 +6 -6
  147. package/templates/.agents/runtime/manifest.json +1 -1
  148. package/templates/.agents/runtime/pnpm-lock.sha256 +1 -1
  149. package/templates/.agents/runtime/provenance.json +5 -5
  150. package/templates/.agents/runtime/sbom.cdx.json +1 -1
  151. package/templates/.agents/skills/zaip-aios/SKILL.md +4 -2
  152. package/templates/.agents/skills/zaip-skill-execution/SKILL.md +2 -0
  153. package/templates/.agents/skills/zaip-skill-execution/references/runtime-governance.md +17 -0
  154. package/templates/.agents/skills/zaip-skill-general-operations/SKILL.md +6 -7
  155. package/templates/.agents/skills/zaip-skill-general-operations/references/extended-workflow.md +7 -0
  156. package/templates/.agents/skills/zaip-skill-github-setup/SKILL.md +5 -0
  157. package/templates/.agents/skills/zaip-skill-github-setup-ssh-folder/SKILL.md +54 -0
  158. package/templates/.agents/skills/zaip-skill-github-setup-ssh-folder/agents/openai.yaml +4 -0
  159. package/templates/.agents/skills/zaip-skill-github-setup-ssh-folder/assets/.env.example +9 -0
  160. package/templates/.agents/skills/zaip-skill-github-setup-ssh-folder/references/operational-procedure.md +137 -0
  161. package/templates/.agents/skills/zaip-skill-growth-strategy-revops/SKILL.md +7 -19
  162. package/templates/.agents/skills/zaip-skill-growth-strategy-revops/references/extended-workflow.md +21 -0
  163. package/templates/.agents/skills/zaip-skill-marketing/SKILL.md +7 -14
  164. package/templates/.agents/skills/zaip-skill-marketing/references/extended-workflow.md +16 -0
  165. package/templates/.agents/skills/zaip-skill-meta-ads-setup/SKILL.md +2 -0
  166. package/templates/.agents/skills/zaip-skill-meta-token-onboarding/SKILL.md +17 -0
  167. package/templates/.agents/skills/zaip-skill-meta-token-onboarding/agents/openai.yaml +4 -0
  168. package/templates/.agents/skills/zaip-skill-meta-token-onboarding/references/onboarding-manual.md +96 -0
  169. package/templates/.agents/skills/zaip-skill-release-qualification/SKILL.md +4 -0
  170. package/templates/.agents/skills/zaip-skill-sales-methodology/SKILL.md +8 -18
  171. package/templates/.agents/skills/zaip-skill-sales-methodology/references/extended-workflow.md +20 -0
  172. package/templates/.agents/skills/zaip-skill-setup/SKILL.md +4 -1
  173. package/templates/.agents/skills/zaip-skill-text-encoding/SKILL.md +1 -1
  174. package/templates/.agents/zaip-aios/INDEX.md +1 -1
  175. package/templates/.agents/zaip-aios/README.md +6 -0
  176. package/templates/.agents/zaip-aios/VERSION +1 -1
  177. package/templates/.agents/zaip-aios/guides/08-contexto-e-tokens.md +19 -3
  178. package/templates/.agents/zaip-aios/guides/12-instalacao-e-upgrade.md +37 -7
  179. package/templates/.agents/zaip-aios/guides/20-instalacao-detalhada.md +14 -1
  180. package/templates/.agents/zaip-aios/guides/23-orquestracao-de-modelos.md +32 -3
  181. package/templates/.agents/zaip-aios/guides/26-qualidade-e-release.md +21 -0
  182. package/templates/infra/terraform/terraform.tfvars.example +2 -1
  183. package/templates/template-manifest.json +234 -150
  184. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-ZJFXmK7m.js +0 -2
  185. /package/templates/.agents/{data → records}/changes/.gitkeep +0 -0
  186. /package/templates/.agents/{data → records}/executions/.gitkeep +0 -0
  187. /package/templates/.agents/{data → records}/prds/.gitkeep +0 -0
  188. /package/templates/.agents/{data → records}/runs/.gitkeep +0 -0
  189. /package/templates/.agents/{data → records}/specs/.gitkeep +0 -0
  190. /package/templates/.agents/{data → records}/tasks/.gitkeep +0 -0
@@ -1,11 +1,11 @@
1
1
  b146bd0c7c60b1ab43c4f71e0b1d2262c6df6da6f7053a0425f834ccb77a6b48 LICENSE
2
2
  bc02cba77e8d51e5c580f43668863dc868eda66f1ff663bfaa49fcf3ca16320e THIRD_PARTY_NOTICES.md
3
- 64d23f858ef51b0f996e4966d4e27c0371b437e2d2787890b1f7ad22d4ec5663 VERSION
4
- aea71cecd64324e88e90f6001d6f82f57cb616b24306cba12c04d40e733234fe bin/zaip.mjs
5
- bed6ab1fda844209edc628c2a675021ad6acb9a2f7ecb7ae017b5a916712da24 manifest.json
3
+ c4a2383a03bdb6739d16a0e24058e4b9c7da4e63d203e0be2f448868cc03c530 VERSION
4
+ 69de029dc9c40ea63988c9dc862833928c80d65b211818ec757be36f19f1e334 bin/zaip.mjs
5
+ a110baef708470429aaf722e962c5698903380404b86113d3d5cd2bf04592f38 manifest.json
6
6
  7f89219d7c567c82a51679ad136d84364bded7ac659492537e125d33b1d58a7a migrations/001-layout-v1.json
7
7
  5f8c48b286d0b44d8fbb57a9a5d009a8a500439aa3148d750b8f193f72995c9f migrations/002-layout-v2.json
8
- 182a587dca8080f732cb387dbdeff4c12034a4a116efe35b4cd3c1c0a21ad10b pnpm-lock.sha256
9
- c7c5c21465e5aaba66fe01c43bedfe930e024d0cc1e514002eff43553621afa1 provenance.json
10
- 4669f375688be830958d45269bb0f8dfe65daf8db677f72728c15dc89d42d820 sbom.cdx.json
8
+ ddc100b4d4ce1b96d27a50d1e66c1514636aceb36e72157dee07e2b12a5df2bd pnpm-lock.sha256
9
+ 49097573922f2c330f5b1211b03a87a86db87243223ed9a38bd248f4f72f70f7 provenance.json
10
+ fbfcc610258c437829e75846957255cc96202e585b4447dd3df14f2217ea734d sbom.cdx.json
11
11
  b3ffedf9e146be802a15b4009f33e031dec3071ca1525e12c67606fd964a3067 schemas/contracts.schema.json
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "name": "zaip-aios",
4
- "version": "1.3.0",
4
+ "version": "2.2.0",
5
5
  "node": ">=22",
6
6
  "files": [
7
7
  "LICENSE",
@@ -1 +1 @@
1
- 382ebb27a2a951eb61280171c27116233762370d9093ab516caef216475ba4fc pnpm-lock.yaml
1
+ 55e20a2b6d9239d9b31eace160d0e4ba08bc9b4641806639cab429d8a1e4076f pnpm-lock.yaml
@@ -2,10 +2,10 @@
2
2
  "schema_version": 1,
3
3
  "statement_type": "self_reported_build_integrity",
4
4
  "authenticity": "unverified",
5
- "version": "1.3.0",
5
+ "version": "2.2.0",
6
6
  "source_origin": "zaip-aios:local-build",
7
- "lockfile_sha256": "382ebb27a2a951eb61280171c27116233762370d9093ab516caef216475ba4fc",
8
- "sbom_sha256": "4669f375688be830958d45269bb0f8dfe65daf8db677f72728c15dc89d42d820",
9
- "runtime_sha256": "fee26f86f7ca62d01e3b2dd590259a47029baa99f2241cab1fa4f27190abb7a0",
10
- "statement_sha256": "15d18d3544bf682fd9df31b61d2d2cdeec84f86ee7adfa6c9fc126770fb4fbcf"
7
+ "lockfile_sha256": "55e20a2b6d9239d9b31eace160d0e4ba08bc9b4641806639cab429d8a1e4076f",
8
+ "sbom_sha256": "fbfcc610258c437829e75846957255cc96202e585b4447dd3df14f2217ea734d",
9
+ "runtime_sha256": "2f75214582b6e6a333cadd62a2d20236c59dd44a771f912e7ab22a8b090b3bb1",
10
+ "statement_sha256": "7977cc341adf229d5189b03d73c4b27b5f3c3f52d87f24b6092495c1fe2eb2b5"
11
11
  }
@@ -6,7 +6,7 @@
6
6
  "component": {
7
7
  "type": "application",
8
8
  "name": "zaip-aios",
9
- "version": "1.3.0"
9
+ "version": "2.2.0"
10
10
  }
11
11
  },
12
12
  "components": [
@@ -1,9 +1,11 @@
1
1
  ---
2
- # zaip-managed generated-do-not-edit source=discovery-skill version=1.3.0 sha256=72e09e90f33f9ed2543daf8dfc09ee5b10fca74d7fa077db030b8b048301d806
2
+ # zaip-managed generated-do-not-edit source=discovery-skill version=2.2.0 sha256=d530dbf54b4fc554a533e0ac300d6c148b598a82f1dcc0680b9d9bdaf4103696
3
3
  name: zaip-aios
4
4
  description: Discover and apply the repository-local ZAIP-AIOS framework.
5
5
  ---
6
6
 
7
7
  # ZAIP-AIOS adapter
8
8
 
9
- Read `.agents/config/project.yaml` first. Apply ZAIP only for literal boolean `zaip.enabled: true`; otherwise ignore it except maintenance or `zaip enable`. Read `.agents/rules/core.md`, then only matching `.agents/requirements/`, `.agents/rules/`, and `.agents/skills/`; discover via lifecycle manifests and explicit records only—never normal history. Root uses `zaip-agent-orchestrator`, which selects a capability-eligible executor captured with observed host metadata; after descendants and gates, `zaip-agent-finalizer` is last. Terminal outcome requires lifecycle/evidence/tests/manifest refresh; publication is Git-only.
9
+ Keep this native client bootstrap. After reading project configuration, load the applicable `.agents/requirements/`, `.agents/rules/`, and `.agents/skills/` from their canonical locations.
10
+
11
+ Read `.agents/config/project.yaml` first. Apply ZAIP only for literal boolean `zaip.enabled: true`; otherwise ignore it except maintenance or `zaip enable`. When enabled, capture once: analysis is `conversation`, continuation reuses focus, and independent edits use semantic `new-work`. Thinking about PRD/SPEC is conversation; explicit creation persists complete draft artifacts and PreparedPlan blueprints under interaction telemetry, with Tasks materialized only at ready/execute. Ask at most five critical questions per turn and stop after three turns, then record delegable AI decisions. Resolve finalize/implement/develop using target plus persisted status, and create a linked rework successor instead of reopening cancelled PRDs. Read `.agents/rules/core.md`, then only applicable context from runtime projections and explicit records—never normal history. Publication is Git-only.
@@ -5,6 +5,8 @@ description: Execute prepared ZAIP work explicitly, materialize its DAG, and clo
5
5
 
6
6
  # Executar trabalho preparado
7
7
 
8
+ Carregue [a governança de execução e delegação](references/runtime-governance.md) antes da entrega ou dispatch. Perguntas read-only sem descendentes usam somente o kernel de RULE-CORE e a skill de domínio pertinente.
9
+
8
10
  Use esta skill somente quando o usuário pedir execução. `prepare` não autoriza mutação nem promoção para `ready`; quando a execução foi pedida explicitamente, prepare o PRD/SPEC ainda em `draft`, se necessário, e então execute sem exigir outra confirmação intermediária.
9
11
 
10
12
  1. Carregue o PreparedPlan e valide hash, origem, Requirements/AC, DAG, write scopes e estado atual. Antes de selecionar executor, carregue as Rules aplicáveis; para decisão comercial, use `$RULE-SPECIALIST-ROUTING` como fonte única da matriz de roteamento. Ao construir ou diagnosticar o plano externo, leia [o contrato compacto](references/prepared-plan.md).
@@ -0,0 +1,17 @@
1
+ # Governança de execução e delegação
2
+
3
+ Carregue antes de executar uma entrega ou delegar. Este contrato detalha o kernel de RULE-CORE; perguntas diretas read-only não precisam desta expansão.
4
+
5
+ - Leia `.agents/config/project.yaml`, esta Rule e Rules aplicáveis. Preserve domínio independente de framework, infraestrutura e fornecedor; respeite escopo/autoridade e peça direção antes de ação destrutiva, irreversível ou externa.
6
+ - Pensar/explorar PRD/SPEC é `conversation`; criar persiste o pacote `draft` e PreparedPlan com telemetria, e `ready|execute` materializa a DAG. PRD/SPEC são opcionais; a entrada pode ser Task, SPEC ou PRD. PRD cancelado é imutável: crie sucessor `rework`.
7
+ - Classifique/capture o turno: pergunta, análise pontual ou baixa confiança cria só Run `conversation`; continuação/refinamento/rework reutiliza foco; edição persistente, resultado independente ou pedido explícito cria Task de título semântico (nunca copiado/truncado do prompt). Pedido explícito no turno de `deploy|push|publicar|publicação GitHub` seleciona `$zaip-skill-github-deploy`, é Git-only e não materializa lifecycle; autoriza reconciliação limitada e commits funcionais apenas do diff pretendido/evidenciado, com pathspecs explícitos e sem inventar IDs ausentes. A seleção não autoriza outro provider, `git add -A`, force, segredos ou worktrees alheios.
8
+ - Criar/refinar PRD/SPEC `draft` persiste macro/PreparedPlan em Execution `interaction`, sem Task, Change ou delivery, vinculada à Run/`creation_run_id`; agregue telemetria apenas observada/reconciliada. Fora disso, antes de mutação persistente no repositório/PC materialize Task, Execution, Change e Run raiz; pedido avulso entra em Execução. Só Git/deploy sem produto, manifests/telemetria gerados, `.git`, cache, build, teste e temporário são isentos; código, documentação e configuração nunca são.
9
+ - Limite: cinco perguntas/turno, três turnos; registre decisões delegáveis. Autoridade, lei e segurança não delegáveis bloqueiam. Antes de bloquear ação já autorizada por credencial, aplique `$zaip-skill-local-credentials`: busque dotenv somente no projeto, trate-o como dados, selecione uma chave pertinente e injete-a apenas no subprocesso mínimo sem expor valores. Credencial ausente, ambígua ou comprovadamente inutilizável bloqueia; razão sanitizada. Resolva verbos por alvo/status em `RULE-WORKFLOW`: `execute` usa o menor grão, `implemente` sem alvo conversa, `desenvolva|melhore|aprimore` planeja/rework. Nunca invente tokens, custo, decisão, Evidence, teste ou resultado.
10
+ - Em modo manual carregue `RULE-MODEL-ORCHESTRATION` antes da primeira resposta visível; aviso não bloqueia nem altera seleção. Com Codex/delegação use apenas `codex_name` do catálogo, formato `zaip-agent-NOME`, recursivamente; proíba `default`, `worker`, `explorer` e tipos ad-hoc.
11
+ - Para delegação Codex, Sub-Run ZAIP é somente subagente nativo de colaboração (`spawn_agent`). `create_thread` e `fork_thread` criam chats independentes e exigem pedido explícito do usuário; nunca são Sub-Run, fallback, retry ou prova de delegação. Se delegação nativa estiver indisponível, relate a limitação em vez de criar chat independente. Nome de catálogo, `task_name`, título ou prompt não prova ancestralidade nativa. Antes de repetir a mesma delegação limitada, aguarde ou reutilize seu filho pendente e capture somente ancestralidade/metadados observados em resultados nativos de spawn/terminal do host ou eventos SubagentStart/SubagentStop.
12
+ - Cada `client_turn_id` observável tem uma Execution idempotente/claim atômico; sem ele use identidade local sem prometer idempotência. `interaction` read-only sem descendentes é conversa sem Task artificial e termina após a resposta entregue, sem executor ou finalizador; interaction com trabalho delegado e `delivery` exigem executor/finalizador. `delivery` é trabalho materializado e reuso exige kind/origem compatíveis. A raiz é `zaip-agent-orchestrator`; quando a barreira é exigida escolha executor por capacidade, permita reviewer/auditor/integrator e termine com `zaip-agent-finalizer` em `finalization`, após descendentes, bloqueando novas chamadas.
13
+ - Hooks são best-effort: após cada spawn/terminal o orquestrador também executa `zaip subagent capture` idempotente com metadados reais. Use session/turn filhos, `agent-id=agent_path`, `parent-agent-id=client_thread_id` da raiz e turn distinto por chamada. Quando um evento terminal observado expõe somente agent_path, status, identidade catalogada e pai exato, `capture-terminal` aceita apenas `zaip-agent-finalizer` ou executor elegível para delivery com capacidade `task-delivery`; exige também `parent-run-id` igual ao `run_id` da raiz ativa exata, pois um client thread pode conter raízes concorrentes. O último segmento do agent_path deve ser seu `codex_task_name` canônico. O propósito deriva da identidade validada e session/turn/model/provider/usage permanecem indisponíveis; o fallback nunca substitui captura rica nem inventa modelo, effort, tokens ou custo.
14
+ - Em `model_orchestration.mode:auto`, selecione automaticamente apenas origens em `automatic_sources` (`spec`,`prd`); fixe modelo/effort no início de cada Run/Sub-Run distinta, herde nas calls internas e exija nova chamada para mudar. Task avulsa preserva seleção manual, sem inferir `default_model`.
15
+ - Somente ao avaliar escalada diagnóstica difícil para Astra, carregue `RULE-ASTRA-DIAGNOSTIC`: evidência obrigatória, `high`, quota persistente de três diagnósticos por Task e devolução para executor Luna/Terra/Sol. Não carregue essa expansão em consultas comuns.
16
+ - Todo PreparedPlan PRD/SPEC traz `model_signals` por Task; o framework persiste `model_profile`, `task-risk-v1` e motivos, usando `runtime_defaults`, `runtime`, política/defaults sem `standard` silencioso. Não infira fase/complexidade/transversalidade/ambiguidade/rework/custo/capacidade por contagem de arquivos; use sinais, fase/agente e capacidades. Cabeçalho e `model.selection.recorded` repetem a seleção enviada.
17
+ - Plano visível: `DEFINE:`, `PLAN:`, `EXECUTE:` ou `VERIFY:`, 3–4 passos (máximo 5); omita fase sem ação e combine trivialidades.
@@ -1,12 +1,11 @@
1
1
  ---
2
2
  name: zaip-skill-general-operations
3
- description: Deliver bounded operational artifacts when no mandatory specialist scope applies. Use for documents, presentations, spreadsheets, process artifacts, and comparative research; do not use for regulated governance work or external acts.
3
+ description: Answer operational questions and deliver bounded documents, presentations, spreadsheets or processes; exclude specialist governance and external acts.
4
4
  ---
5
5
 
6
- # Executar operações gerais
6
+ # Operações proporcionais
7
7
 
8
- 1. Delimite o resultado, público, fontes, formato, write scope e critério de aceitação; trate fatos ausentes como pendências, nunca como dados inferidos.
9
- 2. Se houver capability ou escopo obrigatório de produto, design, marketing, dados, segurança, cloud, frontend, backend, website ou governança, devolva ao orquestrador para a rota especialista.
10
- 3. Produza o artefato delimitado e uma verificação proporcional. Para identidade visual existente, siga o contrato da Manu; para conteúdo de marketing, devolva a rota para Lúcia.
11
- 4. Pesquisa comparativa usa apenas fontes autorizadas e registra critérios, evidência e incertezas. Não contrate, envie dados, assine, publique ou execute ato externo.
12
- 5. Quando faltar autoridade humana, entregue a minuta, checklist, lacunas e a ação humana exata; a entrega não fica sem resultado por falta dessa autoridade.
8
+ - Responda consultas, explicações e resumos no formato pedido, usando fontes e incertezas explícitas, sem arquivo ou questionário obrigatório.
9
+ - Para entrega persistente, carregue [o fluxo de entrega](references/extended-workflow.md): resultado, público, fontes, formato, escopo e verificação proporcional.
10
+ - Domínios obrigatórios seguem o especialista; referência citada não muda o dono da entrega. Não invente dados ou aprovação.
11
+ - Ato externo exige autoridade vigente; prepare a minuta e indique pendências quando faltar autorização. Interaction read-only não cria Task/Change; entrega segue lifecycle e ACs. Engenharia só se aplica ao trabalho técnico.
@@ -0,0 +1,7 @@
1
+ # Executar operações gerais
2
+
3
+ 1. Delimite o resultado, público, fontes, formato, write scope e critério de aceitação; trate fatos ausentes como pendências, nunca como dados inferidos.
4
+ 2. Se houver capability ou escopo obrigatório de produto, design, marketing, dados, segurança, cloud, frontend, backend, website ou governança, devolva ao orquestrador para a rota especialista.
5
+ 3. Produza o artefato delimitado e uma verificação proporcional. Para identidade visual existente, siga o contrato da Manu; para conteúdo de marketing, devolva a rota para Lúcia.
6
+ 4. Pesquisa comparativa usa apenas fontes autorizadas e registra critérios, evidência e incertezas. Não contrate, envie dados, assine, publique ou execute ato externo.
7
+ 5. Quando faltar autoridade humana, entregue a minuta, checklist, lacunas e a ação humana exata; a entrega não fica sem resultado por falta dessa autoridade.
@@ -18,6 +18,11 @@ Support these independent modes:
18
18
  5. Create the first local commit.
19
19
  6. Publish only when the user also explicitly requests deploy/push.
20
20
 
21
+ When one selected absolute parent folder must govern several child repositories,
22
+ route to `$zaip-skill-github-setup-ssh-folder`. It owns the conditional-include,
23
+ selected-parent dotenv, child-repository and GitHub-creation safeguards; do not
24
+ apply the single-repository procedure below across an inferred folder tree.
25
+
21
26
  Before creating remote state, require the repository owner/name and visibility. Before generating a key, require the intended identity, key path, and passphrase policy. These choices materially affect security and cannot be guessed.
22
27
 
23
28
  ## Inspect before mutation
@@ -0,0 +1,54 @@
1
+ ---
2
+ name: zaip-skill-github-setup-ssh-folder
3
+ description: Configure SSH and Git identity for child repositories under one selected parent folder; use for multi-repository setup, never to publish.
4
+ ---
5
+
6
+ # Configurar SSH e Git por pasta
7
+
8
+ Use quando uma pessoa selecionar uma pasta pai absoluta que contém vários
9
+ repositórios filhos e precisar de uma identidade Git e SSH limitada a ela. A
10
+ pasta pai cobre seus descendentes; não descubra outras pastas, repositórios,
11
+ dotenvs ou identidades.
12
+
13
+ Um pedido explícito de **configurar** autoriza a configuração local, limitada à
14
+ pasta pai escolhida: Git, SSH e o `.env` explicitamente indicado nela. Não peça
15
+ novamente essa autorização. Pergunte somente os fatos ainda ausentes: pasta pai
16
+ absoluta, conta GitHub, chave selecionada ou pedido de criação de chave, e
17
+ política de passphrase. Criação remota de repositório e push exigem pedido
18
+ explícito, que pode já constar na mesma mensagem do usuário.
19
+
20
+ Conduza uma etapa por vez: dados da pasta e conta, chave local, cadastro público
21
+ no GitHub, `.env`, configuração e verificação. Explique o próximo passo e aguarde
22
+ somente a intervenção humana necessária; não peça segredos no chat.
23
+ Use o [modelo de dotenv](assets/.env.example) para preparar o arquivo escolhido,
24
+ preservando seu conteúdo existente. O modelo não contém credenciais utilizáveis.
25
+
26
+ 1. Inspecione somente a pasta pai selecionada e cada repositório filho que a
27
+ pessoa indicar. Não faça busca recursiva de `.env`; leia ou altere somente o
28
+ `.env` explicitamente nomeado na pasta pai, como limite autorizado deste fluxo.
29
+ 2. Para configurar ou diagnosticar `includeIf`, chave, alias SSH, clone, acesso
30
+ GitHub ou criação de repositório, leia o [procedimento operacional](references/operational-procedure.md).
31
+ 3. Aplique uma única estratégia: `includeIf` com `core.sshCommand` ou alias SSH
32
+ existente. Confirme o comando efetivo com Git no repositório real; um teste
33
+ SSH isolado não prova o transporte Git.
34
+ 4. Cada repositório filho independente recebe seu próprio `.gitignore` ou
35
+ `info/exclude` revisado antes de qualquer stage. Pare e relate override,
36
+ política organizacional, autorização ou escopo ambíguo.
37
+
38
+ ## Proteção contra deleção de repositório
39
+
40
+ Nunca exclua repositórios locais ou remotos, diretórios `.git`, a pasta pai, nem
41
+ o diretório de um clone parcial como rollback. Preserve o clone parcial e
42
+ reporte a falha. Esta restrição cobre somente esses alvos de repositório; ela não
43
+ proíbe alterações de arquivos locais que a pessoa autorizou expressamente dentro
44
+ do escopo selecionado. A proibição cobre CLI, REST, GraphQL, SDK, navegador,
45
+ scripts e delegação; não contorne a trava por outra ferramenta. Na criação via
46
+ API, aceite somente a credencial verificada sem permissão de excluir conforme
47
+ o procedimento. Não teste a proteção tentando uma exclusão real.
48
+
49
+ Esta skill oferece orientação e não concede permissões no sistema operacional,
50
+ nem substitui controles do GitHub. A seleção por `includeIf` escolhe identidade
51
+ por caminho; a permissão real continua confinada à conta, chave e permissões do
52
+ repositório no GitHub. Para setup Git/GitHub de um único repositório, use
53
+ `$zaip-skill-github-setup`; para publicação explicitamente solicitada, use
54
+ `$zaip-skill-github-deploy`.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "ZAIP SSH por Pasta"
3
+ short_description: "Configura SSH e Git por pasta com seguranca"
4
+ default_prompt: "Use $zaip-skill-github-setup-ssh-folder para configurar SSH e Git sob uma pasta pai absoluta selecionada."
@@ -0,0 +1,9 @@
1
+ # Copie para a pasta pai escolhida como .env; nunca publique esse arquivo.
2
+ ZAIP_SSH_PARENT_PATH=C:/Repos/Cliente A/
3
+ GITHUB_ACCOUNT=conta-selecionada
4
+ GIT_USER_NAME=Nome da Pessoa
5
+ GIT_USER_EMAIL=nome@exemplo.com
6
+ # Somente caminho local; nunca coloque o conteúdo privado da chave aqui.
7
+ SSH_PRIVATE_KEY_PATH=C:/Chaves SSH/cliente-a_ed25519
8
+ # Deixe vazio enquanto a criação remota autorizada não precisar de token.
9
+ GITHUB_TOKEN=
@@ -0,0 +1,137 @@
1
+ # Procedimento operacional
2
+
3
+ Leia esta referência depois de a pessoa selecionar uma pasta pai absoluta e um objetivo. Um pedido explícito de configurar autoriza a configuração local de Git, SSH e do `.env` pai indicado. A skill orienta a ação, mas não altera permissões do Windows ou do GitHub por si só. Push e criação remota exigem pedido explícito, inclusive na mesma mensagem; não repita autorização concedida.
4
+
5
+ ## Limite e dotenv
6
+
7
+ 1. Resolva o caminho físico da pasta pai absoluta, incluindo junctions/symlinks, e use barras `/` e barra final. Valide containment físico de cada destino; para um novo clone, valide o ancestral existente mais próximo antes de criar o filho. Não pesquise credenciais em pais, irmãos ou `.env` de filhos. A leitura pontual dos arquivos Git/SSH do usuário que participam dessa configuração é necessária; não faça varredura global.
8
+ 2. Inspecione só repositórios filhos explicitamente selecionados. Para clone bootstrap, a pessoa informa o diretório filho alvo absoluto. Preserve diretório parcial quando o clone falhar e reporte a falha.
9
+ 3. Trate **todo** valor de dotenv como dado: nunca o interpole em shell, nem use `source` ou `eval`. Leia apenas o `.env` pai explicitamente indicado; não faça varredura global ou recursiva. Antes de um valor compor `core.sshCommand`, valide e canonicalize o `SSH_PRIVATE_KEY_PATH` selecionado: rejeite NUL, quebra de linha e metacaracteres de controle do shell, inclusive `&`, `|`, `;`, `<`, `>`, `(`, `)`, `$`, crase, aspas simples e aspas duplas; exija caminho absoluto local permitido e confira que ele aponta à chave selecionada. Só então construa o argumento SSH com o caminho entre aspas duplas, para suportar espaços com segurança. O dotenv guarda caminho de chave, nunca a chave privada.
10
+
11
+ ```dotenv
12
+ # Pasta pai selecionada; use barras / e barra final.
13
+ ZAIP_SSH_PARENT_PATH=C:/Repos/Cliente A/
14
+ GITHUB_ACCOUNT=conta-selecionada
15
+ GIT_USER_NAME=Nome da Pessoa
16
+ GIT_USER_EMAIL=nome@exemplo.com
17
+ # Caminho local: nunca cole o conteúdo da chave privada aqui.
18
+ SSH_PRIVATE_KEY_PATH=C:/Chaves SSH/cliente-a_ed25519
19
+ # Opcional e em branco. Use apenas para criação remota explicitamente autorizada.
20
+ GITHUB_TOKEN=
21
+ ```
22
+
23
+ Adapte os valores com os dados já fornecidos e preserve variáveis existentes. O `.env` é uma entrada lida pela IA: Git e SSH não o carregam automaticamente. Guarde-o fora dos repositórios filhos, quando possível. Se a pasta pai também for um repositório, proteja-o no ignore desse repositório; cada filho independente precisa de seu próprio `.gitignore` ou `info/exclude` antes de stage. Ignore não retira segredos já rastreados: se houver algum, pare a publicação e trate a exposição. Proteja o `.env` com ACL apropriada ao usuário no Windows, não o faça commit e não procure dotenvs fora do caminho selecionado. O GitHub não pode fornecer uma chave privada: ela é criada e fica localmente sob controle da pessoa.
24
+
25
+ ## Chave SSH: fluxo iniciante no Windows
26
+
27
+ Depois de confirmar conta, destino da chave e política de passphrase, uma pessoa que pediu explicitamente a criação pode seguir estes passos. Nunca exponha o arquivo privado criado.
28
+
29
+ 1. Confira `git --version`, `ssh -V` e a disponibilidade de `ssh-keygen`. Confirme um diretório de chaves existente ou crie o diretório escolhido dentro do setup autorizado; ele deve ficar fora de repositórios versionados. Abra PowerShell e crie a chave em um caminho novo:
30
+
31
+ ```powershell
32
+ ssh-keygen -t ed25519 -C 'nome@exemplo.com' -f 'C:\Chaves SSH\cliente-a_ed25519'
33
+ ```
34
+
35
+ Defina a passphrase conforme a política confirmada. Não sobrescreva chave existente nem presuma passphrase vazia.
36
+ 2. Copie **somente** o conteúdo do arquivo público terminado em `.pub`:
37
+
38
+ ```powershell
39
+ Get-Content -Raw 'C:\Chaves SSH\cliente-a_ed25519.pub' | Set-Clipboard
40
+ ```
41
+
42
+ 3. No GitHub, abra o perfil da conta: **Settings > SSH and GPG keys > New SSH key**. Em **Key type**, selecione **Authentication Key**, dê um título reconhecível, cole a chave pública e clique em **Add SSH key**.
43
+ 4. Volte com confirmação não secreta: conta usada, título da chave e caminho público, ou apenas que o cadastro foi concluído. Nunca envie chave privada ou passphrase.
44
+
45
+ Mantenha ACL restritiva no arquivo privado e use passphrase quando a política ou o risco exigir. Não eleve privilégios nem inicie/configure `ssh-agent` sem autorização específica. Antes do primeiro uso, verifique a impressão digital do host com a fonte oficial do GitHub e confira a chave apresentada antes de aceitá-la; não aceite impressão nova apenas por um prompt.
46
+
47
+ Use a chave selecionada para conferir a conta: `ssh -T -i 'C:/Chaves SSH/cliente-a_ed25519' -o IdentitiesOnly=yes git@github.com`. A saudação deve conter a conta esperada; o GitHub normalmente retorna código 1 mesmo após autenticação bem-sucedida. Não confunda nome/e-mail de commit com autenticação. A pessoa digita a passphrase localmente; nunca a salve no `.env` nem em argumentos. Se o agente SSH já estiver disponível, `ssh-add` pode carregar a chave no contexto do usuário; se indisponível, a digitação interativa continua possível. Git for Windows e Windows OpenSSH podem usar agentes distintos: verifique o executável usado por Git antes de diagnosticar falha.
48
+
49
+ ## Identidade dedicada e includeIf
50
+
51
+ Escolha uma estratégia e mantenha-a consistente:
52
+
53
+ - **Configuração condicional:** uma entrada `includeIf` global referencia arquivo dedicado com `user.name`, `user.email` e `core.sshCommand`.
54
+ - **Alias SSH existente:** a URL remota usa `git@github-identidade:` e a configuração SSH existente escolhe a chave. Não misture alias e `core.sshCommand` sem motivo comprovado.
55
+
56
+ `includeIf` seleciona identidade pelo diretório Git; não impede que a chave seja usada fora dessa pasta por outro comando e não concede acesso a repositórios sem permissão na conta. A chave de conta atende múltiplos repositórios; uma deploy key é ligada a um repositório e não é o padrão deste fluxo. Use `gitdir/i` no Windows e `gitdir` em sistemas com caminhos sensíveis a maiúsculas. Inspecione a condição exata e reutilize-a se corresponder à pasta normalizada. Adicione somente a entrada ausente. Faça backups com nomes únicos, somente dos arquivos editados que já existam, preservando entradas sem relação. Um Git global novo não exige copiar um arquivo inexistente. Consulte a origem efetiva, incluindo configuração XDG, antes de escolher o arquivo global a editar.
57
+
58
+ Depois da validação descrita acima, use o caminho canonicalizado como dado no argumento. Em PowerShell, aspas simples preservam caminhos com espaços e aspas duplas dentro de `$sshCommand` protegem o caminho para o SSH; o valor não é executado por PowerShell:
59
+
60
+ ```powershell
61
+ $parent = 'C:/Repos/Cliente A/'
62
+ $identityConfig = 'C:/Git Config/cliente-a.gitconfig'
63
+ $keyPath = 'C:/Chaves SSH/cliente-a_ed25519' # caminho já validado e canonicalizado
64
+ $condition = "includeIf.gitdir/i:${parent}.path"
65
+ $sshCommand = 'ssh -i "' + $keyPath + '" -o IdentitiesOnly=yes'
66
+
67
+ git config --global --get-regexp '^includeIf\..*\.path$'
68
+ git config --file $identityConfig user.name 'Nome da Pessoa'
69
+ git config --file $identityConfig user.email 'nome@exemplo.com'
70
+ git config --file $identityConfig core.sshCommand $sshCommand
71
+ # Após os backups e a verificação: somente se $condition ainda não existir:
72
+ git config --global $condition $identityConfig
73
+ ```
74
+
75
+ Crie o diretório do arquivo de identidade quando necessário; faça os backups antes de executar o bloco. A condição deve ser aplicada depois de preparar o arquivo dedicado com sucesso. Em seguida, verifique origem e valor efetivo em repositório filho real:
76
+
77
+ ```powershell
78
+ git -C 'C:/Repos/Cliente A/repo' config --show-origin --get user.name
79
+ git -C 'C:/Repos/Cliente A/repo' config --show-origin --get user.email
80
+ git -C 'C:/Repos/Cliente A/repo' config --show-origin --get core.sshCommand
81
+ git -C 'C:/Repos/Cliente A/repo' ls-remote origin HEAD
82
+ ```
83
+
84
+ `includeIf` corresponde ao diretório Git. Em worktrees, confirme `git rev-parse --git-dir`; se ele estiver fora da árvore, explique a exceção e adapte somente dentro do escopo autorizado. Diagnostique overrides locais, `GIT_SSH_COMMAND`, `GIT_SSH` e URLs HTTPS (que não usam SSH). Preserve remotos existentes; migre para SSH somente quando isso fizer parte do pedido. Um teste `ssh -T` não lê `core.sshCommand`; `git ls-remote` no filho prova o transporte efetivo. Um repositório remoto vazio pode responder sem referências com sucesso. Verifique pelo menos dois filhos, se existirem, e um repositório fora da pasta para demonstrar alcance; não crie nem clone repositórios reais apenas para testar.
85
+
86
+ ## Clone bootstrap por SSH
87
+
88
+ Um clone exigido explicitamente pode usar o comando SSH selecionado apenas nessa operação; não grave override local persistente. O alvo deve ser filho absoluto da pasta pai e não pode ser removido se o clone falhar.
89
+
90
+ ```powershell
91
+ # Reutilize somente o $sshCommand construído anteriormente com $keyPath validado.
92
+ $target = 'C:\Repos\Cliente A\novo-repo'
93
+ git -c "core.sshCommand=$sshCommand" clone git@github.com:OWNER/REPO.git $target
94
+ ```
95
+
96
+ Se falhar, preserve `$target`, inspecione e reporte seu estado. Após sucesso, prove que `includeIf` foi selecionado no clone e que nenhum override local persistiu:
97
+
98
+ ```powershell
99
+ git -C $target config --show-origin --get core.sshCommand
100
+ git -C $target config --local --get core.sshCommand
101
+ ```
102
+
103
+ O segundo comando não deve retornar valor. Não use clone para criar, publicar ou alterar repositório remoto.
104
+
105
+ ## GitHub e criação de repositório
106
+
107
+ SSH autentica transporte Git, não a API do GitHub. Não troque autenticação global de `gh`. Sem token autorizado, clone SSH pode prosseguir quando solicitado; criação remota espera autorização manual ou token selecionado.
108
+
109
+ Para criação automática explicitamente solicitada, escolha token somente do `.env` pai indicado. Um PAT clássico é o caminho prático: no GitHub, abra **Settings > Developer settings > Personal access tokens > Tokens (classic) > Generate**, escolha expiração e conceda `public_repo` para criação pública ou `repo` para criação privada. Rejeite `delete_repo` e escopos desconhecidos. Se a organização proibir PAT clássico, entregue a etapa manual; não use token fine-grained com **Administration (write)** para criação automatizada sem deleção, porque essa permissão pode permitir exclusão.
110
+
111
+ Depois de gerar o PAT, a pessoa o salva localmente em `GITHUB_TOKEN` no `.env` escolhido e informa apenas que terminou. Reutilize o procedimento de [credenciais locais](../../zaip-skill-local-credentials/SKILL.md) com a pasta pai explicitamente escolhida como limite; não imprima, registre ou passe o token em argumentos. Parseie dotenv como dados, sem executar seu conteúdo. A chave privada permanece em seu arquivo, não nesse campo.
112
+
113
+ Crie um ambiente somente para cada subprocesso mínimo de verificação/criação. Remova credenciais GitHub e overrides herdados (`GH_TOKEN`, `GITHUB_TOKEN`, variantes Enterprise, `GH_HOST`, `GH_REPO`, `GH_DEBUG` e tracing); injete apenas o token escolhido como `GH_TOKEN` e o host esperado. Não altere o ambiente global, não use `gh auth switch`, não salve o token com `gh auth login` e não use `gh auth token` em diagnóstico. Descarte as referências em `finally`.
114
+
115
+ Antes da criação, consulte `GET /user` nesse contexto e confira a conta esperada. Leia somente o cabeçalho de escopos `x-oauth-scopes` de forma sanitizada: aceite apenas `public_repo`/`repo` suficientes para o alvo e sem `delete_repo`; não confunda `x-accepted-oauth-scopes` (o que o endpoint aceita) com escopos concedidos. Tipo ou escopos não verificáveis bloqueiam apenas criação automática; não recorra à credencial global. Nunca confirme proteção enviando DELETE. Esta restrição do PAT vale para ele, não para outras sessões da conta ou para o navegador.
116
+
117
+ Antes de criar, resolva owner, nome e visibilidade a partir do pedido; pergunte apenas o que falta. Consulte a existência: repositório existente é reutilizado conforme autorização, não apagado/recriado. Um 404 também pode ser falta de acesso; confirme conta/owner e não repita criação após erro ambíguo sem consultar o estado. No subprocesso autenticado, execute `gh repo create OWNER/REPO --private` ou `--public` conforme a visibilidade escolhida, sem `--push`. Depois clone a URL SSH no filho escolhido pelo procedimento anterior. Se já houver repositório local, adicione `origin` somente quando ausente e valide qualquer remoto existente.
118
+
119
+ Quando o token estiver ausente ou a organização proibir o fluxo, oriente criação manual: GitHub **+ > New repository**, selecione owner, nome e visibilidade, clique **Create repository** e volte com a URL SSH. Isso não exige PAT da IA; o clone pode continuar após a criação humana. Políticas de SSO e organização devem ser atendidas, nunca contornadas. Não use outras credenciais para driblar a trava.
120
+
121
+ ## Proteção contra deleção
122
+
123
+ Nunca exclua repositórios locais ou remotos, diretórios `.git`, a pasta pai ou clones parciais. Aplique a proibição a CLI, REST, GraphQL, SDK, navegador, scripts, delegação e rollback; não ofereça comandos executáveis de exclusão. Não tente substituir a exclusão por esvaziamento destrutivo, force-push ou remoção de todas as referências. A trava não bloqueia edições normais de arquivos já autorizadas. Em falha de configuração, restaure somente os trechos próprios a partir do backup e preserve mudanças concorrentes; em falha de clone ou criação, preserve o repositório e relate o estado.
124
+
125
+ Ao concluir, informe pasta abrangida, caminhos de configuração alterados, conta SSH verificada, origem da identidade Git e estado separado de clone/criação/publicação. Diferencie validação local, teste Git/SSH e criação remota efetivamente observada. Nunca afirme que configurar SSH publicou algo.
126
+
127
+ ## Fontes oficiais
128
+
129
+ - [Git conditional includes](https://git-scm.com/docs/git-config#_conditional_includes)
130
+ - [GitHub: testar conexão SSH](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/testing-your-ssh-connection)
131
+ - [GitHub: fingerprints SSH](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints)
132
+ - [GitHub: adicionar nova chave SSH](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)
133
+ - [GitHub: escopos de PAT clássico](https://docs.github.com/en/developers/apps/scopes-for-oauth-apps#available-scopes)
134
+ - [GitHub: permissões de fine-grained PAT](https://docs.github.com/en/rest/authentication/permissions-required-for-fine-grained-personal-access-tokens)
135
+ - [GitHub CLI: ambiente](https://cli.github.com/manual/gh_help_environment)
136
+ - [GitHub: criar e excluir repositórios e escopos exigidos](https://docs.github.com/en/rest/repos/repos)
137
+ - [GitHub: gerenciamento de tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)
@@ -3,24 +3,12 @@ name: zaip-skill-growth-strategy-revops
3
3
  description: Guide data-driven growth strategy, RevOps decisions, experiments, and financial-impact recommendations. Use for cross-funnel growth or operating decisions; not for raw data analysis, campaign production, or external commercial action.
4
4
  ---
5
5
 
6
- # Orientar Growth e RevOps
6
+ # Growth e RevOps proporcionais ao pedido
7
7
 
8
- ## Localização canônica
8
+ - Responda uma pergunta delimitada diretamente, usando apenas métricas, período e contexto necessários; não imponha diagnóstico completo ou plano integral.
9
+ - Separe fato observado, cálculo, hipótese e recomendação. Para números, declare fórmula, unidade, premissas e lacunas. Não prometa receita/economia nem atribua causalidade sem evidência adequada.
10
+ - Pergunte somente pela informação que muda a decisão; silêncio não é resposta. Preserve estratégias e fontes aprovadas sem duplicá-las.
11
+ - Para diagnóstico, decisão estratégica, recomendação financeira, desenho de experimento ou entrega persistente, carregue [o fluxo progressivo](references/extended-workflow.md). Artefatos vivem em `.agents/growth/`; `strategy.md` centraliza decisões.
12
+ - Dados e significância exigem método reproduzível; marca, campanha e playbook comercial vão aos respectivos especialistas. Esta skill não autoriza campanha, alteração comercial ou experimento externo.
9
13
 
10
- Salve diagnósticos, estratégias, decisões de RevOps, hipóteses de experimento e recomendações de Growth em `.agents/growth/`. Não salve esses artefatos em `docs/`, na raiz do repositório ou em diretórios de brand, marketing ou sales.
11
-
12
- O arquivo central da área é `.agents/growth/strategy.md`; atualize-o quando uma decisão mudar a estratégia de Growth ou RevOps. Diagnósticos e experimentos específicos podem ser arquivos adicionais na mesma pasta.
13
-
14
- ## Descoberta e entrega progressivas
15
-
16
- 1. Comece pelas referências acessíveis fornecidas — texto, site, PDF, PPT, planilha, arquivo ou imagem. Registre cada fonte com locator e classifique seu conteúdo como fato, decisão aprovada, hipótese, dado ou lacuna. Reutilize os artefatos aprovados; não recrie sua fonte central nem duplique seu conteúdo em outro arquivo.
17
- 2. Se o trabalho começar do zero ou o contexto for insuficiente, faça no máximo cinco perguntas críticas por turno, por até três turnos. Pergunte somente por lacunas que mudam a decisão: objetivo, período, segmentos, funil, métricas, restrições ou impacto financeiro. Espere as respostas antes de avançar nas partes que delas dependem; silêncio não é resposta nem aprovação. Após três turnos, prossiga somente com hipóteses delegáveis rotuladas e lacunas explícitas, sem inventar decisões, autoridade, métricas ou datasets.
18
- 3. Um pedido pontual com contexto suficiente deve ser respondido diretamente, sem questionário obrigatório nem plano integral.
19
- 4. Aplique somente as partes necessárias ao escopo solicitado: `diagnóstico do funil e handoffs` → `prioridades` → `experimento` → `estratégia consolidada`. Identifique a parte em construção e só consolide em `.agents/growth/strategy.md` quando o contexto sustentar uma decisão estratégica. Mantenha diagnósticos e experimentos específicos como arquivos complementares, sem duplicar a estratégia central; não exija todos os módulos ou formatos.
20
- 5. No diagnóstico, examine aquisição, qualificação, conversão, receita, retenção, expansão, custos e capacidade. Separe fatos observados, cálculo determinístico, hipótese e recomendação; não declare causalidade sem desenho ou evidência adequados.
21
- 6. Priorize oportunidades por impacto potencial, confiança, esforço, dependências e reversibilidade. Para recomendações financeiras, explicite fórmula, premissas, sensibilidade e lacunas; não prometa receita nem economia.
22
- 7. Para cada experimento, registre hipótese, população, métrica primária, guardrails, duração, critério de decisão, risco e responsável. Não execute campanhas, alterações comerciais externas ou experimentos sem a autorização e o escopo correspondentes.
23
- 8. Em conselho ou planejamento de negócio, priorize portfólio, modelo de negócio, opções e handoffs de execução. Solicite análise reprodutível de Gabi quando houver dataset, cálculo, qualidade de dados ou significância. Encaminhe plataforma de marca à Sarah, campanha/copy a Lúcia e playbook/processo sales-facing a Aaron.
24
- 9. Produza uma recomendação consultiva: decisão, evidência, incerteza, opções, impacto esperado, próximo experimento e dono da próxima ação. Não produza campanha, Brandbook ou playbook comercial como substituto da recomendação.
25
-
26
- Consulte o [framework de decisão](references/growth-revops-framework.md) para planejar diagnóstico ou experimento.
14
+ Uma interaction read-only não materializa Task/Change. Entrega persistente segue lifecycle, Requirements/AC e assurance proporcionais; só trabalho técnico carrega engenharia.
@@ -0,0 +1,21 @@
1
+ # Orientar Growth e RevOps
2
+
3
+ ## Localização canônica
4
+
5
+ Salve diagnósticos, estratégias, decisões de RevOps, hipóteses de experimento e recomendações de Growth em `.agents/growth/`. Não salve esses artefatos em `docs/`, na raiz do repositório ou em diretórios de brand, marketing ou sales.
6
+
7
+ O arquivo central da área é `.agents/growth/strategy.md`; atualize-o quando uma decisão mudar a estratégia de Growth ou RevOps. Diagnósticos e experimentos específicos podem ser arquivos adicionais na mesma pasta.
8
+
9
+ ## Descoberta e entrega progressivas
10
+
11
+ 1. Comece pelas referências acessíveis fornecidas — texto, site, PDF, PPT, planilha, arquivo ou imagem. Registre cada fonte com locator e classifique seu conteúdo como fato, decisão aprovada, hipótese, dado ou lacuna. Reutilize os artefatos aprovados; não recrie sua fonte central nem duplique seu conteúdo em outro arquivo.
12
+ 2. Se o trabalho começar do zero ou o contexto for insuficiente, faça no máximo cinco perguntas críticas por turno, por até três turnos. Pergunte somente por lacunas que mudam a decisão: objetivo, período, segmentos, funil, métricas, restrições ou impacto financeiro. Espere as respostas antes de avançar nas partes que delas dependem; silêncio não é resposta nem aprovação. Após três turnos, prossiga somente com hipóteses delegáveis rotuladas e lacunas explícitas, sem inventar decisões, autoridade, métricas ou datasets.
13
+ 3. Um pedido pontual com contexto suficiente deve ser respondido diretamente, sem questionário obrigatório nem plano integral.
14
+ 4. Aplique somente as partes necessárias ao escopo solicitado: `diagnóstico do funil e handoffs` → `prioridades` → `experimento` → `estratégia consolidada`. Identifique a parte em construção e só consolide em `.agents/growth/strategy.md` quando o contexto sustentar uma decisão estratégica. Mantenha diagnósticos e experimentos específicos como arquivos complementares, sem duplicar a estratégia central; não exija todos os módulos ou formatos.
15
+ 5. No diagnóstico, examine aquisição, qualificação, conversão, receita, retenção, expansão, custos e capacidade. Separe fatos observados, cálculo determinístico, hipótese e recomendação; não declare causalidade sem desenho ou evidência adequados.
16
+ 6. Priorize oportunidades por impacto potencial, confiança, esforço, dependências e reversibilidade. Para recomendações financeiras, explicite fórmula, premissas, sensibilidade e lacunas; não prometa receita nem economia.
17
+ 7. Para cada experimento, registre hipótese, população, métrica primária, guardrails, duração, critério de decisão, risco e responsável. Não execute campanhas, alterações comerciais externas ou experimentos sem a autorização e o escopo correspondentes.
18
+ 8. Em conselho ou planejamento de negócio, priorize portfólio, modelo de negócio, opções e handoffs de execução. Solicite análise reprodutível de Gabi quando houver dataset, cálculo, qualidade de dados ou significância. Encaminhe plataforma de marca à Sarah, campanha/copy a Lúcia e playbook/processo sales-facing a Aaron.
19
+ 9. Produza uma recomendação consultiva: decisão, evidência, incerteza, opções, impacto esperado, próximo experimento e dono da próxima ação. Não produza campanha, Brandbook ou playbook comercial como substituto da recomendação.
20
+
21
+ Consulte o [framework de decisão](growth-revops-framework.md) para planejar diagnóstico ou experimento.
@@ -3,19 +3,12 @@ name: zaip-skill-marketing
3
3
  description: Plan evidence-grounded marketing strategy, copy, campaigns, assets, and image briefs. Use for a declared marketing objective; do not use for generic website, product frontend, or central design-system implementation.
4
4
  ---
5
5
 
6
- # Planejar marketing
6
+ # Marketing proporcional ao pedido
7
7
 
8
- ## Localização canônica
8
+ - Em pergunta, explicação ou copy curta com contexto suficiente, responda diretamente. Não crie campanha completa, arquivo ou questionário por padrão.
9
+ - Use objetivo, público, oferta e canal fornecidos; pergunte somente pelo dado que muda materialmente a resposta. Preserve fatos, mensagem aprovada e fontes. Rotule hipóteses; não invente público, métricas ou decisões de marca.
10
+ - Brandbook aprovado é referência read-only. Escale Branding somente para decisão de marca ausente ou contraditória; sales-facing vai a Sales, estratégia empresarial/RevOps a Growth, implementação de website/frontend ao especialista técnico.
11
+ - Imagens, briefs visuais e mockups somente quando pedidos no escopo. Meta Ads carrega sua skill e ferramentas somente para trabalho Meta.
12
+ - Para estratégia, planejamento de campanha ou entrega persistente, carregue [o fluxo progressivo](references/extended-workflow.md). Artefatos aprovados vivem em `.agents/marketing/`; `strategy.md` centraliza decisões estratégicas sem duplicação.
9
13
 
10
- Salve estratégias, campanhas, calendários, briefings, copy aprovada e ativos de marketing em `.agents/marketing/`. Não salve entregáveis de marketing em `docs/`, na raiz do repositório ou em diretórios de brand, sales ou growth.
11
-
12
- O arquivo central da área é `.agents/marketing/strategy.md`; atualize-o quando uma decisão mudar a estratégia de marketing. Campanhas e planos específicos podem ser arquivos adicionais na mesma pasta.
13
-
14
- ## Descoberta e entrega progressivas
15
-
16
- 1. Comece pelas referências acessíveis fornecidas — texto, site, PDF, PPT, planilha, arquivo ou imagem. Para cada uma, registre fonte, locator e classificação: fato, decisão aprovada, hipótese, dado ou lacuna. Trate Brandbook aprovado como input somente-leitura e preserve todos os artefatos aprovados; não recrie nem duplique a fonte central da área.
17
- 2. Se o trabalho começar do zero ou o contexto for insuficiente, faça no máximo cinco perguntas críticas por turno, por até três turnos. Pergunte somente por lacunas materiais: objetivo, ICP, oferta, canal, recursos disponíveis ou métrica. Espere as respostas antes de avançar nas partes que delas dependem; silêncio não é resposta nem aprovação. Após três turnos, mantenha lacunas explícitas e use somente hipóteses delegáveis rotuladas; não invente decisões de marca, autoridade, evidência, métricas ou público.
18
- 3. Pedido pontual com contexto suficiente deve ser executado diretamente, sem questionário obrigatório ou plano completo.
19
- 4. Aplique somente as partes necessárias ao escopo solicitado: `objetivo, ICP, oferta, canal, recursos e métrica` → `estratégia e mensagem` → `campanha e copy` → `ativos no escopo`. Identifique o material em construção e consolide somente decisões estratégicas sustentadas em `.agents/marketing/strategy.md`; campanhas, planos e copies específicos ficam em arquivos complementares sem repetir a estratégia central, sem exigir todos os módulos ou formatos.
20
- 5. Produza estratégia, copy, campanha, conteúdo ou aplicação de marca proporcionais ao objetivo e ao escopo aprovado. Copy de marketing ambígua permanece com Lúcia. Não gere imagens, briefs visuais, mockups ou outros ativos por iniciativa própria; produza-os somente quando forem solicitados e estiverem no escopo.
21
- 6. Escalar Sarah somente se uma decisão de marca estiver ausente, contraditória ou precisar ser criada; um Brandbook aprovado não redireciona a entrega para Branding. Encaminhar script voltado a vendas para Aaron, estratégia empresarial/RevOps para Robert, website para Jonny, frontend de produto para Doug e regra visual central para Manu.
14
+ Uma interaction read-only não materializa Task/Change. Entrega persistente segue lifecycle, Requirements/AC e assurance proporcionais; só trabalho técnico carrega engenharia.
@@ -0,0 +1,16 @@
1
+ # Planejar marketing
2
+
3
+ ## Localização canônica
4
+
5
+ Salve estratégias, campanhas, calendários, briefings, copy aprovada e ativos de marketing em `.agents/marketing/`. Não salve entregáveis de marketing em `docs/`, na raiz do repositório ou em diretórios de brand, sales ou growth.
6
+
7
+ O arquivo central da área é `.agents/marketing/strategy.md`; atualize-o quando uma decisão mudar a estratégia de marketing. Campanhas e planos específicos podem ser arquivos adicionais na mesma pasta.
8
+
9
+ ## Descoberta e entrega progressivas
10
+
11
+ 1. Comece pelas referências acessíveis fornecidas — texto, site, PDF, PPT, planilha, arquivo ou imagem. Para cada uma, registre fonte, locator e classificação: fato, decisão aprovada, hipótese, dado ou lacuna. Trate Brandbook aprovado como input somente-leitura e preserve todos os artefatos aprovados; não recrie nem duplique a fonte central da área.
12
+ 2. Se o trabalho começar do zero ou o contexto for insuficiente, faça no máximo cinco perguntas críticas por turno, por até três turnos. Pergunte somente por lacunas materiais: objetivo, ICP, oferta, canal, recursos disponíveis ou métrica. Espere as respostas antes de avançar nas partes que delas dependem; silêncio não é resposta nem aprovação. Após três turnos, mantenha lacunas explícitas e use somente hipóteses delegáveis rotuladas; não invente decisões de marca, autoridade, evidência, métricas ou público.
13
+ 3. Pedido pontual com contexto suficiente deve ser executado diretamente, sem questionário obrigatório ou plano completo.
14
+ 4. Aplique somente as partes necessárias ao escopo solicitado: `objetivo, ICP, oferta, canal, recursos e métrica` → `estratégia e mensagem` → `campanha e copy` → `ativos no escopo`. Identifique o material em construção e consolide somente decisões estratégicas sustentadas em `.agents/marketing/strategy.md`; campanhas, planos e copies específicos ficam em arquivos complementares sem repetir a estratégia central, sem exigir todos os módulos ou formatos.
15
+ 5. Produza estratégia, copy, campanha, conteúdo ou aplicação de marca proporcionais ao objetivo e ao escopo aprovado. Copy de marketing ambígua permanece com Lúcia. Não gere imagens, briefs visuais, mockups ou outros ativos por iniciativa própria; produza-os somente quando forem solicitados e estiverem no escopo.
16
+ 6. Escalar Sarah somente se uma decisão de marca estiver ausente, contraditória ou precisar ser criada; um Brandbook aprovado não redireciona a entrega para Branding. Encaminhar script voltado a vendas para Aaron, estratégia empresarial/RevOps para Robert, website para Jonny, frontend de produto para Doug e regra visual central para Manu.
@@ -7,6 +7,8 @@ description: Configure and connect the official remote Meta Ads MCP for Codex wi
7
7
 
8
8
  Use esta skill quando o pedido for configurar, conectar ou instalar o Meta Ads MCP. Ela não consulta campanhas; após as tools serem anunciadas, use `$zaip-skill-meta-ads`.
9
9
 
10
+ Quando a pessoa pedir teste manual com token Graph ou bearer MCP, encaminhe para `$zaip-skill-meta-token-onboarding`; este fluxo OAuth permanece separado.
11
+
10
12
  1. Execute o precheck no cwd do projeto: `codex --version`, `codex mcp login --help` e `node .agents/skills/zaip-skill-tool-setup/scripts/inspect-tool.mjs meta-ads mcp`. Confirme endpoint e OAuth nas [fontes oficiais verificadas em 2026-09-05](references/official-sources.md). O manifest distribuído permanece `enabled: false`; isso é diferente da configuração local solicitada.
11
13
  2. Antes de escrever, confirme que o projeto é trusted no Codex, pois `.codex/config.toml` pode ser ignorado fora de um projeto confiável. Se for ignorado, diagnostique trust e não o altere automaticamente. Preserve o conteúdo de `.codex/config.toml`. Se uma tabela existente usar `url = "https://mcp.facebook.com/ads"`, reutilize seu alias e não duplique a conexão. Se existir `[mcp_servers.meta-ads]` com URL diferente ou configuração incompatível, trate como conflito e não o reescreva. Sem conflito, acrescente uma vez:
12
14
 
@@ -0,0 +1,17 @@
1
+ ---
2
+ name: zaip-skill-meta-token-onboarding
3
+ description: Orienta teste manual e local da Graph API e do MCP Meta com token temporário, incluindo a validação separada de cada caminho.
4
+ ---
5
+
6
+ # Onboarding de token Meta para iniciantes
7
+
8
+ Use quando uma pessoa quer testar, com os próprios ativos Meta, a Graph API e uma configuração MCP explicitamente solicitada. Não use para operar campanhas, contornar revisão ou receber segredos no chat.
9
+
10
+ Explique primeiro o limite: uma conta de desenvolvedor Meta e um app próprio permitem testar ativos aos quais a pessoa já tem acesso e que estão autorizados para o app. Em geral, app review não é necessário apenas para pessoas com papel no app e ativos próprios; a Meta pode exigir verificações, acesso adicional ou impor limites conforme o produto, a conta e a política vigente. Leia o [guia detalhado](references/onboarding-manual.md) antes de orientar execução.
11
+
12
+ 1. Guie a pessoa no Graph API Explorer: escolha o app próprio, `Token do usuário`, as permissões de API `ads_read` e `business_management`, e clique em **Gerar token**. Se o painel atual mostrar dependências, inclua `pages_read_engagement` e `pages_show_list` somente quando exigidas. Ela nunca cola token, App Secret ou URL de autorização no chat.
13
+ 2. Somente se a pessoa autorizar explicitamente configurar, trocar ou testar, use `$zaip-skill-local-credentials` para acessar o `.env` ignorado da raiz. Essa autorização cobre os passos locais necessários daquele fluxo. Valide o token temporário com `GET /me` antes de o substituir e faça a troca server-side pelo token de longa duração retornado pela Meta. Não exponha credenciais em argumentos, URLs, logs, records ou evidências.
14
+ 3. Faça a prova da API em leituras `GET` paginadas: `/me`, `/me/businesses`, `owned_ad_accounts` e `client_ad_accounts` da BM escolhida, depois `/act_ID/campaigns`. Deduplicate contas pelo ID, peça que a pessoa escolha uma conta `act_...` e declare resultados vazios, limites e escopos insuficientes como tais.
15
+ 4. Para afirmar que o MCP foi validado, faça uma prova separada no endpoint `https://mcp.facebook.com/ads`. No ramo bearer explicitamente solicitado, confira o contrato atual, inclua `ads_mcp_management` se exigido e use o mapeamento seguro da variável local no host ou um agente HTTP direto que a mantenha em memória. Inicialize, envie `notifications/initialized`, obtenha `tools/list` e execute uma leitura de campanhas na mesma `act_ID`, preservando os headers de sessão e versão de protocolo solicitados pelo servidor. POST é permitido só para esses métodos MCP e uma ferramenta de leitura. Para o ramo OAuth, use `$zaip-skill-meta-ads-setup`. Esses escopos não autorizam escrita; só declare falha MCP quando uma falha for observada.
16
+
17
+ Não execute chamadas, grave `.env` ou renove token só porque esta skill foi lida. Um pedido explícito de configurar, trocar ou testar autoriza os passos necessários daquele fluxo, sem ampliar para escrita. Use os prompts sem segredo e as referências de política no guia.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Onboarding de Token Meta"
3
+ short_description: "Guia local de token para Graph API e MCP Meta"
4
+ default_prompt: "Use $zaip-skill-meta-token-onboarding para testar Graph API e MCP Meta com token local, sem receber segredos no chat."