Agent skill

M03 Mutability

by fjrevoredo in fjrevoredo/mini-diarium

CRITICAL: Use for mutability issues. An agent skill from fjrevoredo/mini-diarium.

MITAuto-check passed

Install M03 Mutability

skills CLI
$ npx skills add fjrevoredo/mini-diarium --skill m03-mutability -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install fjrevoredo/mini-diarium m03-mutability --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/fjrevoredo/mini-diarium.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/m03-mutability .claude/skills/m03-mutability && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
m03-mutability
GitHub stars
308
Used in
1 other repo
Token cost
~1k tokens
SKILL.md length
330 words
Files
1
Skills in repo
41
Repo updated
First seen
Licence
MIT

At a glance

CRITICAL: Use for mutability issues. An agent skill from fjrevoredo/mini-diarium.

  • Works in 3 steps: Is mutation necessary? → Who controls mutation? → What's the thread context?
  • Mutability issues
  • SKILL.md covers Core Question, Error → Design Question, Thinking Prompt and Trace Up ↑, plus 7 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

M03 Mutability is an agent skill from fjrevoredo/mini-diarium. CRITICAL: Use for mutability issues. Triggers: E0596, E0499, E0502, cannot borrow as mutable, already borrowed as immutable, mut, &mut, interior mutability, Cell, RefCell, Mutex, RwLock, 可变性, 内部可变性, 借用冲突

Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: A local-only journal with serious encryption. Free, open source, and never touches the internet. The licence is MIT.

When your agent uses it

  • Mutability issues

Example prompts

  • “/m03-mutability”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Is mutation necessary?
  2. Who controls mutation?
  3. What's the thread context?

What it can do on your machine

Read from SKILL.md and the folder at commit 75c1286. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

M03 Mutability loads about 1k tokens when it runs. Until then it costs about 55 tokens; SKILL.md has 330 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~55
When it runs · the whole SKILL.md, loaded when a task matches
~1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from fjrevoredo/mini-diarium at commit 75c1286, republished under its MIT licence (© fjrevoredo). 330 words, ~1,020 tokens.

