convex-deploy-guard
Classify + announce the target Convex deployment before any deployment-affecting command; fresh explicit consent for prod actions; session read-only mode.
How do I install this agent skill?
npx skills add https://github.com/get-convex/agent-skills --skill convex-deploy-guardIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill acts as a safety guard for Convex deployments, enforcing identification of targets, explicit consent for production changes, and read-only modes.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
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_DEPLOYMENTin .env.local,convex.json, and whetherCONVEX_DEPLOY_KEYis set; or call the official Convex MCPstatustool. 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 seton prod, snapshotimport/exporton 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 listfingerprints) — never guess.
Rules
- Classify and announce the target BEFORE every deployment-affecting command — identification and action are two separate steps.
- Prod consent is per-action, per-target, per-session: state what changes where, get a fresh explicit yes.
- Keep the two prod MCP flags split by risk: --cautiously-allow-production-pii (read-only) for an audit; --dangerously-enable-production-deployments (mutating) only when the user explicitly asks to change prod. Both are user-spoken-only; default every MCP start to a non-prod deployment selector.
- Read-only mode, once requested, is absolute for the session — including 'harmless' mutations.
- A deploy that seemed to do nothing means the WRONG deployment changed — diagnose the target, don't re-run.
- This guard composes: ship, env, migrate, and seed run it as their step 0; it is not itself a deploy tool.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/get-convex/agent-skills/convex-deploy-guard">View convex-deploy-guard on skillZs</a>