[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-ce120ce2-5e53-440d-9d38-18d0a58d18d1":3,"$fgRQzXk593J-LSNfNNKPEMS6Q9_1yGJbBse2__1j7HDc":43},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":34},"ce120ce2-5e53-440d-9d38-18d0a58d18d1","unslop","通过unslop CLI对AI生成的文本进行后处理，以去除AI写作模式后再发布","cat_life_career","mod_other","sickn33,other","---\nname: unslop\ndescription: \"Post-process AI-generated text through the unslop CLI to strip AI writing patterns before publishing\"\ncategory: writing\nrisk: safe\nsource: community\nsource_repo: MohamedAbdallah-14\u002Funslop\nsource_type: community\ndate_added: \"2026-04-25\"\nauthor: MohamedAbdallah-14\ntags: [writing, content-quality, ai-writing, text-processing, cli, publishing]\ntools: [claude-code, cursor, gemini-cli, codex-cli, antigravity]\nlicense: \"MIT\"\nlicense_source: \"https:\u002F\u002Fgithub.com\u002FMohamedAbdallah-14\u002Funslop\u002Fblob\u002Fmain\u002FLICENSE\"\n---\n\n# 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\u002Fhooks\u002Fpre-commit or a CI script\nCONTENT=$(cat docs\u002Fchangelog.md)\nCLEANED=$(echo \"$CONTENT\" | unslop --stdin --deterministic)\nif [ \"$CONTENT\" != \"$CLEANED\" ]; then\n  echo \"Changelog contains AI writing patterns. Run: cat docs\u002Fchangelog.md | unslop --stdin --deterministic > docs\u002Fchangelog.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\u002F*.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\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,231,622,"2026-05-16 13:45:35",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"其他","other","mdi-page-next-outline","其他类型Skill",5,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":32,"skillCount":33,"createdAt":26},"职场发展","career","mdi-briefcase-outline","面试准备、简历优化、职业规划",4,575,[35],{"id":36,"skillId":4,"version":37,"fileName":38,"fileSize":39,"filePath":40,"fileHash":41,"manifest":42,"createdAt":19},"ccf9e9d4-9298-4cbf-9e24-b613dd5180e7","1.0.0","unslop.zip",2091,"uploads\u002Fskills\u002Fce120ce2-5e53-440d-9d38-18d0a58d18d1\u002Funslop.zip","2b51f8137cebb1da1a06b284c90a90dcad0f50a1a3753bae4d959fba1d46f8a6","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":4481}]",{"code":44,"message":45,"data":46},200,"success",{"items":47,"stats":48,"page":51},[],{"averageRating":49,"totalRatings":49,"ratingCounts":50},0,[49,49,49,49,49],{"limit":52,"offset":49,"hasMore":53,"nextOffset":52,"ratedOnly":16},15,false]