agentleFS
momentmakermomentmaker/kaijutsu/skills/community/editorial-review/SKILL.md

editorial-review

Skill3 starsChanged 6 months agoMITView on GitHub

Multi-pass editorial review for long-form essays + articles. Run after drafting is complete, before publish. Four passes — structural / line-level / AI-tells & voice / resonance. Voice-configurable (default literary-intelligent-general). Composes deslop for final user-facing prose pass. Use when the user says "review this essay", "polish this article", "edit this draft", "check this for AI-tells", or invokes /editorial-review.

4 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

10 rules. 0 are common, 9 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 4 edited versions we read keep these.

  • 9

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read the essay file completely

    line 18
  2. Distinctive:

    Read any CLAUDE.md / AGENTS.md for project-specific editorial guidelines (if present)

    line 19
  3. Distinctive:

    Transitions: Read the last paragraph of each section and the first paragraph of the next.

    line 28
  4. Distinctive:

    Read every paragraph checking for:

    line 46
  5. Distinctive:

    Use sparingly for emphasis.

    line 84
  6. Distinctive:

    If there are fewer than 8, identify paragraphs carrying the most pressure and suggest where a cleaner release — a shorter sentence after a …

    line 151
  7. Distinctive:

    If not, identify where a hyper-specific image or second-person address would pull the reader from observer to participant.

    line 156
  8. Distinctive:

    The ending test: Read only the last 500 words.

    line 162
  9. Distinctive:

    Read the first and last paragraphs back-to-back — do they rhyme?

    line 184
  10. Very specific:

    Run deslop (composed dep) on the full essay as a final user-facing-prose pass.

    line 185

“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Editorial Review

Multi-pass editorial review for long-form essays and articles. Runs after drafting is complete, before publish.

Input

The user provides a file path to the essay. If not provided, look for the most recently modified .md file in the working directory or in content/, essays/, posts/, or drafts/.

The user can also pass a voice config to tune thresholds — see Voice configs below. Default: literary-intelligent-general.

Step 0: Load Context

  1. Read the essay file completely
  2. Read any CLAUDE.md / AGENTS.md for project-specific editorial guidelines (if present)
  3. Note the word count
  4. Note the active voice config (default literary-intelligent-general unless user specified otherwise)

Step 1: Structural Pass

Review the essay's architecture:

  • Arc: Does the essay move through distinct registers? Is there a turn or complication?
  • Transitions: Read the last paragraph of each section and the first paragraph of the next. Does the reader feel carried forward or dropped and reset?
  • Pacing: Are there stretches of 2,000+ words at the same analytical register without relief? Flag them.
  • Sections: Does each section earn its length? Could any be cut or merged without loss?
  • Opening: Does it drop the reader into something specific and sensory within the first paragraph?
  • Closing: Does it open rather than close? Does it echo or transform the opening?

Report findings as:

## Structural Pass
- [STRONG] description
- [FIX] description — suggested change

Fix all [FIX] items before proceeding.

Step 2: Line-Level Pass

Read every paragraph checking for:

  • Paragraph density: Any paragraph over 6 lines on a mobile screen (roughly 4 sentences of medium length)? Split it.
  • Jargon: Any technical or academic term that isn't earned and explained gracefully? Replace with plain English.
  • Repetition: Same word, phrase, or construction used in two different sections unintentionally? Vary one instance.
  • Rhythm: Three or more consecutive paragraphs opening with the same sentence pattern? Vary.
  • Wellness-speak: Any use of "healing," "journey," "transform," "authentic self" that isn't precise and necessary? Cut or replace.
  • Inspirational generalities: Any sentence that could appear on a bumper sticker without the surrounding context? Earn it or cut it.
  • Telling vs. showing: Any sentence that summarizes an experience instead of rendering it? ("It was profound" → show the specific moment.)
  • Proselytizing: Any sentence that tells the reader what to conclude? Rewrite to walk them to the edge and let them look.
  • Dead phrases: "One might argue," "it could be said," "in a sense" — cut.

Report findings with line numbers:

## Line-Level Pass
- [FIX] line:XX — description
- [MINOR] line:XX — description

Fix all [FIX] items. Fix [MINOR] items unless doing so would harm rhythm.

Step 2.5: AI-Tells & Voice Pass

Whole-document pattern audit. These are tells that AI-generated prose leaks into long-form work. The fix is restraint, not elimination — measure first, then judge.

Pattern counts

