staged-db-admin
Running on this pageEdits a live production database, and cannot write a single row until a person has read the diff and approved it.
An assistant with database access is one confident mistake away from locking the wrong person out of every tool they use. Most setups that let AI run SQL fail the same three ways: they guess at record ids, they write changes the app's own audit log never sees, or they fire one unfiltered UPDATE and take out a table.
What it actually does
- Reads current state first, and validates every key and id against the live schema before it stages anything. It never guesses an id.
- Renders the change as a before and after diff, and states the blast radius out loud (how many people this hits) before it asks.
- Stops. Approve, reject, or edit. "Edit" sends it back to restage, and a batch of ten changes still gets one diff and one approval.
- On approve, it writes the same audit row the app's own admin screen writes, so a change made by the skill is indistinguishable from one made by clicking around in the UI.
- DROP, TRUNCATE, and any DELETE or UPDATE without a filter are hard forbidden. It will not stage them at all.
- Covers the real jobs: onboard a person, offboard a person, change a role, grant or revoke a tool for an entire role, fix a tool's link, and archive a tool instead of deleting it.
- Offboarding always surfaces the same caveat: removing the portal is not the same as closing their accounts in the other systems.
You configure it before first use: your Postgres project and database, how the assistant runs SQL, your app's admin and audit paths, and whether accounts have to be on a specific email domain.
The demo above is the behaviour, staging and refusals included, against a made-up company.