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-projects)<a href="https://agentmods.dev/commands/eugeniughelbur/obsidian-second-brain/obsidian-projects"><img src="https://agentmods.dev/badge/commands/eugeniughelbur/obsidian-second-brain/obsidian-projects/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-projects"><img src="https://agentmods.dev/badge/commands/eugeniughelbur/obsidian-second-brain/obsidian-projects.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.00020 | $0.01284 |
| Opus 5 | $0.00010 | $0.00642 |
| Sonnet 5 | $0.00004 | $0.00257 |
| Haiku 4.5 | $0.00002 | $0.00128 |
Grade A, and why
obsidian-projects 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 10d 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 — 91 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-projects $ARGUMENTS:
Optional argument: a specific project name. If given, show deep context for that one project only. If no argument, run the full overview for all tracked projects.
Step 1 - discover projects
Read _CLAUDE.md to find the projects folder name, resolved per references/folder-map.md (wiki-style wiki/projects/, Obsidian-style Projects/). If not defined, default to the wiki-style wiki/projects/.
Scan that folder for all .md files. For each file, read its frontmatter. A note is a tracked project if it has type: project OR lives in the projects folder and has a repo: field. Collect:
vault_note- the file pathname- fromname:frontmatter or the filenamerepo- fromrepo:frontmatter; absent means non-code project (git steps skip)status- fromstatus:frontmatter if present
If the optional argument was given, filter to the matching project only.
Step 2 - gather state in parallel
Spawn one subagent per project. Each agent runs three checks:
Vault check:
- Read the project note
- Extract:
status, most recent entry in anyRecent Activitysection,next_action, open questions, blockers. IGNORE## Last overviewsections - this command writes those, and reading them back would mark stale projects active forever (a feedback loop)
Git check (skip if no repo: field):
git -C "<repo>" log --oneline --no-merges -15git -C "<repo>" status --short- If the path doesn't exist or isn't a git repo, note it and skip
Docs check (skip if no repo: field):
- Look for
NOTES.md,TODO.md,docs/NOTES.md,docs/TODO.mdin the repo root - Read the first one found; skip if none exist
- Extract explicit next steps, blockers, or context not in the vault note
Step 3 - synthesize per project
Merge the three agent results into one status block per project:
- Status: infer from activity recency:
active(commits or vault update in last 7 days, excluding## Last overviewwrites),stalled(7-30 days),idle(30+ days),blocked(explicit blocker found). Override with the note'sstatus:field if it sayson-hold,completed, orarchived. - Last session: what was worked on and when. Prefer git commit dates + messages over vault dates.
- Next action: single most concrete next step. Pull from vault open questions or docs TODO. If unclear, say so - do not invent one.
- Blocked by: anything explicitly blocking.
noneif nothing found.
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.
- 10d ago First seen · 91 lines · 20 tokens per session scan A 69efd7d37339
obsidian-projects is a command published in the GitHub repository eugeniughelbur/obsidian-second-brain (4,376 stars, last pushed 2d ago), licensed MIT. It adds 20 tokens to every session and 1,284 once invoked, about $0.0001 per session on Opus 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
instinct-import
Import a portable YAML instinct pack with confidence-gated merge (Instinct Engine).
epic-sync
Sync epic issue bodies, labels, and local coordination snapshots from GitHub.
portfolio-status
Review the health of all projects in the portfolio.
issues
GitHub-issue marathon - triage open issues, then run agent-ready ones to merge with Agent Teams.
create-task-list-for-issue.template
This prompt was authored for Claude-style slash workflows. In Codex runtime, adapt tool calls as follows.
update-check.template
This prompt was authored for Claude-style slash workflows. In Codex runtime, adapt tool calls as follows.