production-revert-discipline

Reverts deployed commits safely on stateful platforms with dependency checks and honest rollback PRs.

3|1|Updated Apr 8, 2026
One-click install
npx skills add https://github.com/ever-just/agentskills --skill production-revert-discipline-ever-just
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: production-revert-discipline
Source: https://github.com/ever-just/agentskills/tree/main/skills/production-revert-discipline
Command: npx skills add https://github.com/ever-just/agentskills --skill production-revert-discipline-ever-just

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Rolling back a broken production deploy is riskier than it looks: on stateful platforms like Odoo, Django, or Rails, reverting code does not uninstall modules, undo migrations, or remove user-facing artifacts, and a stale revert PR can silently rip out newer work. This Skill turns "revert that commit" into a correct, honestly-described rollback procedure. ## Core Features & Use Cases - Precise culprit identification: Uses git log -S, --since, and --stat to bind a symptom to one introducing commit, distinguishing causes from mere exposers of pre-existing behavior. - Semantic dependency checking: Detects later commits that build on the culprit's symbols or files, so a plain revert does not break downstream code. - Honest revert PRs: Structures the PR body to state what rolls back, what merging does operationally, what the revert does NOT undo (installed modules, migrations, sent emails, cached assets), and the re-landing path. - Decay rule for stale reverts: Re-validates or closes revert PRs that have sat open while the base branch moved, treating closure as a valid outcome. - Use Case: Yesterday's deploy broke a customer-facing page on your Odoo instance. Use this Skill to find the culprit commit, verify nothing later depends on it, syntax-check the reverted tree, and write a revert PR that explicitly lists what the rollback will not undo. ## Quick Start Ask the agent to revert the commit that broke yesterday's deploy and write a rollback PR that states what the revert does not undo.

Frequently Asked Questions about production-revert-discipline

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I safely revert a commit that broke production?▼

First bind the symptom to one commit using git log -S with a string tied to the symptom, then check whether later commits depend on its symbols before running git revert. Syntax-check the reverted tree and write a PR stating what was verified and what the revert does not undo.

How do I find which commit introduced a bug with git?▼

Use git log --since to list candidates in the time window, then git log -S with a string tied to the symptom to find the introducing commit, and git show --stat to confirm it touches the affected surface. Confirm the commit caused the behavior rather than merely exposing pre-existing issues.

Does git revert undo database migrations on Django or Odoo?▼

No, git revert only changes code in the tree. Applied migrations, installed modules, created records, cron jobs, and registered menus persist in the database until an explicit uninstall or migration runs, so the revert PR must list these leftovers.

Why does a clean git revert still break the build?▼

A revert can apply cleanly textually while conflicting semantically: later commits may reference symbols, models, or APIs the culprit introduced. Check with git log on the touched paths and git grep for the culprit's symbols before reverting.

When should I close a revert PR instead of merging it?▼

Close it when the base branch has moved on and later commits already fixed the symptom or built on the feature, making the revert destructive to newer work. Re-diff against the current base first, and explain the closure in a comment.

Should I revert a merge commit or the individual culprit commit?▼

Revert the individual culprit commit when possible; reverting a merge commit requires the -m 1 flag and has a different, larger blast radius. Reverting the wrong target is a common pitfall that either misses the bug or removes unrelated work.