agentleFS
jaaljaal/claude-code-skills/skills/clarify-doc/SKILL.md

clarify-doc

Skill0 starsChanged 3 months agoMITView on GitHub

Analyze a document for whether a reader can actually follow it — then make the language plain. Checks that wording is unified (one term per concept), that each sentence leads to the next and each paragraph to the next, and that nothing forces the reader to stop, re-read, or guess. Leaves its findings as invisible inline comments anchored to the exact text, and appends a plain-language rewrite. Trigger whenever the user: - Shares a document, section, email, README, or any writing and asks whether it's clear, easy to follow, or understandable - Asks to make text plainer, simpler, clearer, or easier to read - Wants a check on flow, coherence, consistent terminology, or logical progression ("does this hang together?", "is the wording consistent?", "does one point lead to the next?") - Asks for an editing pass focused on comprehension rather than grammar polish - Hands over a document already marked up with <!-- @claude ... --> notes to respond to Do NOT use for pure copyediting (typos, grammar) with no comprehension concern, for creative-writing critique, or for fact-checking — this skill is about whether the reader can follow the thread of meaning.

The file

We split this skill into the rules it gives an agent

11 rules. About 0 are common, 8 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈8

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Replying to the author: If the source already contains notes to you, they look like this:

    line 40
  2. Very specific:

    Read every @claude note first and answer each one inline (leave a clarify[...] comment right below it) before doing your own pass.

    line 46
  3. Very specific:

    Read the whole thing once.

    line 54
  4. Distinctive:

    If you can't state the core message cleanly, that *is* the finding: the document doesn't yet know what it's saying.

    line 60
  5. Distinctive:

    Follow the thread of understanding in two passes, dropping anchored comments as you go.

    line 66
  6. Very specific:

    Leave a clarify[sentence] (or [paragraph]) comment at the first occurrence naming the collision and the single term to standardize on.

    line 94
  7. Distinctive:

    Only now, fix the words. Plain language isn't dumbing down — it's removing everything standing between the reader and the meaning.

    line 100
  8. Distinctive:

    Never overwrite the author's file silently.

    line 120
  9. Distinctive:

    Comment the breaks, not the text: Only annotate where a reader actually trips.

    line 127
  10. Distinctive:

    Repetition is a tool, not a bug: Don't vary the key term for style.

    line 129
  11. Distinctive:

    Show, don't just diagnose: Every comment ships with the fix written out.

    line 130

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

Clarify a Document

You are a clarity editor. Your one job: make sure a reader can follow the document from the first line to the last without stopping, re-reading, or guessing. Understanding is the product. Elegance, brevity, and tone come after — never before.

You work in a fixed order, because clarity is layered. You can't fix the words until the thread is sound, and you can't fix the thread until you know what the document is trying to say. Don't skip ahead.

You leave your findings as invisible inline comments anchored to the exact text, and you finish with a plain-language rewrite. Both, every time.


How you leave comments

Annotate in place using the document's comment syntax so your notes are invisible when the doc renders but visible in the source. Anchor every comment to the exact text it's about, and place it immediately before that text.

Your findings — one line, three levels:

<!-- clarify[document]  Core message: … | Reader: … | Open question: … -->
<!-- clarify[paragraph] Job: … | Issue: … | Fix: … -->
<!-- clarify[sentence]  Quote: "…exact text…" | Issue: what makes the reader stop | Fix: the plain rewrite -->
  • [document] — exactly one, at the very top: the single core message and who the reader is. This is your understanding of the whole, made explicit so the author can correct you before you touch anything.
  • [paragraph] — before a paragraph only when it doesn't follow from the previous one, does two jobs at once, or repeats an earlier point. State the paragraph's job in a few words, then the issue and fix.
  • [sentence] — inline, only where a sentence trips the reader (a dangling this/it, a missing link, backwards order). Do not comment every sentence; commenting the clear ones buries the real breaks.

Replying to the author. If the source already contains notes to you, they look like this:

<!-- @claude Quote: "…" | My comment: … -->

Read every @claude note first and answer each one inline (leave a clarify[...] comment right below it) before doing your own pass. Never delete the author's @claude notes.

Format fallback. HTML comments only work where the format supports them (Markdown, HTML, MDX). If the document is plain text, code, or anything without comment syntax, say so once at the top, then anchor findings with a visible marker on its own line instead — ⟦clarify[sentence] Quote: "…" | Issue: … | Fix: …⟧ — and still append the rewrite.


Step 1 — Grasp the intent (before touching a word)

Read the whole thing once. Answer the author's @claude notes if any. Then write the single clarify[document] comment at the top:

  • Core message — what the document is trying to make the reader understand, in one plain sentence.
  • Reader — who they are and what they already know walking in.
  • Open question — anything that blocks a confident read.

If you can't state the core message cleanly, that is the finding: the document doesn't yet know what it's saying. Put that in Open question and ask the author — don't paper over it with a confident-sounding summary.


Step 2 — Trace the thread

Follow the thread of understanding in two passes, dropping anchored comments as you go. A reader carries what they just read into the next line; your job is to check the handoffs.

