agentleFS
AdityaVasireddyAdityaVasireddy/agent-skills/deslopify/SKILL.md

deslopify

Skill2 starsChanged 2 months agoMITView on GitHub

Edit, draft, or audit nonfiction prose for named writing patterns while preserving factual meaning and the writer's voice. Use for requests to sharpen, tighten, remove generic phrasing, or make nonfiction sound less AI-written. Do not use for fiction, poetry, screenwriting, code, translation, or internal summaries.

9 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use caveman and grill-me.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • MicrosoftSkill

    caveman

    Ultra-compressed response style that reduces output token count while preserving technical accuracy, with intensity levels and auto-clarity safety rules

    Also in 3 projects that use this

  • GoogleSkill

    grill-me

    A relentless interview to sharpen a plan or design.

    Also in 4 projects that use this

The file

We split this skill into the rules it gives an agent

6 rules. 0 are common, 5 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 9 edited versions we read keep these.

  • 5

    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:

    When the user gives a length target, that default is suspended.

    line 117
  2. Distinctive:

    Constraint conflict: When any user constraint cannot coexist with factual accuracy, meaning, explicit user instruction, or writer voice, do …

    line 121
  3. Distinctive:

    Run these before the gate.

    line 143
  4. Distinctive:

    Read the whole draft.

    line 181
  5. Distinctive:

    Run both voice passes above: observe, then gate for protection.

    line 182
  6. Very specific:

    Run every check in eval.md.

    line 185

“Common” is measured: kept by at least 6 in 10 of the 9 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

Deslopify

You are a sharp human editor. The goal is prose that sounds like a specific person who knows the subject, not like clean writing generated at scale.

Precedence

Contract PRECEDENCE

Rules below conflict on real drafts. Resolve in this order, highest first:

  1. Factual accuracy. Preserve the assertion: its truth conditions and the strength of the claim. Never invent a real-world fact or alter one to satisfy a style rule. Rewording that leaves the assertion intact is always allowed — that is ordinary editing. The user may also authorize changing a fact's value or form: a correction (the source was wrong), a non-assertive transformation (anonymization or redaction, where identity is removed rather than restated), or reformatting (date or number style). Exact-form preservation of the things whose form is authoritative — names, identifiers, code, verbatim quotations — lives in SCOPE-PROTECTION, not here. In explicitly fictional work, invention the prompt asks for is the task, not a violation; supplied canon and any real-world claims inside the fiction still hold.
  2. The writer's meaning. Preserve the point, claim strength, and caveats — the source's meaning, unless the writer explicitly asks to change it. An author-directed change ("drop this caveat, I changed my mind") becomes the new intended meaning and is honored; factual accuracy still ranks above it, so the new meaning cannot assert something false. Guard against inadvertent drift, not against the author revising their own view.
  3. Explicit user instruction. Style and genre the user asked for by name: fragments throughout, a metaphorical ending, a specific register. Stated intent beats inferred intent, so this sits above voice. It cannot license inventing or asserting false facts.
  4. The writer's voice. Where a pattern rule and a voice signal collide, voice wins and the pattern stays.
  5. Pattern removal. Everything in references/patterns.md and references/words.md. This tier loses every tie.

Style rules never override the four tiers above them. A named pattern the user explicitly requested is not a defect. When you are unsure which tier applies, leave the sentence alone and note it.

Scope guards

Contract SCOPE-PROTECTION

If retained, do not alter. Names, terminology, code, citations, and verbatim/source quotation wording survive intact wherever they appear, unless item 1 authorizes the change or the user marked the quoted copy editable. Provenance decides quotation protection, not the quotation marks. Treat the user's identification of source quotations as evidence; do not require external proof. Preserve ambiguous quotations and ask only if editing them is necessary. You may still delete a whole sentence or paragraph that happens to contain one, when the user's request, the meaning tier, or a length target authorizes deleting that span. Removing a duplicate sentence is not a scope violation because a product name occurs inside it.

Quotations get the stronger guard, but keyed on provenance, not punctuation. It covers material that is or is reasonably understood to be verbatim source: a third-party quote, a citation, a transcript. Copy the user marks as their own and editable — a pull quote, draft testimonial, dialogue they are revising — follows ordinary Edit rules. Do not delete a genuine quotation to satisfy a style rule. Delete it only when the surrounding passage goes for an independent reason and the user's request authorizes that. A guard that stops you rewording a quote but lets a pattern rule delete it protects nothing.

  • Proper nouns, product names, job titles, and official terminology.
  • Code, commands, file paths, config, and identifiers.
  • Cited sources and their wording.
  • Terms of art. Banned words are banned in their vague-corporate sense only. robust in statistics, leverage in finance, harness as hardware, foster in child welfare, utilize in a legal quote are the accurate words. Keep them. In Edit, record them under Preserved. In Detect, count them under scope.

Modes

Edit (default)

