Db Seed
Genera scripts de inicialización SQL/Drizzle re-ejecutables a partir de su esquema, en orden de clave foránea
Probado · Funciona
Qué hace
Lee el esquema Drizzle de un proyecto, las migraciones SQL o DDL sin procesar y escribe un script de inicialización que inserta datos de muestra apropiados para el dominio en orden de dependencia de clave foránea. Produce archivos idempotentes (eliminaciones en orden inverso o upserts), agrupa las inserciones para los límites de Cloudflare D1, y almacena booleanos como INTEGER, marcas de tiempo como ISO-8601 TEXT, y JSON como TEXT serializado. Se activa ante solicitudes para inicializar una base de datos, agregar datos de muestra/demostración/prueba, o poblar tablas de desarrollo.
Informe de la prueba
Instalado en un HOME desechable (export HOME=$(mktemp -d)) desde un clon superficial; el directorio de la skill contiene solo SKILL.md (7522 bytes), el frontmatter tiene name+description, el cuerpo no referencia archivos externos, y no encontré curl|sh, base64, o texto de inyección. Prueba de salida: escribí un esquema SQLite/D1 de 5 tablas (customers, categories, products con una columna JSON-as-TEXT, orders con una restricción CHECK, order_items) y produje dos scripts de inicialización — seed-baseline.sql escrito a mi manera predeterminada, seed-skill.sql siguiendo estrictamente el cuerpo de la skill — luego ejecuté ambos dos veces contra sqlite3 3.43 real. La línea base se cargó una vez, pero la segunda ejecución arrojó cinco errores ("UNIQUE constraint failed: customers.email", categories.slug, products.id, orders.id, order_items.id); la versión de la skill se volvió a ejecutar limpiamente ambas veces e imprimió sus recuentos de filas (customers 8, categories 4, products 10, orders 8, order_items 12). Calidad de datos medida: json_valid(attributes) AND non-empty object = 10/10 filas para el archivo de la skill vs 0/4 para la línea base ('{}'), marcas de tiempo ISO-8601 con time+Z 8/8 vs 0/3, 10 precios distintos vs 4, nombres de productos reales ("Baratza Encore Grinder") vs "Product 1", además de filas con apóstrofes y CJK que sobrevivieron a la inserción; el archivo de la skill también dividió 12 order_items en 10+2 por INSERT según su regla de lote D1. Frases de activación juzgadas: CARGAR — "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"; NO CARGAR — "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 correctas, aunque las palabras clave de activación amplias "sample data"/"test data" podrían llevarla a solicitudes de generación de datos que no sean de bases de datos. La documentación pierde un punto porque las afirmaciones específicas de D1 ("max ~10 rows per INSERT", "100 bound parameter limit") se afirman sin una fuente y solo pude verificar el SQL generado contra SQLite local, no contra D1 real.
Probado el: 2026-07-21 · Claude Code 2.x (agent harness)
Instalación
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.
Comandos y prompts de ejemplo
/db-seedGenera scripts de inicialización SQL/Drizzle re-ejecutables a partir de su esquema, en orden de clave foránea
Los skills se activan con peticiones en lenguaje natural, sin comandos que memorizar. Tras instalarlo, prompts como estos lo activan (en inglés):
Seed the dev database with sample ordersGenerate fixtures for the users and posts tablesCreate demo data respecting foreign key order