get-convex/templates/convex-quickstart
Claude Code and agent skill by get-convex/templates
Trust tier 2
- community
Source check pending
Checking that the SKILL.md file is still in the repository.
Get a barebones Convex + web template running from a one-sentence idea.
Install
npx vskill@latest install get-convex/templates/convex-quickstartSKILL.md
Quickstart: a barebones Convex template, running
Stand up a barebones Next.js + Convex template from the idea, locally, with an anonymous dev deployment. Minimal by design: local dev servers, no publish step, no pre-baked auth.
Workflow
- Run recipe
quickstart-recipe@^2with {idea, template} (the pack fetches + caches it; pinned offline fallback). It creates the project, installs deps, starts the backend (anonymous) and the web dev server. - When it prints the dev URL, open it for the user.
- Present a short plan and CONFIRM before building features beyond the template.
Rules
- Never re-run the recipe if it already reported success.
- Delegate any code under
convex/to theconvex-expertcapability. - Don't add Postgres/Redis/Express — use Convex primitives.
- Don't add hosting/publish or pre-baked auth here — keep the template minimal unless the user asks for more.
- DEGRADATION RULE — if the scaffold cannot run (non-interactive session, no network, a sandboxed temp dir, or the user just wants code, not an app): skip the recipe and write a standard Convex project directly. ALL backend code goes under
convex/(schema.ts, functions) — NEVER at the project root; Convex functions only run from theconvex/directory. Write ZERO scaffold/documentation files (no START_HERE.md, ARCHITECTURE.md, MANIFEST.txt, README walls) unless explicitly asked. "Build me a backend" means code, not ceremony. - Data access + imports — before writing any convex/*.ts: never an unbounded
.collect()on a table that can grow — use.withIndex(...)and.paginate(...)/.take(n). Use an index, not.filter(), for anything that would be a SQL WHERE..withIndex(...)callbacks only haveeq/gt/gte/lt/lte— there is no.range(...)method. Imports:query/mutation/action/internalQuery/internalMutation/internalActioncome from./_generated/server;api/internalcome from./_generated/api; NEVER import fromconvex/serverin application code.v.literal("exact value")for fixed string/enum members, not a bare string."use node"only at the top of action-only modules — never in a file that also exports aqueryormutation. Never import a Node builtin (crypto/fs/path/http/child_process/os, with or without thenode:prefix) into a file lacking"use node"— includinghttp.tsroute handlers; use Web Crypto (crypto.subtle) instead ofimportingcryptowhere possible. - Reserved names — never
export const <jsReservedWord> = ...(e.g.delete,new,class,function,return) as a query/mutation/action export name; esbuild fails to parse it. Never a table or index name starting with_(e.g._migrations: defineTable(...)) —_is reserved and errors at push asTableNameReserved/IndexNameReserved. - HTTP routes —
httpRouterhas no Express-style:paramsegments (path: "/users/:id"only matches that literal string and is dead code); usepathPrefixand parse the trailing segment yourself. Everyhttp.route({...})handler:must be wrapped inhttpAction(...)from./_generated/server— a bareasync (ctx, request) => {...}type-checks but isn't a valid HTTP action. ctx.runQuery/ctx.runMutation/ctx.runActionneed a codegen'd function reference (api.foo.bar/internal.foo.bar), never a raw imported module member (import * as queries from "./queries"; ctx.runQuery(queries.getX, ...)compiles but fails at runtime).- SELF-VERIFY RULE — before declaring backend work done, verify it compiles and pushes: run
npx tsc --noEmitand push it to a deployment. Prefer the project's existing one; otherwisenpx convex dev --oncewhennpx convex whoamisucceeds, andCONVEX_AGENT_MODE=anonymous npx convex dev --onceONLY when it does not. Forcing anonymous on a signed-in user rebinds.env.localand costs them the persistent, publishable cloud deployment they expect. Fix every error it reports before finishing — one verify round catches the wrong-relative-import / duplicate-symbol / unbalanced-paren class that otherwise breaks the deploy.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingtemplate-bare/.agents/skills/convex-quickstart/SKILL.md
Popularity
- Repository stars
- 131
- Repository forks
- 45
- 7-day trend score
- 24
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/get-convex/templates/convex-quickstart)