An AI-designed schema charges you twice: tokens now from guess-fail-retry, and a multi-tenancy rewrite later. We packaged the fix for Supabase.
The agent designs the database backwards from the screen, so you get free-text status fields, no constraints, no real multi-tenancy. Then every write becomes a guess: wrong value, error, re-read the table, guess again. Each retry re-sends the whole context, so a single insert can cost you that context several times over.
The bigger cost is structural. Add a second tenant and you find there was never any isolation. RLS bolted on after the fact is how cross-tenant reads happen, and unwinding it means rewriting every table, query and policy you already have.
Skene Skills fix the foundation. Composable Postgres schemas you install into your own Supabase project before you build any UI. Typed columns and enums make valid values obvious, foreign keys make relationships explicit, RLS is enforced from the first migration, and every table and non-obvious column has a SQL comment so the agent reads intent instead of inferring it. It writes correctly with fewer attempts, and multi-tenancy is there from the start.
npx u/skene/database-skills init, then your agent reads the skill and applies the schema over Supabase MCP. Presets (crm, helpdesk, billing, project, marketing, full) or compose your own. 19 skills, around 72 tables, MIT licensed, deploys only to your instance. Migrations are plain SQL with seed data if you'd rather skip the agent.
Feedback welcome: https://github.com/SkeneTechnologies/skene/tree/main/skills
The user describes issues with AI-designed schemas in Supabase, highlighting inefficiencies and lack of multi-tenancy. They introduce 'Skene Skills' as a solution, offering composable Postgres schemas with features like typed columns, enforced RLS, and SQL comments. Feedback is welcomed on their GitHub page.