Skip to content

Instantly share code, notes, and snippets.

@MichaelCurrie
Last active July 15, 2026 03:52
Show Gist options
  • Select an option

  • Save MichaelCurrie/b6f5b4ce64cba1bd1bf5f034ed51a4fb to your computer and use it in GitHub Desktop.

Select an option

Save MichaelCurrie/b6f5b4ce64cba1bd1bf5f034ed51a4fb to your computer and use it in GitHub Desktop.
AI Clause Audit Skill
name clause-audit
description A clause-by-clause self-editing pass that eliminates confused metaphors, misassigned predicates, inverted logic, and AI-tell sentence scaffolding. Use this skill ONLY when (a) the user explicitly requests it — asks for an audit, a clause check, "good writing," or complains about AI-sounding prose or mixed metaphors — or (b) the deliverable is final prose intended for publication or external readers, such as an essay, article, blog post, magazine feature, report, or manifesto. Do NOT apply it to chat answers, brainstorms, outlines, emails, summaries, notes, or intermediate drafts unless asked.

Clause Audit

Scope — run this only when it's warranted

The audit multiplies token cost roughly 8x and turns a 30-second response into minutes. Run it only when:

  1. Explicitly requested — the user asks for an audit, a clause check, careful editing, or complains about AI-sounding prose; or
  2. The output is final and publishable — an essay, article, feature, report, or manifesto headed for readers other than the user.

Do not run it on chat answers, brainstorms, outlines, emails, casual drafts, or intermediate versions. If a draft seems to deserve it but neither condition holds, finish the draft and offer the audit rather than performing it. When in doubt, skip.

Overrule rule: the audit flags rule-breaking; it does not get the final word. Intentional catachresis survives — "take arms against a sea of troubles" fails the domain check because its incoherence carries the meaning. The test when a flagged clause might be deliberate: does the clash do semantic work, or did the sentence merely grab a vivid verb? Keep the first kind; fix the second.

Prose fails in ways that are invisible at reading speed but obvious under parsing. The most common failures in AI-generated text are not grammar errors — they are reference errors: a predicate attached to a subject it cannot be true of, a metaphor whose vehicle cannot perform the verb, a comparative pointing the opposite direction from the argument, or a defined term silently swapped for its cause, effect, or neighbor.

This skill is a two-phase procedure: draft, then audit. The audit is not optional and is not a skim. It burns tokens deliberately — that is the point.

Phase 1: Draft

Write the piece normally. Do not audit while drafting; it kills flow and you will audit everything anyway.

While drafting, maintain a term ledger: every time the piece defines a term (explicitly or by strong implication), note the term and its definition. Example: if the draft defines privacy as "a condition maintained by systemic bottlenecks," the ledger records privacy = the condition (state), bottleneck = the mechanism producing it. These are now distinct entities and may not be substituted for one another later.

Phase 2: Audit — every sentence, every clause

Go through the draft sentence by sentence. For each sentence, decompose it into clauses (main and subordinate). For each clause, perform these checks explicitly, in your reasoning, not by feel:

Check 1: Parse the clause

Label the grammatical core: subject, verb, object/complement. For subordinate clauses, appositives, and participial phrases ("creating loopholes like..."), identify what noun each one attaches to.

Check 2: Predicate-subject fit

Ask: can this predicate literally be true of this exact subject?

  • Can the subject perform this verb? (A web cannot slam. A pipeline cannot crawl — crawlers crawl; pipelines convey. "The model's accuracy learns from each mistake" fails: the model learns; accuracy improves. A framework is not passed — laws are.)
  • Can the object receive this verb? (A loophole is closed, sealed, or plugged — not slammed shut. "Rising costs ate into the timeline" fails: costs eat into budgets and margins; delays eat into timelines.)
  • Is the agent on the right side of the verb? "Her promotion earned years of hard work" is inverted — the hard work earned the promotion.
  • Is the predicate actually true of the subject, or of the subject's cause, effect, mechanism, or container? This is the highest-value check. Failure example: "Privacy was a technological bottleneck" when the piece defined privacy as the state maintained by bottlenecks — the predicate belongs to the mechanism, not the state. Rewrite: "Privacy was the byproduct of a technological bottleneck." Same family: "The recession was a collapse in consumer confidence" — the collapse triggered the recession; it wasn't the recession itself.

Check 3: Metaphor domain consistency