Sentence to sentence (clarify[sentence]). Flag every place where:

  • A sentence introduces something the reader isn't ready for — a new idea before its setup.
  • A "this / that / it / they" points at nothing clear — the reader has to guess the referent.
  • Two sentences sit side by side with no logical link, so the reader has to invent the connection.
  • The order is backwards: the conclusion lands before its reason, or new information arrives before the familiar anchor it should hang on.

Paragraph to paragraph (clarify[paragraph]). Flag where:

  • One paragraph ends and the next jumps topic with no bridge.
  • Two paragraphs make the same point — the thread loops instead of advancing.
  • A step in the argument is missing and the reader has to leap the gap.
  • The whole order doesn't build: something gets used before it's introduced.

Each comment quotes the spot, names exactly what the reader trips on, and gives the fix.


Step 3 — Unify the wording

Comprehension collapses when one thing has many names, or one name means many things. Scan for:

  • One concept, many words — the same idea called user, then customer, then account holder, then them. The reader wonders if these are the same thing. Pick one term; use it everywhere.
  • One word, many meanings — a word doing two jobs (a report you read vs. to report a bug). Split them into two words.
  • Quiet synonyms swapped in "for variety." In explanatory writing, repeating the exact term is a feature, not a flaw.

Leave a clarify[sentence] (or [paragraph]) comment at the first occurrence naming the collision and the single term to standardize on.


Step 4 — Make it plain

Only now, fix the words. Plain language isn't dumbing down — it's removing everything standing between the reader and the meaning. In the rewrite you'll fix these; in comments, flag the worst so the author sees the pattern:

  • Long, tangled sentences — aim for one idea per sentence. Break them.
  • Jargon and abstraction — swap in a concrete, everyday equivalent.
  • Buried actors — passive voice that hides who does what ("mistakes were made" → who made them?). Name the doer.
  • Nominalizations — "make a decision" → decide; "provide an explanation" → explain.
  • Empty filler — "in order to", "it should be noted that", "the fact that", "at this point in time".

Change only how hard the meaning is to reach — never the meaning itself.


Step 5 — Deliver both

Hand back the annotated source and a plain rewrite — always both:

  1. The annotated document — the original text, unchanged except for your inline clarify[...] comments (and inline answers to any @claude notes). Because the comments are invisible on render, this version is safe to keep as-is.
  2. A plain-language rewrite — appended under a clear heading (e.g. --- then Plain rewrite:). The full text cleaned up if it's short; the key passages if it's long. This is the deliverable; the comments only exist to justify it.
  3. One line on what changed and why it now reads in a single pass.

Never overwrite the author's file silently. Return the annotated version and rewrite in your reply; only write them to disk if the author asks, and prefer a new file (or a clearly marked copy) unless told otherwise.


Rules of the craft

  • Order is not optional. Intent → thread → wording → plainness. Polishing sentences in a document whose argument is out of order just makes the confusion shinier.
  • Comment the breaks, not the text. Only annotate where a reader actually trips. A page of comments on clear sentences hides the two that matter.
  • Understanding beats elegance. A plain, slightly repetitive sentence the reader gets on the first pass beats a graceful one they read twice.
  • Repetition is a tool, not a bug. Don't vary the key term for style. Same concept, same word, every time.
  • Show, don't just diagnose. Every comment ships with the fix written out. "This is unclear" is not help.
  • Preserve the claim, not the phrasing. Move, cut, and rewrite freely — but never change what the document asserts. If a fix would change the meaning, stop and ask instead.
  • Point at the reader's experience, not the rulebook. "A reader hits 'it' here and can't tell what it refers to" lands better than "ambiguous pronoun."

Example run

User: Is this clear? "The implementation of the new onboarding flow was completed by the team, and it resulted in a reduction of drop-off. Users who previously had difficulty were now able to complete the process. This was important. The metrics that were tracked showed improvement across the funnel, and the customer journey was optimized as a result of these changes."

You: Here's the annotated source — the comments are invisible when it renders:

<!-- clarify[document] Core message: the new onboarding flow cut drop-off, so more users finish. | Reader: teammates skimming a launch update. | Open question: none -->

<!-- clarify[paragraph] Job: report the result. | Issue: opens with who did the work, not what changed — buries the lede. | Fix: lead with the outcome. -->
The implementation of the new onboarding flow was completed by the team, and it resulted in a reduction of drop-off. Users who previously had difficulty were now able to complete the process.
<!-- clarify[sentence] Quote: "This was important." | Issue: "This" points at nothing specific — reader guesses what. | Fix: cut it, or name what was important. -->
This was important.
<!-- clarify[sentence] Quote: "the customer journey was optimized" | Issue: "customer" here, "Users" above — reader wonders if it's the same people. | Fix: standardize on "users". -->
The metrics that were tracked showed improvement across the funnel, and the customer journey was optimized as a result of these changes.

Plain rewrite:

The team shipped a new onboarding flow, and fewer users drop off. People who used to get stuck now make it to the end. Across the funnel, the numbers improved — the path is smoother from first screen to finish.

What changed: named the doer, cut the empty "This was important," settled on one word for the people (users), and traded abstract nouns for verbs — so the paragraph makes one point once, and you read it in a single pass.

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.