Agent skill

M14 Mental Model

by fjrevoredo in fjrevoredo/mini-diarium

A skill your agent uses when learning Rust concepts. An agent skill from fjrevoredo/mini-diarium.

MITAuto-check passedEducation

Install M14 Mental Model

skills CLI
$ npx skills add fjrevoredo/mini-diarium --skill m14-mental-model -a claude-code

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

GitHub CLI
$ gh skill install fjrevoredo/mini-diarium m14-mental-model --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/m14-mental-model .claude/skills/m14-mental-model && 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
m14-mental-model
GitHub stars
308
Used in
1 other repo
Token cost
~1.2k tokens
SKILL.md length
354 words
Files
2
Skills in repo
41
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when learning Rust concepts. An agent skill from fjrevoredo/mini-diarium.

  • Works in 3 steps: What's the ownership model? → What guarantee is Rust providing? → What's the compiler telling me?
  • Learning Rust concepts
  • SKILL.md covers Core Question, Key Mental Models, Coming From Other Languages and Thinking Prompt, plus 8 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

M14 Mental Model is an agent skill from fjrevoredo/mini-diarium. Use when learning Rust concepts. Keywords: mental model, how to think about ownership, understanding borrow checker, visualizing memory layout, analogy, misconception, explaining ownership, why does Rust, help me understand, confused about, learning Rust, explain like I'm, ELI5, intuition for, coming from Java, coming from Python, 心智模型, 如何理解所有权, 学习 Rust, Rust 入门, 为什么 Rust

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `patterns/thinking-in-rust.md`).

It sits in Education. It works with Rust, Java and Python. 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

  • Learning Rust concepts

Example prompts

  • “/m14-mental-model”

Workflow steps

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

  1. What's the ownership model?
  2. What guarantee is Rust providing?
  3. What's the compiler telling me?

What it can do on your machine

Read from SKILL.md and the folder at commit eed457f. 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

M14 Mental Model loads about 1.2k tokens when it runs. Until then it costs about 98 tokens; SKILL.md has 354 words of instructions outside code blocks.

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

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 eed457f, republished under its MIT licence (© fjrevoredo). 354 words, ~1,181 tokens.

Download SKILL.mdSave it as .claude/skills/m14-mental-model/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
m14-mental-model
description
Use when learning Rust concepts. Keywords: mental model, how to think about ownership, understanding borrow checker, visualizing memory layout, analogy, misconception, explaining ownership, why does Rust, help me understand, confused about, learning Rust, explain like I'm, ELI5, intuition for, coming from Java, coming from Python, 心智模型, 如何理解所有权, 学习 Rust, Rust 入门, 为什么 Rust
user-invocable
false

Mental Models

Layer 2: Design Choices

Core Question

What's the right way to think about this Rust concept?

When learning or explaining Rust:

  • What's the correct mental model?
  • What misconceptions should be avoided?
  • What analogies help understanding?

Key Mental Models

ConceptMental ModelAnalogy
OwnershipUnique keyOnly one person has the house key
MoveKey handoverGiving away your key
&TLending for readingLending a book
&mut TExclusive editingOnly you can edit the doc
Lifetime 'aValid scope"Ticket valid until..."
Box<T>Heap pointerRemote control to TV
Rc<T>Shared ownershipMultiple remotes, last turns off
Arc<T>Thread-safe RcRemotes from any room

Coming From Other Languages

FromKey Shift
Java/C#Values are owned, not references by default
C/C++Compiler enforces safety rules
Python/GoNo GC, deterministic destruction
FunctionalMutability is safe via ownership
JavaScriptNo null, use Option instead

Thinking Prompt

When confused about Rust:

  1. What's the ownership model?

    • Who owns this data?
    • How long does it live?
    • Who can access it?
  2. What guarantee is Rust providing?

    • No data races
    • No dangling pointers
    • No use-after-free
  3. What's the compiler telling me?

    • Error = violation of safety rule
    • Solution = work with the rules

Trace Up ↑

To design understanding (Layer 2):

"Why can't I do X in Rust?"
    ↑ Ask: What safety guarantee would be violated?
    ↑ Check: m01-m07 for the rule being enforced
    ↑ Ask: What's the intended design pattern?

Trace Down ↓

To implementation (Layer 1):

"I understand the concept, now how do I implement?"
    ↓ m01-ownership: Ownership patterns
    ↓ m02-resource: Smart pointer choice
    ↓ m07-concurrency: Thread safety

Show full SKILL.md (143 more words)Show less

Common Misconceptions

ErrorWrong ModelCorrect Model
E0382 use after moveGC cleans upOwnership = unique key transfer
E0502 borrow conflictMultiple writers OKOnly one writer at a time
E0499 multiple mut borrowsAliased mutationExclusive access for mutation
E0106 missing lifetimeIgnoring scopeReferences have validity scope
E0507 cannot move from &TImplicit cloneReferences don't own data

Deprecated Thinking

DeprecatedBetter
"Rust is like C++"Different ownership model
"Lifetimes are GC"Compile-time validity scope
"Clone solves everything"Restructure ownership
"Fight the borrow checker"Work with the compiler
"unsafe to avoid rules"Understand safe patterns first

Ownership Visualization