For every non-literal word, name its source domain (mesh/net, door, hole-in-fabric, machinery, disease, journey, combat, death...). All figurative words in a single clause must live in one domain, or the clause must be fully literal.

  • "The web of surveillance slammed the loophole shut" = mesh + door + fabric-hole in one clause. Fail.
  • "Let's drill down into the low-hanging fruit" = mining + orchard. Fail.
  • "The seeds of doubt snowballed into an avalanche" = botany + snow. Fail.
  • "The project took flight once we ironed out the bottlenecks" = aviation + laundry + glassware. Fail — wrinkles are ironed out; bottlenecks are cleared.
  • Also check verbs of death/life against their subjects: bottlenecks are removed or widened, not dead; friction drops, it does not die.
  • A metaphor introduced with fanfare ("a massive sociological rubber-band effect") must either be developed in the following sentences or cut. An announced-then-abandoned metaphor is a fail.

Check 4: Reference resolution

For every pronoun and definite noun phrase ("it," "this," "that gap," "the loophole"), state the exact antecedent. Then re-run Check 2 with the antecedent substituted in. Many failures hide here: "it" grammatically points at one noun while the writer meant its neighbor.

  • "The council denied the protesters a permit because they feared violence" — "they" grammatically resolves to protesters; the writer meant the council. Fail.
  • "The senator condemned the paper's coverage of the merger, which he called reckless" — "which" attaches to merger; the writer meant the coverage. Fail.
  • Bare "this" opening a sentence after a multi-claim paragraph ("This is why regulation fails") — if three candidate antecedents exist, name one explicitly.

Check 5: Category match in appositions and analogies

For every "X, like Y," "X is Y," "X such as Y": confirm X and Y are the same category of thing. "Loopholes like the Golden Age of the Serial Killer" fails — an era is not a loophole; the loophole produced the era. "Vulnerabilities like the Equifax breach" fails — a breach is an event; the vulnerability was the flaw that enabled it. "Innovations such as the smartphone era" fails — the smartphone is the innovation; the era is its aftermath. In every case, rewrite to make the causal relationship explicit rather than flattening cause and effect into one category.

Check 6: Directional logic

For every comparative, distance, or trajectory claim ("one X away from Y," "closer to," "the opposite of," "away from Y toward Z"): trace the direction stated and compare it against the direction the surrounding argument requires. "One good leader away from being tolerable" asserts the state is currently intolerable — if the argument is that it is tolerable now and fragile, the correct sentence is "one succession away from a ruler who isn't benevolent." Likewise "each near-miss brought the airline closer to a perfect safety record" — near-misses move it away from that record. Aphoristic-sounding sentences are the most likely to be inverted; give them extra scrutiny precisely because they sound finished.

Check 7: Term ledger consistency

Check every occurrence of a ledger term against its recorded definition. A term may not silently shift referent between sections ("friction" as protective cost of data access in one section and pain of transition in another is a fail — rename one of them; "signal" as statistical evidence early and "sent a strong signal to investors" later is the same fault). Cause/effect/mechanism/state substitutions are the most common drift.

Check 8: Banned scaffolding

Flag and rewrite these AI-tell constructions on sight:

  • "It's not X, it's Y" / "This isn't about X — it's about Y" and all variants. State Y directly.
  • "X isn't just A; it's B."
  • Rule-of-three lists used as rhythm filler rather than content ("time, cost, or effort" is fine if all three are load-bearing; audit whether they are).
  • Em-dash-appended punchlines that restate the sentence they follow.
  • "In a world where..." openers; "At its core," "Ultimately," "In essence" as paragraph starters.
  • Announcement sentences that describe what the next sentence will do instead of doing it.

Phase 3: Rewrite and re-audit

Rewrite every failing clause. Re-run Checks 1–8 on each rewritten sentence — rewrites introduce fresh failures at a surprisingly high rate. A sentence is done only when it passes all checks in its final form.

When rewriting a broken metaphor, prefer in this order:

  1. Go fully literal ("has closed that gap").
  2. Commit to one domain and extend it properly.
  3. Only then reach for a new metaphor — and audit it.

Output discipline

  • Perform the audit in reasoning/working notes, not in the deliverable. The user receives clean prose (plus, if they asked for it, a change log of the significant fixes with the failed check named for each).
  • Never skip the audit because the draft "reads well." The failures this skill targets are specifically the ones that read well at speed.
  • On long pieces, audit in passes of 5–10 sentences to keep the parsing honest; do not batch-wave entire paragraphs through.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment