unslop-reasoning — Claude Code skill: features and setup
This skill trims robotic patterns from AI reasoning, including repeated problem summaries, excessive doubt, and bloated plans. Use it to revise an agent's visible reasoning trace.
npx skills add MohamedAbdallah-14/unslop --skill unslop-reasoning -a claude-codeWhat unslop-reasoning does
unslop-reasoning targets reasoning traces rather than the prose of a finished response. It identifies repeated restatements of the task, plans padded with unnecessary caveats, excessive breakdowns of simple fixes, and circular comparisons that never settle on a choice. It also catches unsupported swings between certainty and doubt.
The skill covers six recurring patterns and rewrites affected passages while retaining concrete details such as filenames, line numbers, numeric values, and error messages. When the revised trace is under 30% of its original length, it flags that most of the original was hedging. A genuine change of mind based on new evidence should remain in the rewrite.
Use it on visible reasoning, agent task breakdowns, or extended-thinking output. It does not replace /unslop, which targets ordinary response prose. For Claude Code, install it with the provided npx skills command.
What it helps with
- Remove repeated descriptions of the task from an agent's reasoning
- Condense a plan for a small code fix
- Break out of circular comparisons between possible solutions
- Prioritize likely causes based on log evidence
- Retain a justified change of direction after a new finding
Example prompts for the agent
- Use
/unslop-reasoningto make this visible reasoning sound less robotic. - Trim repeated points and unnecessary hesitation from this debugging trace while keeping filenames, line numbers, and errors intact.
- Rewrite the agent's plan for this bug without removing changes of mind supported by new evidence.
How to install unslop-reasoning
1Skills CLI (Vercel)
npx skills add MohamedAbdallah-14/unslop --skill unslop-reasoning -a claude-code2Manually: put the files in place
~/.claude/skills/unslop-reasoning/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/unslop-reasoning/
1Skills CLI (Vercel)
npx skills add MohamedAbdallah-14/unslop --skill unslop-reasoning -a codex2Manually: put the files in place
.agents/skills/unslop-reasoning/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add MohamedAbdallah-14/unslop --skill unslop-reasoning -a cursor2Manually: put the files in place
.cursor/skills/unslop-reasoning/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install MohamedAbdallah-14/unslop unslop-reasoning2Manually: put the files in place
.github/skills/unslop-reasoning/SKILL.md1Skills CLI (Vercel)
npx skills add MohamedAbdallah-14/unslop --skill unslop-reasoning -a gemini-cli2Platform CLI
gemini skills install https://github.com/MohamedAbdallah-14/unslop --path skills/unslop-reasoningManually: put the files in place
.devin/skills/unslop-reasoning/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add MohamedAbdallah-14/unslop --skill unslop-reasoning -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about unslop-reasoning
How do I install unslop-reasoning in Claude Code?
Run npx skills add MohamedAbdallah-14/unslop --skill unslop-reasoning -a claude-code. The installed skill file is at ~/.claude/skills/unslop-reasoning/SKILL.md.
What does the unslop-reasoning skill do?
It revises visible AI reasoning by cutting repetition, excessive qualification, and circular deliberation. It preserves technical details and corrections supported by actual findings.
How is unslop-reasoning different from /unslop?
unslop-reasoning focuses on reasoning traces, agent task breakdowns, and extended thinking. The regular /unslop skill targets finished response prose, and the two serve different purposes.
Source text
SKILL.md · MIT
--- name: unslop-reasoning description: > Strip AI-slop patterns from reasoning traces (chain-of-thought, extended thinking, agent decomposition) — not final prose. Reasoning text has its own slop catalog that regular unslop doesn't target: over-explaining the question, over-hedging, over-decomposing trivial problems into 6-bullet substeps, infinite-loop rationalization. Trigger: /unslop-reasoning, "clean up my reasoning", "fix this chain of thought", "this CoT sounds robotic". Applies to reasoning output; does not override regular /unslop mode. --- # unslop-reasoning ## Purpose The regular unslop skill targets prose. Chain-of-thought output has a separate failure mode — AI-slop patterns that appear in *reasoning*, not in the final answer. These patterns have no equivalent in the prose catalog because nobody hand-edits a thinking trace. The research in docs/research/ calls this gap out explicitly: "no AI-slop reasoning pattern catalog" (Cat 19). This skill fills it. Apply when the user pastes a reasoning trace — an internal chain of thought, an agent's decomposition, or extended-thinking output — and asks for it to read less robotic. ## Signals of reasoning slop Six canonical patterns, each with an example and a tighter rewrite. ### 1. Restating the question **AI:** > The user is asking how to fix the auth middleware bug. They want me to > identify the root cause and propose a fix. **Human:** > Auth middleware bug. Find cause, propose fix. The model often spends a paragraph paraphrasing the input back to itself. Humans don't. They read, maybe underline, and move. ### 2. Over-hedging the plan **AI:** > There are several factors to consider when approaching this problem. > First, we should think about the scope. It's also important to consider > the context. There are many potential approaches. **Human:** > Three options: A, B, C. A is fastest. B is safest. Picking A unless > something looks wrong. Hedging in reasoning inflates the trace without narrowing the problem. Real thinking commits to a direction early, then revises. ### 3. Over-decomposing **AI (for a two-line fix):** > Step 1: Identify the file. > Step 2: Find the function. > Step 3: Read the function. > Step 4: Identify the bug. > Step 5: Plan the change. > Step 6: Write the change. > Step 7: Verify the change. **Human:** > Open auth.py. Token expiry uses `<`, should be `<=`. Fix line 42. Trivial problems don't need a 7-step decomposition. A flat "here's the answer" is more honest than a ceremonial march. ### 4. Infinite-loop rationalization **AI:** > Option A could work, but it has drawback X. Option B avoids X but has > drawback Y. Option A's drawback X might be acceptable if we consider > that Y is also a concern. But B's drawback Y could be addressed by... **Human:** > A or B. A has X, B has Y. Picking A because X is reversible and Y is not. When the same two options keep re-appearing with reshuffled pros and cons, the reasoning is circling, not progressing. Commit. Name the tiebreaker. ### 5. Performative exhaustiveness **AI:** > Let me consider all possibilities. It could be a network issue. It could > be a DNS issue. It could be a routing issue. It could be a firewall > issue. It could be a permission issue. It could be... **Human:** > Looks like DNS or firewall. Checking DNS first because the logs show > resolution errors. Human reasoning filters. It doesn't enumerate. Listing every possibility without prioritizing reads as AI performing rigor rather than doing it. ### 6. Unmotivated confidence-then-retraction **AI:** > I am certain the bug is in the cache layer. Wait, let me reconsider. > Actually, it might be in the middleware. Although, on reflection, I > believe I was right the first time. The cache layer is the most likely > cause. **Human:** > Probably the cache. Middleware is also possible — check logs before > committing to one. Swinging between "I am certain" and "let me reconsider" three times in one paragraph is not thinking. It is simulated humility. ## Application When the user asks you to clean up a reasoning trace: 1. Read the trace once. 2. Mark which of the six patterns appear. 3. Rewrite the trace so each marked section becomes a single sentence that commits to a direction. Keep facts, cut ceremony. 4. Preserve every concrete detail — file names, line numbers, error strings, specific numbers. Only the meta-reasoning gets trimmed. 5. If the cleaned trace is < 30% of the original, flag it: "This trace was mostly hedging. The actual content is X." ## Boundaries - Do NOT use this on the FINAL answer. Final answers have their own voice targets handled by the regular `/unslop` skill. This is for the visible thinking that precedes the answer. - Do NOT remove a correction. If the trace genuinely reconsidered and changed its mind based on a concrete finding, preserve that beat — it's a real reasoning move, not simulated humility. - Do NOT over-compress. A 40-line thinking trace compressed to one line is as suspicious as the original. Human reasoning has surface area. Aim for the shape of human thinking, not for word-count minimalism. - Code, commands, error messages, file paths, numbers: preserved exactly. ## Research basis Cat 19 (Agentic Autonomous Thinking) names the missing-catalog gap directly: "there are well-documented blacklists for AI-slop prose (stock phrases, sycophancy, hedging stacks — Cat 01, 16). There is no equivalent list for AI-slop reasoning patterns: over-explaining, over-hedging, over- decomposing, and the infinite-loop rationalization visible mid-agent-run." This skill is the first pass at that catalog. It is a starting point, not a final answer. Cat 06 (Chain-of-Thought Reasoning) makes the case that visible-reasoning traces are a feature, not a bug. The goal here is not to hide reasoning but to make the visible part read like a person thinking, not a model performing thought.
© MohamedAbdallah-14 · MIT · MohamedAbdallah-14/unslop