Stack                          Heap
+----------------+            +----------------+
| main()         |            |                |
|   s1 ─────────────────────> │ "hello"        |
|                |            |                |
| fn takes(s) {  |            |                |
|   s2 (moved) ─────────────> │ "hello"        |
| }              |            | (s1 invalid)   |
+----------------+            +----------------+

After move: s1 is no longer valid

Reference Visualization

+----------------+
| data: String   |────────────> "hello"
+----------------+
       ↑
       │ &data (immutable borrow)
       │
+------+------+
| reader1    reader2    (multiple OK)
+------+------+

+----------------+
| data: String   |────────────> "hello"
+----------------+
       ↑
       │ &mut data (mutable borrow)
       │
+------+
| writer (only one)
+------+

Learning Path

StageFocusSkills
BeginnerOwnership basicsm01-ownership, m14-mental-model
IntermediateSmart pointers, error handlingm02, m06
AdvancedConcurrency, unsafem07, unsafe-checker
ExpertDesign patternsm09-m15, domain-*

WhenSee
Ownership errorsm01-ownership
Smart pointersm02-resource
Concurrencym07-concurrency
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

SKILL.md and 1 other file in .agents/skills/m14-mental-model of fjrevoredo/mini-diarium.

  • SKILL.md
  • patterns/thinking-in-rust.md

Open the folder on GitHubat commit eed457f

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

M14 Mental Model 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.

M14 Mental Model compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
M14 Mental Model this skillfjrevoredo/mini-diarium3081 repos~1.2kAutomated safety check: PassMIT
Canvas Ics33X-isdoingreat/canvas-pilot125—~8.8kAutomated safety check: NotesAGPL-3.0
Fory Releaseapache/fory4.6k—~2.9kAutomated safety check: PassApache-2.0
Build Teaql Appteaql/teaql-agent-kit2.8k—~4.6kAutomated safety check: PassMIT
Fory Version Bumpapache/fory4.6k—~1.1kAutomated safety check: PassApache-2.0
Find Untested Sourcesdotnet/skills5.6k1 repos~3.3kAutomated safety check: PassMIT

Similar skills

  • Canvas Ics33

    X-isdoingreat/canvas-pilot

    Generic code-course handler — programming assignments where the spec lives outside Canvas (instructor's external site, attached PDF, or referenced textbook), starter code is downloaded as a…

    125 GitHub stars~8.8k tokensUpdated 2 mo ago
    Testing & QAAuto-check: notes
  • Fory Release

    apache/fory

    Prepare an Apache Fory release candidate from a clean release branch, including the version bump, RC tag, JVM staging, ASF source artifacts, SVN upload, and vote email.

    4.6k GitHub stars~2.9k tokensUpdated yesterday
    Auto-check passed
  • Build Teaql App

    teaql/teaql-agent-kit

    Build or change a TeaQL application in Java, Rust, Go, Swift, Python, C/.NET, or TypeScript, including Kotlin/JVM applications that consume Java-generated libraries.

    2.8k GitHub stars~4.6k tokensUpdated 12 days ago
    MobileAuto-check passed
  • Bump Apache Fory release or post-release development versions across Java, Kotlin, Scala, Python, Rust, Go, C++, C, Dart, JavaScript, Swift, integration tests, examples, and source docs.

    4.6k GitHub stars~1.1k tokensUpdated yesterday
    MobileAuto-check passed
  • Official

    Statically pairs source files with test files to list code that no test references, using Roslyn for C# or tree-sitter for many languages, with no build.

    5.6k GitHub starsUsed in 1 repo~3.3k tokens
    Testing & QAAuto-check passed
  • Run profile-driven bottleneck optimization across Apache Fory implementations (Java, C++, Python/Cython, Go, Rust, Swift, C, JavaScript/TypeScript, Dart, Kotlin, Scala).

    4.6k GitHub stars~2.2k tokensUpdated yesterday
    MobileAuto-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 today
    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 today
    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 today
    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 today
    Auto-check passed
  • Coding Guidelines

    fjrevoredo/mini-diarium

    A skill your agent uses when asking about Rust code style or best practices.

    308 GitHub starsUsed in 1 repo~759 tokens
    Auto-check passed

Works with

Categories

Questions about M14 Mental Model

What does M14 Mental Model do?

A skill your agent uses when learning Rust concepts. An agent skill from fjrevoredo/mini-diarium. M14 Mental Model is an agent skill from fjrevoredo/mini-diarium. Use when learning Rust concepts.

When should I use M14 Mental Model?

M14 Mental Model fits situations like: learning Rust concepts.

How do I install M14 Mental Model in Claude Code?

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

How do I install M14 Mental Model in Codex?

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

Can I use M14 Mental Model 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 m14-mental-model -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/m14-mental-model, .gemini/skills/m14-mental-model, .github/skills/m14-mental-model and .opencode/skills/m14-mental-model in your project.

What does M14 Mental Model need to run?

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

Does M14 Mental Model 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 M14 Mental Model 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 M14 Mental Model use?

M14 Mental Model 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 M14 Mental Model use?

About 1.2k tokens (SKILL.md is roughly 4.7k 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 M14 Mental Model?

Skills that share tags, products or a category with M14 Mental Model: Canvas Ics33 (X-isdoingreat/canvas-pilot, 125 stars), Fory Release (apache/fory, 4.6k stars), Build Teaql App (teaql/teaql-agent-kit, 2.8k stars) and Fory Version Bump (apache/fory, 4.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains M14 Mental Model?

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 9, 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.