ai-revision-guard

agent
Guvenlik Denetimi
Uyari
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.

SUMMARY

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.

README.md

Revision Guard

tests

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:

  1. 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.
  2. Classify — labels the edit type (structural, substantive, language,
    formatting, or full rewrite) and states what it will and won't change.
  3. 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.
  4. Report — rates the revision as substantial, minor polish, or marginal,
    next to the diff checker's verdict. If marginal, suggests you stop.
  5. 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.
  6. Detect — runs scripts/diff-check.py on 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

Full notes, including study limits, are in
references/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)

Sonuc bulunamadi