Convex Self Heal
ConvexOfficialPublished by Convex
- Skill
- Workflow
- Software development
- Apache-2.0
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The convex-self-heal skill provides a structured, multi-stage workflow for managing production errors. It integrates error capture, root-cause analysis, and automated repair generation, culminating in a certified pull request for human approval. By leveraging preview deployments and real-world data snapshots, the system ensures that proposed fixes are validated against actual invariants and regression tests before they reach the developer, maintaining a strict human-in-the-loop boundary for production deployments.
What it does
- Triages production errors to distinguish between transient issues, configuration errors, and code defects.
- Performs automated root-cause analysis using diagnostic tools to identify the source of failures.
- Generates code repairs on isolated branches rather than modifying production directly.
- Certifies fixes by running type checks, schema rehearsals on production snapshots, and regression tests.
- Prepares a comprehensive pull request containing the fix, certification evidence, and audit logs.
- Monitors post-deployment logs to confirm the error signature has been successfully resolved.
When to use it
- When you need to automate the investigation and remediation of recurring production errors.
- When you want to ensure that all proposed fixes are verified against production-like data before human review.
- When you require a secure, auditable process for applying code or schema changes to resolve system defects.
- When you want to reduce the manual overhead of triaging and reproducing production bugs.
Advantages
- Maintains a strict human-in-the-loop boundary by never auto-merging or auto-deploying.
- Reduces risk by certifying fixes against real-world data invariants before they are proposed.
- Provides clear auditability through logged actions and evidence-backed pull requests.
- Prevents the proposal of unverified or uncertain fixes by stopping when root causes are unclear.
Usage examples
- “Analyze the latest production errors and propose a fix for the identified schema defect.”
- The agent will triage the error, perform root-cause analysis, generate a fix on a branch, certify it against a production snapshot, and open a PR with the evidence.
- “Check if the recent production error is still recurring after the latest deployment.”
- The agent will inspect the sentinel table and logs to confirm the error signature is gone, or reopen the issue if it persists.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/convex/convex-self-heal/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip convex-self-heal.zip -d .agents/skills
Documentation by Convex
<!-- GENERATED from convex-agents content/capabilities/self-heal.json — do not edit by hand. -->
Gated production self-healing loop
Sentry/Datadog/Vercel can go error→investigate→draft-PR, but they treat the backend as opaque and stop at the human merge gate with an unverified diff. Convex can do the step they can't: because the error rows live in the user's own deployment and the fix can be rehearsed on a preview of that deployment, the platform certifies the fix against real invariants before anyone reviews it. This capability is the composition capstone — it wires sentinel (capture) → the findings bus (diagnose) → the fixers (repair) → migrate-rehearse/tsc/probe (certify) → a human PR (decide) → deploy-guard (promote). The human keeps the merge button; the machine does everything up to and including proving the fix works.
Workflow
GUARD: deploy-guard — this loop reads prod and PROPOSES prod changes; classify + announce the deployment and get the standing consent for the loop's scope up front (what classes of fix it may auto-prepare vs must always defer). Never auto-merge; the human merge is the fixed boundary.
CAPTURE: require sentinel (prod errors in the user's own deployment, redacted at write time). If absent, offer to install it and stop — there is nothing to heal without capture.
TRIAGE a new/ recurring error: pull it via the official MCP (data/run-once-query over the sentinel table, or the monitor's prod_error event). Classify: transient (retry/ignore — do NOT open a PR for a one-off network blip), config (env/secret — hand to env, never guess a secret), or a code/schema defect (proceed).
ROOT-CAUSE on the findings bus: run the relevant audit pass on the implicated function — convex-insights (the failing requests + stacks), convex-advisor (if it's a read-limit/OCC cause), convex-reviewer/convex-authz (if it's a logic/authz defect). Produce a bus finding with evidence (the stack + the reproducing input) and a fixCapability. If root cause is unclear, STOP and report — a wrong fix is worse than an open error.
REPAIR via the finding's fixCapability (convex-authz, reviewer fixers, convex-expert for perf) on a branch — never on prod directly.
CERTIFY against the backend's own invariants BEFORE proposing (this is the differentiator — do not skip any that apply): (a)
tsc --noEmitclean; (b) if the fix touches schema/data, run it through migrate-rehearse on a preview seeded with a prod snapshot — the schema-conformance gate must pass on real-shaped data; (c) reproduce-then-confirm-gone: replay the error's triggering input against the fixed code (a convex-test case or an MCP run on the preview) and assert the failure no longer occurs; (d) no-regression: the finding must be gone AND no new bus finding introduced on the touched function. A fix that fails any applicable certification is NOT proposed — it's reported as 'attempted, could not certify' with what failed.PROPOSE, never merge: open a PR (or a diff for review) containing the fix, the certification evidence (tsc result, rehearsal outcome, the reproduced-then-gone assertion), the original error + finding, and the reversibility note. Label the change class. The human reviews and merges.
PROMOTE on merge via deploy-guard's prod consent; after deploy, re-check the sentinel table +
logs(failures) to confirm that error signature stops recurring (do NOT useinsightsfor this — it tracks only OCC/read-limit perf events, not arbitrary error signatures) — the loop is only closed when the error stops recurring in prod. If it recurs, reopen with the new evidence.BOUND it: only classes the user pre-approved in step 1 are auto-prepared (default-safe set: validator fixes, missing-index adds, ownership-check adds, non-destructive backfills); anything destructive, security-sensitive beyond an added check, or ambiguous is always deferred to explicit human direction. Log every action to an append-only record so the loop is auditable.
Rules
The human keeps the merge button — this loop prepares and certifies fixes, it NEVER auto-merges or auto-deploys to prod (matches the industry boundary: no credible system ships unattended prod auto-merge).
Certify before proposing: tsc + (schema→migrate-rehearse on a prod-snapshot preview) + reproduce-then-confirm-the-failure-is-gone + no new bus finding. An uncertified fix is reported as 'could not certify', never proposed as done.
Triage first: transient blips get retried/ignored, config errors go to env (never guess a secret), only real code/schema defects enter the repair loop.
Repair on a branch/preview, never on prod directly; promote only through deploy-guard's fresh prod consent.
Only pre-approved fix classes are auto-prepared (default-safe: validator/index/ownership/non-destructive backfill); destructive or ambiguous changes are always deferred to the human.
Close the loop for real: after merge+deploy, confirm the error signature stops recurring via the sentinel table + logs (not insights, which only sees perf events); reopen if it persists.
Every action is logged to an append-only, auditable record; data residency stays in the user's own deployment (sentinel discipline).
If root cause is unclear, STOP and report — an uncertain fix is worse than an open, visible error.
Files
- ATTRIBUTION.mdAdded by AutoGineer856 B
- LICENSELicence file added by AutoGineer10.7 KiB
- SKILL.md5.5 KiB
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Convex
- Publisher
- Convex (Official)
- Source
- convex/agent-skills · skills/convex-self-heal · commit f60629d
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Convex or Convex.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download convex-self-heal.zip