Db Seed
Genererar återkörbara SQL/Drizzle seed-skript från ditt schema, i främmande nyckel-ordning
Testad · Fungerar
Vad den gör
Läser ett projekts Drizzle-schema, SQL-migreringar eller rå DDL och skriver ett seed-skript som infogar domänanpassad exempeldata i främmande nyckel-beroendeordning. Producerar idempotenta filer (borttagningar i omvänd ordning eller upserts), batchar infogningar för Cloudflare D1-gränser, och lagrar booleans som INTEGER, tidsstämplar som ISO-8601 TEXT, och JSON som serialiserad TEXT. Utlöses vid förfrågningar om att seeda en databas, lägga till exempel-/demo-/testdata, eller fylla utvecklingstabeller.
Testrapport
Installerad i en tillfällig HOME (export HOME=$(mktemp -d)) från en grund klon; skill-katalogen innehåller endast SKILL.md (7522 bytes), frontmatter har namn+beskrivning, kroppen refererar inga externa filer, och jag hittade ingen curl|sh, base64, eller injektionstext. Utdata-test: Jag skrev ett 5-tabellers SQLite/D1-schema (customers, categories, products med en JSON-as-TEXT-kolumn, orders med en CHECK-begränsning, order_items) och producerade två seed-skript — seed-baseline.sql skrivet på mitt standard sätt, seed-skill.sql strikt enligt skill-kroppen — och exekverade sedan båda två gånger mot verklig sqlite3 3.43. Baseline laddades en gång men den andra körningen kastade fem fel ("UNIQUE constraint failed: customers.email", categories.slug, products.id, orders.id, order_items.id); skill-versionen kördes om rent båda gångerna och skrev ut sina radantal (customers 8, categories 4, products 10, orders 8, order_items 12). Uppmätt datakvalitet: json_valid(attributes) AND non-empty object = 10/10 rader för skill-filen vs 0/4 för baseline ('{}'), ISO-8601 tidsstämplar med tid+Z 8/8 vs 0/3, 10 distinkta priser vs 4, verkliga produktnamn ("Baratza Encore Grinder") vs "Product 1", plus apostrof och CJK-rader som överlevde infogning; skill-filen delade också upp 12 order_items i 10+2 per INSERT enligt dess D1-batchregel. Utlösarfraser bedömda: 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 korrekt, även om de breda utlösarorden "sample data"/"test data" skulle kunna dra in den i icke-databas datagenereringsförfrågningar. Dokumentationen förlorar en poäng eftersom de D1-specifika påståendena ("max ~10 rows per INSERT", "100 bound parameter limit") hävdas utan källa och jag kunde bara verifiera den genererade SQL mot lokal SQLite, inte verklig D1.
Testad: 2026-07-21 · Claude Code 2.x (agent harness)
Installation
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.
Kommandon och exempelprompter
/db-seedGenererar återkörbara SQL/Drizzle seed-skript från ditt schema, i främmande nyckel-ordning
Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):
Seed the dev database with sample ordersGenerate fixtures for the users and posts tablesCreate demo data respecting foreign key order