Modules

Module: cut AI tells from your writing with unslop

Two prompts that install the unslop skill (Lauren Tan, cursor/plugins pstack, MIT) in every coding agent you run, then prove it on one of your own drafts with every number and link unchanged.

Updated

unslop is one skill file. It lists 28 patterns, numbered 3 to 33 with gaps the upstream keeps as stable ids, that make text read as machine-written (a list of overused words, em dashes, title case headings, chatbot sign-offs, forced groups of three) and tells the agent how to rewrite each one. Lauren Tan wrote it for Cursor's pstack plugin and published it under the MIT license. This module installs that one file, not all of pstack, and then runs it on something you wrote.

Paste this into your coding agent. It fetches this page and runs both prompts itself:

The one prompt to paste
Read https://docs.utopiamodels.ai/docs/modules/unslop.md and run its two prompts in order, yourself.
Measure my setup (harnesses, skill dirs, always-on files, where my writing lives) before asking me anything; ask only what you cannot measure.
Install unslop (MIT, Lauren Tan, cursor/plugins pstack) everywhere my harnesses read skills, keeping its license notice.
Prove it: run unslop on one of my own recent drafts, show the diff, and confirm every number and link survived.
Prompt 1

Find where my writing comes from and which harnesses I run

Measures which coding agents are on this machine, where each reads skills and always-on instructions, and where your prose lives. Asks at most three questions. Writes one file, ~/UNSLOP-PLAN.md.

Prompt 2

Install unslop and prove it on my own draft

Installs the pinned unslop skill and its MIT license into the directories prompt 1 chose, adds the always-on line if you asked for it, then rewrites your test draft and checks that every number and link survived.

No coding agent?

If you use ChatGPT or Claude in the browser and no coding agent, you cannot install a skill, but you can give the chat the same rules. Open the pinned SKILL.md, copy everything below the line that ends the frontmatter (---), and paste it into one of these:

  • ChatGPT: Settings, Personalization, Custom instructions. Put a line above it: "When I ask you to unslop something, apply these rules. unslop by Lauren Tan (cursor/plugins pstack), MIT."
  • Claude: create a Project and paste it into the project instructions with the same line above it.

Then paste a draft and write "unslop this, and keep every number and link". Check the numbers and links yourself afterwards, because a chat has no script to do it.

What the prompts read

  • The pinned SKILL.md, 5,827 bytes at commit bc697d0. This is the only skill file installed.
  • The pstack LICENSE, copied next to every install.
  • The same SKILL.md on main, fetched only to tell you whether upstream has changed since the pin.
  • Your harness config, skills directories and drafts. The prompts fetch nothing else. Your drafts and config go only to the model your agent already uses.

Resources

Credit

unslop is by Lauren Tan, part of cursor/plugins pstack, released under the MIT license. Copyright (c) 2026 Lauren Tan. This page only installs and runs it. If you want all of pstack (about 60 skills), install it as a Claude Code plugin instead: /plugin marketplace add cursor/plugins, then /plugin install pstack@cursor-plugins. Prompt 1 detects that and skips the separate copy.

Last checked against upstream: 2026-10-31.

Where this module is currently weakest

The fact check in prompt 2 is done by the agent that wrote the rewrite. It extracts the numbers and links from both versions and compares them, which catches a changed figure or a dropped URL, but a model checking its own output is weaker than a script. If you publish the rewrite, compare the numbers and links yourself. The linter from step 4 only checks wording and does not compare two files.

The harness paths in prompt 1 were read from vendor docs on 2026-10-31. Codex, Gemini CLI and OpenCode do not document disable-model-invocation, so on those the skill may also run when the model decides it applies, not only when you ask. The always-on line is what makes it a dependable last pass there.

We ran the four-line prompt in a fresh Claude Code 2.1.310 session with an empty home directory and a sample draft, with no other input. It installed the skill and the license, added the always-on line, and took the draft from 17 tells to 0 with every number, link and code span unchanged. It could not confirm that /unslop appears in the slash command list, because a session only lists skills that existed when it started. Open a new session to check.

On this page