@alessiods/noclank
v1.0.3
Published
Kills AI-generated clankerspeech slop. Forces plain, direct, human-sounding prose.
Maintainers
Readme
No-Clank
Are you tired of AI-generated clankerspeech slop? Me too.
No-Clank kills the AI-typical writing patterns that make every LLM output sound like it was written by the same model.
Contrastive parallelism. Gratuitous em dashes. "Delve." "Navigate the landscape." "It's not just a tool — it's a philosophy." "Certainly! Let's dive in."
You know the sound. This stops it.
Before / After
You ask: "How does this algorithm work?"
Without No-Clank:
When exploring the intricate landscape of algorithmic paradigms, it's crucial to understand that this isn't merely about sorting data — it's a testament to the elegant tapestry of computational thinking. By leveraging a divide-and-conquer methodology, we unlock the ability to navigate the ever-evolving realm of efficient data processing. Fast, scalable, and robust. But what does this actually mean for you? It means you're not just sorting — you're orchestrating a symphony of data.
With No-Clank:
It splits the input in half, sorts each half recursively, then merges them. The merge step is where the comparison happens.
You ask: "What's the right tool for this job?"
Without No-Clank:
In today's fast-paced, ever-changing development landscape, selecting the appropriate tool is a journey that requires careful consideration of multifaceted requirements. Whether you're a startup or an enterprise, navigating this terrain demands a nuanced understanding of your ecosystem. From local development to production-scale deployments, the right tool doesn't just meet your needs — it elevates your entire workflow.
With No-Clank:
sqlite3. Single file, no server, zero setup. Addpgwhen you have multiple writers.
You ask for a commit message.
Without No-Clank:
This commit introduces a robust authentication enhancement that seamlessly integrates with our existing user management ecosystem. By leveraging JWT tokens and harnessing the power of middleware, we unlock a new paradigm of secure access control. Not just a security improvement — it's a foundational shift in how we approach user verification. Closes #42.
With No-Clank:
Add JWT auth middleware. Closes #42.
Numbers
Measured on Claude Code sessions writing responses to 10 common developer questions, with and without No-Clank (n=5, Haiku 4.5):
| Metric | vs baseline | |--------|-------------| | Output length | ~60% shorter | | Banned words used | 0 vs 4-7 per response | | Em dashes | 0 vs 2-5 per response | | "Certainly!" / "Let's dive in" | 0 vs 1-3 per response | | Information density | 2.5x higher |
How it works
Before writing any text, the agent checks every sentence against the No-Clank ruleset:
- Sentence patterns — no contrastive parallelism, rule of three, false emphasis, "not just X but Y", "from X to Y", rhetorical questions, gerund openers
- Punctuation — no gratuitous em dashes, no excessive bolding, no colon-then-list in casual prose, no emoji bullets, no Title-Case headers without cause
- Vocabulary — a banned list of ~50 words statistically over-represented in LLM output
- Hedges/intensifiers — no throat-clearing, no canned enthusiasm, no filler intensifiers
- Grandiose framing — no TED Talk intros, no false elevation of stakes
- Structural tics — no rhythm-for-rhythm's-sake phrasing, no unnecessary summaries, no hedged-then-confident close
Install
npm (install anywhere)
npm install @alessiods/noclankClaude Code
/plugin marketplace add @alessiods/noclank/plugin install noclank@noclankCodex
codex plugin marketplace add @alessiods/noclankOpen /plugins, install No-Clank, then open /hooks and trust its two lifecycle hooks. Restart for desktop app.
GitHub Copilot CLI
copilot plugin marketplace add @alessiods/noclank
copilot plugin install noclank@noclankIn interactive mode:
/plugin marketplace add @alessiods/noclank
/plugin install noclank@noclankOpenCode
Add to opencode.json:
{ "plugin": ["@alessiods/noclank"] }Run from a checkout instead (the plugin reuses hooks/ and skills/):
{ "plugin": ["./.opencode/plugins/noclank.mjs"] }Injects the ruleset every turn at the active level; adds the /noclank commands (see Commands). OpenCode also auto-loads this repo's AGENTS.md, so the rules hold even without the plugin. The plugin adds the lite/full/ultra/off levels.
The ./ path resolves against your project's opencode.json; to share one checkout across projects, point it at the absolute path of the .mjs instead (it finds its hooks/ and skills/ relative to its own file).
Pi agent harness
pi install git:github.com/alessio-ds/no-clankGemini CLI / Antigravity CLI
gemini extensions install https://github.com/alessio-ds/no-clankor after the rename:
agy plugin install https://github.com/alessio-ds/no-clankOther agents
| Agent | How |
|-------|-----|
| Cursor | Copy .cursor/rules/noclank.mdc to your project's .cursor/rules/ |
| Windsurf | Copy .windsurf/rules/noclank.md to your project's .windsurf/rules/ |
| Cline | Copy .clinerules/noclank.md to your project's .clinerules/ |
| Kiro | Copy .kiro/steering/noclank.md to ~/.kiro/steering/ or your project's .kiro/steering/ |
| GitHub Copilot | Copy .github/copilot-instructions.md to your project's .github/ |
| Aider / CodeWhale / Swival | Copy AGENTS.md to your project root |
| OpenClaw | clawhub install noclank or copy .openclaw/skills/noclank/ to ~/.openclaw/skills/ |
Uninstall
| Host | Command |
|------|---------|
| Claude Code | /plugin remove noclank |
| Codex | codex plugin remove noclank |
| Copilot CLI | copilot plugin remove noclank |
| Pi | pi uninstall noclank |
| Cursor / Windsurf / Cline | Delete the copied rule file |
Commands
| Command | What it does |
|---------|-------------|
| /noclank [lite\|full\|ultra\|off] | Set intensity level |
| /noclank-audit | Scan the last response for clankerspeech violations |
| /noclank-help | Quick reference |
Intensity levels:
| Level | What changes | |-------|-------------| | lite | Run all rules, flag banned vocab with notes, allow rhetorical overrides | | full | Rules enforced strictly. Default. | | ultra | Every sentence must pass "would I text this to a coworker?" |
Persist the default with NOCLANK_DEFAULT_MODE env var or ~/.config/noclank/config.json:
{ "defaultMode": "ultra" }FAQ
Does it apply to code? Variable names, comments, commit messages, and docs follow the rules. Code logic itself doesn't — write clean code however you want.
What if I need marketing copy? No-Clank governs technical prose. If you explicitly ask for a different style ("write this in marketing voice", "make it sound exciting"), follow the request.
Does it work in every agent? The AGENTS.md file works in any agent that reads it (most of them). The plugin+lifecycle-hook version works in Claude Code, Codex, Copilot CLI, OpenCode, Pi, Gemini CLI, and Antigravity. The rest use the instruction-only fallback.
What about creative writing? Poetry, fiction, lyrics, and deliberately stylized prose are exempt. No-Clank is for technical and professional communication.
Why "noclank"? Because every LLM output sounds like it was written by a clanking machine trying to sound human.
License
MIT. Do what you want with it.
