Convex Create Component skill for Claude Code: build reusable backend components
Makes Claude build a reusable Convex component with its own tables and a small API, after checking a component is the right choice.
- Installs
- 133.5K
- on skills.sh
- Stars
- 68
- on GitHub
- Files
- 6
- besides SKILL.md
- Updated
- Oct 2026
- last repo commit
Claude first asks what you are building, then checks that a component is justified. It picks one of three shapes: local (the default, under convex/components/<name>/), packaged for npm, or hybrid. It reads exactly one matching reference file, plans the tables and public functions, builds the component, wires it in with app.use(...), and adds app-side wrapper functions so clients never call the component directly.
It finishes by running npx convex codegen and npx convex dev and fixing type or boundary errors. Fresh repos may fail those until CONVEX_DEPLOYMENT is set, and then Claude stops and asks you for the login or deployment step. The skill folder holds 7 files including SKILL.md.
Good for
- Convex developers pulling reusable logic out of their app
- Developers building an integration that should own its tables and workflows
- Teams packaging Convex functionality to share across apps
Install convex-create-component
Claude Code
- 1
Copy this prompt.
Install the convex-create-component skill in Claude Code. Run this command: npx skills add https://github.com/convex/agent-skills --skill convex-create-component Then check that it loaded and tell me how to use it.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js.
Convex's docs say the skills CLI installs skills into .agents/skills/ in your project. The "All Convex skills" command installs every skill in the repo, which has 33 skill folders. One of them, convex-improve-convex-plugin, is listed in the Convex docs as sending your coding session's transcript to the Convex team. Run this skill with /convex-create-component in Claude Code or $convex-create-component in Codex, or let the agent pick it when the task fits.
From its listing on skills.sh. Source.
What's in the skill
When it loads
Builds reusable Convex components with isolated tables and app-facing APIs. Use for new components, reusable backend modules, integrations, or component boundary work.
Sections in SKILL.md
- When to Use
- When Not to Use
- Workflow
- Choose the Shape
- Default Approach
- Component Skeleton
- Critical Rules
- Patterns
- Authentication and environment access
- Client-facing API
- IDs across the boundary
- Advanced Patterns
- Validation
- Reference Files
- Checklist
Key facts
- Installs on skills.sh
- 133,465 (Nov 2, 2026)
- GitHub stars
- 68 (Nov 2, 2026)
- Last commit to the repo
- Oct 29, 2026
- skills.sh audits
- Gen Agent Trust Hub: pass, Socket: pass, Snyk: pass
What it includes
Checks the work needs its own tables or functions before building a component
SKILL.md says not to use a component for one-off business logic, thin utilities, app-level orchestration, or cases where a normal TypeScript library is enough.
Decide if a component fitsLocal by default, packaged for npm, hybrid only if you explicitly ask
Claude reads exactly one of references/local-components.md, packaged-components.md or hybrid-components.md after you confirm the goal.
Read ·
Choose the shapeLists the tables, public functions and data the app must pass in
The plan covers what tables the component owns, what functions it exposes, what the app passes in (auth, env vars, parent IDs), and what stays in the app as wrappers or HTTP mounts.
Plan the boundaryCreates convex.config.ts, schema.ts and function files, then app.use(...)
The component imports from its own ./_generated/server. The app calls it through components.<name> with ctx.runQuery, ctx.runMutation or ctx.runAction.
Write ·
Build and wire the componentTen rules for auth, env, IDs, wrappers, HTTP routes, pagination and indexes
Auth and env access stay in the app. Parent IDs cross as strings. Clients get app wrappers, not component functions. Component HTTP routes are mounted in the app, and pagination uses paginator from convex-helpers.
Critical rulesRuns npx convex codegen with --component-dir, then codegen, then npx convex dev
If validation blocks on Convex login or deployment setup, SKILL.md says to stop and ask you for that exact step.
Runs code ·
ValidateFunction handles, validators from schema, a globals table, class wrappers
references/advanced-patterns.md has four sections: function handles for callbacks, deriving validators from schema, static configuration with a globals table, and class-based client wrappers.
Read ·
Advanced patterns referenceCodex display name, default prompt and a switch that lets Codex start it itself
The file sets allow_implicit_invocation to true and a default prompt that asks to check a component is justified before designing it.
agents/openai.yaml
From the official docs
Permissions
Low risk
Claude writes component files and runs Convex CLI commands in your project, so a wrong deployment setting could point it at the wrong backend. Check your CONVEX_DEPLOYMENT value before it runs npx convex dev.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It edits your Convex config and creates files
It creates convex/convex.config.ts if missing and adds app.use(...) to it. Review the diff before you commit. github.com
It runs npx convex dev against your project
Validation ends with npx convex dev, which needs CONVEX_DEPLOYMENT set. Check which deployment that points to first. github.com
The packaged route scaffolds with a create command
references/packaged-components.md prefers npx create-convex@latest --component when possible. Approve it only if you want an npm package. github.com
Security advisories
No published security advisories as of Nov 2, 2026.
Technical details
| Turning on read-only | No read-only mode. Ask for a plan first; SKILL.md has Claude plan before it builds. |
|---|---|
| Scopes |
|
Questions
How do I install convex-create-component?
Use the install box above. The skill folder includes four reference files, so install through the skills CLI or copy the whole folder. Run it with /convex-create-component in Claude Code or $convex-create-component in Codex.
When should I not use a component?
SKILL.md says to skip it for one-off business logic, thin utilities that need no Convex tables or functions, app-level orchestration that belongs in convex/, and cases where a normal TypeScript library is enough.
Local, packaged or hybrid?
Local is the default and lives under convex/components/. Packaged is for publishing an npm package or sharing across apps. Hybrid combines a local component with shared library code, and the reference file calls it an advanced option with more moving parts.
Why can the component not read my env vars or the signed-in user?
SKILL.md says ctx.auth is not available inside components and component functions cannot read process.env. The app resolves auth and env values, then passes them in as arguments.
Is it safe?
It writes component files and edits convex/convex.config.ts, then runs npx convex codegen and npx convex dev. The packaged route suggests npx create-convex@latest --component. Review the diff and commands as you would for any code change.
Is it official?
Yes. It is in Convex's own agent-skills repo, and Convex's docs list it among the agent skills Convex provides.
Does it work in the Claude app?
The README and Convex docs name Claude Code, Cursor, VS Code with GitHub Copilot, Windsurf and Codex. They do not name the Claude app, and this skill works on a local project, so we list no Claude app install.
Information
updated Nov 2, 2026
- Repository
- convex/agent-skills
- Folder
skills/convex-create-component
Sources
Docs, issue trackers and discussions this page is built from.
Show all 7Hide
- convex/agent-skills README · github.com
- Convex docs: Agent Skills · docs.convex.dev
- convex-create-component SKILL.md · github.com
- local-components.md · github.com
- packaged-components.md · github.com
- hybrid-components.md · github.com
- openai.yaml · github.com