Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →PostgreSQL and Supabase optimization guide.
.claude/skills/dokhacgiakhoa-postgres-best-practices/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✓→✓ | = Same ✓ | 35% | 0% |
| case-02 | ✓→✓ | = Same ✓ | -5% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 7% | 0% |
| case-05 | ✓→✓ | = Same ✓ | -4% | 0% |
| case-06 | ✓→✓ | = Same ✓ | 13% | 0% |
> Goal: Design scalable, secure, and performant database schemas and queries, specifically optimized for Supabase/PostgreSQL environments.
UUID (v7 or v4) or BIGINT (Identity) for primary keys. Avoid simplistic auto-increment INT if scaling horizontally.snake_case for table and column names. Plural for tables (users, orders).tsvector).PostGIS).EXPLAIN ANALYZE on complex queries to verify index usage.ALTER TABLE "table_name" ENABLE ROW LEVEL SECURITY;SELECT, INSERT, UPDATE, DELETE.auth.uid() = user_id for user-private data..include() or explicit joins carefully.Supabase Specific:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-03 | pass→pass | 11,297 | 21,380 | +89% | 1 | 1 | 0% | 2,319 | 3,126 | +35% | 0 | 0 | — |
case-01 | fail→fail | 23,754 | 28,901 | +22% | 1 | 1 | 0% | 3,502 | 4,056 | +16% | 0 | 0 | — |
case-02 | pass→pass | 21,656 | 18,881 | -13% | 1 | 1 | 0% | 2,751 | 2,607 | -5% | 0 | 0 | — |
case-04 | pass→pass | 13,066 | 11,783 | -10% | 1 | 1 | 0% | 1,399 | 1,498 | +7% | 0 | 0 | — |
case-05 | pass→pass | 16,699 | 13,104 | -22% | 1 | 1 | 0% | 2,036 | 1,955 | -4% | 0 | 0 | — |
case-06 | pass→pass | 12,320 | 15,086 | +22% | 1 | 1 | 0% | 1,743 | 1,971 | +13% | 0 | 0 | — |
case-07 | pass→pass | 9,296 | 10,387 | +12% | 1 | 1 | 0% | 1,695 | 1,513 | -11% | 0 | 0 | — |
case-08 | pass→pass | 34,538 | 10,158 | -71% | 1 | 1 | 0% | 1,818 | 1,427 | -22% | 0 | 0 | — |
case-09 | pass→pass | 7,613 | 8,103 | +6% | 1 | 1 | 0% | 327 | 921 | +182% | 0 | 0 | — |
case-10 | pass→pass | 10,852 | 8,850 | -18% | 1 | 1 | 0% | 1,033 | 1,196 | +16% | 0 | 0 | — |
case-11 | pass→pass | 13,230 | 19,551 | +48% | 1 | 1 | 0% | 1,841 | 1,768 | -4% | 0 | 0 | — |
case-12 | pass→pass | 16,580 | 15,271 | -8% | 1 | 1 | 0% | 2,349 | 2,001 | -15% | 0 | 0 | — |
case-13 | pass→pass | 16,214 | 11,939 | -26% | 1 | 1 | 0% | 1,764 | 1,718 | -3% | 0 | 0 | — |
case-14 | pass→pass | 13,737 | 43,598 | +217% | 1 | 1 | 0% | 1,893 | 1,502 | -21% | 0 | 0 | — |
case-15 | pass→pass | 39,370 | 12,612 | -68% | 1 | 1 | 0% | 1,854 | 1,725 | -7% | 0 | 0 | — |
case-16 | pass→pass | 20,672 | 21,013 | +2% | 1 | 1 | 0% | 2,645 | 3,215 | +22% | 0 | 0 | — |
case-17 | pass→pass | 20,475 | 7,907 | -61% | 1 | 1 | 0% | 2,253 | 1,808 | -20% | 0 | 0 | — |
case-18 | pass→pass | 7,417 | 7,684 | +4% | 1 | 1 | 0% | 370 | 952 | +157% | 0 | 0 | — |
case-19 | pass→pass | 23,293 | 21,305 | -9% | 1 | 1 | 0% | 3,190 | 3,361 | +5% | 0 | 0 | — |
case-20 | pass→pass | 22,977 | 15,643 | -32% | 1 | 1 | 0% | 3,196 | 3,292 | +3% | 0 | 0 | — |
case-21 | pass→pass | 21,229 | 20,375 | -4% | 1 | 1 | 0% | 2,449 | 2,923 | +19% | 0 | 0 | — |
case-22 | pass→pass | 14,949 | 17,257 | +15% | 1 | 1 | 0% | 1,805 | 2,244 | +24% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of 0 percentage points is the difference between those two pass rates over the 22 comparable cases.
Other measured skills in the registry, with their headline benchmark lift.