Db Seed
Generuje opakovaně spustitelné SQL/Drizzle seed skripty z vašeho schématu, v pořadí cizích klíčů
Otestováno · Funguje
Co umí
Čte Drizzle schéma projektu, SQL migrace nebo raw DDL a zapisuje seed skript, který vkládá doménově relevantní vzorová data v pořadí závislostí cizích klíčů. Vytváří idempotentní soubory (mazání v opačném pořadí nebo upserty), dávkuje vkládání pro limity Cloudflare D1 a ukládá booleany jako INTEGER, časová razítka jako ISO-8601 TEXT a JSON jako serializovaný TEXT. Spouští se na požadavky k naplnění databáze, přidání vzorových/demo/testovacích dat nebo naplnění vývojových tabulek.
Testovací report
Nainstalováno do dočasného HOME (export HOME=$(mktemp -d)) z mělké klonované kopie; adresář skillu obsahuje pouze SKILL.md (7522 bajtů), frontmatter má name+description, tělo neodkazuje na žádné externí soubory a nenašel jsem žádný curl|sh, base64 nebo injection text. Test výstupu: Napsal jsem schéma SQLite/D1 s 5 tabulkami (customers, categories, products se sloupcem JSON-as-TEXT, orders s CHECK constraint, order_items) a vytvořil dva seed skripty — seed-baseline.sql napsaný mým výchozím způsobem, seed-skill.sql striktně podle těla skillu — poté jsem oba dvakrát spustil proti reálnému sqlite3 3.43. Baseline se načetl jednou, ale druhý běh vyvolal pět chyb ("UNIQUE constraint failed: customers.email", categories.slug, products.id, orders.id, order_items.id); verze skillu se oběma spuštěními čistě zopakovala a vytiskla počty řádků (customers 8, categories 4, products 10, orders 8, order_items 12). Měřená kvalita dat: json_valid(attributes) AND non-empty object = 10/10 řádků pro soubor skillu vs 0/4 pro baseline ('{}'), časová razítka ISO-8601 s časem+Z 8/8 vs 0/3, 10 odlišných cen vs 4, reálné názvy produktů ("Baratza Encore Grinder") vs "Product 1", plus řádky s apostrofem a CJK, které přežily vložení; soubor skillu také rozdělil 12 order_items na 10+2 na INSERT podle jeho D1 dávkovacího pravidla. Posouzené spouštěcí fráze: NAČÍST — "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"; NENAČÍST — "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 správně, ačkoli široká klíčová slova spouštěče "sample data"/"test data" by ji mohla vtáhnout do požadavků na generování dat mimo databázi. Dokumentace ztrácí bod, protože tvrzení specifická pro D1 ("max ~10 rows per INSERT", "100 bound parameter limit") jsou uvedena bez zdroje a generovaný SQL jsem mohl ověřit pouze proti lokálnímu SQLite, nikoli proti reálnému D1.
Testováno: 2026-07-21 · Claude Code 2.x (agent harness)
Instalace
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.
Příkazy a ukázkové prompty
/db-seedGeneruje opakovaně spustitelné SQL/Drizzle seed skripty z vašeho schématu, v pořadí cizích klíčů
Skilly se spouštějí běžnými požadavky — žádné příkazy k zapamatování. Po instalaci ho aktivují prompty jako tyto (anglicky):
Seed the dev database with sample ordersGenerate fixtures for the users and posts tablesCreate demo data respecting foreign key order