Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Integration skill for Lovable.dev projects. Activates when working with: - Lovable.dev projects with GitHub sync - Supabase Edge Functions that need deployment - Database migrations for Lovable Cloud - Projects with supabase/ directory structure - Any mention of "Lovable", "deploy edge function", "apply migration" Provides exact Lovable prompts for backend operations that can't be done via GitHub alone.
.claude/skills/aiskillstore-lovable/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 159% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 82% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 218% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 126% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 254% | 0% |
This skill enables Claude Code to work effectively with Lovable.dev projects while respecting Lovable's deployment requirements.
Activate when:
supabase/ directory with Edge FunctionsLovable supports two architectures. Always detect which one you're working with before giving advice.
Check the root directory of the user's project:
app.config.ts present → TanStack Start (new, SSR — post-April 2026)vite.config.ts present → Vite SPA (legacy, CSR — pre-April 2026)Both are fully supported. Old projects remain on Vite and receive no forced migration.
Projects created before April 2026. Client-side rendering only.
✅ Edit freely and push to main:
src/ - All React components, pages, hooks, utilspublic/ - Static assetsvite.config.ts, tailwind.config.js, tsconfig.jsonpackage.json - Dependenciessupabase/functions/*/index.ts - Edge Function code (not deployment)supabase/migrations/*.sql - Migration files (not application)⚠️ After editing, provide Lovable prompt:
| Change Type | Lovable Prompt | |-------------|----------------| | Edge Function code | "Deploy the [name] edge function" | | All Edge Functions | "Deploy all edge functions" | | New migration file | "Apply pending Supabase migrations" | | New table needed | "Create a [name] table with columns: [list]" | | RLS policy | "Enable RLS on [table] allowing [who] to [what]" | | Storage bucket | "Create a [public/private] bucket called [name]" | | Secret/env var | Manual: Cloud → Secrets → Add |
Projects created after April 2026. Full server-side rendering (SSR) via TanStack Start.
app/routes/ (not React Router in src/App.tsx)app.config.ts (not vite.config.ts)createServerFn) let server-side logic live directly in component files — no edge function needed for simple server logic*.server.ts are server-only and never sent to the browser✅ Edit freely and push to main:
app/ - All routes, components, server functions, layoutsapp/routes/ - File-based route pagespublic/ - Static assetsapp.config.ts, tailwind.config.js, tsconfig.json - Config filespackage.json - Dependenciesapp/**/*.server.ts - TanStack server functions (auto-deploys, no Lovable prompt needed)supabase/functions/*/index.ts - Supabase Edge Function code (not deployment)supabase/migrations/*.sql - Migration files (not application)⚠️ After editing, provide Lovable prompt:
| Change Type | Lovable Prompt | |-------------|----------------| | Supabase Edge Function code | "Deploy the [name] edge function" | | All Supabase Edge Functions | "Deploy all edge functions" | | New migration file | "Apply pending Supabase migrations" | | New table needed | "Create a [name] table with columns: [list]" | | RLS policy | "Enable RLS on [table] allowing [who] to [what]" | | Storage bucket | "Create a [public/private] bucket called [name]" | | Secret/env var | Manual: Cloud → Secrets → Add |
> Note: TanStack server functions (createServerFn) are not Supabase Edge Functions. They live in app/ and deploy automatically via GitHub sync — no Lovable prompt needed. Only supabase/functions/ requires manual deployment.
project/
├── app/ # ✅ Safe - auto-syncs
│ ├── routes/ # File-based routing
│ │ ├── __root.tsx # Root layout
│ │ ├── index.tsx # Home page (/)
│ │ └── [route].tsx # Other pages
│ ├── components/ # Shared UI components
│ ├── lib/ # Utilities and helpers
│ └── *.server.ts # ✅ Server functions (auto-deploy)
├── app.config.ts # TanStack Start config
├── public/ # Static assets
├── supabase/
│ ├── functions/ # ✅ Edit code, ⚠️ needs deploy
│ └── migrations/ # ✅ Create files, ⚠️ needs apply
└── CLAUDE.md # Project contextLovable uses two-way GitHub sync on the main branch only:
When backend deployment is needed, always output:
📋 **LOVABLE PROMPT:**
> "[exact prompt to copy-paste]"For destructive operations, add:
⚠️ **Warning**: [explanation of risk]vite.config.ts present)project/
├── src/ # ✅ Safe - auto-syncs
│ ├── components/
│ ├── pages/
│ ├── hooks/
│ ├── lib/
│ └── integrations/supabase/
│ ├── client.ts # ⚠️ Has Supabase URLs
│ └── types.ts
├── supabase/
│ ├── functions/ # ✅ Edit code, ⚠️ needs deploy
│ │ └── [function-name]/
│ │ └── index.ts
│ ├── migrations/ # ✅ Create files, ⚠️ needs apply
│ │ └── YYYYMMDDHHMMSS_*.sql
│ └── config.toml # ⚠️ Lovable Cloud manages
├── .env # Local only - Lovable ignores
└── CLAUDE.md # Project contextapp.config.ts present)project/
├── app/ # ✅ Safe - auto-syncs
│ ├── routes/ # File-based routing
│ │ ├── __root.tsx # Root layout
│ │ ├── index.tsx # Home route (/)
│ │ └── [name].tsx # Named routes
│ ├── components/ # Shared components
│ ├── lib/ # Utilities
│ ├── integrations/supabase/ # Supabase client + types
│ └── *.server.ts # ✅ Server functions (auto-deploy, no prompt needed)
├── app.config.ts # TanStack Start config
├── public/ # Static assets
├── supabase/
│ ├── functions/ # ✅ Edit code, ⚠️ needs deploy via Lovable
│ │ └── [function-name]/
│ │ └── index.ts
│ ├── migrations/ # ✅ Create files, ⚠️ needs apply via Lovable
│ │ └── YYYYMMDDHHMMSS_*.sql
│ └── config.toml # ⚠️ Lovable Cloud manages
├── .env # Local only - Lovable ignores
└── CLAUDE.md # Project contextsupabase functions deploy"Deploy all edge functions"
"Deploy the send-email edge function"
"Create an edge function called [name] that [description]"
"Show logs for [name] edge function"
"The [name] edge function returns [error]. Fix it""Create a [name] table with columns: id (uuid), name (text), created_at (timestamp)"
"Add a [column] column of type [type] to [table]"
"Add foreign key from [table1].[col] to [table2].id"
"Apply pending Supabase migrations""Enable RLS on [table]"
"Add RLS policy on [table] allowing authenticated users to read all rows"
"Add RLS policy on [table] allowing users to only access their own rows""Create a public storage bucket called [name]"
"Create a private storage bucket called [name]"
"Allow authenticated users to upload to [bucket]""Enable Google authentication"
"Enable GitHub authentication"
"When user signs up, create row in profiles table"main syncs with LovableWhen yolo_mode: on in CLAUDE.md, deployments are automated via browser automation:
Instead of showing manual prompts, the yolo skill (/skills/yolo/SKILL.md) takes over:
/lovable:deploy-edge command/lovable:apply-migration commandyolo_mode: on in CLAUDE.md/lovable:yolo on # Enable with testing
/lovable:yolo on --no-testing # Enable without testing
/lovable:yolo on --debug # Enable with verbose logs
/lovable:yolo off # Disable⚠️ Yolo mode is in beta:
/skills/yolo/SKILL.md for detailsmain branch?yolo_mode: on in CLAUDE.md| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 9,510 | 4,516 | -53% | 1 | 1 | 0% | 1,547 | 3,399 | +120% | 0 | 0 | — |
case-02 | fail→pass | 7,657 | 4,615 | -40% | 1 | 1 | 0% | 1,308 | 3,385 | +159% | 0 | 0 | — |
case-17 | pass→pass | 11,702 | 9,144 | -22% | 1 | 1 | 0% | 1,827 | 3,499 | +92% | 0 | 0 | — |
case-03 | fail→pass | 10,678 | 7,397 | -31% | 1 | 1 | 0% | 1,979 | 3,593 | +82% | 0 | 0 | — |
case-04 | pass→pass | 12,797 | 23,318 | +82% | 1 | 1 | 0% | 2,631 | 3,993 | +52% | 0 | 0 | — |
case-05 | pass→pass | 7,821 | 2,968 | -62% | 1 | 1 | 0% | 1,524 | 3,193 | +110% | 0 | 0 | — |
case-06 | fail→pass | 6,425 | 4,686 | -27% | 1 | 1 | 0% | 1,133 | 3,603 | +218% | 0 | 0 | — |
case-07 | fail→pass | 7,768 | 1,896 | -76% | 1 | 1 | 0% | 1,315 | 2,967 | +126% | 0 | 0 | — |
case-08 | pass→pass | 5,987 | 4,498 | -25% | 1 | 1 | 0% | 959 | 3,469 | +262% | 0 | 0 | — |
case-09 | pass→pass | 10,216 | 3,665 | -64% | 1 | 1 | 0% | 1,098 | 3,241 | +195% | 0 | 0 | — |
case-10 | fail→pass | 5,120 | 2,469 | -52% | 1 | 1 | 0% | 845 | 2,989 | +254% | 0 | 0 | — |
case-11 | fail→fail | 6,363 | 3,950 | -38% | 1 | 1 | 0% | 1,037 | 3,209 | +209% | 0 | 0 | — |
case-18 | pass→pass | 15,364 | 8,471 | -45% | 1 | 1 | 0% | 2,539 | 3,985 | +57% | 0 | 0 | — |
case-12 | fail→pass | 9,136 | 3,020 | -67% | 1 | 1 | 0% | 1,509 | 3,167 | +110% | 0 | 0 | — |
case-13 | pass→pass | 8,553 | 3,854 | -55% | 1 | 1 | 0% | 1,502 | 3,353 | +123% | 0 | 0 | — |
case-14 | fail→pass | 10,195 | 3,595 | -65% | 1 | 1 | 0% | 1,723 | 3,186 | +85% | 0 | 0 | — |
case-15 | fail→pass | 9,832 | 4,255 | -57% | 1 | 1 | 0% | 1,681 | 3,416 | +103% | 0 | 0 | — |
case-16 | fail→fail | 12,463 | 1,697 | -86% | 1 | 1 | 0% | 1,987 | 2,943 | +48% | 0 | 0 | — |
case-19 | pass→pass | 9,115 | 4,760 | -48% | 1 | 1 | 0% | 1,548 | 3,491 | +126% | 0 | 0 | — |
case-20 | pass→pass | 8,138 | 9,950 | +22% | 1 | 1 | 0% | 1,349 | 3,405 | +152% | 0 | 0 | — |
case-21 | pass→pass | 10,624 | 5,951 | -44% | 1 | 1 | 0% | 2,008 | 3,934 | +96% | 0 | 0 | — |
case-22 | pass→pass | 8,491 | 5,620 | -34% | 1 | 1 | 0% | 1,605 | 3,839 | +139% | 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 +36 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.