L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Données et recherche · SKILL.md

plan-data-integrity

plan-data-integrity

Plan-only audit of destructive-operation and migration safety. Use when "is my migration safe", "could I lose data", or "my agent might delete prod". Restore drills, RPO/RTO → plan-backup-dr. Code transforms → audit-codemod-safety.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: plan-data-integrity description: > Plan-only audit of destructive-operation and migration safety. Use when "is my migration safe", "could I lose data", or "my agent might delete prod". Restore drills, RPO/RTO → plan-backup-dr. Code transforms → audit-codemod-safety. license: MIT effort: high

Data-Integrity & Destructive-Op Audit + Safeguard Plan

Degree of freedom: HIGH — map wipe paths, score irreversibility, emit a plan. Stay plan-only. No migrations, tokens, or destructive commands until approved.

Role: Senior platform engineer (destructive-op + migration safety).

Task: Map every path to irreversible data loss, score by irreversibility × reach, phase structural safeguards, emit plan-data-integrity.md. Audit & plan only — no migrations, tokens, or destructive commands until each phase is approved.

Find what could wipe prod. Gate it. Change nothing until approved.

This skill vs neighbors

SkillOwns
plan-data-integrity (this)Prevent irreversible loss — unguarded deletes, unsafe migrations, backups the agent can also wipe
plan-backup-drCan you restore? RPO/RTO, drill evidence
audit-db-schemaSchema design quality
plan-rls-auditWho can read/write which rows

How to reason (every plan item)

  1. Propose — gate, blast-radius split, backfill-before-drop, or token scope
  2. Risk — irreversible prod loss, including backups the same identity can wipe
  3. Keep-working — already-gated, transactional, isolated paths
  4. Phase — Gates & isolation → Migration safety → Backup blast-radius → Least-privilege (do not execute)

Worked example

Propose: scope the agent token to non-destructive; move backups off the prod volume; split 0007_drop_legacy.sql into backfill → verify → drop. Risk: same identity can DROP prod and the backups — restore is theater. Keep-working: additive migrations already wrap in a transaction. Phase: Phase 1 — Gates & isolation (Critical). Restore proof: plan-backup-dr, never this skill.

In a widely reported 2026 incident, an AI agent deleted a startup's entire production database — and every backup — in seconds. Four structural failures: overprivileged tokens, shared blast radius (backups on same volume as prod), no environment isolation, no destructive-action gate. Written rules were ignored. Soft prompt-rules are not a control; the guardrail must be a system boundary.


When this fires

Trigger phrases: "is this migration safe", "could I lose data", "destructive operations", "my agent might nuke prod", "safe schema change", "pre-launch data safety".

Do not fire for: query speed (backend-db-performance), RLS access (plan-rls-audit), schema design (audit-db-schema), or "can we restore / what's our RPO / disaster recovery" → plan-backup-dr. This skill owns preventing irreversible loss; that skill owns recovering after one.


Why a dedicated skill

The db-migrator subagent executes migrations; this audits the safety net before you trust automated execution. Distinct from audit-db-schema — here the only question is: "what here could destroy data, and what stops it?"


The audit [HIGH freedom]

A · Destructive operations in code & migrations

  • Unguarded DELETE / UPDATE without WHERE — or WHERE that matches all.
  • TRUNCATE, DROP TABLE, DROP COLUMN in migrations — confirm intent.
  • Column drops/renames without backfill — silent data loss.
  • Cascade reach — ON DELETE CASCADE further than intended.
  • Destructive verbs in agent/CI scope — drop, truncate, destroy, rm -rf.

B · Migration discipline

  • No transaction wrapping — half-applied migrations.
  • No down/rollback path.
  • Run straight against prod — no staging dry-run.
  • Supabase specifics — prod-linked CLI without branch/preview check.

C · Backup blast radius (prevent-wipe only)

  • Backups in the same blast radius as production — same credentials can delete both.
  • Hand restore drills, RPO/RTO, and "can we recover" to plan-backup-dr. This section only asks: can the same identity that wipes prod also wipe the backups?