The user shares a draft. Make the minimum effective edit, run the gate in eval.md, return the edited draft plus What changed.

Draft

The user asks you to write something new. Apply the same patterns and words as constraints on your own output, adapt to format per references/formats.md, then run the same gate. Do not return a draft you have not checked.

Contract DRAFT-VOICE-TRANSFER

Build the voice model from the user's samples if they gave any, then treat protected traits as a palette: use the ones compatible with the requested format and the supplied facts, and leave the rest. A sample supplies stylistic evidence, not facts for the new draft. Do not carry its events, beliefs, product behavior, or personal admissions into a new subject unless the user separately supplies or confirms them. Nothing in a sample is obligatory. Never manufacture uncertainty, profanity, or an admission the facts do not support just to match a sample. If they gave no samples, write plainly and say once that the voice is generic. A word target does not authorize new product capabilities, implications, or filler; if the supplied facts cannot support the target, use CLOSEST COMPLIANT and state the shortfall.

Detect

The user asks whether something is slop, or wants an audit without a rewrite. Name each pattern, quote the line, give the fix in a few words. Do not rewrite, do not score, do not guess whether AI wrote it. Detectors guess. Named patterns are evidence the reader can check for themselves.

Detect mode has its own precision discipline, because a report that flags legitimate voice is worse than no report. Apply the precedence order before reporting anything: if a line survives factual accuracy, meaning, explicit user instruction, or writer voice, it does not get flagged. End every detect report with:

Patterns evaluated: N | reported: M | suppressed: scope S, meaning P, instruction I, voice V

scope covers only true false-positives — terms of art, code, identifiers, protected names — where the pattern is not really present. meaning covers the meaning tier, instruction covers explicit user instruction, voice covers writer voice. A real pattern inside a verbatim quotation is still reported, tagged verbatim: report only, do not alter; immutability is an editing limit, not evidence the pattern is absent, and Detect's job is to report what occurs. Factual accuracy needs no bucket, since Detect changes nothing.

One candidate = one source span × one named pattern or word, matching words by family per references/words.md. Every candidate must trace to one canonical entry in references/patterns.md or one listed word or phrase family in references/words.md; its reader-facing label may be natural language, but the underlying rule must be identifiable. Do not count wording merely because it sounds generic, polished, corporate, AI-like, or like scene-setting. Overlapping canonical matches count separately even when their source spans overlap: a sentence that is both a binary contrast and a banned word is two candidates. N must equal M + S + P + I + V; if it does not, you have miscounted.

Attribute each suppression to the reason that blocked it. Terms of art fall under scope, not meaning.

Before you edit anything

Read the whole draft first. Then run the voice model in two passes. Collapsing the two lets any slop-shaped sentence claim immunity by sitting in a voiced draft.

Contract VOICE-OBSERVATION

Pass 1 — observe. Inventory this fixed list, quoting the text for each item present. Use only this list; selecting your own criteria and then grading yourself against them proves nothing.

  1. Distinctive lexical choices
  2. Deliberate repetitions
  3. Sentence fragments
  4. Hedges marking real uncertainty
  5. Profanity and blunt language
  6. First-person admissions and self-criticism
  7. Unusual punctuation or capitalization
  8. Digressions and asides

Contract VOICE-PROTECTION

Pass 2 — gate for protection. Observation is not protection, and content is not form. Two different things can be at stake in a suspicious span:

  • The content — the fact, claim, or information the span carries.
  • The form — the fragment, contrast, punctuation, or cliché carrying it.

Subject-specific content and information-loss protect the content: keep the words, but you may still fix the syntax. "The API returned 500s for 17 minutes. Causing 38 failed checkouts." carries a real fact, so the fact stays — as ...17 minutes, causing 38 failed checkouts. The fragment was never earning protection; the number was.

The form earns writer-voice protection only on evidence about the form itself:

  • It recurs across the draft, so it reads as a habit, not an accident.
  • It sits inside clearly personal content — an admission, profanity, real uncertainty — where the cadence is doing expressive work.

Evidence against. If the span's own content is a banned word, an empty phrase, or a named pattern, its shape alone never earns protection. "A paradigm shift." has neither recurrence nor personal cadence and stays unprotected. "Nobody caught that. I didn't catch that." repeats a form across the draft inside a first-person admission, so the form is protected. A matched pattern raises the bar for protecting the form; it never protects the form by itself, and it never blocks fixing malformed syntax around a fact worth keeping.

Record observed and protected separately. Only protected items are covered by the gate.

Contract ZERO-VOICE

Zero protected items is valid and never stops the edit. Documentation, release notes, and neutral technical prose routinely have none. Edit plainly, preserve terminology and meaning, and say the draft carried no writer-specific voice.

Never invent a voice you cannot evidence. Where writer-specific signals are thin, edit plainly rather than substituting your own register. Stop and ask for a sample in exactly one case: the user asked for close voice matching and gave no sample to match.

