From writing
Convert aha moments from conversations or thinking sessions into polished mental model notes for an Obsidian vault. Use whenever the user asks to create a mental model note, capture an insight, write up an aha moment, turn a conversation into a knowledge note, or says /create-mental-model. Also trigger when the user has just had a breakthrough in understanding and wants to preserve it, mentions "mental model", or asks to distill a conversation into a knowledge note. Do NOT use for general note-taking, meeting logs, or concept summaries that lack a specific insight.
How this skill is triggered — by the user, by Claude, or both
Slash command
/writing:create-mental-modelThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Transform an aha moment into a note that future-you can re-derive the insight from, months later. The note should feel like past Sivaram explaining to future Sivaram who might have forgotten it.
Transform an aha moment into a note that future-you can re-derive the insight from, months later. The note should feel like past Sivaram explaining to future Sivaram who might have forgotten it.
A mental model note is NOT a textbook summary, a proof transcript, or a topic tour. It captures one reducible insight — a single question, trick, or concept — and builds the reader's understanding through a chain of reasoning they can reconstruct.
The user provides one of:
When a full conversation is available, mine it for three things:
The summary tells the skill what to write. The conversation tells it how the author thinks about it.
Identify the aha moments from the input. For each, determine:
Present a brief framing to the user. One quick exchange, not a brainstorming session. The user has already identified the aha moments; you are confirming the angle.
Example confirmation:
I see one note here: "Why Lagrange coefficients sum to 1" — the trick is interpolating all-ones to get a constant function, so f(0) = 1. Punchline-upfront structure. Sound right?
Or for multiple insights:
I see two separate insights:
- "Why FROST can't use simple aggregation" — the degree constraint means conversion doesn't help. Stuck-point structure.
- "Share conversion between Shamir and additive" — this is reference material, not a mental model.
I'd write just #1. Agree?
Default to ONE note. Only split when the aha moments serve genuinely different reducible questions. If splitting, cross-reference with [[wikilinks]].
Generate the note using the appropriate structural template (see below).
Before writing, invoke the obsidian:obsidian-markdown skill to ensure correct Obsidian syntax (wikilinks, callouts, LaTeX, frontmatter).
The note must use this frontmatter:
---
type: mental-model
status: done
tags: []
created: <today's date, YYYY-MM-DD>
sources: []
related: []
---
Fill in tags with broad themes (#cryptography, #bitcoin, #frost, #secp256k1, #performance). Fill in sources with URLs or text references (e.g., "Lindell 2024, Section 3.2"). Fill in related with [[wikilinks]] to connected vault notes.
Save to the knowledge/ folder in the vault.
Run the generated note through the /humanizer skill as a detection-only pass. This flags AI-tone markers. Then rewrite ONLY the flagged spots in the author's voice. Do not rewrite the entire note. Preserve all technical content, mathematical precision, and structural choices.
Common AI-tone markers to watch for: "Consider the set...", "Note that...", "It is worth noting...", "Recall that...", "This elegant approach...", "Importantly,...", "Crucially,...", "Interestingly,...".
Runs only if Step 1 flagged a visual/spatial component. Spawn a separate agent (via the Agent tool) to handle diagram creation. Provide the agent with:
The agent's job:
obsidian-visual-skills:excalidraw-diagram skillassets/ and embed it in the note with ![[filename.md]]If Step 1 said "no visual needed," skip this step. See the Visuals section below for the criteria that determine when a diagram is required vs optional.
Choose based on the nature of the insight. If the insight can be stated cleanly before the reasoning, use punchline upfront. If the insight is a reframing that resolves a specific confusion, use stuck-point-to-resolution.
Default bias: stuck-point-to-resolution. The author finds notes more useful when they start with "here's what confused me" and walk through correcting the mental model. Only use punchline-upfront when the insight is a clean property/fact with no preceding confusion (like the Lagrange offset property). When the insight is "why is X defined this way?" or "why does X work?", that is almost always a stuck-point note, even if you could state the answer as a fact.
Use when the core insight can be stated as a clean fact, property, or trick.
Structure:
> [!info] callout with the core insight (1-2 sentences). This is the punchline — future-you reads this and knows what the note is about.Every section must advance the core insight. If a section answers a different question than the note's title, cut it or make it a separate note.
Gold-standard example: references/examples/lagrange-offset-property.md — read it for structure and voice. The callout gives the punchline, the proof uses a conceptual trick (not algebra grinding), the FROST section shows application, the MuSig2 section is a contrast case.
Use when the insight is a reframing that resolves a specific confusion or epistemic gap.
Structure:
Gold-standard example: references/examples/otp-security-proof.md — read it for the stuck-point arc. "I couldn't figure out how to reason about the two conditional probabilities" names the exact gap. "The Key Move: Condition on the Key" resolves it directly.
Secondary example: references/examples/strauss-calibration-mental-model.md — uses the same arc with richer structural scaffolding (named coordinate systems, numbered lists, visual diagrams). Shows how to weave reasoning voice through structured content.
The target voice is "past Sivaram explaining to future Sivaram" — a cryptography/mathematics engineer who works on secp256k1, FROST, MuSig2, and provable security.
Before writing, read references/voice-calibration.md for curated excerpts showing the target voice. For deeper calibration on a specific note, read the source file directly.
Short declarative sentences that land the point:
First-person reasoning at stuck points:
Genuine asides (not performative):
Technical precision with casual delivery:
The voice is concise and direct. It doesn't pad with filler, doesn't hedge unnecessarily, and trusts the reader to follow mathematical reasoning. It uses questions naturally ("So can we use method 2?", "Why not max?") rather than as rhetorical devices.
Textbook-neutral (the most common AI failure mode):
Performatively casual (overcorrecting from textbook-neutral):
Em dashes. Never use em dashes. Use commas, periods, or parentheses instead.
Convoluted metaphors. Build from known logic, math, reasoning, and facts. If the analogy IS the insight (like f(x,y,z) = x + y*z for partial linearity), use it. If the analogy is decoration, cut it.
Sophisticated-sounding words that the author doesn't use. Avoid words like "load-bearing", "elegant", "fundamental", "underpins", "precisely", "crucially". The author says things straight: "this is what makes it work" not "this is the load-bearing property". "This prevents the attack" not "this is precisely what prevents the attack". When you catch yourself reaching for a fancy word, replace it with the plain one.
Diagrams are not optional decoration. They are a core part of understanding. A mental model note without visuals, when the insight has any spatial, structural, or comparative dimension, is incomplete.
Step 5 (Visualize) handles diagram creation. The criteria below determine when a diagram is required. The Excalidraw diagram skill (obsidian-visual-skills:excalidraw-diagram) is the standard visual tool for this vault. Diagrams are saved to assets/ and embedded in the note with ![[filename.md]].
When a diagram is required (not optional):
When a diagram is optional:
The test: Would future-you understand the insight faster by looking at a picture than by reading a paragraph? If there is any doubt, create the diagram. A note about a probability distribution without a distribution plot, or a note about a geometric property without a diagram, is leaving understanding on the table.
Markdown tables can supplement Excalidraw for small inline data (like a 4x4 joint distribution grid), but they do not replace diagrams for anything involving curves, flows, or spatial layout.
These are patterns the skill must NOT produce. Each is extracted from real notes that failed.
Moving through related sections as a sequence rather than building toward one punchline. Every section must serve the single reducible {question, trick, or concept}. If a section answers a different question, it belongs in a separate note.
Test: Can you state the note's single reducible question in one sentence? Does every section advance toward answering it?
Telling the reader a fact ("the polynomial has degree n-1") instead of giving them a re-derivable trick to see why it must be true. Re-derivability comes from a memorable conceptual trick, not from following algebra step by step.
Test: If future-you forgot the insight, could you reconstruct it from the derivation in this note? Or would you just be re-reading a fact?
Supplementary material that answers a different question than the note's title. Group axiom verification when the note is about coprime inverses. QR tangents when the note is about curve symmetry.
Test: Remove the section. Does the note's core argument still hold? If yes, the section is satellite. Cut it.
Raw thinking sessions where a genuine aha moment exists but is surrounded by procedural setup and unresolved tangents. The skill's job is to extract and restructure around the insight, not preserve the exploration.
Test: Can a reader find the core insight within 30 seconds of opening the note?
Walking through a proof step by step without ever posing a question or surfacing what makes the proof work. The note should frame why the proof works or what the reader should remember, not just present the steps.
Test: Does the note pose a question? Does it give a re-derivable handle, or just a sequence of steps?
[[wikilinks]] for cross-references between notes and to related vault content.$$...$$ for display math and $...$ for inline math.> [!info] callouts for punchline-upfront notes (not > [!note] or > [!tip]).#cryptography, #bitcoin, #frost, #secp256k1, #performance, etc.lagrange-offset-property.md, otp-security-proof.md.npx claudepluginhub siv2r/obsidian-writing-skills --plugin writingCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.