A Git-Tracked Second Brain for Claude Code Workflows
Second Brain is an Obsidian vault and Claude Code configuration for turning natural-language captures into linked notes, tasks, projects, and an auditable Git history.
A personal knowledge system that leaves a trail
Personal productivity systems often force a choice. A lightweight notes app makes capture easy but can leave decisions, tasks, and changes scattered. A structured task manager brings order, but asks people to keep entering that structure by hand.
Second Brain is designed to bridge that gap. The repository packages a Git-tracked Obsidian vault for use with Claude Code. Its stated model is simple: enter a thought in natural language, then let Claude Code classify it into organized Markdown files. Along the way, the project uses Git commits as a record of changes.
That makes this repository relevant to builders who already work in text files and want a more structured way to manage tasks, projects, contacts, ideas, and daily planning. It is not presented as a standalone hosted application. Instead, it is a local workflow built around a repository, an Obsidian vault, Claude Code commands, and a set of hooks and skills.
From a sentence to linked notes
The central interaction is /new <text>. A user might enter a phrase such as a meeting reminder or a new project description. According to the README, the workflow decomposes the input into one or more entities, classifies each entity, extracts details such as due dates and tags, links related files with Obsidian-style [[wiki links]], and writes the resulting files into the vault.
The documented categories are task, project, person, and idea. Each has a Markdown template with YAML frontmatter, the metadata block at the top of a file. Tasks can hold a due date and status; projects have an active, paused, complete, or archived state; people records can include last contact; ideas carry tags.
This file-first design matters because the output remains legible without a proprietary interface. A task is a Markdown file in tasks/, a project is a file in projects/, and the relationships are expressed as links in the content. Obsidian is recommended as the graphical editor for browsing that vault, while Git supplies version history.
The project also documents confidence thresholds for classification. At higher confidence it proceeds automatically, while inputs below 0.5 prompt for clarification. That is a practical acknowledgement that natural-language capture is ambiguous. “Meeting with Sarah” can imply a person record, a task, or both, depending on context. The threshold is intended to prevent the system from silently imposing structure when it lacks enough signal.
Planning and review are separate workflows
Capture is only one part of the repository. /today generates a dated file in the daily/ directory with due-today work, overdue tasks, active projects and their next actions, plus recent activity. The README describes a “grep before glob” approach: search for the relevant date or status rather than loading every task file.
That approach is an implementation lesson for AI-assisted file workflows. A vault can grow quickly, and reading every document for a narrow question wastes context. Searching first narrows the material that Claude Code needs to inspect. The stated design philosophy also calls this progressive disclosure: load information in layers instead of treating the entire vault as one prompt.
At the end of a day, /daily-review compares the plan with Git activity since 8am, updates task statuses, and appends a review section. /history similarly uses commit history to show the previous seven days of Chief of Staff activity. These commands make the Git log more than a backup mechanism. It becomes a queryable activity record.
Git as an audit trail, with an important tradeoff
Second Brain configures a PostToolUse auto-commit hook for writes and edits to selected vault directories, including tasks, projects, people, ideas, daily notes, and weekly notes. The documented commit prefix is cos:, producing messages such as cos: new task - task-name and cos: daily plan for YYYY-MM-DD.
For an individual working with an AI assistant, that convention offers a concrete benefit: it is possible to filter the history to see what the assistant changed and inspect a file’s evolution with standard Git commands. The README includes examples using git log --grep="cos:" and git log -p for file history.
There is a tradeoff. A commit after every write or edit can create a granular history. That is useful for traceability, but it can also make a repository’s log busy. The project addresses discoverability through the consistent prefix, rather than attempting to hide that granularity. Builders adapting the pattern should decide whether their own workflow values fine-grained recovery and auditability over a compact commit history.
Delegating work across repositories
The repository also defines /delegate, a command intended to open a separate terminal session for autonomous work. Delegation targets are configured as local paths in .claude/reference/employees.json. The README describes a flow in which the command reads those targets, builds a prompt with context and repository references, then invokes a Python script, fork_terminal.py, to start Claude Code in a new terminal.
A CLAUDE_DELEGATED=1 environment variable is used to distinguish delegated runs, and a stop hook can play a completion sound. The documentation frames these targets as specialized Claude Code repositories. In practice, this turns the vault into a coordination point: a task recorded in the second brain can route work to another local repository while retaining the task’s output location and history.
This is a useful pattern for people who organize their work by repository, though it also depends on local machine setup. The target paths must be configured, and the documented prerequisites include Claude Code, Git, Python 3.8 or later, plus Obsidian if a graphical vault interface is desired.
A composable local system
Second Brain’s strongest idea is not a new database or a hidden automation service. It is the combination of familiar local pieces: Markdown for durable records, Obsidian for navigation, Claude Code for natural-language actions, Python for documented helper scripts, and Git for history.
The repository’s approach will suit people comfortable editing files and configuring local tooling. Its classification, planning, review, and delegation commands provide a concrete starting point for treating a personal vault as an operational workspace rather than a passive archive.
Inspect the project and its setup details at MuLIAICHI/second-brain-co.
Turn your GitHub repository into a story worth sharing.
Connect a public repository, generate a reviewable draft, and publish it with Reather.
