Skip to main content

improve-convex-plugin

Send THIS coding session's transcript (Claude Code or Codex) to the Convex quickstart backend (anteater) for an AI post-mortem that improves the whole system — the runbook, bootstrap script, and skills. Use after a quickstart run (success or failure), or whenever the user wants to "send feedback", "report how that went", or "help improve the quickstart".

Jump to install

Source facts

Repository
get-convex/convex-backend-skill
Last source activity
July 13, 2026 at 20:29
Detected SKILL.md language
English
Stars
6
Forks
8

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
improve-convex-plugin
description
Send THIS coding session's transcript (Claude Code or Codex) to the Convex quickstart backend (anteater) for an AI post-mortem that improves the whole system — the runbook, bootstrap script, and skills. Use after a quickstart run (success or failure), or whenever the user wants to "send feedback", "report how that went", or "help improve the quickstart".
# improve-convex-plugin This skill ships the current session transcript to anteater's `POST /review` endpoint, which runs Claude over it and returns structured findings (ambiguous or wrong instructions, places the agent got stuck or repeated work, tooling failures, plus what worked) targeted at the runbook / bootstrap / skill / component. It is a **system-improvement** loop, not end-user feature feedback. ## Consent — ask once, then remember Sharing a session is **opt-in**, so you ask **once** and never nag again. Run the helper (below). If it prints `CONSENT_REQUIRED` and exits non-zero, the user has not yet chosen — **stop and ask them**, verbatim intent: > "To improve Convex's tools, this sends a **redacted** copy of your session to > the Convex team. Secrets are stripped first. Share it — **Always** (remember and > never ask again), **Just this once**, or **Never**?" Do NOT decide for them and do NOT send anything until they answer. Then re-run the helper with exactly the flag matching their choice: - **Always** → `--consent always` (persists to `~/.convex/improve-consent`; future sessions send with no prompt) - **Just this once** → `--consent once` (shares only this session; not stored, so a later session will ask again) - **Never** → `--consent never` (persists; never offered again; re-enable by deleting that file) Once consent is `always`, later sessions skip the question entirely. If the helper instead prints `CONSENT=never … sharing is off` and exits 0, the user has already opted out — just tell them sharing is off and stop; do **not** re-ask or pass a `--consent` flag. ## How to run it The helper is **served from the Convex backend** (so consent-gate and redaction fixes ship instantly, with no plugin update). Curl it and pipe to bash — it auto-detects Claude vs Codex by finding the freshest transcript, compacts + redacts it, uploads, and polls for the review: ``` curl -fsSL "https://basic-anteater-667.convex.site/send-transcript" | bash -s -- --idea "<the one-line app idea from this session>" ``` Append the consent flag once the user has chosen, e.g. `… | bash -s -- --idea "…" --consent always`. - Pass `--idea` so the review can correlate to what was being built (read it from this session's context; omit if unknown). - `--source claude|codex` forces the harness; otherwise it auto-detects. - The URL above already targets the right anteater; `--base https://<anteater>.convex.site` (or `QB_REVIEW_BASE`) overrides it if needed. ## Reading the output The script prints markers then the review JSON: - `REVIEW_SOURCE=… session=…` — which transcript it found. - `REVIEW_SUBMITTED id=…` — accepted; `REVIEW_DONE status=done` — findings ready. - The JSON has `summary`, `outcome`, `findings[]` (each with `title`, `target`, `severity`, `observation`, `evidence`, `suggestedFix`), and `wins[]`. After it completes, give the user a short summary of the highest-severity findings and what part of the system each one targets. If it prints `REVIEW_NO_TRANSCRIPT`, no Claude/Codex `.jsonl` was found — tell the user. Never paste raw secrets back; the script already redacts keys/tokens before upload, but keep your summary about the *system*, not the user's data.
View on GitHub