Borrowing it
Nothing to install: this file belongs to moeru-ai/auv. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/moeru-ai/auv/main/.agents/skills/m03-mutability/SKILL.mdgit clone --depth 1 https://github.com/moeru-ai/auvWrote 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/skills/moeru-ai/auv/m03-mutability)<a href="https://agentmods.dev/skills/moeru-ai/auv/m03-mutability"><img src="https://agentmods.dev/badge/skills/moeru-ai/auv/m03-mutability/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/skills/moeru-ai/auv/m03-mutability"><img src="https://agentmods.dev/badge/skills/moeru-ai/auv/m03-mutability.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00074 | $0.01060 |
| Opus 5.5 | $0.00030 | $0.00424 |
| Sonnet 5.5 | $0.00015 | $0.00212 |
| Haiku 4.5 | $0.00007 | $0.00106 |
Grade A, and why
m03-mutability 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 2mo 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 — 154 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Mutability
Layer 1: Language Mechanics
Core Question
Why does this data need to change, and who can change it?
Before adding interior mutability, understand:
- Is mutation essential or accidental complexity?
- Who should control mutation?
- Is the mutation pattern safe?
Error → Design Question
| Error | Don't Just Say | Ask Instead |
|---|---|---|
| E0596 | "Add mut" | Should this really be mutable? |
| E0499 | "Split borrows" | Is the data structure right? |
| E0502 | "Separate scopes" | Why do we need both borrows? |
| RefCell panic | "Use try_borrow" | Is runtime check appropriate? |
Thinking Prompt
Before adding mutability:
-
Is mutation necessary?
- Maybe transform → return new value
- Maybe builder → construct immutably
-
Who controls mutation?
- External caller →
&mut T - Internal logic → interior mutability
- Concurrent access → synchronized mutability
- External caller →
-
What's the thread context?
- Single-thread → Cell/RefCell
- Multi-thread → Mutex/RwLock/Atomic
Trace Up ↑
When mutability conflicts persist:
E0499/E0502 (borrow conflicts)
↑ Ask: Is the data structure designed correctly?
↑ Check: m09-domain (should data be split?)
↑ Check: m07-concurrency (is async involved?)
| Persistent Error | Trace To | Question |
|---|---|---|
| Repeated borrow conflicts | m09-domain | Should data be restructured? |
| RefCell in async | m07-concurrency | Is Send/Sync needed? |
| Mutex deadlocks | m07-concurrency | Is the lock design right? |
Trace Down ↓
From design to implementation:
"Need mutable access from &self"
↓ T: Copy → Cell<T>
↓ T: !Copy → RefCell<T>
"Need thread-safe mutation"
↓ Simple counters → AtomicXxx
↓ Complex data → Mutex<T> or RwLock<T>
"Need shared mutable state"
↓ Single-thread: Rc<RefCell<T>>
↓ Multi-thread: Arc<Mutex<T>>
Borrow Rules
At any time, you can have EITHER:
├─ Multiple &T (immutable borrows)
└─ OR one &mut T (mutable borrow)
Never both simultaneously.
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.
- 2mo ago First seen · 154 lines · 74 tokens per session scan A 1e2d270dbfd2
m03-mutability is a skill published in the GitHub repository moeru-ai/auv (203 stars, last pushed 2d ago), licensed Apache-2.0. It adds 74 tokens to every session and 1,060 once invoked, about $0.0003 per session on Opus 5.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-30.
m03-mutability compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| m03-mutabilitymoeru-ai/auv | Skill | 203 | 2d ago | Apache-2.0 | A | 74 | Claude Code |
| rust-patternsaffaan-m/ECC | Skill | 298k | 4d ago | MIT | A | 28 | Claude Code, Kiro |
| update-v8-versionopeninterpreter/openinterpreter | Skill | 69k | 2d ago | Apache-2.0 | A | 86 | Codex |
| dd-code-generationDataDog/pup | Skill | 1.0k | yesterday | Apache-2.0 | A | 16 | Claude Code |
| omh-rustrlaope/oh-my-hermes | Skill | 5.2k | today | MIT | A | 74 | Claude Code, Codex |
| swiftidebosun-ai/swiftide | Skill | 802 | yesterday | MIT | A | 47 | Claude Code, Codex |
| azure-keyvault-secrets-rustbenjaminasterA/antigravity-awesome-skills | Skill | 461 | yesterday | MIT | A | 0 | Claude Code, Codex |