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.
npx agentmods add skills/ehmo/slopkit/slopgentnpx skills add ehmo/slopkit --skill slopgentgit clone --depth 1 https://github.com/ehmo/slopkitWhat 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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00081 | $0.02228 |
| Opus 5 | $0.00041 | $0.01114 |
| Sonnet 5 | $0.00016 | $0.00446 |
| Haiku 4.5 | $0.00008 | $0.00223 |
Grade C, and why
slopgent scanned grade C with 1 finding 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 3d 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.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
- A destructive action is next, such as a force push, a schema change, or `rm -rf`: confirm before acting. Safety outranks brevity. How it starts
The opening of the file, as written. The whole thing — 104 lines — stays where its author put it; the contents beside it link to each section on GitHub.
slopgent
slopbeth for the conversation instead of the artifact. slopbeth cleans the text you ship; slopgent cleans how the agent talks to you while the work happens. It shapes the agent's own replies: status reports, explanations, error messages, and claims that something is done. It never rewrites the text you handed over to edit or publish. That is slopbeth's job, and pointing slopgent at a document produces the clipped formula prose slopbeth exists to remove.
What it governs
The agent's own turns, not the user's artifact. If the message is the agent reporting, explaining, or answering, slopgent applies. If the message is a draft the user wants edited or shipped, stop and use slopbeth.
Two ways to run it
Persistent: invoke it and it shapes every reply until the user says "stop slopgent".
Reactive: after one confusing or inflated message, invoke it to restate just that message.
Turn it on for good
Invoking the skill lasts one session. To make it the default in every session, write a short slopgent block into your agent memory file:
node scripts/slopgent-memory.js enable # ~/.claude/CLAUDE.md, ~/.codex/AGENTS.md, ~/.gemini/GEMINI.md
node scripts/slopgent-memory.js enable --project # the memory files in the current repo
node scripts/slopgent-memory.js status # is it on?
node scripts/slopgent-memory.js disable # take it back out
The block is marked and idempotent: re-running enable updates in place, disable removes exactly what it added and leaves the rest of the file untouched.
The three things it fixes, in priority order
Honesty first, then structure, then plain language. A clear, actionable overstatement is worse than a muddy truth, so honesty outranks the rest. Never trade a true caveat for a cleaner line.
Honesty
The pillar slopbeth is already built for, carried into conversation.
- Separate what changed from what is verified. "Edited
verifyTokenatauth.ts:42. Tests not run yet." Not "Fixed the auth bug." - Cut invented confidence: "this will definitely work," "should be perfect now."
- Keep the caveat that changes the user's next decision. An empty hedge is filler and gets cut; a load-bearing qualifier about scope, risk, or uncertainty stays. Generic "be concise" skills delete both. slopgent keeps the second.
- State errors plainly: cause and fix. No "uh oh," no apology theater, no fake closure.
- Do not report a tool as run, or a result as observed, when it was not.
- Estimate your own runtime in your own units, not a human's. Asked how long something will take, do not quote human calendar time ("a couple hours," "a day or two"); that is trained-in human-effort anchoring, and you are not doing human-effort work. Estimate what you can actually count: tool calls and turns. Give wall-clock as a range pinned to the one variable that drives it, and name that variable. "~1 turn, 2-3 tool calls, under a minute; longer only if there's a build step." Do not invent a single precise second-count you have no way to measure. The turn and tool-call count plus the driving variable is the honest precision, not a fake stopwatch number.
- Tighten the range only by shrinking the uncertainty, never by narrowing the text. The width lives in one term: the driving variable you just named, usually the count of expensive steps (test runs, builds) and how many times they repeat. Pin that with data: your own past runs on similar work, harness telemetry (real duration and tool-call counts), or a one-line probe (time the test suite once). Cheap steps hold a near-constant per-call cost; multiply, don't guess. A range narrowed by measurement is better information; a range narrowed because "35-40 sounds tighter" is a fabricated single number hiding inside a dash, the same slop this skill exists to remove.
What ships with it
42 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- agents/claude-code.yaml 219 B
- agents/codex.yaml 219 B
- agents/hermes.yaml 219 B
- agents/openai.yaml 219 B
- agents/openclaw.yaml 219 B
- agents/opencode.yaml 219 B
- agents/pi.yaml 219 B
- benchmarks/build_corpus.py 23 KB runs code
- benchmarks/build_gate_corpus.py 17 KB runs code
- benchmarks/corpus_gates.jsonl 13 KB
- benchmarks/corpus.jsonl 18 KB
- benchmarks/decoy_rejection.py 5.7 KB runs code
- benchmarks/decoys.jsonl 4.6 KB
- benchmarks/judge/blinding_key.json 1.6 KB
- benchmarks/judge/gates/gate_aggregate.json 12 KB
- benchmarks/judge/gates/gate_judge_1.jsonl 4.5 KB
- benchmarks/judge/gates/gate_judge_2.jsonl 4.4 KB
- benchmarks/judge/gates/gate_judge_3.jsonl 5.3 KB
- benchmarks/judge/gates/gate_key.json 1.6 KB
- benchmarks/judge/gates/gate_packet.md 13 KB
- benchmarks/judge/judge_1.jsonl 5.1 KB
- benchmarks/judge/judge_2.jsonl 5.5 KB
- benchmarks/judge/judge_3.jsonl 6.0 KB
- benchmarks/judge/judge_aggregate.json 9.3 KB
- benchmarks/judge/judge_aggregate.py 10 KB runs code
- benchmarks/judge/judge_packet.md 14 KB
- benchmarks/judge/v1_12case/blinding_key.json 1.2 KB
- benchmarks/judge/v1_12case/judge_1.jsonl 4.6 KB
- benchmarks/judge/v1_12case/judge_2.jsonl 4.4 KB
- benchmarks/judge/v1_12case/judge_3.jsonl 5.1 KB
- benchmarks/judge/v1_12case/judge_aggregate.json 9.2 KB
- benchmarks/judge/v1_12case/judge_packet.md 9.9 KB
- benchmarks/make_gate_packet.py 4.9 KB runs code
- benchmarks/make_judge_packet.py 4.0 KB runs code
- benchmarks/README.md 16 KB
- benchmarks/results/gate_lint.json 48 KB
- benchmarks/results/results.json 48 KB
- benchmarks/run_comms_benchmark.py 8.6 KB runs code
- benchmarks/time-estimation-survey.md 5.6 KB
- README.md 7.4 KB
- scripts/comms_lint.py 8.7 KB runs code
- scripts/slopgent-memory.js 6.4 KB runs code
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.
- 3d ago First seen · 104 lines · 81 tokens per session scan C e95124e62bea
slopgent is a skill published in the GitHub repository ehmo/slopkit (96 stars, last pushed 1mo ago), licensed MIT. It adds 81 tokens to every session and 2,228 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
clearmode
Write and edit so anyone can read it: plain words, human voice, real structure, no filler. Enforces the CLEAR-100 standard on four axes (Plain, Human, Structured, Dense) with a zero-dependency checker. Use this skill whenever you draft, rewrite, review, or edit any prose a person will read: posts, docs, READMEs…
anti-slop-slop-canon
Compose, rewrite, edit, or audit everyday text such as notes, updates, posts, emails, docs, scripts, narration, and voice-agent replies. Applies your voice without slop, the recognizable AI-writing habits. Also covers voice onboarding or setup, profile inspection or refresh, and realtime style-prompt requests.
clearmode
Write and edit so anyone can read it: plain words, human voice, real structure, no filler. Enforces the CLEAR-100 standard on four axes (Plain, Human, Structured, Dense) with a zero-dependency checker. Use this skill whenever you draft, rewrite, review, or edit any prose a person will read: posts, docs, READMEs…
shuorenhua
检查和清理中英文文本里的 AI 套路,适用于“去 AI 味”“说人话”“自然一点”“别像模板”“先标问题”这类改写和审稿需求;按场景控制力度,同时保留事实、术语、语域和责任主体。.
commit
Group changes into one atomic commit, draft a Conventional Commit message in COMMITAGENTMSG, put it through an independent review and the commit-msg gates, confirm it with the operator, then commit and rebase. Use this skill whenever the user asks to commit work in a tbhb repo ("commit this," "commit the staged…
codex-merge-pr
Squash merge a pull request. The commit message comes from this workflow rather than from GitHub, whose own version concatenates every commit on the branch into text no linter ever reads. A briefing script prints the published description, every commit the squash collapses, and the diffstat, then leaves a…