Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/bendrucker/claudeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/plugins/bendrucker/claude/friction)<a href="https://agentmods.dev/plugins/bendrucker/claude/friction"><img src="https://agentmods.dev/badge/plugins/bendrucker/claude/friction/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/plugins/bendrucker/claude/friction"><img src="https://agentmods.dev/badge/plugins/bendrucker/claude/friction.svg" alt="Reviewed on agentmods" width="80" height="20"></a>Grade A, and why
friction scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 19d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
{
"name": "friction",
"description": "Count recurring friction across the development setup and surface only small fixes for symptoms that persist",
"author": {
"name": "Ben Drucker",
"email": "[email protected]"
},
"dependencies": ["pull-request"],
"userConfig": {
"config_repos": {
"type": "string",
"multiple": true,
"title": "Config repos",
"description": "Local clones that hold the setup's config. A run checks each finding against them and opens its fixes there. Empty grounds findings against the config files the tools read.",
"default": []
},
"osquery_dir": {
"type": "string",
"title": "osquery log directory",
"description": "Directory holding osqueryd.snapshots.log. Empty uses ~/.local/state/osquery.",
"default": ""
},
"atuin_db": {
"type": "string",
"title": "Atuin database",
"description": "Path to Atuin's history.db. Empty uses ~/.local/share/atuin/history.db.",
"default": ""
}
}
}
What it installs
The manifest is a name and a version. 1 skill travel with it, and installing the plugin installs all of them — 70 tokens a session between them. Each is measured on its own page, and each can be installed alone.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 19d ago First seen · 31 lines scan A 3a49da388ef2
friction is a plugin published in the GitHub repository bendrucker/claude (18 stars, last pushed today), licensed MIT. Its token cost is not measured: this kind of file is read by the harness, not the model. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-22.
friction compared with plugins from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| frictionbendrucker/claude | Plugin | 18 | today | MIT | A | — | Claude Code |
| ponytailDietrichGebert/ponytail | Plugin | 188k | 11d ago | MIT | A | — | Gemini CLI |
| i-have-adhdayghri/i-have-adhd | Plugin | 61k | 21d ago | MIT | A | — | Claude Code |
| dev-skillsshinpr/claude-code-workflows | Plugin | 713 | 4d ago | MIT | A | — | Claude Code |
| cloudflare-browser-renderingsecondsky/claude-skills | Plugin | 248 | 9d ago | MIT | A | — | Claude Code |
| handbookNikiforovAll/claude-code-rules | Plugin | 142 | 7d ago | Apache-2.0 | A | — | Claude Code |
| hermitd-feedgtapps/hermitd | Plugin | 84 | today | MIT | A | — | Claude Code |