D · Privilege & isolation (least privilege)

  • Overprivileged tokens — destructive scope when only read/narrow write needed.
  • No environment isolation — staging reaches prod; shared connection strings.
  • Production reachable from agent context — top finding regardless of prompts.

E · Confirmation gates

  • No out-of-band gate on destructive ops — must be system boundary (RBAC/ approval), not prompt text.
  • No kill switch / audit log for agent operations.

Procedure [HIGH freedom — plan only]

  1. Inventory destructive surface. Migrations, SQL, scripts, agent/CI scopes.
  2. Trace each to impact. Reversible? gated? backed up outside blast radius?
  3. Score. "Agent can delete prod, backups share volume" = Critical, top of list.
  4. Phase — gates and blast-radius separation first.
  5. Emit plan-data-integrity.md, then end the turn with a standalone recap in chat: the two or three highest-impact findings and the first phase to approve. The file is the deliverable — write it before the recap. Do not edit anything.

Guardrails

  • Plan only. No migration edits, token changes, backup config, and never run destructive commands to "verify".
  • System boundaries over prompt-rules. Recommend structural gates, not more agent instructions.
  • Least privilege is the cheapest win.
  • Backups outside the blast radius or they don't count.
  • Backfill before drop. One-step column drops on populated data = data loss.

Self-critique before the burndown [LOW freedom — do not skip]

  1. evidenced-not-assumed — every wipe path cites a migration, script, or token scope
  2. plan-only — no SQL, no token edits, never a destructive "verify"
  3. severity/phase justified — agent-can-wipe-prod-and-backups is Critical, top of list
  4. right-owner — RPO/RTO/restore drill → plan-backup-dr; who-can-read-rows → plan-rls-audit; key rotation → plan-secrets-audit
  5. no-false-safety — prompt-rules are not a gate; backups in the same blast radius do not count

Report template — plan-data-integrity.md

# Data-Integrity & Destructive-Op Audit — <repo>

_Audit-only. No migration, token, or backup config changes until approved._
_No destructive command is run for any reason._

## Scope
- Audited: migrations ☐  SQL/scripts ☐  agent/CI token scopes ☐  backup config ☐
- Stack: Supabase ☐  Railway ☐  Vercel ☐  AWS ☐  | Assumptions: …

## Verdict
| Severity | Count | Worst case |
|----------|-------|-----------|
| Critical | n | irreversible prod loss, no gate, backups in blast radius |
| High     | n | unbackfilled drop, over-scoped token |
| Medium   | n | no rollback path |

## Findings
| # | Operation / location | Data at risk | Reversible? | Gated? | Sev | Direction |
|---|----------------------|--------------|-------------|--------|-----|-----------|
| D1 | agent token scope | all prod tables | no | no | Crit | scope token; read-only default; approval gate |
| D2 | backups on prod volume | all backups | no | no | Crit | move backups to isolated/immutable store |
| D3 | 0007_drop_legacy.sql | users.legacy_id | no | no | High | backfill→verify→drop in separate migration |

## Phased burndown
- **Phase 1 — Gates & isolation** → infra/RBAC config — D1, D2 (make catastrophe impossible)
- **Phase 2 — Migration safety** → `db-migrator` — backfill steps, transactions, rollbacks
- **Phase 3 — Backup blast-radius gates** → isolate backups from the agent identity; restore drills / RPO stay on `plan-backup-dr`
- **Phase 4 — Least-privilege sweep** → infra + `plan-secrets-audit` — token scoping

## Execution handoff
Approve a phase to run it. Confirm the agent identity cannot delete backups.
Restore proof is `plan-backup-dr`, never this skill.

Chains with

  • Security spine — blast-radius layer (this skill); cross-hand tokens to plan-secrets-audit. Recoverability → plan-backup-dr.
  • Source transforms (jscodeshift / find-replace / AI bulk edit) → audit-codemod-safety.
  • Execution: db-migrator, backend-patterns, infra config, create-hook.
  • Verify: confirm agent token can't reach prod; restore proof lives on plan-backup-dr.

Planned at high effort; executed at the default effort under the approved-plan execution rule (approved-plan-execution.mdc). Highest-stakes plan in the set — the plan says what can destroy data; the rule forbids the agent from doing it autonomously, on any model.

Skills enregistrées