convex-docs

Pull version-current Convex docs for the version this project uses — pin the installed version, fetch page-as-markdown or check node_modules types, freshness hierarchy — instead of writing a possibly-stale API from memory.

npx skills add https://github.com/get-convex/agent-skills --skill convex-docs

Pull version-current Convex docs

convex-expert carries baked, plugin-versioned knowledge — excellent for stable idioms, but it goes stale exactly where it hurts: a component that gained a new export, a CLI flag that changed, an API renamed between versions. This capability is the freshness discipline layered on top: pin to the project's real version, fetch the live page cheaply as markdown, and never write an unfamiliar API from memory when the current source is one fetch away.

Workflow

  1. PIN the version: read the installed convex version (node -p "require('./node_modules/convex/package.json').version" or package.json), and the versions of any @convex-dev/* components in play. The docs you trust must match THESE versions — version skew is the single largest source of wrong Convex code.
  2. FRESHNESS HIERARCHY (cheapest-correct first, the Supabase-taught order): (a) if a served docs tool / MCP search_convex_docs is available, use it (it returns version-scoped, reranked answers sized to the context window); (b) else fetch the specific docs page as MARKDOWN — request docs.convex.dev/<path> and prefer a .md/markdown form when the site serves one (far fewer tokens than HTML), or the component's README at the pinned version; (c) only then fall back to a general web search, and treat its version as unverified. Do NOT skip to writing the API from memory when currentness is in doubt.
  3. VERIFY against the installed package when it matters: for a component export you're unsure exists, check node_modules/@convex-dev/<x>/ (its package.json exports, its .d.ts) — the installed types are the ground truth for THIS version, more authoritative than any doc.
  4. USE the fetched fact narrowly: apply the current signature/flag, cite where it came from (page + version), and hand the actual code back to convex-expert to write idiomatically. convex-docs supplies the fresh fact; convex-expert supplies the idiom.
  5. On a version-mismatch build error (an export/flag that 'should' exist but doesn't): treat it as a currentness question — pin the version, fetch the current API, and correct — rather than guessing a different spelling.

Rules

  • Never write an unfamiliar or possibly-renamed Convex/component API from model memory when currentness is in doubt — pin the version and fetch the current source first.
  • The installed package's own exports/.d.ts in node_modules is the ground truth for this version — more authoritative than any doc page.
  • Follow the freshness hierarchy: served docs tool → page-as-markdown / pinned README → general web (unverified) — cheapest-correct first, fewest tokens.
  • Prefer markdown over HTML doc pages — far fewer tokens for the same content.
  • Supply the fresh FACT; hand idiomatic code back to convex-expert. This is a freshness layer, not a replacement for the baked knowledge.
  • A version-mismatch build error is a currentness question, not a spelling guess — re-pin and re-fetch.

More skills from get-convex

convex-performance-audit
get-convex
Audits Convex performance for reads, subscriptions, write contention, and function limits. Use for slow features, insights findings, OCC conflicts, or read amplification.
developmentdatabasedata-analysis
convex
get-convex
Routes general Convex requests to the right project skill. Use when the user asks which Convex skill to use or gives an underspecified Convex app task.
developmentdatabase
convex-setup-auth
get-convex
Sets up Convex auth, identity mapping, and access control. Use for login, auth providers, users tables, protected functions, or roles in a Convex app.
developmentdatabaseapi
convex-quickstart
get-convex
Creates or adds Convex to an app. Use for new Convex projects, npm create convex@latest, frontend setup, env vars, or the first npx convex dev run.
developmentdatabase
convex-migration-helper
get-convex
Plans Convex schema and data migrations with widen-migrate-narrow and @convex-dev/migrations. Use for breaking schema changes, backfills, table reshaping, or zero-downtime rollouts.
developmentdatabase
convex-create-component
get-convex
Builds reusable Convex components with isolated tables and app-facing APIs. Use for new components, reusable backend modules, integrations, or component boundary work.
developmentdatabase
convex-migrate
get-convex
Migrate schema + backfill data on a deployed Convex app using @convex-dev/migrations.
developmentdatabase
convex-optimize
get-convex
Audit and optimize an existing Convex app: security, scale, upgrades, observability.