If the piece makes one argument or tells one story and you cannot state its core point in one sentence, ask before editing. Deliberately multi-topic formats are exempt: newsletters, batched release notes, status updates, digests. For those, identify each section's purpose and proceed.

Ask about audience or destination only when two plausible formats would produce materially different edits. When the correct edit is the same either way — a lexical cleanup, an obvious fix — just make it. Otherwise ask once: who is this for and where will it be published?

Length

Minimum effective edit is the default. Cut what is doing no work, leave the rest.

When the user gives a length target, that default is suspended. Hit the target, then list which whole ideas you dropped so the writer can put one back. Never hit a word count by thinning every sentence evenly.

Contract CONSTRAINT-CONFLICT

Constraint conflict. When any user constraint cannot coexist with factual accuracy, meaning, explicit user instruction, or writer voice, do not violate the higher tier and do not loop. Return the closest compliant result and name the conflict:

CLOSEST COMPLIANT

<the result>

Requested: <constraint>. Closest compliant result produced: <what you reached>.
Blocked by: <the tier or guard, and the specific text it protects>.

A 10-word target on a draft whose facts need 40 is the common case. This is distinct from BLOCKED, which is for missing facts rather than conflicting constraints.

Rules

Full catalogue with examples: references/patterns.md. Word lists with their exceptions: references/words.md. Per-format rules: references/formats.md. Read the relevant file rather than working from memory.

  • Preserve edge. Strong opinions, blunt language, humor, profanity, self-interruptions, and honest admissions stay when they belong to the writer.
  • Keep structure unless it is hurting the piece. If you reorganize, say why.

Quick checks

Run these before the gate. Each is a yes/no test with a named fix.

  • Empty adverb from the list in references/words.md doing no work? Cut it. Adverbs are not banned as a category.
  • Passive with a knowable actor? Name the actor.
  • Abstraction given intention or emotion? Name the person.
  • "Here's the thing" / "Here's what I mean" / "Let me be clear"? Cut to the point.
  • "Not X, it's Y"? State Y.
  • Faux-insight setup? Cut it, keep the claim.
  • Colon reveal? Rewrite as a sentence.
  • Trailing -ing significance clause? Replace with the consequence.
  • Vague declarative ("The implications are significant")? Name the implication.
  • Meta-joiner ("The rest of this piece...")? Delete.
  • Fake-profound kicker? Delete, don't improve. End on the last concrete sentence.
  • Final paragraph restating the piece? Cut. The reader was just there.
  • Three consecutive sentences the same length, in prose where the repetition sounds mechanical? Break one. Deliberately parallel structures are exempt: stepwise instructions, procedures, and lists rendered as sentences.
  • Em dash? Remove unless it clearly beats a comma, period, or parenthesis. None in short copy, 1 to 2 in long drafts.
  • Claim or self-description that could belong to any company? Portability test failed. Cut or specify. Accurate procedural statements are exempt.

These style checks apply to the prose being edited or drafted. Skill instructions and evaluation materials are development artifacts, assessed for correctness rather than literary style.

Output

Contract MODE-OUTPUT

Edit mode:

  1. The full text, in a fenced block. Write it to a file past roughly 800 words or when asked.
  2. What changed: transformations only. One entry per independently reversible before → after operation on a distinct source span, each naming the rule applied. Nothing else belongs here.
  3. Preserved: anything a rule would have caught that survived under a precedence tier or a scope guard, with one clause on why. Retained terms of art go here.
  4. Edits: E | Sentences touched: S of M, where E is the number of entries in What changed and S counts source sentences touched. One edit may touch more than one sentence, so E and S differ routinely.

Draft mode: the finished text, plus a short Constraints applied note: the format used, which sample traits were carried over and which were left because the facts or format did not support them, and anything you had to ask about or leave out. No What changed, no Preserved, no edit or sentence counters. A new draft has no source spans, so those denominators do not exist and inventing them is a defect.

Detect mode: findings plus the suppression counter defined under Detect above. No rewrite.

Workflow

  1. Read the whole draft.
  2. Run both voice passes above: observe, then gate for protection. Zero protected items is valid and does not stop the edit in any mode.
  3. Detect request? Produce the findings report and stop.
  4. Apply precedence, scope guards, and rules. Minimum effective edit unless a length target overrides.
  5. Run every check in eval.md. It is pass/fail, not a score.
  6. Any fail: fix and rerun the gate. Do not return output that has not passed, except through the two terminal exits: BLOCKED when a fail can only be cleared by inventing a fact, and CONSTRAINT-CONFLICT when a user constraint cannot coexist with a higher tier. For two explicit constraints at the same tier that cannot both hold, name the conflict and ask one clarification; if an interactive clarification is unavailable, use CONSTRAINT-CONFLICT, retain the maximum supported facts, and state which constraint was not met. Take an exit instead of looping or inventing.
  7. Return the output in the shape above.

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.