obsidian-second-brain turns an Obsidian vault into persistent, searchable memory for Claude Code and other command-line coding agents, storing knowledge as linked Markdown notes. It is for developers, founders, writers, and researchers who want agents to retain project context across sessions. Its catalogue entries provide commands, hooks, a plugin, a skill, and instructions for capturing, finding, and maintaining that memory.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/eugeniughelbur/obsidian-second-brainWrote 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/eugeniughelbur/obsidian-second-brain/obsidian-reconcile)<a href="https://agentmods.dev/commands/eugeniughelbur/obsidian-second-brain/obsidian-reconcile"><img src="https://agentmods.dev/badge/commands/eugeniughelbur/obsidian-second-brain/obsidian-reconcile/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/eugeniughelbur/obsidian-second-brain/obsidian-reconcile"><img src="https://agentmods.dev/badge/commands/eugeniughelbur/obsidian-second-brain/obsidian-reconcile.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.00014 | $0.01451 |
| Opus 5.5 | $0.00006 | $0.00580 |
| Sonnet 5.5 | $0.00003 | $0.00290 |
| Haiku 4.5 | $0.00001 | $0.00145 |
Grade A, and why
obsidian-reconcile 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 3d 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 — 67 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Use the obsidian-second-brain skill. Execute /obsidian-reconcile $ARGUMENTS:
The optional argument is a topic or entity to focus on. If not provided, scan the whole vault.
-
Read
_CLAUDE.mdfirst if it exists in the vault root -
Read
index.mdto understand the full vault landscape -
Spawn parallel subagents to find contradictions:
- Claims agent: scan the concepts and projects folders (resolved per
references/folder-map.md) for factual claims - find pairs that contradict each other - Entity agent: scan the entities folders (resolved per
references/folder-map.md, which gives Obsidian-style vaults a separate folder for some entity kinds) for outdated roles, companies, or descriptions that conflict with newer sources - Decisions agent: scan the decisions folder (resolved per
references/folder-map.md) and project Key Decisions for reversed or superseded decisions that were never updated - Source freshness agent: compare
raw/source dates againstwiki/page dates - flag wiki pages that reference old sources when newer ones exist on the same topic
The claims, entity and decisions agents return each contradiction as two claims, one per side. Each claim has the note's vault-relative
path, thelinenumber, and aquote: one line copied character for character from that note, at least 12 characters long. A contradiction without both quotes is not a finding. Pass this format to every subagent. - Claims agent: scan the concepts and projects folders (resolved per
-
Prove each contradiction before acting on it. Send both claims to the checker (the skill root's absolute path was given at session start as Skill root; substitute it for
SKILL_ROOT):uv run --directory "SKILL_ROOT" scripts/verify_quotes.py --path <vault> <<'EOF' [{"path": "<note path>", "line": 12, "quote": "<line copied from that note>"}, {"path": "<other note path>", "line": 40, "quote": "<line copied from that note>"}] EOF- Both claims must come back
"ok": true. If either fails, drop the contradiction: no rewrite, no conflict note. List it under Dropped as unproven with thereasonthe checker gave. - Use
found_linefrom the output, not the line the subagent gave. - Source freshness findings compare dates, not claims, so they skip this step.
For each proven contradiction, evaluate:
- Which source is newer? (date comparison)
- Which source is more authoritative? (peer-reviewed > blog post > transcript > opinion)
- Is this a genuine contradiction or an evolution? (someone changing their mind is not a contradiction - it's growth)
- Both claims must come back
-
Resolve each contradiction:
- Clear winner: rewrite the outdated page with current info. Add a
## Historysection noting what changed and why, with the proven quote it replaced: "Previously stated X (source: raw/articles/old-article.md, 2025-11-01). Updated to Y based on newer evidence (source: raw/articles/new-article.md, 2026-03-15)." - Genuinely ambiguous: create
Conflict - Topic.mdin the decisions folder (resolved perreferences/folder-map.md;type: conflict, schema inreferences/ai-first-rules.md) documenting both sides with their verbatim quotes andpath:line, the evidence for each, and mark asstatus: openfor the user to decide - Evolution: update the entity/concept page to reflect the current state and add the historical context
- Clear winner: rewrite the outdated page with current info. Add a
-
After all resolutions:
- Rebuild affected sections of
index.md - Append to the operation log: if
Logs/exists write**HH:MM** - reconcile | X contradictions reported, P proven, D dropped as unproven, Y auto-resolved, Z flagged for usertoLogs/YYYY-MM-DD.md; otherwise append## [YYYY-MM-DD] reconcile | X contradictions reported, P proven, D dropped as unproven, Y auto-resolved, Z flagged for usertolog.md - Update today's daily note with a reconciliation summary
- Rebuild affected sections of
-
Report back:
- Auto-resolved (list with old claim → new claim and why)
- Flagged for user (genuinely ambiguous - needs human judgment)
- Stale pages updated (pages rewritten with fresher sources)
- Dropped as unproven (each claim, its
path, and the checker'sreason)
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.
- 3d ago Changed · +16 lines a674a67615cd
- 1mo ago Changed · +1 lines 60600f91c8e7
- 1mo ago First seen · 50 lines · 14 tokens per session scan A 0e5cf7eacb01
obsidian-reconcile is a command published in the GitHub repository eugeniughelbur/obsidian-second-brain (4,996 stars, last pushed today), licensed MIT. It adds 14 tokens to every session and 1,451 once invoked, about $0.0001 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.
Other commands, from other repositories
patterns
Scan recent sessions for recurring patterns and turn them into captures (rules, concept notes, writing seeds).
curate
A command for maintaining a file-based knowledge wiki. It can review pages, shorten overlong material, manage page lifecycles, find possible contradictions, and rebuild weak connections between notes.
ingest
A command for adding information to a file-based knowledge wiki from web pages, files, or text notes. It classifies the material, updates or creates wiki pages, and adds links between related pages.
onboard
An interview-based setup command for an LLM Wiki, a notes system designed for use with language models. It asks about your wiki, files, working mode, and personal context, then fills in the setup details.
refresh-context
Re-snapshot Core Context.md from (optional) mothership system files + key personal essays. Run when mothership files change, when new essays signal philosophy shift, or when snapshot is older than 30 days.
wiki-req
Capture and decompose a concept into atomic, traceable wiki requirements. Clarifies ambiguous requirements, splits them into atomic pieces, and persists them as wiki/requirements/ pages with status tracking.