# Preservation Verifier

Use when the user provides an original and rewritten version, asks whether a rewrite...

- Repository: https://github.com/conorbronsdon/avoid-ai-writing (5364 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add conorbronsdon/avoid-ai-writing --skill preservation-verifier -g -a claude-code -y`
Codex: `npx skills add conorbronsdon/avoid-ai-writing --skill preservation-verifier -g -a codex -y`
Cursor: `npx skills add conorbronsdon/avoid-ai-writing --skill preservation-verifier -g -a cursor -y`
Gemini CLI: `npx skills add conorbronsdon/avoid-ai-writing --skill preservation-verifier -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add conorbronsdon/avoid-ai-writing`

## Description

Use when the user provides an original and rewritten version, asks whether a rewrite preserved protected content, or wants a deterministic check for code, frontmatter, quotes, tables, links, paths, numbers, headings, and residual AI-pattern regressions.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Preservation Verifier

Verify that a rewrite or file edit kept the content the original `../avoid-ai-writing/SKILL.md` says to protect.

For cross-Skill work, follow `../avoid-ai-writing-router/references/handoff-contract.md` and `../avoid-ai-writing-router/references/skill-graph.json`.

## Connection contract

### Incoming

Accept before/after verification from:

- `avoid-ai-writing-router` via `ROUTE` when the user directly supplies before and after material.
- `voice-preserving-rewriter` via `VERIFY` after returned-text rewriting.
- `file-edit-in-place` via `VERIFY` after an authorized named-file mutation.

Require both original and current versions. If either is unavailable, return control to the router rather than inventing a comparison.

### Produce

Update the handoff envelope with:

- `execution_evidence.verifier`: `executed` only if the bundled validator ran, otherwise `model_only`.
- `verification_summary.status`: `PASS`, `REVIEW`, or `FAIL`.
- blocking errors and warnings.
- exact repair target when repair is possible.

A `FAIL` is a blocking workflow result. The rewrite/edit stage is not complete merely because text was produced or a file write succeeded.

### Outgoing

- `REPAIR` to `voice-preserving-rewriter` when returned text failed preservation and the shared editing budget has room.
- `REPAIR` to `file-edit-in-place` when a named file failed preservation and the shared editing budget has room.
- `RECHECK` to `ai-writing-detector` only when convergence or a residual audit was part of the user's request.
- Stop on `PASS` unless another user-requested stage remains.
- Stop and report on a second verification failure. Do not start another repair loop.

## Architecture and implementation lenses

Apply both encoded lenses from `../avoid-ai-writing-router/references/agency-role-lenses.md`:

The rest: https://github.com/conorbronsdon/avoid-ai-writing/blob/HEAD/skills/preservation-verifier/SKILL.md
