Db Seed

Genereert herbruikbare SQL/Drizzle seed scripts van uw schema, in foreign-key volgorde

Door jezweb · jezweb/claude-skills

Getest · Werkt ★ 8.8/10

Db Seed — Genereert herbruikbare SQL/Drizzle seed scripts van uw schema, in foreign-key volgorde

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 orders
  • Generate fixtures for the users and posts tables
  • Create demo data respecting foreign key order