Deployment target guard Deployments are not interchangeable, and most incidents start with a command aimed at the wrong one. Every Convex project has several (personal dev, preview, prod — often across multiple projects on one machine). This guard is the standing discipline: identify, announce, then act — and treat prod as consent-gated, per action, per session. Workflow IDENTIFY before you act: read CONVEX_DEPLOYMENT in .env.local, convex.json , and whether CONVEX_DEPLOY_KEY is set; or call the official Convex MCP status tool. Classify the target: local-anonymous | dev | preview | prod. If two sources disagree, resolve before proceeding. ANNOUNCE in one line before any deployment-affecting command: target: dev (joyful-capybara-123, personal dev) . Never run the command in the same breath as discovering the target — announce first. PROD needs a FRESH explicit yes: before npx convex deploy (when it resolves to prod), npx convex run --prod , env set on prod, snapshot import / export on prod, or starting the MCP with prod access — state exactly what will change on which deployment and get an explicit yes in THIS session. A yes given earlier, or for a different target, does not carry. MCP safety defaults: start the official MCP scoped non-prod ( --deployment dev ). The two prod flags are DIFFERENT risk levels — keep them split: a read-only prod audit (advisor/insights reading data/logs/insights) passes ONLY --cautiously-allow-production-pii (read tools); --dangerously-enable-production-deployments (which enables MUTATING prod tools) stays OFF unless the user explicitly asked to CHANGE prod this session. Never pair them by default — 'look at prod' must not silently grant 'mutate prod'. READ-ONLY session mode: when the user says 'read-only' / 'don't change anything', honor it absolutely for the rest of the session — no deploy, no env set/remove, no mutations via run , no imports; start the MCP with --disable-tools run,envSet,envRemove . Wrong-deployment diagnosis: when a deploy 'didn't change anything', do NOT re-deploy harder. Re-run step 1 — the deploy almost certainly landed on a different deployment than the one being observed. Ambiguity = stop: if you cannot determine which deployment a command will hit, find out (status tool; compare npx convex env list fingerprints) — never guess. Rules Show more Installs 914 Repository get-convex/agent-skills GitHub Stars 42 First Seen 2 days ago Security Audits Gen Agent Trust Hub Pass Socket Pass Snyk Pass
convex-deploy-guard
安装
npx skills add https://github.com/get-convex/agent-skills --skill convex-deploy-guard