Unslop

Post-process AI-generated text through the unslop CLI to strip AI writing patterns before publishing

Published by @sickn33 and contributors·0 agent reads / 30d·0 saves·

unslop — Strip AI Writing Patterns via CLI

Overview

unslop 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.

The --deterministic flag makes output reproducible — same input always produces same output. The --stdin flag reads from stdin, enabling shell pipeline composition.

When to Use This Skill

  • When you have AI-generated text ready to publish and want a final cleanup pass
  • When working in a shell pipeline where text quality needs to be enforced automatically
  • When writing commit hooks or CI steps that validate content before it ships
  • When you need reproducible text normalization across multiple runs

Setup

Install once:

pipx install unslop
# or
uv tool install unslop

Verify:

unslop --version

How It Works

Step 1: Pipe Text Through unslop

Standard cleanup (may vary slightly between runs):

echo "This leverages cutting-edge AI to deliver robust solutions." | unslop --stdin

Deterministic cleanup (same input → same output every run):

echo "This leverages cutting-edge AI to deliver robust solutions." | unslop --stdin --deterministic

Step 2: Use in Shell Pipelines

Pipe the output of any command through unslop:

cat draft.md | unslop --stdin --deterministic > clean.md

Or chain with other tools:

cat draft.md | unslop --stdin --deterministic | pbcopy   # macOS: copy clean text to clipboard

Step 3: Integrate into Commit Hooks or CI

Add to a pre-commit hook or CI step to enforce quality gates on any generated content before it ships:

# In .git/hooks/pre-commit or a CI script
CONTENT=$(cat docs/changelog.md)
CLEANED=$(echo "$CONTENT" | unslop --stdin --deterministic)
if [ "$CONTENT" != "$CLEANED" ]; then
  echo "Changelog contains AI writing patterns. Run: cat docs/changelog.md | unslop --stdin --deterministic > docs/changelog.md"
  exit 1
fi

Examples

Example 1: Clean a Draft Document

cat blog-post-draft.md | unslop --stdin --deterministic > blog-post-final.md

Example 2: Inline Cleanup During Writing

# Write content, pipe through unslop, write result back
cat README.md | unslop --stdin > README.clean.md && mv README.clean.md README.md

Example 3: Validate Before Submitting a PR

# Check if any generated docs need cleanup
for f in docs/*.md; do
  ORIGINAL=$(cat "$f")
  CLEANED=$(echo "$ORIGINAL" | unslop --stdin --deterministic)
  [ "$ORIGINAL" != "$CLEANED" ] && echo "Needs cleanup: $f"
done

Best Practices

  • ✅ Use --deterministic in CI and automation to ensure reproducible output
  • ✅ Run on the final draft, not intermediate iterations
  • ✅ Combine with the avoid-ai-writing skill for both generation-time guidance and post-processing
  • ❌ Don't run on code files — unslop targets prose, not source code
  • ❌ Don't skip review after unslop: automated cleanup can occasionally change meaning; read the output

Limitations

  • Processes prose only — not code, JSON, or structured data
  • Does not catch factual errors or substantive writing issues
  • Some replacements may not fit every context; review the output before publishing
  • Requires Python tooling such as pipx or uv for standalone CLI installation

Security & Safety Notes

  • unslop reads from stdin and writes to stdout — no file system side effects by default
  • --deterministic mode is local and does not make LLM API calls
  • Default LLM mode may use ANTHROPIC_API_KEY or the Claude CLI; use --deterministic for sensitive local files and CI gates
  • Safe to run in CI pipelines and commit hooks when pinned to deterministic mode

Bundled with this artifact

2 files

Reference files that ship alongside this artifact. Agents pull these in only when the task needs them.

More on the bench

SKILL0

Zustand Store Ts

Create Zustand stores following established patterns with proper TypeScript types and middleware.

ai-prompt-engineering+3
0
SKILL0

Zoom Automation

Automate Zoom meeting creation, management, recordings, webinars, and participant tracking via Rube MCP (Composio). Always search tools first for current schemas.

ai-prompt-engineering+3
0
SKILL0

Zoho Crm Automation

Automate Zoho CRM tasks via Rube MCP (Composio): create/update records, search contacts, manage leads, and convert leads. Always search tools first for current schemas.

ai-prompt-engineering+3
0