Migration Until Applied
Run database migrations, fix schema issues, and loop until migrations apply cleanly in dev.
15 copies · 74 views
by loops!
Use loop copies the kickoff. Share copies the loop link. Open in Cursor / Claude Code only pre-fill that prompt — they do not install hook files. Download loop saves a README and kickoff into .cursor/loops/migration-until-applied/ — no hooks required. Full install guide
- Do not modify the check command or exit criteria to force success
- Do not skip, disable, or bypass checks to pass the exit condition
- If stuck after several iterations, stop and report blockers instead of gaming metrics
Two separate pieces
- Kickoff prompt — tells the agent the goal, check command, exit condition, and how to self-pace between passes.
- 1
Copy or open the kickoff prompt
Click Use loop to copy the kickoff into your clipboard. Open in Cursor and Open in Claude Code only open the agent with that prompt — they do not configure automation for you.
- 2
Paste into your coding agent
Start a chat in Cursor, Claude Code, Codex, or any agent. Paste the kickoff. The prompt includes the goal, iteration limit, shell check, and first step.
- 3
Agent self-paces until done
The agent runs the loop: act → run check command → read output → repeat until the exit condition is met or max iterations is reached. No install step is required for prompt-only loops.
Full guide with Cursor /loop notes: How to install loops
1. Run migrations
Apply pending migrations with the project's migration command.
npx prisma migrate dev
2. Fix schema errors
If migration fails, fix schema or SQL, regenerate client if needed, and retry.
3. Verify
Confirm migration history is consistent and app still starts.
npx prisma migrate status
Start the "Migration Until Applied" loop. Goal: all database migrations apply cleanly Max iterations: 6 Between iterations run: npx prisma migrate status Exit when: migrate status shows no pending failures Step 1: Run migrations. Fix schema or SQL errors, then repeat until status is clean. Self-pace this loop. After each iteration, run the check command, read the output, and only continue if the exit condition is not met. Stop when the exit condition passes or max iterations is reached. Give a short status update each pass.