agentleFS
ADWilkinsonADWilkinson/astack/skills/deslop/SKILL.md

deslop

Skill0 starsChanged 8 days agoMITView on GitHub

Write or revise public copy, UI and code without generated tells, preserving facts and voice. Use for \"deslop\", \"sounds like AI\", tightening prose, user emails, removing generic UI or learning a voice from real writing.

118 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use simple-issue-description, control-cli and 10 more.

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.
  • JwuthriSkill

    simple-issue-description

    Turn a rough bug report, feature request, support note, or pull request into a short, plain-language issue focused on the problem and desired behavior. Use when a contributor asks to simplify an issue, explain what a PR is for, create the corresponding issue for a PR, remove implementation detail from a report, or invokes /simple-issue-description.

    Also in 4 projects that use this

  • ElyzeSolutionsSkill

    control-cli

    Build or adapt a local harness to drive, inspect, and profile an interactive CLI or TUI without external services. Use for CLI UX checks, startup regressions, memory leaks, hangs, prompt flows, or terminal demos.

    Also in 6 projects that use this

  • JwuthriSkill

    openseo-review-web-content

    Write and review content for the OpenSEO website (web/) — blog posts, guides, feature pages, FAQs. Distills the philosophy for on-brand, useful, accurate content. Use whenever adding or editing user-facing prose in web/content or web/src.

    Also in 4 projects that use this

  • learnerLjSkill

    verify-this

    Verify a claim with fresh local evidence: restate it falsifiably, capture baseline and treatment, compare artifacts, and return VERIFIED, NOT VERIFIED, or INCONCLUSIVE.

    Also in 6 projects that use this

  • ElyzeSolutionsSkill

    control-ui

    Build or adapt a local browser/CDP harness to drive and inspect a web, IDE, or Electron UI. Use for local UI verification, screenshots, accessibility snapshots, perf profiles, visual diffs, or reproducing UI bugs.

    Also in 7 projects that use this

  • ten9876Skill

    papercuts

    Read-only AetherSDR issue triage that surfaces the UX papercuts, bugs, and regressions you can fix AND prove today with the agent automation bridge. Use when the user says $papercuts or /papercuts, or asks to "find papercuts", "what can I fix and prove today", "triage bridge-provable issues", "what UX bugs can the bridge close", "sort issues by priority I can knock out", or otherwise wants a curated, lifecycle-aware (design→code→prove) shortlist of issues — NOT the label-and-respond /triage workflow. This is the discovery step that feeds /fb. Strictly read-only: it never labels, comments, closes, or edits issues.

    Also in 4 projects that use this

  • +5 more from Jwuthri

The file

We split this skill into the rules it gives an agent

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

  • 0

    Common

    Most of the 116 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Every hit is a lead. Read it in context and decide: cut, replace with the specific thing, or keep (with a reason if it will be reviewed).

    line 20
  2. Distinctive:

    Vary rhythm by meaning,: not by formula: no triads by default, no one-line paragraph closers, no em dash as the default joint.

    line 30
  3. Distinctive:

    One caveat, where it applies: Not a disclaimer paragraph, not hedges stacked ("may potentially").

    line 32
  4. Distinctive:

    Never invent a stronger claim to replace a vague one.

    line 56
  5. Distinctive:

    If the user's own style uses a "tell" deliberately, it stays.

    line 59

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

Deslop

Slop is what fills the space where a decision should be. The fix is the decision, not a synonym. Apply this while writing, not only afterwards.

<skill-dir> below means this skill's own folder. Run its scripts from the project root so output lands in the project, not in the installed skill.

1. Scan

node <skill-dir>/scripts/slop-scan.mjs src/ content/ README.md          # prose, UI and code tells with file:line
node <skill-dir>/scripts/slop-scan.mjs landing.md --only prose --min medium
node <skill-dir>/scripts/slop-scan.mjs . --fail-on high                    # use as a CI or pre-merge gate

Every hit is a lead. Read it in context and decide: cut, replace with the specific thing, or keep (with a reason if it will be reviewed). Do not chase a zero count; a word list cannot judge a sentence.

2. Fix prose

Work through prose patterns. The ones that matter most:

  1. Say the specific thing. "Seamless syncing" becomes "Syncs every 5 minutes, and on save". If you cannot name the specific, the claim is empty: delete it. <!-- slop-scan: ignore-line -->
  2. Lead with the answer. Cut throat-clearing ("It's worth noting", "When it comes to", "In today's…"). <!-- slop-scan: ignore-line -->
  3. No staged reveals. "Here's the thing:", "The result?", "That's it.", "Not a X. Not a Y. A Z." State it. <!-- slop-scan: ignore-line -->
  4. No reflexive contrast. "It's not just X, it's Y" only when someone actually believes X. <!-- slop-scan: ignore-line -->
  5. Vary rhythm by meaning, not by formula: no triads by default, no one-line paragraph closers, no em dash as the default joint.
  6. Keep what carries information: numbers, names, caveats that change a decision, the author's odd but deliberate phrases.
  7. One caveat, where it applies. Not a disclaimer paragraph, not hedges stacked ("may potentially").

3. Fix UI

Run the scan on components and check the rendered page against web-design's anti-patterns if installed. The usual repairs: delete the eyebrow labels and explainer subtitles; replace gradient text with solid ink; remove glass, glows and sparkles; flatten nested cards; give CTAs real verbs; remove emoji from interface copy.

This season's tells, each fine when the brief asks and slop when it shows up anyway: a pill tag above the heading (New), one italic word in the headline, a divider under every section, four opacities of the same neutral instead of two inks, a border on every box, a diagram that draws the whole system, a decorative Home / Settings / Billing, and 01 02 03 on items that are not a sequence. The scan flags the numbered markers (section-index) and the opacity ladder (opacity-ramp). The rest need the render. Instrument Serif with tight tracking is the current reflex display; it stays only when DESIGN.md names it.

Re-shoot and look after removing structure: a deleted container can take a needed grouping with it.

4. Fix code

See the code section of prose patterns. Delete comments that narrate the next line; keep comments that say why. Remove empty catches and defensive checks on trusted paths; let unexpected errors surface. Inline pass-through wrappers with one caller. Remove speculative options nobody passes. Never "simplify" away validation, auth, error context or required compatibility. Run the tests.

5. Match a voice

If the project has a voice file (VOICE.md, docs/voice.md, or a section of DESIGN.md), follow it over these defaults. If the user wants writing in their voice and none exists, build one with voice profile from their real, accepted writing, not from one draft they disliked.

6. Verify

Re-read the whole piece start to finish (sentence fixes create new repetition). Check that no fact, number, link or required disclosure was lost or added. Re-run the scan. For UI, re-shoot. Then report the material changes in a few lines, not a findings essay.

Rules

  • Never invent a stronger claim to replace a vague one. Vague and true becomes specific and true, or gets cut.
  • Translations get the same pass in every locale: fluency, length fit at 390px, exact domain terms.
  • Quotes, legal text and other people's words are not yours to deslop.
  • If the user's own style uses a "tell" deliberately, it stays.

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.