Db Seed
Genereert herbruikbare SQL/Drizzle seed scripts van uw schema, in foreign-key volgorde
Getest · Werkt
Wat het doet
Leest het Drizzle schema, SQL migraties of ruwe DDL van een project en schrijft een seed script dat domein-geschikte voorbeeldgegevens invoegt in foreign-key afhankelijkheidsvolgorde. Produceert idempotente bestanden (verwijderingen in omgekeerde volgorde of upserts), bundelt inserts voor Cloudflare D1 limieten, en slaat booleans op als INTEGER, timestamps als ISO-8601 TEXT, en JSON als geserialiseerde TEXT. Activeert bij verzoeken om een database te seeden, sample/demo/test data toe te voegen, of dev tabellen te vullen.
Testrapport
Geïnstalleerd in een tijdelijke HOME (export HOME=$(mktemp -d)) vanuit een shallow clone; de skill directory bevat alleen SKILL.md (7522 bytes), frontmatter heeft name+description, de body verwijst niet naar externe bestanden, en ik vond geen curl|sh, base64, of injectietekst. Output test: Ik schreef een 5-tabel SQLite/D1 schema (customers, categories, products met een JSON-as-TEXT kolom, orders met een CHECK constraint, order_items) en produceerde twee seed scripts — seed-baseline.sql op mijn standaard manier geschreven, seed-skill.sql strikt volgens de skill body — en voerde beide tweemaal uit tegen een echte sqlite3 3.43. Baseline laadde één keer, maar de tweede keer gaf vijf fouten ("UNIQUE constraint failed: customers.email", categories.slug, products.id, orders.id, order_items.id); de skill-versie draaide beide keren schoon en printte zijn rijtellingen (customers 8, categories 4, products 10, orders 8, order_items 12). Gemeten datakwaliteit: json_valid(attributes) AND non-empty object = 10/10 rijen voor het skill-bestand versus 0/4 voor baseline ('{}'), ISO-8601 timestamps met time+Z 8/8 versus 0/3, 10 verschillende prijzen versus 4, echte productnamen ("Baratza Encore Grinder") versus "Product 1", plus apostrof en CJK rijen die de insert overleefden; het skill-bestand splitste ook 12 order_items in 10+2 per INSERT volgens zijn D1 batch-regel. Triggerzinnen beoordeeld: LOAD — "Populate my local D1 database with realistic products and orders so the dashboard isn't empty", "Write a seed script for the Drizzle schema in src/db/schema.ts, about 20 rows per table", "I need demo data for the customers and invoices tables before tomorrow's client demo"; DON'T LOAD — "Add a migration that adds a phone column to the users table", "Export the production orders table to CSV so finance can review last month's revenue" — 5/5 correct, hoewel de brede triggerwoorden "sample data"/"test data" het naar niet-database data-generatieverzoeken zouden kunnen trekken. Docs verliezen een punt omdat de D1-specifieke claims ("max ~10 rows per INSERT", "100 bound parameter limit") worden beweerd zonder bron en ik de gegenereerde SQL alleen kon verifiëren tegen lokale SQLite, niet tegen echte D1.
Getest op: 2026-07-21 · Claude Code 2.x (agent harness)
Installatie
git clone --depth 1 https://github.com/jezweb/claude-skills.git /tmp/db-seed-src mkdir -p ~/.claude/skills cp -R /tmp/db-seed-src/plugins/cloudflare/skills/db-seed ~/.claude/skills/db-seed # Self-contained: the skill is a single SKILL.md, no assets/ or references/ files. # No external dependencies. Running the generated seed needs whatever your project already uses: # npx tsx scripts/seed.ts (Drizzle/TypeScript output) # npx wrangler d1 execute DB --local --file=./scripts/seed.sql (raw SQL output for D1) # Alternative: the repo ships this as part of the "cloudflare" plugin # (plugins/cloudflare/.claude-plugin/plugin.json) if you prefer a plugin-marketplace install. # The skill offers an optional POST /api/seed Worker endpoint pattern — it tells you to remove it # before production; do that, or skip that section entirely.
Commando's en voorbeeldprompts
/db-seedGenereert herbruikbare SQL/Drizzle seed scripts van uw schema, in foreign-key volgorde
Skills reageren op gewone verzoeken — geen commando's om te onthouden. Na installatie activeren prompts zoals deze de skill (in het Engels):
Seed the dev database with sample ordersGenerate fixtures for the users and posts tablesCreate demo data respecting foreign key order