{"id":"f49d5d7f-9c00-4e92-8189-3eda4a603689","shortId":"ksDEs3","kind":"skill","title":"unslop","tagline":"Post-process AI-generated text through the unslop CLI to strip AI writing patterns before publishing","description":"# unslop — Strip AI Writing Patterns via CLI\n\n## Overview\n\nunslop is a CLI tool that post-processes text to remove AI writing patterns programmatically. Unlike skills that ask the agent to avoid AI-isms, unslop runs as a deterministic pipeline step: pipe text in, get clean text out. Use it as a final pass before committing docs, publishing posts, or sending any AI-generated content to production.\n\nThe `--deterministic` flag makes output reproducible — same input always produces same output. The `--stdin` flag reads from stdin, enabling shell pipeline composition.\n\n## When to Use This Skill\n\n- When you have AI-generated text ready to publish and want a final cleanup pass\n- When working in a shell pipeline where text quality needs to be enforced automatically\n- When writing commit hooks or CI steps that validate content before it ships\n- When you need reproducible text normalization across multiple runs\n\n## Setup\n\nInstall once:\n\n```bash\npipx install unslop\n# or\nuv tool install unslop\n```\n\nVerify:\n\n```bash\nunslop --version\n```\n\n## How It Works\n\n### Step 1: Pipe Text Through unslop\n\nStandard cleanup (may vary slightly between runs):\n\n```bash\necho \"This leverages cutting-edge AI to deliver robust solutions.\" | unslop --stdin\n```\n\nDeterministic cleanup (same input → same output every run):\n\n```bash\necho \"This leverages cutting-edge AI to deliver robust solutions.\" | unslop --stdin --deterministic\n```\n\n### Step 2: Use in Shell Pipelines\n\nPipe the output of any command through unslop:\n\n```bash\ncat draft.md | unslop --stdin --deterministic > clean.md\n```\n\nOr chain with other tools:\n\n```bash\ncat draft.md | unslop --stdin --deterministic | pbcopy   # macOS: copy clean text to clipboard\n```\n\n### Step 3: Integrate into Commit Hooks or CI\n\nAdd to a pre-commit hook or CI step to enforce quality gates on any generated content before it ships:\n\n```bash\n# In .git/hooks/pre-commit or a CI script\nCONTENT=$(cat docs/changelog.md)\nCLEANED=$(echo \"$CONTENT\" | unslop --stdin --deterministic)\nif [ \"$CONTENT\" != \"$CLEANED\" ]; then\n  echo \"Changelog contains AI writing patterns. Run: cat docs/changelog.md | unslop --stdin --deterministic > docs/changelog.md\"\n  exit 1\nfi\n```\n\n## Examples\n\n### Example 1: Clean a Draft Document\n\n```bash\ncat blog-post-draft.md | unslop --stdin --deterministic > blog-post-final.md\n```\n\n### Example 2: Inline Cleanup During Writing\n\n```bash\n# Write content, pipe through unslop, write result back\ncat README.md | unslop --stdin > README.clean.md && mv README.clean.md README.md\n```\n\n### Example 3: Validate Before Submitting a PR\n\n```bash\n# Check if any generated docs need cleanup\nfor f in docs/*.md; do\n  ORIGINAL=$(cat \"$f\")\n  CLEANED=$(echo \"$ORIGINAL\" | unslop --stdin --deterministic)\n  [ \"$ORIGINAL\" != \"$CLEANED\" ] && echo \"Needs cleanup: $f\"\ndone\n```\n\n## Best Practices\n\n- ✅ Use `--deterministic` in CI and automation to ensure reproducible output\n- ✅ Run on the final draft, not intermediate iterations\n- ✅ Combine with the `avoid-ai-writing` skill for both generation-time guidance and post-processing\n- ❌ Don't run on code files — unslop targets prose, not source code\n- ❌ Don't skip review after unslop: automated cleanup can occasionally change meaning; read the output\n\n## Limitations\n\n- Processes prose only — not code, JSON, or structured data\n- Does not catch factual errors or substantive writing issues\n- Some replacements may not fit every context; review the output before publishing\n- Requires Python tooling such as `pipx` or `uv` for standalone CLI installation\n\n## Security & Safety Notes\n\n- unslop reads from stdin and writes to stdout — no file system side effects by default\n- `--deterministic` mode is local and does not make LLM API calls\n- Default LLM mode may use `ANTHROPIC_API_KEY` or the Claude CLI; use `--deterministic` for sensitive local files and CI gates\n- Safe to run in CI pipelines and commit hooks when pinned to deterministic mode","tags":["unslop","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity-skills"],"capabilities":["skill","source-sickn33","skill-unslop","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/unslop","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 37911 github stars · SKILL.md body (3,919 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:51:57.199Z","embedding":null,"createdAt":"2026-04-26T18:51:50.514Z","updatedAt":"2026-05-18T18:51:57.199Z","lastSeenAt":"2026-05-18T18:51:57.199Z","tsv":"'1':188,339,343 '2':238,356 '3':277,379 'across':165 'add':284 'agent':49 'ai':6,15,22,40,53,84,120,207,229,328,440 'ai-gener':5,83,119 'ai-ism':52 'alway':97 'anthrop':557 'api':550,558 'ask':47 'autom':422,471 'automat':145 'avoid':51,439 'avoid-ai-writ':438 'back':369 'bash':171,181,200,222,251,263,305,348,361,385 'best':415 'blog-post-draft.md':350 'blog-post-final.md':354 'call':551 'cat':252,264,313,332,349,370,400 'catch':492 'chain':259 'chang':475 'changelog':326 'check':386 'ci':151,283,292,310,420,571,577 'claud':562 'clean':66,272,315,323,344,402,409 'clean.md':257 'cleanup':130,194,215,358,392,412,472 'cli':12,26,31,521,563 'clipboard':275 'code':457,464,485 'combin':435 'command':248 'commit':76,148,280,289,580 'composit':110 'contain':327 'content':86,155,301,312,317,322,363 'context':505 'copi':271 'cut':205,227 'cutting-edg':204,226 'data':489 'default':540,552 'deliv':209,231 'determinist':59,90,214,236,256,268,320,336,353,407,418,541,565,585 'doc':77,390,396 'docs/changelog.md':314,333,337 'document':347 'done':414 'draft':346,431 'draft.md':253,265 'echo':201,223,316,325,403,410 'edg':206,228 'effect':538 'enabl':107 'enforc':144,295 'ensur':424 'error':494 'everi':220,504 'exampl':341,342,355,378 'exit':338 'f':394,401,413 'factual':493 'fi':340 'file':458,535,569 'final':73,129,430 'fit':503 'flag':91,103 'gate':297,572 'generat':7,85,121,300,389,446 'generation-tim':445 'get':65 'git/hooks/pre-commit':307 'guidanc':448 'hook':149,281,290,581 'inlin':357 'input':96,217 'instal':169,173,178,522 'integr':278 'intermedi':433 'ism':54 'issu':498 'iter':434 'json':486 'key':559 'leverag':203,225 'limit':480 'llm':549,553 'local':544,568 'maco':270 'make':92,548 'may':195,501,555 'md':397 'mean':476 'mode':542,554,586 'multipl':166 'mv':375 'need':141,161,391,411 'normal':164 'note':525 'occasion':474 'origin':399,404,408 'output':93,100,219,245,426,479,508 'overview':27 'pass':74,131 'pattern':17,24,42,330 'pbcopi':269 'pin':583 'pipe':62,189,243,364 'pipelin':60,109,137,242,578 'pipx':172,516 'post':3,35,79,451 'post-process':2,34,450 'pr':384 'practic':416 'pre':288 'pre-commit':287 'process':4,36,452,481 'produc':98 'product':88 'programmat':43 'prose':461,482 'publish':19,78,125,510 'python':512 'qualiti':140,296 'read':104,477,527 'readi':123 'readme.clean.md':374,376 'readme.md':371,377 'remov':39 'replac':500 'reproduc':94,162,425 'requir':511 'result':368 'review':468,506 'robust':210,232 'run':56,167,199,221,331,427,455,575 'safe':573 'safeti':524 'script':311 'secur':523 'send':81 'sensit':567 'setup':168 'shell':108,136,241 'ship':158,304 'side':537 'skill':45,115,442 'skill-unslop' 'skip':467 'slight':197 'solut':211,233 'sourc':463 'source-sickn33' 'standalon':520 'standard':193 'stdin':102,106,213,235,255,267,319,335,352,373,406,529 'stdout':533 'step':61,152,187,237,276,293 'strip':14,21 'structur':488 'submit':382 'substant':496 'system':536 'target':460 'text':8,37,63,67,122,139,163,190,273 'time':447 'tool':32,177,262,513 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'unlik':44 'unslop':1,11,20,28,55,174,179,182,192,212,234,250,254,266,318,334,351,366,372,405,459,470,526 'use':69,113,239,417,556,564 'uv':176,518 'valid':154,380 'vari':196 'verifi':180 'version':183 'via':25 'want':127 'work':133,186 'write':16,23,41,147,329,360,362,367,441,497,531","prices":[{"id":"9629e57f-9867-4ec5-8449-3e0479e6a215","listingId":"f49d5d7f-9c00-4e92-8189-3eda4a603689","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-26T18:51:50.514Z"}],"sources":[{"listingId":"f49d5d7f-9c00-4e92-8189-3eda4a603689","source":"github","sourceId":"sickn33/antigravity-awesome-skills/unslop","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/unslop","isPrimary":false,"firstSeenAt":"2026-04-26T18:51:50.514Z","lastSeenAt":"2026-05-18T18:51:57.199Z"}],"details":{"listingId":"f49d5d7f-9c00-4e92-8189-3eda4a603689","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"unslop","github":{"repo":"sickn33/antigravity-awesome-skills","stars":37911,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-05-18T08:24:49Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"2cb5816cd66f9c21201250b88c66dac9de4861e1","skill_md_path":"skills/unslop/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/unslop"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"unslop","license":"MIT","description":"Post-process AI-generated text through the unslop CLI to strip AI writing patterns before publishing"},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/unslop"},"updatedAt":"2026-05-18T18:51:57.199Z"}}