Copilot Actions works a folder of files from plain English, no SQL and no script in sight. Your Supabase content lives in a database, not a folder, and the only way to bulk-edit it is a statement run against production with no review attached. So the pass you want, trim every blurb to 60 words and fill the empty meta_description, never feels safe to run.
Scratch pulls a table down, one file per row. Copilot edits the prose columns on your laptop; Scratch shows each change as a diff; it commits only the rows you approve, through the standard Postgres driver. Keys, constraints, and the auth and storage schemas stay untouched.
How it works
- Scratch pulls a table into files. Pick a table and each row becomes a local file on your laptop, prose columns laid out to edit.
- Copilot edits the rows. Open the Copilot app on Windows and attach your Scratch folder to Copilot Actions. Describe the change in plain English and it works through the table in its own agent workspace while you watch. Rewrite every product blurb to under 60 words and fill the empty meta_description column. Copilot works the files, never the live table.
- You review every diff and publish. Back in the Scratch app, each changed column sits beside the original, word by word. Approve what holds up, and Scratch updates only those rows through the Postgres driver.
What people use it for
The content edits that turn into hand-written SQL because there is no CMS in front:
- Rewrite product copy or blog posts that live straight in the database.
- Fill empty meta_description, slug, or title columns across a content table.
- Trim every blurb to the length your UI actually expects.
- Normalize a JSONB content field across rows.
- Clean a knowledge-base table before it backs search.
Run it on 50 rows to feel the loop, then let it take the table.
Why not an MCP server?
A Supabase MCP server, or a service-role script, hands an agent a live connection to your database. One bad query rewrites every row at once, with no review in between and Row-Level Security bypassed.
Scratch gives Copilot the same reach against a local copy instead. The write-back is lifted out and handed to you. Copilot can change anything in the folder; only you can commit it. On a production database, that gap is the whole point.
What Copilot edits in Supabase
- Text and rich-text columns in any user-defined table
- JSON and JSONB columns
- Slug, title, and description fields
- Row-level edits, no schema changes
Primary keys, foreign keys, timestamps, computed columns, and check constraints stay where they are. The auth and storage schemas are excluded from discovery, so user accounts and uploaded files are out of scope, and validators enforce your column constraints so Copilot cannot write a value the database would reject. The full picture lives on Scratch for Supabase.
Questions people ask
Is this a Copilot plugin or an MCP server?
Neither. A plugin or an MCP would hand the agent a live write path to your database. Scratch keeps it. Copilot Actions only ever sees files in the Scratch folder, and writing back is a separate step you approve, one row at a time.
Does it change my schema or my keys?
No. Primary keys, foreign keys, timestamps, computed columns, and check constraints stay locked, and the auth and storage schemas are excluded entirely. Copilot edits content columns only, and validators reject anything the database would.
Can I roll a change back after it writes?
Yes. Scratch keeps the original beside the rewrite, so every written row reverts per row. You decide which version stays.
How is this different from a raw UPDATE or a migration?
A hand-written UPDATE does exactly what you spelled out and nothing smarter, and it writes straight to the live table with no row-by-row review. Copilot handles the rows a single statement cannot, and Scratch still holds every change for review before it commits.
Can it run across a whole table from one brief?
Yes, that is the use case. Run it on 50 rows to feel the flow, then describe the change for the whole table.
Do I need to be technical?
Setting up the Supabase connection takes a connection string, which is the one technical step. After that, Copilot Actions takes a plain-English instruction, and you approve the diffs in the Scratch app. You do need the Copilot app on Windows.
See it on your own table
The fastest way to trust it is to watch it run on your data. See it run on your Supabase tables →, or download Scratch free and take the first pass yourself.