unslop

unslop is a skill for Claude Code from timurgaleev/vibestack. It costs 72 tokens per session (4,938 once invoked), scanned D, original, MIT.

A writing review and rewriting tool for English text that sounds machine-generated.

In plain words
What is it for?
Use it on READMEs, release notes, changelogs, pull-request descriptions, articles and messages.
Why use it?
It removes common bot-like wording while preserving the original facts, names, numbers and claims.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: names the AskUserQuestion tool.

Good fit Use it on READMEs, release notes, changelogs, pull-request descriptions, articles and messages.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/timurgaleev/vibestack/unslop
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add timurgaleev/vibestack --skill unslop
Clone the repo
git clone --depth 1 https://github.com/timurgaleev/vibestack

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for unslop

README.md
[![agentmods](https://agentmods.dev/badge/skills/timurgaleev/vibestack/unslop/github.svg)](https://agentmods.dev/skills/timurgaleev/vibestack/unslop)
Your own site
<a href="https://agentmods.dev/skills/timurgaleev/vibestack/unslop"><img src="https://agentmods.dev/badge/skills/timurgaleev/vibestack/unslop/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for unslop

Your own site · 80×15
<a href="https://agentmods.dev/skills/timurgaleev/vibestack/unslop"><img src="https://agentmods.dev/badge/skills/timurgaleev/vibestack/unslop.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 72 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,938 The whole file, excluding the scripts and references it only reads on demand.
Security scan D 2 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00072 $0.04938
Opus 5 $0.00036 $0.02469
Sonnet 5 $0.00014 $0.00988
Haiku 4.5 $0.00007 $0.00494

Measured 6d ago against content hash 2ae8238e3965, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade D, and why

unslop scanned grade D with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Asks for rootmediumPrivilege escalation

A mod that escalates privileges can change anything on the machine, not only the project.

RUN=$(mktemp -d "${TMPDIR:-/tmp}/unslop.XXXXXX") && chmod 700 "$RUN" && echo "$RUN"

Recursive force deletehighDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

Last thing in every run, including `--report` and a no answer: delete the run directory with `rm -rf "<run>"`. It holds the user's text and has no reason to outlive the run. If the user wants the rewrite as a file, ask w
skills/unslop/SKILL.md · 289 lines

How it starts

The opening of the file, as written. The whole thing — 289 lines — stays where its author put it; the contents beside it link to each section on GitHub.

When to invoke

Use when: "unslop", "humanize this", "de-ai this", "this reads like a bot", "make it sound like me", "clean up the prose before I post it", or when a README, CHANGELOG entry, release note, PR body or article draft needs a voice pass before it goes public.

Preamble

eval "$(~/.vibestack/bin/vibe-slug 2>/dev/null)" 2>/dev/null || SLUG="unknown"
_LEARN_FILE="${VIBESTACK_HOME:-$HOME/.vibestack}/projects/${SLUG:-unknown}/learnings.jsonl"
if [ -f "$_LEARN_FILE" ]; then
  _LEARN_COUNT=$(wc -l < "$_LEARN_FILE" 2>/dev/null | tr -d ' ')
  echo "LEARNINGS: $_LEARN_COUNT entries loaded"
  if [ "$_LEARN_COUNT" -gt 5 ] 2>/dev/null; then
    ~/.vibestack/bin/vibe-learnings-search --limit 5 2>/dev/null || true
  fi
else
  echo "LEARNINGS: none yet"
fi

{{include lib/snippets/session-host.md}}

{{include lib/snippets/decision-brief.md}}

{{include lib/snippets/working-protocols.md}}

{{include lib/snippets/state-protocols.md}}

User-invocable

When the user types /unslop, run this skill. /unslop --report <input> lists hits and stops; /unslop <input> lists hits and rewrites.


Step 1: Take the input

Accept one of three forms and normalise it to a numbered text buffer so every hit can cite a line.

Make a private run directory first and note the path it prints. Every later command in this run uses that literal path — the shell variable does not survive between commands:

RUN=$(mktemp -d "${TMPDIR:-/tmp}/unslop.XXXXXX") && chmod 700 "$RUN" && echo "$RUN"
  • File path. Read the file. Note whether git tracks it, because that decides how Step 5 writes back: git ls-files --error-unmatch <path> >/dev/null 2>&1 && echo TRACKED || echo UNTRACKED
  • PR number. Pull the body into the run directory: gh pr view <n> --json body -q .body > "<run>/input.md". Work on that file.
  • Pasted text. Write it to <run>/input.md so the same commands apply.

The names inside the run directory are fixed: input.md for a PR body or pasted text, rewrite.md for the rewrite, facts-orig.txt and facts-new.txt for Step 4. A file path is read where it lives; its rewrite still goes to <run>/rewrite.md. Two runs at once get two directories and cannot overwrite each other, and Step 5 deletes the directory when the run ends.

Read the full file on GitHub · 289 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago First seen · 289 lines · 72 tokens per session scan D 2ae8238e3965

Subscribe to this mod's changes

unslop is a skill published in the GitHub repository timurgaleev/vibestack (6 stars, last pushed 7d ago), licensed MIT. It adds 72 tokens to every session and 4,938 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it D with 2 findings (asks for root, recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other skills, from other repositories

grok-build-supervisor

Initialize the persistent local proxy, then immediately ensure a visible Grok Build TUI for the current workspace when /grokexecute on activates, and continuously supervise that coding-agent session through a user-level Supervisor daemon as the user sends work, waits for completion, reconnects from another host task…

Vanyangyang/cursor-bridge · 103 tokens

cursor-delegate

Delegate bounded light-to-medium implementation, investigation, documentation, configuration, testing, and tooling work to Cursor Bridge after the primary agent owns direction and risk boundaries. Also use when the user explicitly asks to create, keep, continue, inspect, or close the same Cursor execution session…

Vanyangyang/cursor-bridge · 163 tokens

grok-executor-off

Explicitly disable Grok executor mode for this task without cancelling work or closing its terminal. Select this skill directly; no argument is required.

Vanyangyang/cursor-bridge · 34 tokens

grok-executor-on

Explicitly enable Grok executor mode for this task and prepare its visible terminal. Select this skill directly; no argument is required.

Vanyangyang/cursor-bridge · 32 tokens

agentcore-gateway-mcp

Turn Lambda functions, OpenAPI and Smithy APIs, and existing MCP servers into a unified MCP tool surface with Amazon Bedrock AgentCore Gateway. Use when giving an agent tools, configuring inbound or outbound Gateway auth, or enabling semantic tool discovery at scale.

ihatesea69/kiro-kit · 58 tokens

bedrock-agentcore

Deploy and operate agents on Amazon Bedrock AgentCore — Runtime, Harness, Memory, Identity, and Observability. Use when hosting an agent on AWS, containerising an agent for AgentCore Runtime, wiring session or long-term memory, or choosing between Harness, Runtime, and plain Lambda.

ihatesea69/kiro-kit · 63 tokens