ai-revision-guard
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Gecti
- Code scan — Scanned 6 files during light audit, no dangerous patterns found
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Agent skill that stops AI from over-editing academic writing: a revision cap with an on-disk round log, scripted homogenization checks, and domain presets for 8 fields. Works with Claude Code, Codex, and Gemini CLI.
Revision Guard
Stop AI from over-editing your writing.
AI always finds something to "improve." You iterate, then iterate again — until
your text becomes what Liz Fosslien calls "Frankenstein-ed slop": polished on
the surface, stripped of your voice underneath.
The research agrees. When three production LLMs revised student essays from
expert feedback, all three pushed the essays in the same semantic direction,
and the most aggressive one moved the vocabulary nearly three times as far
from the draft as human revisers did. Asked for grammar fixes only, the models
still changed what the essays meant (Abdulhai et al., 2026, preprint).
Revision Guard is a Claude Code skill that limits revision rounds, preserves
the author's voice, and warns when edits are making text worse instead of
better. It works for dissertations, journal papers, grant proposals, and any
academic writing where your voice matters.
Installation
Pick one.
As a skill (any agent that reads SKILL.md files):
git clone https://github.com/ShiyanW/ai-revision-guard.git ~/.claude/skills/revision-guard
Update later with git -C ~/.claude/skills/revision-guard pull.
As a Claude Code plugin:
/plugin marketplace add ShiyanW/ai-revision-guard
/plugin install revision-guard@ai-revision-guard
Compatible with Claude Code, Codex, OpenClaw, Gemini CLI, or any agent that
reads SKILL.md files. The diff checker needs Python 3.9+ and nothing else.
What happens when you use it
When you ask to revise text, the skill runs a 6-step protocol:
- Anchor — locks what should not change. For one passage with a clear
instruction it states the default locks and gets on with it; for a whole
chapter or a vague request it asks first. "Everything is open" means no
forced locks. - Classify — labels the edit type (structural, substantive, language,
formatting, or full rewrite) and states what it will and won't change. - Execute — checks claims first, then cuts defensive filler, and only
then polishes sentences. Makes the fewest changes that accomplish your
goal, blocks 12 common AI substitutions ("It is worth noting..." etc.),
and flags context-dependent words when overused. - Report — rates the revision as substantial, minor polish, or marginal,
next to the diff checker's verdict. If marginal, suggests you stop. - Limit — caps at 2 rounds per section, counted in a
.revision-log.md
file in your project so the count survives new sessions. Round 3 triggers
a warning with three options: finalize, edit yourself, or start fresh.
Reviewer or advisor comments restart the count. You can override. - Detect — runs
scripts/diff-check.pyon the before/after text, plus a
7-point checklist for what a script can't see. Two or more flags: warns
you and offers to revert.
If Codex is installed, a second model reviews substantive revisions in
parallel (step 5b).
Usage
The skill activates automatically on revision requests. You can also say:
| Command | What it does |
|---|---|
| "Lock this paragraph" | Protects its meaning and tone |
| "Unlock everything" | Full revision permission, no forced locks |
| "Is this good enough?" | Honest assessment: stop or keep going |
| "Am I over-editing?" | Checks revision count and homogenization |
| "Revert last round" | Undoes the most recent revision |
| "Use economics preset" | Auto-locks results interpretation, identification strategy, contributions |
| "Continue anyway" | Overrides the revision cap |
| "Finalize" | Marks the section done in the revision log |
| "Cross-check this" / "Skip cross-check" | Turns the second-model review on or off |
Optional: Cross-model verification
The skill's self-assessment has a known limitation — the same model that made
the revision judges whether it was good. Research shows this is unreliable.
If you have Codex installed, the skill can
send your before/after text to GPT for an independent homogenization check.
This catches blind spots the primary model misses.
Setup:
# Step 1: Install Codex CLI
npm install -g @openai/codex
# Step 2: Log in
codex login
# Step 3: Add the plugin marketplace in Claude Code
/plugin marketplace add openai/codex-plugin-cc
# Step 4: Install the plugin
/plugin install codex@openai-codex
# Step 5: Verify
/codex:setup
Requires Node.js 18.18+. Full details: codex-plugin-cc
Usage: Once Codex is installed, the cross-check runs automatically on
substantive revisions, full rewrites, round 2 and later, and high-stakes
sections (results, identification, contributions). Say "skip cross-check" to
turn it off for a revision. Not required — the skill works fine without
Codex.
Domain presets
Each preset defines sections that are locked by default — grammar fixes only,
no rephrasing:
| Domain | Locked by default |
|---|---|
| Economics | Results interpretation, identification strategy, contribution claims |
| Law | Legal reasoning chains, case citations, jurisdictional specificity |
| Medicine | Clinical findings, diagnostic reasoning, treatment protocols |
| Humanities | Authorial voice, interpretive arguments, close reading passages |
| STEM | Methodology descriptions, data interpretations, technical specs |
| Psychology | Statistical reporting (APA), operationalizations, participant descriptions |
| Political Science | Causal identification, institutional descriptions, case selection rationale |
| Education | Intervention descriptions, assessment instruments, effect sizes |
All locks are defaults — override any of them by saying "unlock [section]."
For fields not listed, the skill asks which sections you consider core arguments.
Validation tool
After any revision, run the diff checker to quantify homogenization:
python3 scripts/diff-check.py original.txt revised.txt
python3 scripts/diff-check.py --mode substantive original.txt revised.txt
python3 scripts/diff-check.py --mode rewrite original.tex revised.tex
In edit mode it runs seven checks: word-count growth, first-person erosion,
numbers dropped from the original (it names them), hedge density,
sentence-length uniformity, stock transitions ("Moreover," "Furthermore,"),
and paragraphs that end on a summary closer ("This suggests..."). Two or more
flags = homogenization warning.
Pick the mode that matches the edit type. Substantive mode expects added
material, so it reports word-count growth without flagging it. Rewrite mode is
for full rewrites, where every word changes by design: it flags the new text
only where it is weak in its own right and worse than the original. Both run
six checks..tex files have comments and \cite/\ref commands stripped first; add--json for machine-readable output. Python 3.9+, standard library only.
Tests: python3 -m unittest discover -s tests -v.
Repository structure
ai-revision-guard/
├── SKILL.md # Core skill (the protocol)
├── README.md # This file
├── LICENSE # MIT
├── CHANGELOG.md # Version history
├── CONTRIBUTING.md # How to add domain presets
├── .claude-plugin/
│ ├── plugin.json # Plugin manifest
│ └── marketplace.json # Lets /plugin marketplace add find it
├── .github/workflows/tests.yml # Runs the unit tests on Linux and Windows
├── examples/
│ └── economics-revision-demo.md # Full before/after/report walkthrough
├── evals/
│ ├── evals.json # 8 behavior evals (skill-creator format)
│ └── files/ # Inputs the evals use
├── scripts/
│ └── diff-check.py # Post-revision homogenization checker
├── tests/
│ ├── test_diff_check.py # Unit tests for diff-check.py
│ └── fixtures/ # Before/after texts used by the tests
└── references/
├── research-evidence.md # 8 cited sources
├── over-refinement-patterns.md # 16 patterns in 6 categories
└── domain-presets.md # 8 field-specific configurations
Research and inspiration
- Liz Fosslien on AI and perfectionism (LinkedIn post) — the "Frankenstein-ed slop" problem
- Abdulhai et al. (2026), How LLMs Distort Our Written Language (preprint) — LLM edits shift meaning in a common direction, even under grammar-only instructions; heavy LLM use raised the share of neutral essays by 68.9%
- Chakrabarty, Laban & Wu (2025), Can AI Writing Be Salvaged? (CHI 2025) — professional writers' seven-category taxonomy of AI-text problems
- Moon, Green & Kushlev (2025) (Computers in Human Behavior: Artificial Humans) — the diversity gap between human and GPT-4 essays grows with volume and survives prompt tuning
- Xie & Xie (2026), When AI Makes Everything Similar (Chinese Journal of Sociology) — regression toward the mean
- Huang et al. (2024), LLMs Cannot Self-Correct Reasoning Yet (ICLR 2024) and Kamoi et al. (2024) (TACL) — self-correction needs external feedback
Full notes, including study limits, are inreferences/research-evidence.md.
Contributing
Issues and PRs welcome — especially new domain presets. See
CONTRIBUTING.md for a fill-in template and guidelines.
License
MIT. See LICENSE.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi