[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74849":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":16,"starSnapshotCount":16,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},74849,"obsidian-mind","breferrari\u002Fobsidian-mind","breferrari","An Obsidian vault that gives AI coding agents persistent memory. Claude Code, Codex CLI, Gemini CLI.","",null,"TypeScript",2913,363,11,13,0,75,146,455,225,29.68,"MIT License",false,"main",true,[],"2026-06-12 02:03:29","🌐 **English** | [日本語](README.ja.md) | [中文](README.zh-CN.md) | [한국어](README.ko.md)\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"obsidian-mind-logo.png\" alt=\"Obsidian Mind\" width=\"120\">\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">Obsidian Mind\u003C\u002Fh1>\n\n[![Claude Code](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fclaude%20code-full%20support-D97706)](https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fdocs\u002Fclaude-code)\n[![Codex CLI](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcodex%20cli-hooks%20%2B%20commands-10A37F)](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex)\n[![Gemini CLI](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fgemini%20cli-hooks%20%2B%20commands-4285F4)](https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli)\n[![Obsidian](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fobsidian-1.12%2B-7C3AED)](https:\u002F\u002Fobsidian.md)\n[![Obsidian CLI](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fobsidian--cli-integrated-E6E6E6)](https:\u002F\u002Fgithub.com\u002Fkepano\u002Fobsidian-cli)\n[![Obsidian Skills](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fobsidian--skills-integrated-8B5CF6)](https:\u002F\u002Fgithub.com\u002Fkepano\u002Fobsidian-skills)\n[![QMD](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fqmd-semantic%20search-FF6B6B)](https:\u002F\u002Fgithub.com\u002Ftobi\u002Fqmd)\n[![Node](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fnode-22%2B-339933)](https:\u002F\u002Fnodejs.org)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue.svg)](LICENSE)\n\n> **An Obsidian vault that gives AI coding agents persistent memory.** Built for Claude Code, with working hooks for Codex CLI and Gemini CLI. Start a session, talk about your day, and the agent handles the rest — notes, links, indexes, performance tracking. Every conversation builds on the last.\n\n---\n\n## 🔴 The Problem\n\nAI coding agents are powerful, but they forget. Every session starts from zero — no context on your goals, your team, your patterns, your wins. You re-explain the same things. You lose decisions made three conversations ago. The knowledge never compounds.\n\n## 🟢 The Solution\n\nGive your agent a brain.\n\n```\nYou: \"start session\"\nAgent: *reads North Star, checks active projects, scans recent memories*\nAgent: \"You're working on Project Alpha, blocked on the BE contract.\n        Last session you decided to split the coordinator. Your 1:1\n        with your manager is tomorrow — review brief is ready.\"\n```\n\nWorks with **Claude Code** (full support), **Codex CLI**, and **Gemini CLI** — same hooks, same commands, same vault.\n\nInstall via `shardmind install` or `git clone` — same vault either way.\n\n---\n\n## ⚡ See It In Action\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"obsidian-mind-demo.gif\" alt=\"Obsidian Mind demo — standup and dump commands\" width=\"800\">\n\u003C\u002Fp>\n\n**Morning kickoff:**\n\n```bash\n\u002Fom-standup\n# → loads North Star, active projects, open tasks, recent git changes\n# → \"You have 2 active projects. The auth refactor is blocked on API contract.\n#    Your 1:1 with Sarah is at 2pm — last time she flagged observability.\"\n```\n\n**Brain dump after a meeting:**\n\n```bash\n\u002Fom-dump Just had a 1:1 with Sarah. She's happy with the auth work but wants\nus to add error monitoring before release. Also, Tom mentioned the cache\nmigration is deferred to Q2 — we decided to focus on the API contract first.\nDecision: defer Redis migration. Win: Sarah praised the auth architecture.\n```\n\n```\n→ Updated org\u002Fpeople\u002FSarah Chen.md with meeting context\n→ Created work\u002F1-1\u002FSarah 2026-03-26.md with key takeaways\n→ Created Decision Record: \"Defer Redis migration to Q2\"\n→ Added to perf\u002FBrag Doc.md: \"Auth architecture praised by manager\"\n→ Updated work\u002Factive\u002FAuth Refactor.md with error monitoring task\n```\n\n**Incident response:**\n\n```bash\n\u002Fom-incident-capture https:\u002F\u002Fslack.com\u002Farchives\u002FC0INCIDENT\u002Fp123456\n# → slack-archaeologist reads every message, thread, and profile\n# → people-profiler creates notes for new people involved\n# → Full timeline, root cause analysis, brag doc entry\n```\n\n**End of day:**\n\n```\nYou: \"wrap up\"\n# → verifies all notes have links\n# → updates indexes\n# → brag-spotter finds uncaptured wins\n# → suggests improvements\n```\n\n---\n\n## 🚀 Quick Start\n\n### 📦 Install via ShardMind (recommended)\n\n```bash\nnpm install -g shardmind\nmkdir my-vault && cd my-vault\nshardmind install github:breferrari\u002Fobsidian-mind\n```\n\n`shardmind install` writes into the current directory, so create and enter a fresh folder first. The wizard collects your name, organization, vault purpose, agents to include, and whether to enable QMD; the post-install hook personalizes `brain\u002FNorth Star.md` with your answers. Then:\n\n1. Open the installed folder as an **Obsidian vault**\n2. Enable the **Obsidian CLI** in Settings → General (requires Obsidian 1.12+)\n3. Run your agent in the vault directory: **`claude`**, **`codex`**, or **`gemini`**\n4. Start talking about work\n\n[ShardMind](https:\u002F\u002Fgithub.com\u002Fbreferrari\u002Fshardmind) is the package manager for Obsidian vault templates. The install adds a `.shardmind\u002F` sidecar that powers the wizard, optional modules (skip what you don't use), and three-way-merge upgrades. With every value at its default the install is byte-equivalent to `git clone` — clone-UX is preserved exactly. Delete `.shardmind\u002F` and `shard-values.yaml` from the installed vault and it keeps working: ShardMind is additive, not load-bearing.\n\n### Or clone directly\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fbreferrari\u002Fobsidian-mind.git\n```\n\nOr use it as a **GitHub template**. Skip the wizard, get the bare template. Then run through the same 4 steps above, plus fill in **`brain\u002FNorth Star.md`** with your goals (the ShardMind wizard does this for you).\n\n### 🔍 Recommended: QMD Semantic Search\n\nQMD is where most of the agent's retrieval intelligence comes from. Optional in the strict sense — the vault falls back to grep + the Obsidian CLI — but the experience is meaningfully better with it:\n\n- **Semantic recall.** Find \"what did we decide about caching\" even when the note is titled \"Redis Migration ADR.\"\n- **Brain topics available on demand.** Claude is instructed (via `CLAUDE.md`) to consult `brain\u002F` guidance through QMD when the conversation touches a listed topic.\n- **Subagents get sharper context.** `context-loader`, `review-prep`, `brag-spotter`, and friends consult QMD first, then fall back to grep.\n- **Native agent tools via MCP.** Registered as a [Model Context Protocol](https:\u002F\u002Fmodelcontextprotocol.io) server in `.mcp.json` — when QMD is installed, `mcp__qmd__query`, `mcp__qmd__get`, and `mcp__qmd__multi_get` appear in the agent's tool menu alongside Read and Edit. Subagents, slash commands, and the main conversation all call the same typed contract. Add another MCP-aware tool later (a database, a ticketing system, a calendar) and it plugs in the same way.\n\n```bash\nnpm install -g @tobilu\u002Fqmd\nnode --experimental-strip-types scripts\u002Fqmd-bootstrap.ts\n```\n\nThe bootstrap is idempotent — safe to re-run. It reads the `qmd_index` and `qmd_context` fields from `vault-manifest.json` (default index name: `obsidian-mind`), registers the collection, attaches the context, and builds the index + embeddings. The SessionStart hook and `.mcp.json` wrapper both read the same manifest field, so CLI queries, the MCP server, and the re-index all scope to the same named SQLite store. This isolates the vault from any other QMD-using vault on the same machine.\n\nIf you want to use a different index name (for example, one vault per engineer on a shared workstation), edit `qmd_index` in `vault-manifest.json` before running the bootstrap. Once the store is populated, always pass `--index \u003Cname>` to the CLI:\n\n```bash\nqmd --index obsidian-mind query \"what did we decide about caching\"\nqmd --index obsidian-mind update   # after bulk edits\nqmd --index obsidian-mind embed    # after many new notes\n```\n\n> [!NOTE]\n> First-time `qmd embed` downloads a ~328MB embedding model. `qmd query` (with LLM reranking) also downloads a ~1.28GB model on first use — skip it with `qmd search` (BM25) or `qmd vsearch` (semantic only) if you want to avoid the larger download.\n\n> [!NOTE]\n> If QMD isn't installed, everything still works — the agent falls back to grep and the Obsidian CLI, and the MCP server entry is skipped with a harmless warning.\n\n---\n\n## 📋 Requirements\n\n- [Obsidian](https:\u002F\u002Fobsidian.md) 1.12+ (for CLI support)\n- An AI coding agent: [Claude Code](https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fdocs\u002Fclaude-code) (full support), [Codex CLI](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex), or [Gemini CLI](https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli)\n- [Node 22+ LTS](https:\u002F\u002Fnodejs.org) (for hook scripts — typically already installed alongside Claude Code \u002F Codex \u002F Gemini CLI)\n- Git (for version history)\n- [QMD](https:\u002F\u002Fgithub.com\u002Ftobi\u002Fqmd) (optional, for semantic search)\n\n> **Note on the Node flag.** Hook scripts execute TypeScript directly via Node's `--experimental-strip-types` flag, stable in Node 22.6+ (Aug 2024) and the default behaviour in Node 23.6+. The flag is marked experimental but has been unchanged across 22 LTS and 24 LTS; if a future Node release retires or renames it, hook commands in `.claude\u002Fsettings.json`, `.codex\u002Fhooks.json`, and `.gemini\u002Fsettings.json` need a one-line update.\n\n---\n\n## ⚙️ How It Works\n\n**Procedural code owns the environment. The agent owns content.** The hooks in `.claude\u002Fscripts\u002F` handle classification, validation, indexing, and lifecycle injection — deterministic, testable, runs the same for every agent. Writing notes, filing them, linking them, drafting briefs — those are judgments, and they stay with the agent. The two halves meet at small handoffs (hooks inject context, agent reads the vault) so neither has to do the other's job.\n\n**Folders group by purpose. Links group by meaning.** A note lives in one folder (its home) but links to many notes (its context). Your agent maintains this graph — linking work notes to people, decisions, and competencies automatically. When review season arrives, the backlinks on each competency note are already the evidence trail. A note without links is a bug.\n\n**Vault-first memory** keeps context across sessions and machines. All durable knowledge lives in `brain\u002F` topic notes (git-tracked, Obsidian-browsable, linked). Claude Code's `MEMORY.md` (`~\u002F.claude\u002F`) is an auto-loaded index that points to vault locations — never the storage itself. This means memories survive machine changes and are part of the graph.\n\n**Sessions have a designed lifecycle.** The `SessionStart` hook auto-injects your North Star goals, active projects, recent changes, open tasks, and the full vault file listing — your agent starts every session with context, not a blank slate. At the end, say \"wrap up\" and the agent runs `\u002Fom-wrap-up` — verifying notes, updating indexes, and spotting uncaptured wins. The `CLAUDE.md` operating manual governs everything in between: where to file things, how to link, when to split a note, what to do with decisions and incidents.\n\n### 🔗 Hooks\n\nFive lifecycle hooks handle routing automatically:\n\n| Hook | When | What |\n|------|------|------|\n| 🚀 SessionStart | On startup\u002Fresume | QMD re-index, inject North Star, active work, recent changes, tasks, file listing |\n| 💬 UserPromptSubmit | Every message | Classifies content (decision, incident, win, 1:1, architecture, person, project update) and injects routing hints |\n| ✍️ PostToolUse | After writing `.md` | Validates frontmatter, checks for wikilinks |\n| 💾 PreCompact | Before context compaction | Backs up session transcript to `thinking\u002Fsession-logs\u002F` |\n| 🏁 Stop | End of session | Checklist: archive completed projects, update indexes, check orphans |\n\n> [!TIP]\n> You just talk. The hooks handle the routing.\n\n### ⚡ Token Efficiency\n\nobsidian-mind does **not** dump your entire vault into context. It uses tiered loading to keep token costs low:\n\n| Tier | What | When | Cost |\n|------|------|------|------|\n| **Always** | `CLAUDE.md` + SessionStart context (North Star excerpt, git summary, tasks, vault file listing) | Session start | ~2K tokens |\n| **On-demand** | QMD semantic search results | When the agent needs specific context | Targeted |\n| **Triggered** | Classification routing hints | Every message | ~100 tokens |\n| **Triggered** | PostToolUse validation | After `.md` writes | ~200 tokens |\n| **Rare** | Full file reads | Only when explicitly needed | Variable |\n\nSessionStart loads **lightweight context** — small excerpts from key files, filenames, and git summary — not full note contents. The agent queries by meaning via QMD before reading files, so it pulls only what's relevant. The classification hook is one lightweight Node call per message. The validation hook only fires on markdown writes and skips excluded paths.\n\n### 🌐 Using with Other Agents\n\nobsidian-mind works with Claude Code, Codex CLI, and Gemini CLI. The vault conventions in `CLAUDE.md`, the hook scripts in `.claude\u002Fscripts\u002F`, and the 18 commands in `.claude\u002Fcommands\u002F` are all agent-agnostic — pure Markdown, TypeScript, and shell with no SDK dependencies.\n\n**Claude Code** — full support. Hooks, commands, subagents, and the memory system all work out of the box.\n\n**Codex CLI** — reads `AGENTS.md` natively. Hook config at `.codex\u002Fhooks.json` wires the same hook scripts Claude Code uses — session context, message classification, and write validation work automatically. Commands work as regular prompts (e.g. type `om-standup` without the `\u002F` prefix).\n\n**Gemini CLI** — reads `GEMINI.md` natively. Hook config at `.gemini\u002Fsettings.json` maps Gemini's event names to the shared hook scripts.\n\n**Other agents** (Cursor, Windsurf, GitHub Copilot, JetBrains AI) — read `AGENTS.md` for vault conventions. Hook support varies by agent.\n\n> [!NOTE]\n> Hooks, commands, subagent prompts, and vault memory (`brain\u002F`) are all agent-agnostic. Only the `~\u002F.claude\u002F` auto-memory loader is Claude Code-specific. See `AGENTS.md` for the full portability guide.\n\n---\n\n## 📅 Daily Workflow\n\n**Morning**: Run `\u002Fom-standup`. Your agent loads your North Star, active projects, open tasks, and recent changes. You get a structured summary and suggested priorities.\n\n**Throughout the day**: Talk naturally. Mention a decision you made, an incident that happened, a 1:1 you just had, a win you want to remember. The classification hook nudges the agent to file each piece correctly. For bigger brain dumps, use `\u002Fom-dump` and narrate everything at once.\n\n**End of day**: Say \"wrap up\" and the agent invokes `\u002Fom-wrap-up` — verifies notes, updates indexes, checks links, spots uncaptured wins.\n\n**Weekly**: Run `\u002Fom-weekly` for cross-session synthesis — North Star alignment, patterns, uncaptured wins, and next-week priorities. Run `\u002Fom-vault-audit` to catch orphan notes, broken links, and stale content.\n\n**Review season**: Run `\u002Fom-review-brief manager` and get a structured review prep document with all the evidence already linked.\n\n---\n\n## 🛠️ Commands\n\nDefined in `.claude\u002Fcommands\u002F`. Run them in Claude Code, Codex CLI, or Gemini CLI.\n\n| Command | What It Does |\n|---------|-------------|\n| `\u002Fom-standup` | Morning kickoff — loads context, reviews yesterday, surfaces tasks, suggests priorities |\n| `\u002Fom-dump` | Freeform capture — talk naturally about anything, routes it all to the right notes |\n| `\u002Fom-wrap-up` | Full session review — verify notes, indexes, links, suggest improvements |\n| `\u002Fom-humanize` | Voice-calibrated editing — makes Claude-drafted text sound like you wrote it |\n| `\u002Fom-weekly` | Weekly synthesis — cross-session patterns, North Star alignment, uncaptured wins |\n| `\u002Fom-capture-1on1` | Capture a 1:1 meeting transcript into a structured vault note |\n| `\u002Fom-incident-capture` | Capture an incident from Slack\u002Fchannels into structured notes |\n| `\u002Fom-slack-scan` | Deep scan Slack channels\u002FDMs for evidence |\n| `\u002Fom-peer-scan` | Deep scan a peer's GitHub PRs for review prep |\n| `\u002Fom-review-brief` | Generate a review brief (manager or peer version) |\n| `\u002Fom-self-review` | Write your self-assessment for review season — projects, competencies, principles |\n| `\u002Fom-review-peer` | Write a peer review — projects, principles, performance summary |\n| `\u002Fom-vault-audit` | Audit indexes, links, orphans, stale context |\n| `\u002Fom-vault-upgrade` | Import content from an existing vault — version detection, classification, migration |\n| `\u002Fom-prep-1on1` | Prep for an upcoming 1:1 — load person context, open items, suggested agenda |\n| `\u002Fom-meeting` | Prep for any meeting by topic — subject-forward briefing with open items and considerations |\n| `\u002Fom-intake` | Process meeting notes inbox — classify and route to the right vault notes |\n| `\u002Fom-project-archive` | Move a completed project from active\u002F to archive\u002F, update indexes |\n\n---\n\n## 🤖 Subagents\n\nSpecialized agents that run in isolated context windows. They handle heavy operations without polluting your main conversation.\n\n| Agent | Purpose | Invoked by |\n|-------|---------|------------|\n| `brag-spotter` | Finds uncaptured wins and competency gaps | `\u002Fom-wrap-up`, `\u002Fom-weekly` |\n| `context-loader` | Loads all vault context about a person, project, or concept | Direct |\n| `cross-linker` | Finds missing wikilinks, orphans, broken backlinks | `\u002Fom-vault-audit` |\n| `people-profiler` | Bulk creates\u002Fupdates person notes from Slack profiles | `\u002Fom-incident-capture` |\n| `review-prep` | Aggregates all performance evidence for a review period | `\u002Fom-review-brief` |\n| `slack-archaeologist` | Full Slack reconstruction — every message, thread, profile | `\u002Fom-incident-capture` |\n| `vault-librarian` | Deep vault maintenance — orphans, broken links, stale notes | `\u002Fom-vault-audit` |\n| `review-fact-checker` | Verify every claim in a review draft against vault sources | `\u002Fom-self-review`, `\u002Fom-review-peer` |\n| `vault-migrator` | Classify, transform, and migrate content from a source vault | `\u002Fom-vault-upgrade` |\n\n> [!NOTE]\n> Subagents are defined in `.claude\u002Fagents\u002F`. You can add your own for domain-specific workflows.\n\n---\n\n## 📊 Performance Graph\n\nThe vault doubles as a performance tracking system:\n\n1. **Competency notes** in `perf\u002Fcompetencies\u002F` define your org's competency framework — one note per competency\n2. **Work notes** link to competencies in their `## Related` section, annotated with what was demonstrated\n3. **Backlinks accumulate automatically** — review prep becomes reading the backlinks panel on each competency note\n4. **Brag Doc** aggregates wins per quarter with links to evidence notes\n5. **`\u002Fom-peer-scan`** deep-scans a colleague's GitHub PRs and writes structured evidence to `perf\u002Fevidence\u002F`\n6. **`\u002Fom-review-brief`** generates a full review brief by aggregating everything: brag entries, decisions, incidents, competency evidence, and 1:1 feedback\n\n> [!TIP]\n> To get started: create competency notes from the template, then link your work notes to them as you go. The graph does the rest.\n\n---\n\n## 📋 Bases\n\nThe `bases\u002F` folder contains database views that query your notes' frontmatter properties. They update automatically as notes change.\n\n| Base | Shows |\n|------|-------|\n| Work Dashboard | Active projects filtered by quarter, grouped by status |\n| Incidents | All incidents sorted by severity and date |\n| People Directory | Everyone in `org\u002Fpeople\u002F` with role, team |\n| 1:1 History | All 1:1 notes sortable by person and date |\n| Review Evidence | PR scans and evidence grouped by person and cycle |\n| Competency Map | Competencies with evidence counts from backlinks |\n| Templates | Quick access to all templates |\n\n`Home.md` embeds these views, making it the vault's dashboard.\n\n---\n\n## 📁 Vault Structure\n\n```\nHome.md                 Vault entry point — embedded Base views, quick links\nCLAUDE.md               Operating manual — read by your agent every session\nAGENTS.md               Multi-agent guide — Codex, Cursor, Windsurf, etc.\nGEMINI.md               Multi-agent guide — Gemini CLI\nvault-manifest.json     Template metadata — version, structure, schemas\n.shardmindignore        Files excluded from `shardmind install` (CONTRIBUTING, translations, marketing media)\nCHANGELOG.md            Version history\nCONTRIBUTING.md         Template development checklist\nREADME.md               Product documentation\nLICENSE                 MIT license\n\nbases\u002F                  Dynamic database views (Work Dashboard, Incidents, People, etc.)\n\nwork\u002F\n  active\u002F               Current projects (1–3 files at a time)\n  archive\u002FYYYY\u002F         Completed work, organized by year\n  incidents\u002F            Incident docs (main note + RCA + deep dive)\n  1-1\u002F                  1:1 meeting notes — named \u003CPerson> YYYY-MM-DD.md\n  Index.md              Map of Content for all work\n\norg\u002F\n  people\u002F               One note per person — role, team, relationship, key moments\n  teams\u002F                One note per team — members, scope, interactions\n  People & Context.md   MOC for organizational knowledge\n\nperf\u002F\n  Brag Doc.md           Running log of wins, linked to evidence\n  brag\u002F                 Quarterly brag notes (one per quarter)\n  competencies\u002F         One note per competency (link targets)\n  evidence\u002F             PR deep scans, data extracts for reviews\n  \u003Ccycle>\u002F              Review cycle briefs and artifacts\n\nbrain\u002F\n  North Star.md         Goals and focus areas — read every session\n  Memories.md           Index of memory topics\n  Key Decisions.md      Significant decisions and their reasoning\n  Patterns.md           Recurring patterns observed across work\n  Gotchas.md            Things that have gone wrong and why\n  Skills.md             Custom workflows and slash commands\n\nreference\u002F              Codebase knowledge, architecture maps, flow docs\nthinking\u002F               Scratchpad for drafts — promote findings, then delete\ntemplates\u002F              Obsidian templates with YAML frontmatter\n\n.claude\u002F\n  commands\u002F             18 slash commands\n  agents\u002F               9 subagents\n  scripts\u002F              Hook scripts + charcount.ts utility\n  skills\u002F               Obsidian + QMD skills\n  settings.json         5 hooks configuration\n\n.shardmind\u002F             ShardMind sidecar — only used if installed via `shardmind install`\n  shard.yaml            Manifest (name, version, modules, hooks)\n  shard-schema.yaml     Wizard values + module gating\n  hooks\u002F                post-install (QMD bootstrap + personalization), post-update\n```\n\n> [!NOTE]\n> `.shardmind\u002F` is **additive, not load-bearing.** A clone-and-open vault never reads it; only the `shardmind` CLI does. Delete it and the vault keeps working. See the v6 layout contract in [shardmind\u002Fdocs\u002FSHARD-LAYOUT.md](https:\u002F\u002Fgithub.com\u002Fbreferrari\u002Fshardmind\u002Fblob\u002Fmain\u002Fdocs\u002FSHARD-LAYOUT.md).\n\n---\n\n## 📝 Templates\n\nTemplates with YAML frontmatter, each including a `description` field for progressive disclosure:\n\n- **Work Note** — date, description, project, status, quarter, tags\n- **Decision Record** — date, description, status (proposed\u002Faccepted\u002Fdeprecated), owner, context\n- **Thinking Note** — date, description, context, tags (scratchpad — delete after promoting)\n- **Competency Note** — date, description, current-level, target-level, proficiency table\n- **1:1 Note** — date, person, key takeaways, action items, quotes\n- **Incident Note** — date, ticket, severity, role, timeline, root cause, impact\n\n---\n\n## 🔧 What's Included\n\n### 🧩 Obsidian Skills\n\n[kepano\u002Fobsidian-skills](https:\u002F\u002Fgithub.com\u002Fkepano\u002Fobsidian-skills) pre-installed in `.claude\u002Fskills\u002F`:\n\n- **obsidian-markdown** — Obsidian-flavored markdown (wikilinks, embeds, callouts, properties)\n- **obsidian-cli** — CLI commands for vault operations\n- **obsidian-bases** — Database-style `.base` files\n- **json-canvas** — Visual `.canvas` file creation\n- **defuddle** — Web page to markdown extraction\n\n### 🔍 QMD Skill\n\nA custom skill in `.claude\u002Fskills\u002Fqmd\u002F` that teaches the agent to use [QMD](https:\u002F\u002Fgithub.com\u002Ftobi\u002Fqmd) semantic search proactively — before reading files, before creating notes (to check for duplicates), and after creating notes (to find related content that should link to it).\n\n---\n\n## 🎨 Customize It\n\nThis is a starting point. Adapt it to how you work:\n\n| What | Where |\n|------|-------|\n| Your goals | `brain\u002FNorth Star.md` — grounds every session |\n| Your org | `org\u002F` — add your manager, team, key collaborators |\n| Your competencies | `perf\u002Fcompetencies\u002F` — match your org's framework |\n| Your tools | `.claude\u002Fcommands\u002F` — edit for your GitHub org, Slack workspace |\n| Your conventions | `CLAUDE.md` — the operating manual, evolve it as you go |\n| Your domain | Add folders, subagents in `.claude\u002Fagents\u002F`, or classification rules in `.claude\u002Fscripts\u002F` |\n\n> [!IMPORTANT]\n> `CLAUDE.md` is the operating manual. When you change conventions, update it — your agent reads it every session.\n\n---\n\n## 🔄 Upgrading\n\n### Ask your agent\n\nThe easiest way — just tell your agent:\n\n```\nUpdate this vault to the latest obsidian-mind from https:\u002F\u002Fgithub.com\u002Fbreferrari\u002Fobsidian-mind\n```\n\nThe agent will pull the latest changes, resolve conflicts, and update infrastructure files. Works with Claude Code, Codex CLI, or Gemini CLI.\n\n### Updating an existing clone\n\nIf you cloned the repo directly:\n\n```bash\ncd your-vault\ngit pull origin main\n```\n\nNew files (`AGENTS.md`, `GEMINI.md`, `.codex\u002F`, `.gemini\u002F`) appear automatically and hook scripts are updated in place.\n\n### Updating a fork\n\nIf you forked the repo:\n\n```bash\ngit remote add upstream https:\u002F\u002Fgithub.com\u002Fbreferrari\u002Fobsidian-mind.git\ngit fetch upstream\ngit merge upstream\u002Fmain\n```\n\nResolve any conflicts in files you customized (typically `CLAUDE.md`, `brain\u002F` notes). Infrastructure files (`.claude\u002Fscripts\u002F`, `.codex\u002F`, `.gemini\u002F`) should merge cleanly.\n\n### Adopting an existing clone into ShardMind (v5.x → v6)\n\nAlready cloned obsidian-mind and want the wizard, optional modules, and three-way-merge upgrades without losing your customizations? `shardmind adopt` reconciles your existing vault into a managed v6 install — keeping every byte of your edits and only adding the `.shardmind\u002F` sidecar + `shard-values.yaml`:\n\n```bash\nnpm install -g shardmind\nshardmind adopt github:breferrari\u002Fobsidian-mind\n```\n\nThe 2-way diff UI walks you through any local changes, asks per-file what to keep, then writes the engine metadata. Result: a v6-managed vault with your existing content intact, ready for `shardmind update` from there forward. No re-cloning.\n\n### Migrating from an older vault (or any other vault)\n\nUsing a pre-v5 obsidian-mind, or migrating from a totally different Obsidian vault? The `\u002Fom-vault-upgrade` command migrates your content into the latest template:\n\n```bash\n# 1. Clone the latest obsidian-mind\ngit clone https:\u002F\u002Fgithub.com\u002Fbreferrari\u002Fobsidian-mind.git ~\u002Fnew-vault\n\n# 2. Open it in your agent\ncd ~\u002Fnew-vault && claude   # or codex, or gemini\n\n# 3. Run the upgrade pointing to your old vault\n\u002Fom-vault-upgrade ~\u002Fmy-old-vault\n```\n\nThe agent will:\n1. **Detect** your vault version (v1–v3.x, or identify it as a non-obsidian-mind vault)\n2. **Inventory** every file — classify as user content, scaffold, infrastructure, or uncategorized\n3. **Present a migration plan** — you see exactly what will be copied, transformed, and skipped\n4. **Execute** after your approval — transforms frontmatter, fixes wikilinks, rebuilds indexes\n5. **Validate** — checks for orphans, broken links, missing frontmatter\n\nYour old vault is **never modified**. Use `--dry-run` to preview the plan without executing.\n\n> [!NOTE]\n> Works with any Obsidian vault, not just obsidian-mind. For non-obsidian-mind vaults, the agent reads each note and classifies it semantically — routing work notes, people, incidents, 1:1s, and decisions to the right folders.\n\n---\n\n## 🗺️ Roadmap\n\n**Contributions welcome.** Open an issue first for anything bigger than a one-file change. Especially anything that touches the hooks, the install, or what people need installed. Saves you from building something that can't be merged.\n\n---\n\n## 🙏 Design Influences\n\n- [kepano\u002Fobsidian-skills](https:\u002F\u002Fgithub.com\u002Fkepano\u002Fobsidian-skills) — Official Obsidian agent skills\n- [James Bedford](https:\u002F\u002Fx.com\u002Fjameesy) — Vault structure philosophy, separation of AI-generated content\n- [arscontexta](https:\u002F\u002Fgithub.com\u002Fagenticnotetaking\u002Farscontexta) — Progressive disclosure via description fields, session hooks\n\n---\n\n## 👤 Author\n\nCreated by **[Brenno Ferrari](https:\u002F\u002Fbrennoferrari.com)** — Senior iOS Engineer in Berlin, building developer tools with Claude Code.\n\n---\n\n## 📄 License\n\nMIT\n","Obsidian Mind 是一个为AI编码助手提供持久记忆的Obsidian仓库。该项目通过集成Claude Code、Codex CLI以及Gemini CLI，使AI能够记住过往对话中的上下文信息、决策过程及个人偏好等，从而在每次会话中都能基于之前积累的知识进行更有效的交流与协作。它支持笔记记录、链接创建、索引构建以及性能跟踪等功能，并且所有这些功能都围绕着同一个目标——让AI助手变得越来越“聪明”。适用于需要频繁使用AI辅助编程工具的开发者，特别是在那些项目周期长、团队成员多变或者跨多个项目工作的场景下尤为有用。",2,"2026-06-11 03:51:06","high_star"]