Run these against the full file (use grep + wc against the saved file). Always single-quote the path when shelling out — file names may contain spaces, dashes, or other shell metacharacters that would otherwise be interpreted (e.g. grep -c '—' 'essays/long form.md', never grep -c — $path). Thresholds default to the literary-intelligent-general voice; see Voice configs to adjust.

  • Em dashes — count — characters per 1,000 words.
    • Threshold: ≤ 5 per 1,000 words for literary-contemplative register.
    • Above that, propose colon, period, or comma replacement for the lowest-impact instances. Em dashes earn their place when interrupting a live thought. They do not earn it as default sentence connectors.
  • Negation rhetoric — count instances of "is not X. It is Y" / "Not X. Y" / "is not X — it is Y" / "It is not X; it is Y."
    • Threshold: ≤ 3 per 3,000 words (scales with essay length, consistent with em-dash + triplet thresholds).
    • The pattern works once or twice as inversion of expectation. Beyond that it becomes a tic. Flag the weakest instances and rewrite as positive assertion.
  • Triplet fragments — three consecutive short sentences (e.g., "The same energy. The same substance. Two opposite shapes.").
    • Threshold: ≤ 3 per 3,000 words.
    • Use sparingly for emphasis; overuse signals a generative tic.
  • Adverb / hedge cluster — really, very, quite, actually, perhaps, almost, in some way, somehow, simply, just, basically.
    • Flag any paragraph containing 2+ of these. Cut or sharpen.
  • Cliché bigrams — phrases that commonly leak from LLM training data into prose:
    • delve into, tapestry, navigate the complexities, in the realm of, robust, comprehensive, underscore, pivotal, multifaceted, let me know if, feel free to, in conclusion, furthermore, landscape, intricacies, journey, transform
    • Flag any instance. Replace with concrete language.
  • Sentence-starter repetition — 3+ consecutive sentences starting with the same word (especially "The", "It", "This", "There").
    • Flag and vary one or more openers.

Tense consistency

Within a single scene, flag unmarked shifts between past and present.

  • Editorial frame in present tense (the author addressing the reader directly — "I want to ask you a question") is fine and expected.
  • Narrative scene in past tense is fine.
  • Mid-paragraph drift between the two, without a section break or structural cue, is the issue.

Specifically check:

  • Scenes recounting a remembered or historical event — should hold one tense unless the slip is marked.
  • Author-address paragraphs — present tense throughout.
  • Borrowed scenes from sources — pick one tense and hold.

Contemporary cultural touchstones (optional pass — voice-dependent)

A specific contemporary reference often beats an abstract description. Look for sentences where an abstract phrase could be replaced with a more vivid contemporary touchstone — an app interface, a meme term, a brand name, a current cultural artifact, a recognizable internet behavior. Examples:

  • "the influencer optimizes one trait at the expense of others" → "the influencer is min-maxing for visibility"
  • "the algorithmic feed rewards constant performance" → "the timeline is a casino floor with no clocks"
  • "the user keeps refreshing their notifications" → "the user is checking the slot machine on their lock screen"

This pass is voice-dependent — only suggest touchstones if the active voice config allows them. The literary-intelligent-general default permits at most 1–2 per essay, italicized on first use, never explained. The terse-technical voice rejects them entirely. The conversational voice welcomes them more freely.

Hard rule for any voice: if a touchstone needs explaining, it doesn't belong.

Report

## AI-Tells & Voice Pass
- Em dashes: X (Y per 1000 words) — [PASS / OVER]
- Negation pattern: X instances — [PASS / OVER, list line numbers]
- Triplet fragments: X — [PASS / OVER, list line numbers]
- Adverb/hedge clusters: [PASS / list paragraphs]
- Cliché bigrams: [PASS / list line numbers + replacement suggestions]
- Sentence-starter repetition: [PASS / list passages]
- Tense consistency: [PASS / list scenes with unmarked drift]
- Touchstone candidates: [optional list of swap suggestions]

Fix [OVER] items before proceeding to Resonance Check.

Signal not verdict. These heuristics flag patterns common in AI-generated prose. High scores don't prove AI authorship — they identify passages worth rewriting for voice and variance. Hemingway and McCarthy would both fail several of these checks; that's a feature of the heuristics, not a defect of those writers. Use the signal to inform edits; never use it as a gotcha.

Step 3: Resonance Check

This is the most important pass. Read the full essay one more time asking the central question at each paragraph:

Would the right reader feel that this essay has said what they've been carrying but could not yet put into words?

3a: Naming the Unnamed

  • The core recognition: Identify the essay's central unnamed thing — the feeling, condition, or experience it is giving language to. State it in one sentence. If you cannot, the essay may be informing without resonating. Flag this.
  • Naming moments: List every passage where the essay gives precise language to something the reader likely feels but has never seen articulated. There should be at least 3–5 of these. If there are fewer, identify paragraphs doing intellectual work without emotional work and suggest where the unnamed thing is hiding inside the argument.

3b: Lines Worth Stealing

  • Quotable moments: Are there at least 8–10 lines across the essay that a reader would screenshot, underline, or text to someone? List them. These should not be aphorisms dropped in — they should be moments where the essay's argument crystallizes into a single, precise, inevitable sentence.
  • If there are fewer than 8, identify paragraphs carrying the most pressure and suggest where a cleaner release — a shorter sentence after a long build, a sharper image, a more direct statement — would create the moment.

