convex-seed
get-convex/agent-skills
Seed or import data into the Convex database with fixtures or bulk imports.
What is convex-seed?
Populate Convex database tables using internalMutation seed functions or the convex import CLI tool. Use this when you need to load sample data for testing, create fixtures, or perform bulk data migrations while ensuring idempotent operations.
- Write internalMutation seed functions to insert sample rows and run them with npx convex run
- Use npx convex import for bulk data loading after shaping data to match schema
- Make seeding operations idempotent with clear-then-insert or upsert patterns for safe re-runs
- Verify row counts after seeding to confirm successful data population
- Avoid seeding secrets or PII into shared deployments
How to install convex-seed
npx skills add https://github.com/get-convex/agent-skills --skill convex-seed- Convex project initialized and configured
- Data shaped to match your Convex schema validators
- npx convex CLI tools available
How to use convex-seed
- 1.For fixtures: write an internalMutation function that inserts sample rows matching your schema
- 2.Run the seed function with npx convex run to populate the database
- 3.For bulk imports: prepare your data file and use npx convex import with the appropriate table name
- 4.Implement idempotent seeding logic (clear existing data or use upsert) to allow safe re-runs
- 5.Verify the operation by checking row counts in your Convex dashboard
Use cases
- Loading test fixtures for development and testing workflows
- Performing bulk data migrations from external sources into Convex
- Populating initial sample data for new database deployments
- Re-seeding databases safely during development iterations
- Importing data from CSV or JSON files into Convex tables
- Backend developers working with Convex databases
- QA engineers setting up test data
- DevOps engineers managing database initialization
- Full-stack developers building applications with Convex
convex-seed FAQ
No. Never seed secrets or personally identifiable information into shared deployments; only seed test data or fixtures.
Use clear-then-insert (delete existing rows before inserting new ones) or upsert patterns so re-running the seed is safe and doesn't cause duplicates.
internalMutation is for writing custom seed logic in code and running it with npx convex run; convex import is a CLI tool for bulk-loading pre-shaped data files directly into tables.
Check row counts in the Convex dashboard or query the table after seeding to confirm the expected number of rows were inserted.
Full instructions (SKILL.md)
Source of truth, from get-convex/agent-skills.
name: convex-seed description: "Seed or import data into the Convex database."
<!-- GENERATED from convex-agents content/capabilities/seed.json — do not edit by hand. -->Seed / import data
Populate tables via an internalMutation seed function (re-runnable) or npx convex import, matching the schema.
Workflow
- For fixtures: write an internalMutation that inserts sample rows; run it with
npx convex run. - For bulk import: shape the data to the schema and use
npx convex import. - Make seeding idempotent (clear-then-insert or upsert) so re-running is safe.
- Verify row counts.
Rules
- Seed via internalMutation or convex import, matching validators.
- Make seeding idempotent.
- Never seed secrets/PII into a shared deployment.
Related skills
More from get-convex/agent-skills and the wider catalog.

convex-self-heal
Production error → triaged, root-caused, repaired, certified, and proposed as a human-reviewed PR; never auto-merges.

convex-sentinel
Capture production errors in your Convex deployment with built-in redaction and optional AI-driven triage.

convex-setup-auth
Set up secure authentication in Convex with user management and access control.

convex-suggest
Suggest the right Convex component when you detect hand-rolled patterns it already solves.

convex-test
Generate convex-test tests for Convex functions using vitest and an in-memory backend.

convex-verify
Verify Convex features work by seeding data, driving as multiple users, and asserting authorization and behavior.