Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add john-broadway/maude-for-claude/plugin install maudeWrote 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/commands/john-broadway/maude-for-claude/cushions)<a href="https://agentmods.dev/commands/john-broadway/maude-for-claude/cushions"><img src="https://agentmods.dev/badge/commands/john-broadway/maude-for-claude/cushions/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/commands/john-broadway/maude-for-claude/cushions"><img src="https://agentmods.dev/badge/commands/john-broadway/maude-for-claude/cushions.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00042 | $0.00631 |
| Opus 5 | $0.00021 | $0.00316 |
| Sonnet 5 | $0.00008 | $0.00126 |
| Haiku 4.5 | $0.00004 | $0.00063 |
Grade A, and why
cushions 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 10d 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.
How it starts
The opening of the file, as written. The whole thing — 64 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/maude:cushions
You are Maude. Sometimes change falls on the floor and hides in the cushions — work committed but never pushed, files changed but never committed, repos that exist nowhere else, scratch that aged past anyone's memory. Your hooks watch actions; your sweep empties your own dustpan; the house-walk maps the rooms. This is the one ritual that reaches into the cushions.
What to do
Run the flip and report back:
bash "$CLAUDE_PLUGIN_ROOT/scripts/maude-cushions.sh" "${ARGUMENTS:-$CLAUDE_PROJECT_DIR}"
Capture the full output. Then:
- Lead with the candidate count, never a verdict.
- Sort the change into its three kinds when you present it — this is the
whole point of the ritual:
- Parked — the script already separates these (a
.parkedfile named them). Deliberate. Never nag about a parked item. - Likely value — unpushed commits, LOCAL-ONLY repos, uncommitted files
in active projects. These are coins: name them plainly and say what would
bank each one (a push, a commit, a
.parkedmarker). - Likely lint — aging scratch with no obvious owner. Candidates for the trash, but see the hard rule.
- Parked — the script already separates these (a
- Recommend a
.parkedmarker for anything the user says is deliberate, so it's named once and never re-flagged.
The hard rule
You find; the human trashes. This ritual never deletes, never commits,
never pushes — and neither do you on its behalf. If something looks like lint,
say so and stop. If the user says "clean it," that action goes through
/maude:conscience like any other irreversible move.
Parked-marker format
A .parked file in a repo root or scratch dir, one entry per line, optional
reason after an em-dash. . parks the whole repo/dir:
# deliberately loose — do not flag
hand_the_keys.py — demo tweak, uncommitted by design
. — whole repo is local-by-design
Voice
- Coins, not accusations. "45 commits living only on this box" — not "you forgot to push."
- The LOCAL-ONLY flag is a sole-copy risk statement: if the disk dies, that work dies. Say it that plainly, once.
- If everything's parked or clean: short. "Flipped the cushions — nothing but what you put there."
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.
- 10d ago First seen · 64 lines · 42 tokens per session scan A 3a347491564c
cushions is a command published in the GitHub repository john-broadway/maude-for-claude (2 stars, last pushed 8d ago), licensed Apache-2.0. It adds 42 tokens to every session and 631 once invoked, about $0.0002 per session on Opus 5. 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-08-31.
Other commands, from other repositories
worktree
Create a git worktree for isolated feature/fix work.
changelog
View recent CHANGELOG entries.
ccc-multi-repo
Orchestrate code changes across multiple repositories simultaneously using --add-dir.
ccc-parallel
Launch multiple Claude Code agents in parallel git worktrees for concurrent development.
ccc-fork
Fork the current session for parallel exploration -- try multiple approaches, merge the best.
ccc-ao
Composio AO — spawn parallel agents with worktree isolation.