3c: The Reader's Self-Recognition

  • Are there at least 3 moments where the essay describes a condition the reader will recognize as their own? Not abstract conditions ("we all feel lost") but specific ones rendered with enough bodily detail that the reader thinks "yes, exactly"?
  • If not, identify where a hyper-specific image or second-person address would pull the reader from observer to participant.

3d: The Shareability Test

  • The friend test: If the right reader encountered this essay — someone in the middle of the experience the essay is about — would they send it to the one person who might understand? If the answer is not an immediate yes, identify what's missing: the essay may be interesting without being urgent.
  • Counter-arguments: Does the essay engage its strongest objections? Or does it preach to the converted?
  • The ending test: Read only the last 500 words. Does the reader feel seen and invited, not instructed? Does the essay point beyond itself?

Report:

## Resonance Check
- Core unnamed thing: [one sentence]
- Naming moments: X identified (list them)
- Lines worth stealing: X identified (list them)
- Reader self-recognition: X moments (list them)
- Shareability: would forward / interesting but not urgent / needs work
- Counter-arguments: engaged / not engaged
- Ending: opens / closes
- Overall: ready / needs work

Fix any deficiencies found. This pass is not optional polish — it is the difference between a good essay and one that travels.

Step 4: Final Verification

  • Run word count.
  • Confirm formatting follows the publication's conventions (the user's CLAUDE.md / AGENTS.md or the project's house style — read both before this step).
  • Read the first and last paragraphs back-to-back — do they rhyme?
  • Run deslop (composed dep) on the full essay as a final user-facing-prose pass. Stops fresh slop from sneaking past the editorial layer.

Report:

## Final Verification
- Word count: X
- Formatting matches project convention: pass/fail
- Opening/closing resonance: pass/fail
- Deslop pass: clean / N edits made
- Status: READY / X items remaining

Voice configs

Editorial-review thresholds vary by voice. Pass the voice name via --voice <name> or set it in front-matter at the top of the essay file.

literary-intelligent-general (default)

The Pilgrim Age / Paul Graham / Tim Urban / contemplative-but-not-precious register. Smart general reader.

PatternThreshold
Em dashes≤ 5 per 1,000 words
Negation rhetoric≤ 3 per 3,000 words
Triplet fragments≤ 3 per 3,000 words
Cliché bigramshard reject
Touchstones≤ 1–2 per essay, italicized on first use
Sentence variancemedium-high

terse-technical

Engineering blog posts. Stripe / Vercel / Tailscale / Fly.io. Short sentences, plain words, examples-first.

PatternThreshold
Em dashes≤ 2 per 1,000 words
Negation rhetoric≤ 1 per 3,000 words
Triplet fragmentsrejected
Cliché bigramshard reject
Touchstonesrejected
Hedgeshard reject
Sentence variancelow (consistency over variety)

conversational

Personal blogs, casual newsletters, voice-heavy writing. Internet-native cadence.

PatternThreshold
Em dashes≤ 8 per 1,000 words (conversation breaks more)
Negation rhetoric≤ 5 per 3,000 words
Triplet fragments≤ 5 per 3,000 words
Cliché bigramssoft reject (only the most LLM-shaped)
Touchstoneswelcomed
Hedgestolerated
Sentence variancehigh

journalistic

News / longform reporting. The New Yorker / Atlantic / Atavist. Clear, neutral, scene-driven.

PatternThreshold
Em dashes≤ 3 per 1,000 words
Negation rhetoric≤ 2 per 3,000 words
Triplet fragmentsrejected
Cliché bigramshard reject
Touchstonesrejected
Hedgesonly when reporting uncertainty
Sentence variancemedium

Hard rules

  • Read the whole essay before flagging anything. Patterns matter; isolated infractions don't.
  • Step 3 (Resonance) is the most important pass. Skipping it because the prose is "clean" misses the point of the essay.
  • Heuristics are signal, not verdict. A flagged passage might be the writer's intent; flag and explain, never strip.
  • Author voice wins over editor preference. Suggest, don't impose.
  • Compose deslop at the end. Catches slop the editorial layer waved through.

Composes

  • deslop — final user-facing-prose pass at Step 4
  • jutsu swarm doc-review --personas claim-auditor-deepseek,architecture-purist-antigravity — optional multi-agent review on the same essay after this skill completes its passes

When NOT to use

  • Code-shaped artifacts (READMEs, SCHEMA docs, technical specs) — use doc-review instead
  • Short-form (≤ 500 words) — overkill; the resonance pass needs length to work
  • Fiction with strong stylistic choices — most "AI tells" are also legitimate prose techniques in fiction; skill thresholds will misfire
  • Translation drafts where source-text fidelity matters more than voice

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.