ivy-interactive/ivy-framework/ivy-convert-lovable
Claude Code and agent skill by ivy-interactive/ivy-framework
- community
Checking that the SKILL.md file is still in the repository.
Convert a Lovable (lovable.dev) application to an Ivy project. Use when the user wants to migrate from Lovable, convert a Lovable app, or build an Ivy app from a Lovable project. Lovable generates React+Vite+TypeScript apps with Supabase backends. Handles GitHub URLs and local paths.
Install
npx vskill@latest install ivy-interactive/ivy-framework/ivy-convert-lovableSKILL.md
ivy-convert-lovable
Convert a Lovable (lovable.dev) application to an Ivy project. Lovable generates React+Vite+TypeScript apps with Supabase backends.
Pre-flight: Read Learnings
If the file .ivy/learnings/ivy-convert-lovable.md exists in the project directory, read it first and apply any lessons learned from previous runs of this skill.
Reference Files
Read before implementing:
- references/AGENTS.md -- Ivy framework API reference (widgets, hooks, layouts, inputs, colors)
Reference Files
The references/ folder contains 31 reference files with React/shadcn-to-Ivy component mappings. Read the relevant reference files before implementing the conversion to understand how to map Lovable/React features to Ivy features.
Step 1: Locate the Lovable Project
You need a path to a cloned Lovable GitHub repository or a GitHub URL. Check if a value was provided via $ARGUMENTS. If not, ask the user to provide one.
- If it is a GitHub URL (starts with
https://github.com/): Clone it to.ivy/source/<repo-name>/usinggit clone <url> .ivy/source/<repo-name>/and use that as the path going forward. - If it is a local path: Use it directly.
- Verify the path exists with
test -d "<path>"and is a valid project withtest -f "<path>/package.json".
Step 2: Verify it is a Lovable Project
Check for these identifying markers:
package.jsonwith Vite+React+TypeScript setup (often"name": "vite_react_shadcn_ts")src/integrations/supabase/client.ts(auto-generated Supabase client)src/integrations/supabase/types.ts(auto-generated DB types)supabase/config.toml(Supabase project config)components.json(shadcn/ui config)public/lovable-uploads/directory (Lovable-specific assets)
If none of these markers are present, report that this does not appear to be a Lovable project and suggest verifying the path.
Step 3: Research -- Extract Database Schema
Read these files in priority order:
src/integrations/supabase/types.ts-- The most complete source. Contains a typedDatabaseobject withTables,Views,Functions,Enumsfor each schema. Each table hasRow,Insert,Updatetypes with all columns and their TypeScript types.supabase/migrations/*.sql-- Authoritative SQL schema history. Migration filenames follow patternYYYYMMDDHHMMSS_<description>.sql. Parse forCREATE TABLE,ALTER TABLE,CREATE TYPE,CREATE POLICY,CREATE FUNCTION,CREATE TRIGGER,CREATE INDEX.supabase/config.toml-- Containsproject_idand edge function declarations withverify_jwtsettings.
For each table, document: name, columns with types, nullable status, defaults, primary keys, foreign keys, and any enums.
Step 4: Research -- Extract Edge Functions
Read supabase/functions/*/index.ts for each edge function:
- Functions are Deno/TypeScript using
serve()fromhttps://deno.land/std@0.168.0/http/server.ts - Access env vars via
Deno.env.get("SECRET_NAME") - Common patterns: CORS handling, JWT verification, external API calls (Stripe, OpenAI, ElevenLabs, Resend)
- Edge function declarations in
supabase/config.tomlunder[functions.<name>]withverify_jwtsettings - For each function, document: name, purpose, HTTP methods, auth requirements, external API dependencies, env vars needed
Step 5: Research -- Extract Frontend Structure
Read these files to understand the app structure:
src/App.tsx-- Route definitions mapping paths to page componentssrc/pages/*.tsx-- Each file is a route/pagesrc/hooks/*.ts(x)-- Custom React hooks, often for Supabase data fetchingsrc/components/**/*.tsx-- Feature-organized components (skipsrc/components/ui/*.tsx-- those are shadcn/ui primitives that map to Ivy widgets)src/lib/*.ts,src/utils/*.ts-- Utility functionssrc/types/*.ts-- Custom type definitions (if present)
Step 6: Research -- Identify Data Sources and Connections
- Supabase tables from types.ts -> Convert to Ivy database Connection
- External APIs called from edge functions -> Note for manual setup
- Auth patterns (Supabase Auth) -> Map to Ivy auth patterns
- Supabase Realtime subscriptions -> Note for Ivy real-time handling
- Supabase Storage usage -> Note for Ivy file storage
Step 7: Research -- Map Pages to Ivy Apps
- Each meaningful page becomes an Ivy App
- Landing/marketing pages may be skipped or simplified
- Auth pages are handled by Ivy's built-in auth
- CRUD pages -> DataTable + Sheet/Dialog pattern
- Dashboard pages -> Chart widgets + KPI cards
- Form pages -> Form widgets
Step 8: Present the Conversion Plan
Given the research output, present the user with a plan using the following structure:
Step 9: Implementation
Identify if there are any connections (db, auth, api) that should be set up using the appropriate connection skill (e.g., /ivy-create-db-connection for databases, /ivy-create-auth-connection for auth, /ivy-create-any-connection for APIs).
Given the conversion plan from the previous step, implement the conversion of the Lovable application to an Ivy application. Use the conversion plan and the reference files as guides to map Lovable/React features to Ivy features.
The conversion guide should include:
- Database schema -- All tables with columns, types mapped to C#, relationships
- Edge functions -- Purpose, external dependencies, how to handle in Ivy
- Apps -- Each page mapped to an Ivy App with type (CRUD/Dashboard/Ad-hoc), widgets needed, and data sources
- Auth -- How Supabase Auth maps to Ivy auth
- Component mapping -- Which React/shadcn components are used and their Ivy equivalents
- Hooks and state -- How React hooks and state management map to Ivy patterns
Post-run: Evaluate and Improve
After completing the task:
- Evaluate: Did the build succeed? Were there compilation errors, unexpected behavior, or manual corrections needed during this run?
- Update learnings: If anything required correction or was surprising, append a concise entry to
.ivy/learnings/ivy-convert-lovable.md(create the file and.ivy/learnings/directory if they don't exist). Each entry should note: the date, what went wrong, why, and what to do differently next time. - Skip if clean: If everything succeeded without issues, do not update the learnings file.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingsrc/claude-plugin/skills/ivy-convert-lovable/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/ivy-interactive/ivy-framework/ivy-convert-lovable)