Download SKILL.mdSave it as .claude/skills/m03-mutability/SKILL.md (or your agent's skills folder).
name
m03-mutability
description
CRITICAL: Use for mutability issues. Triggers: E0596, E0499, E0502, cannot borrow as mutable, already borrowed as immutable, mut, &mut, interior mutability, Cell, RefCell, Mutex, RwLock, 可变性, 内部可变性, 借用冲突
user-invocable
false

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

ErrorDon't Just SayAsk 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:

  1. Is mutation necessary?

    • Maybe transform → return new value
    • Maybe builder → construct immutably
  2. Who controls mutation?

    • External caller → &mut T
    • Internal logic → interior mutability
    • Concurrent access → synchronized mutability
  3. 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 ErrorTrace ToQuestion
Repeated borrow conflictsm09-domainShould data be restructured?
RefCell in asyncm07-concurrencyIs Send/Sync needed?
Mutex deadlocksm07-concurrencyIs 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.

Quick Reference

PatternThread-SafeRuntime CostUse When
&mut TN/AZeroExclusive mutable access
Cell<T>NoZeroCopy types, no refs needed
RefCell<T>NoRuntime checkNon-Copy, need runtime borrow
Mutex<T>YesLock contentionThread-safe mutation
RwLock<T>YesLock contentionMany readers, few writers
Atomic*YesMinimalSimple types (bool, usize)

Error Code Reference

ErrorCauseQuick Fix
E0596Borrowing immutable as mutableAdd mut or redesign
E0499Multiple mutable borrowsRestructure code flow
E0502&mut while & existsSeparate borrow scopes

Interior Mutability Decision

ScenarioChoose
T: Copy, single-threadCell<T>
T: !Copy, single-threadRefCell<T>
T: Copy, multi-threadAtomicXxx
T: !Copy, multi-threadMutex<T> or RwLock<T>
Read-heavy, multi-threadRwLock<T>
Simple flags/countersAtomicBool, AtomicUsize

Anti-Patterns

Anti-PatternWhy BadBetter
RefCell everywhereRuntime panicsClear ownership design
Mutex for single-threadUnnecessary overheadRefCell
Ignore RefCell panicHard to debugHandle or restructure
Lock inside hot loopPerformance killerBatch operations

WhenSee
Smart pointer choicem02-resource
Thread safetym07-concurrency
Data structure designm09-domain
Anti-patternsm15-anti-pattern

© fjrevoredo, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/m03-mutability of fjrevoredo/mini-diarium.

Open the folder on GitHubat commit 75c1286

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in fjrevoredo/mini-diarium, which our catalogue first saw on October 7, 2026.

Compare with similar skills

M03 Mutability next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

M03 Mutability compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
M03 Mutability this skillfjrevoredo/mini-diarium3081 repos~1kAutomated safety check: PassMIT
Criticism Self CriticismHughYau/qiushi-skill3.8k—~423Automated safety check: PassMIT
Crossframe Criticalsickn33/agentic-awesome-skills47k1 repos~1.3kAutomated safety check: PassMIT
Critical Imagesthedaviddias/Front-End-Checklist74k—~392Automated safety check: PassMIT
CSS Criticalthedaviddias/Front-End-Checklist74k—~441Automated safety check: PassMIT
Critical Request Chainsthedaviddias/Front-End-Checklist74k—~418Automated safety check: PassMIT

Similar skills

  • Criticism Self Criticism

    HughYau/qiushi-skill

    批评与自我批评:在工作完成、阶段验收、收到批评或同类错误反复出现时,对成果和过程做诚实、具体、基于事实的审视,输出可执行的改进项,并处理外来批评而不辩解。触发信号包括 review、复盘、审查、"帮我看看有没有问题"、"你确定吗";任务刚开始或只是单步查询时不触发。

    3.8k GitHub stars~423 tokensUpdated 6 days ago
    Product & Project ManagementAuto-check passed
  • Crossframe Critical

    sickn33/agentic-awesome-skills

    Use only when the user explicitly names crossframe-critical for a Chinese structural critique dossier, article plan, or long-form critical essay.

    47k GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • Critical Images

    thedaviddias/Front-End-Checklist

    A skill your agent uses when reviewing image assets, markup, and CDN or build transforms related to Prioritize loading critical images.

    74k GitHub stars~392 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • CSS Critical

    thedaviddias/Front-End-Checklist

    A skill your agent uses when reviewing stylesheets, component styles, and responsive behavior related to Inline critical CSS for faster rendering.

    74k GitHub stars~441 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Critical Request Chains

    thedaviddias/Front-End-Checklist

    A skill your agent uses when auditing slow page loads, heavy assets, or rendering delays related to Minimize critical request chains.

    74k GitHub stars~418 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Optimize and verify latency-sensitive systems — realtime dashboards, market data feeds, streaming agents, execution gateways, queues, and caches — by tracking p50/p95/p99 latency, freshness age, and…

    274k GitHub starsUsed in 1 repo~624 tokens
    Business, Finance & HRAuto-check passed

More from fjrevoredo/mini-diarium

All 41 skills in this repo
  • Manual Planning

    fjrevoredo/mini-diarium

    Create, update, review, and execute manual Markdown implementation plans when harness planning mode is not being used.

    308 GitHub stars~3.7k tokensUpdated 2 days ago
    Auto-check passed
  • M10 Performance

    fjrevoredo/mini-diarium

    CRITICAL: Use for performance optimization. An agent skill from fjrevoredo/mini-diarium.

    308 GitHub starsUsed in 2 repos~1k tokens
    Auto-check passed
  • Solidjs

    fjrevoredo/mini-diarium

    SolidJS framework development skill for building reactive web applications with fine-grained reactivity.

    308 GitHub stars~2.6k tokensUpdated 2 days ago
    Auto-check passed
  • Rust Symbol Analyzer

    fjrevoredo/mini-diarium

    Analyze Rust project structure using LSP symbols. An agent skill from fjrevoredo/mini-diarium.

    308 GitHub starsUsed in 2 repos~1.2k tokens
    Auto-check passed
  • Tauri V2

    fjrevoredo/mini-diarium

    Tauri v2 cross-platform app development with Rust backend. An agent skill from fjrevoredo/mini-diarium.

    308 GitHub stars~2.5k tokensUpdated 2 days ago
    Auto-check passed
  • Exploration Mode

    fjrevoredo/mini-diarium

    Enter exploration mode: a thinking partner for researching and thinking through ideas and problems before implementation.

    308 GitHub stars~3.4k tokensUpdated 2 days ago
    Auto-check passed

Questions about M03 Mutability

What does M03 Mutability do?

CRITICAL: Use for mutability issues. An agent skill from fjrevoredo/mini-diarium. M03 Mutability is an agent skill from fjrevoredo/mini-diarium. CRITICAL: Use for mutability issues.

When should I use M03 Mutability?

M03 Mutability fits situations like: mutability issues.

How do I install M03 Mutability in Claude Code?

Run `npx skills add fjrevoredo/mini-diarium --skill m03-mutability -a claude-code`. Or copy the skill folder (.agents/skills/m03-mutability in fjrevoredo/mini-diarium) into .claude/skills/m03-mutability in your project. Claude Code loads it when a task matches its description.

How do I install M03 Mutability in Codex?

Run `npx skills add fjrevoredo/mini-diarium --skill m03-mutability -a codex`. Or copy the skill folder (.agents/skills/m03-mutability in fjrevoredo/mini-diarium) into .agents/skills/m03-mutability in your project. Codex loads it when a task matches its description.

Can I use M03 Mutability in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add fjrevoredo/mini-diarium --skill m03-mutability -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/m03-mutability, .gemini/skills/m03-mutability, .github/skills/m03-mutability and .opencode/skills/m03-mutability in your project.

What does M03 Mutability need to run?

SKILL.md names no scripts, command-line tools or credentials: M03 Mutability is instructions for the agent only.

Does M03 Mutability access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is M03 Mutability safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does M03 Mutability use?

M03 Mutability is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does M03 Mutability use?

About 1k tokens (SKILL.md is roughly 4.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to M03 Mutability?

Skills that share tags, products or a category with M03 Mutability: Criticism Self Criticism (HughYau/qiushi-skill, 3.8k stars), Crossframe Critical (sickn33/agentic-awesome-skills, 47k stars), Critical Images (thedaviddias/Front-End-Checklist, 74k stars) and CSS Critical (thedaviddias/Front-End-Checklist, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains M03 Mutability?

fjrevoredo (a GitHub user) maintains it in fjrevoredo/mini-diarium, which has 308 GitHub stars. The repository holds 41 skills in this directory. The repository was last updated on October 4, 2026.

Source: fjrevoredo/mini-diarium on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.