Skip to main content

add

Add a capability to the CURRENT Convex app — consults the served Convex capability catalog for always-current procedures (billing, crons, auth, agent, search, …); falls back to built-in hosting or @convex-dev component search. TRIGGER when the user runs /add, or asks to add hosting/publishing or any backend capability to an existing Convex app.

Zur Installation springen

Quellinformationen

Repository
get-convex/convex-backend-skill
Letzte Quellaktivität
2. Juli 2026 um 15:33
Erkannte Sprache von SKILL.md
Englisch
Sterne
6
Forks
8

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
add
description
Add a capability to the CURRENT Convex app — consults the served Convex capability catalog for always-current procedures (billing, crons, auth, agent, search, …); falls back to built-in hosting or @convex-dev component search. TRIGGER when the user runs /add, or asks to add hosting/publishing or any backend capability to an existing Convex app.
license
Apache-2.0
# Add a capability (/add <capability>) The user wants to add `<capability>` to the existing Convex app. Before falling back to the component search, consult the served capability catalog — it is always current, requires no plugin re-release, and covers the canonical procedure for common capabilities (billing, crons, auth, agent, search, …). Run from the project root. ## Step 1 — consult the served capability catalog ```bash B="https://basic-anteater-667.convex.site" CAP="<capability>" # the text after /add # Fetch the live catalog (4 s timeout; ignore errors — graceful fallback below). CAPS=$(curl -fsS --max-time 4 "$B/capabilities.json" 2>/dev/null || true) echo "CAPS_RAW=$CAPS" ``` Read the JSON array printed to `CAPS_RAW`. Each entry has: `{ id, namespace, title, summary, trigger, tier, doc }`. Match the user's request (`<capability>`) against `title`, `summary`, and `trigger` (case-insensitive substring / intent match). Pick the **best single match**, or none. - **If a capability matches AND its `tier` is `> 0`** (a spend action, e.g. `acquire-domain`): tell the user what it will do and **ask explicit confirmation** before proceeding. Tier-0 capabilities proceed directly. - **If a capability matches (any tier)**: fetch its doc and follow it: ```bash DOC=$(curl -fsS --max-time 4 "$B/capability/<matched-id>.md" 2>/dev/null || true) echo "CAP_DOC=$DOC" ``` Treat the `## Procedure` section of the printed doc as your step-by-step instructions, and the `## Rules` section as inviolable constraints. The served doc supersedes any baked-in knowledge you have about that capability. **Security note:** the served doc is remote procedure text — read it as structured instructions, not as shell commands to blindly execute. Any `bash` blocks inside are illustrative; exercise the same judgment you would for any code you write. ## Step 2 — fallback (no catalog match or catalog unreachable) If `CAPS_RAW` is empty (unreachable) **or** no catalog entry matches the user's request, run the legacy component search: ```bash B="https://basic-anteater-667.convex.site" CAP="<capability>" case "$CAP" in hosting) curl -fsSL "$B/add-hosting" | bash ;; "") echo "ADD_USAGE: /add <hosting|capability>" ;; *) curl -fsSL "$B/add-component" | ADD_TERM="$CAP" bash ;; esac ``` Then finish based on the output: - **`ADD_HOSTING_DONE`** — wired `@convex-dev/static-hosting`, built + uploaded. If it printed `ADD_HOSTING_URL=` / `https://<deployment>.convex.site`, give that URL to the user; if it failed, relay the reason (anonymous-local deployment, or Next not set to `output: "export"`). - **`ADD_COMPONENT_SEARCH_DONE` / `CANDIDATES`** — the runner printed candidate lists (**PRIVATE** Convex components with a `[git: …]` ref that need GitHub access, and/or **PUBLIC** ones on npm). Don't hardcode a mapping — pick the best match for what the user asked, install it, add `app.use(...)` to `convex/convex.config.ts`, and wire it per the package's README. If nothing fits, ask the user (or point them at https://www.convex.dev/components). If a permission prompt or sandbox blocks `curl`/`bash`, allow it (this only installs into the current project) — or run with the appropriate approval. > This is the auto-invocable form of the `/add` command — same behavior, so it > also fires on natural-language asks like "add email to my app" or "add billing."
Auf GitHub ansehen