Second Brain
NicholasSpisak/second-brain
Set up a new Obsidian knowledge base with the LLM Wiki pattern.
Work through the findings from a second-brain audit in batches, correcting stale facts and converting locations onto the state/event schema, driven by the markdown file of findings the audit left…
$ npx skills add coleam00/skills --skill second-brain-fix -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install coleam00/skills second-brain-fix --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/coleam00/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/second-brain-fix .claude/skills/second-brain-fix && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "second-brain-fix" agent skill from https://github.com/coleam00/skills/tree/main/.claude/skills/second-brain-fix into .claude/skills/second-brain-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "second-brain-fix", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/coleam00/skills/tree/main/.claude/skills/second-brain-fixType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add coleam00/skills --skill second-brain-fix -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install coleam00/skills second-brain-fix --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/coleam00/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/second-brain-fix .agents/skills/second-brain-fix && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "second-brain-fix" agent skill from https://github.com/coleam00/skills/tree/main/.claude/skills/second-brain-fix into .agents/skills/second-brain-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "second-brain-fix", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add coleam00/skills --skill second-brain-fix -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install coleam00/skills second-brain-fix --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/coleam00/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/second-brain-fix .cursor/skills/second-brain-fix && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "second-brain-fix" agent skill from https://github.com/coleam00/skills/tree/main/.claude/skills/second-brain-fix into .cursor/skills/second-brain-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "second-brain-fix", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/coleam00/skills.git --path .claude/skills/second-brain-fix--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add coleam00/skills --skill second-brain-fix -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install coleam00/skills second-brain-fix --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/coleam00/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/second-brain-fix .gemini/skills/second-brain-fix && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "second-brain-fix" agent skill from https://github.com/coleam00/skills/tree/main/.claude/skills/second-brain-fix into .gemini/skills/second-brain-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "second-brain-fix", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install coleam00/skills second-brain-fixInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add coleam00/skills --skill second-brain-fix -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/coleam00/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/second-brain-fix .github/skills/second-brain-fix && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "second-brain-fix" agent skill from https://github.com/coleam00/skills/tree/main/.claude/skills/second-brain-fix into .github/skills/second-brain-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "second-brain-fix", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add coleam00/skills --skill second-brain-fix -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install coleam00/skills second-brain-fix --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/coleam00/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/second-brain-fix .opencode/skills/second-brain-fix && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "second-brain-fix" agent skill from https://github.com/coleam00/skills/tree/main/.claude/skills/second-brain-fix into .opencode/skills/second-brain-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "second-brain-fix", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
second-brain-fixWork through the findings from a second-brain audit in batches, correcting stale facts and converting locations onto the state/event schema, driven by the markdown file of findings the audit left…
Second Brain Fix is an agent skill from coleam00/skills. Work through the findings from a second-brain audit in batches, correcting stale facts and converting locations onto the state/event schema, driven by the markdown file of findings the audit left behind. Use after running second-brain-audit, when someone wants to fix the rest of their notes rather than one page, when they ask how to take the audit forward, when they have a list of contradicted or unsupported claims to work through, or when a notes folder needs converting in bulk rather than one page at a time.
Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Knowledge Management, covering Second brain. The repository describes itself as: The agent skills I actually use to build software with coding agents. The PIV loop, planning, worktrees, and the meta-skills for building your own AI Layer. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 847be08. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Second Brain Fix loads about 3.4k tokens when it runs. Until then it costs about 133 tokens; SKILL.md has 2,016 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from coleam00/skills at commit 847be08, republished under its MIT licence (© coleam00). 2,016 words, ~3,387 tokens.
.claude/skills/second-brain-fix/SKILL.md (or your agent's skills folder).The audit found what is wrong and fixed one location so the shape was visible. This works through the rest, in batches, from the findings the audit left behind.
The findings file this run was invoked with is $audit-results, and it is optional:
/second-brain-fix nothing passed
/second-brain-fix ~/notes a folder to look in
/second-brain-fix ~/notes/second-brain-audit.md the findings file itself$audit-results is a path to one markdown file of findings. /second-brain-audit names
what it writes second-brain-audit.md, so that is usually what you will be handed, but the
name is not the contract. Any markdown file holding the findings works, and whatever the user
points at is the one to use.
Resolve it before anything else:
| What you were given | Do |
|---|---|
| a path to a file | that is the findings. The notes folder is its parent, unless the file names a different one |
| a path to a folder | look inside it for the findings, second-brain-audit.md first |
nothing, so the line above still reads \$audit-results | look in the current folder, then one level down |
| a path that does not exist | say so and stop. Do not fall back to searching, or a typo silently works on the wrong folder |
| more than one candidate when searching | list them with their newest ## Log dates and ask which |
| no candidate when searching | stop. Say to run /second-brain-audit first, since there is nothing to work from |
Never invent a queue from scratch when there are no findings. Auditing and fixing in one pass is how a bulk write happens against findings nobody read.
The findings are the input. $audit-results is both the queue and the record: one keyed
line per location in ## Current State, one dated line per run in ## Log. Everything below
is driven by that file, and a run that does not update it is a run nobody can pick up from.
Never start writing without settling this, and never resolve it by copying the notes folder somewhere else. A duplicate folder of notes is a second answer to every question, which is the exact problem this skill exists to remove.
First, check what is already there. Run git rev-parse --show-toplevel in the notes folder.
Already in git, either its own repo or tracked by a parent one. Commit or stash anything
outstanding, then git checkout -b second-brain-fix, and commit after every batch. Say which
repo you are in, because a vault nested inside another project is common and the user should
know what the branch covers.
Not in git. Ask, in these words or close to them:
Your notes are not in git, so there is no way to undo a batch. Want me to run
git inithere first? It stays on your machine, nothing gets pushed anywhere, and every batch becomes a checkpoint you can roll back to.
If they agree: git init, git add -A, one baseline commit, then the branch. Never add a
remote and never push.
If they decline, ask once more and take the answer:
Understood. To be clear, this rewrites many files at once and there will be no way to undo it. Go ahead anyway?
On a clear yes, proceed and do not raise it again. On silence or anything ambiguous, stop. An unanswered question is not permission.
| Pile | What the finding contains | What to do |
|---|---|---|
| Contradicted | the stale claim AND the newer evidence | fix in batch, no questions |
| Unsupported | the claim, and nothing backing it up | never guess. One batch of questions for the user |
| Locations not yet converted | a page that has no ## Current State / ## Log | convert in batch, verbatim |
The middle row is where bulk fixing goes wrong. An unsupported claim has no answer in the notes by definition, so an agent told to "correct these" will invent a value or quietly delete the line. Both are worse than the stale claim.
Ask how large the notes are, or count the markdown files, and scale the ambition:
| Size | Do this |
|---|---|
| Under ~50 files | everything in one session. Two or three batches |
| ~50 to 500 | the always-loaded surface first, then one folder per batch, committing between |
| 500+ | the always-loaded surface, plus only the pages with a trail (several entries about one subject over time). Everything else stays as it is, permanently |
Bigger notes do not mean convert more. They mean convert a smaller fraction and lean harder on the write path, because at that size nobody is ever going to hand-tend the archive.
Read $audit-results. Take the ## Current State entries that are not marked as fixed, plus
any pile the audit reported but did not enumerate. Group them into batches of roughly 5 to 15
locations, keeping a folder together where you can.
Show the user the batch list and the order before writing anything. Ordering is always:
For each finding, the newer evidence is already named. So:
## Current State.## Log.That last one matters more than it looks. A date on a current value is a claim that somebody checked the value on that day. Stamping today's date on a line you corrected from a note written in June makes a June fact look verified this morning.
Work the whole batch, then show one summary: how many lines replaced, in which files, and the three or four that were least obvious. Do not show a diff per line, and do not ask per line.
Give each page the two sections. Adapt to the shape the audit found:
## Current State
<!-- One entry per subject. Dated. REPLACED on update, never appended to. -->
- **Retainer** (2026-08-01): $3,200/mo, renewed through February 2027
- **Main contact** (2026-05-02): Curtis Ilo
## Log
<!-- Append-only. Never edit or delete an entry. -->
- (2026-04-30) Delivered and paid, $21,000
- (2026-06-15) Added reply drafting, retainer to $3,200/moOne big file gets a ## Current State block at the top and everything else beneath it, no new
files. Daily notes get one new file of current values and the journal untouched. Notes that are
not markdown do not get converted at all.
This is sorting, not rewriting. Every existing line lands in one of the two sections, verbatim, at most with a date prepended. Improving the prose is how information disappears without anyone noticing, and in a batch nobody is reading closely enough to catch it.
When a bullet has no date and none can be recovered, do not invent one and do not quietly
leave the entry bare. Take the date from the evidence if the bullet cites any, otherwise write
(date unknown) in the date's place. A bare entry reads as an oversight; (date unknown) reads
as the gap it is, and it survives into the next audit as something to ask about.
Two kinds of page to leave alone, and say so rather than converting them:
## Current State and the
oldest inside it, which is the exact failure being removed, rebuilt one level up.Collect them all and ask once, as a numbered list. Not one at a time, and never silently.
For each, three outcomes:
## Current State with the date the user gives, and say plainly that
the evidence was missing, not just misfiled.## Log.If the user does not answer, leave every one of them exactly as it is. An unanswered question is not permission.
A question in your summary reaches one person once. The line stays in the notes and gets read by every future session, so the warning has to be on the line, not only in your report.
Whenever you leave a line standing because only the owner can resolve it, append the reason to that line in place, keeping the original text intact ahead of it:
- **Sam Iwu**: accepted a full-time offer, starting October 2026. UNVERIFIED (fix run
2026-09-18): no date and no source anywhere; entities/sam-iwu.md says he is still a
contractor. Confirm or delete.
- **Ferro retainer renewal** (2026-09-12): renewed at $6,500/mo through year-end. CONFLICT
(fix run 2026-09-18): the 2026-09-10 call set it to $12,000/mo. Nothing sources this line.
Ask before quoting either number.This matters most for a stale line that is newer than the line you just corrected. If one key says $12,000 dated the 10th and another says $6,500 dated the 12th, an agent reading that page takes the newer one and answers $6,500, so correcting the first key changed nothing unless the second one carries the warning. Check for that case explicitly after every batch: for each key you fixed, look for another key on the same page about the same subject with a later date.
Never delete the line to resolve the conflict, and never pick a value yourself. Annotating is the whole move.
After each batch, edit $audit-results:
## Current State line with its new status. One line per
location, always. Never a second line.## Log: the date, which batch, how many lines replaced, how many
locations converted, and how many unsupported claims are still unanswered.Then commit the batch. The findings and the notes move together, so an interrupted run is resumable by reading one file.
When the batches are done, run /second-brain-audit again and compare the contradicted count
to the last ## Log line. That number is the only evidence any of this worked.
If the count did not move much, say so and say why rather than presenting the conversion as a result. Restructuring cannot reach a fact nobody ever wrote down, and when the count stays flat that is usually what happened. The fix then is the write path, not another batch.
Flag one thing if the findings file has been renamed: audit.py skips files whose name starts
with second-brain-audit, so a renamed one gets read as evidence on the next scan, and it
quotes stale claims verbatim. Either keep that name or keep the file outside the notes folder.
## Log entry. Old and superseded is the point of that section.Check whether CLAUDE.md (or AGENTS.md, or the system prompt) carries the state/event rule
from the audit's phase 7. If it does not, add it before starting, and say why: fixing four
hundred lines under a write path that can only append buys about a month.
© coleam00, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/second-brain-fix of coleam00/skills.
Open the folder on GitHubat commit 847be08
Second Brain Fix next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Second Brain Fix this skillcoleam00/skills | 670 | — | ~3.4k | Automated safety check: Pass | MIT | |
| Second BrainNicholasSpisak/second-brain | 736 | 1 repos | ~1.5k | Automated safety check: Notes | None | |
| 3D Brainnateherkai/AIS-OS | 1.6k | — | ~2.1k | Automated safety check: Pass | Custom licence | |
| Obsidian Canvas BoardsAgriciDaniel/claude-obsidian | 15k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Icm ArchitectRinDig/icm-architect | 1.8k | — | ~3.2k | Automated safety check: Pass | MIT | |
| Obsidian CLI Read TransportAgriciDaniel/claude-obsidian | 15k | 1 repos | ~762 | Automated safety check: Pass | MIT |
NicholasSpisak/second-brain
Set up a new Obsidian knowledge base with the LLM Wiki pattern.
nateherkai/AIS-OS
A skill your agent uses when someone asks to build a 3D brain, visualize their AIOS or second brain, turn their knowledge into an interactive graph, or run /3d-brain or /3D brain.
AgriciDaniel/claude-obsidian
Creates, inspects and updates Obsidian JSON Canvas boards in a vault, with text, file, link, group and edge nodes, using safe recoverable edits.
RinDig/icm-architect
Design any process, idea, problem, or body of knowledge into an ICM (Interpretable Context Methodology) workspace — folder structure as agent architecture — or restructure an existing folder, repo…
AgriciDaniel/claude-obsidian
Detects and uses the official Obsidian command-line interface for read-only vault access, falling back to direct file reads, while all mutations stay on a separate transaction core.
ballred/obsidian-claude-pkm
Tracks three-year, yearly, monthly, and weekly goals in linked Markdown files, calculating completion percentages and flagging stalled goals.
coleam00/skills
Measure whether a repository's AI instructions still earn their place, by running the same real task many times with the layer intact and with it stripped, then grading every rule against what…
coleam00/skills
Take a PRD and build a dark factory around it - a repository that takes work in as an issue and ships validated code out with nobody at the keyboard - one component at a time, into the user's actual…
coleam00/skills
Take real control of the desktop - list and focus windows, type, paste, click, scroll, and screenshot - on Windows, macOS or Linux, and drive other coding-agent sessions running in terminals.
coleam00/skills
Audit any second brain, notes folder, or agent memory for facts that have quietly stopped being true, then fix the worst one so it stops recurring.
coleam00/skills
Build a personal signal engine from scratch - a system that reads every source someone cares about each day (changelogs and release notes, communities, feeds, videos, papers), makes a quick decision…
coleam00/skills
Create one or more git worktrees for parallel development, each on its own branch with gitignored config copied in, dependencies installed, and a health check, by fanning out a setup subagent per…
Categories
Work through the findings from a second-brain audit in batches, correcting stale facts and converting locations onto the state/event schema, driven by the markdown file of findings the audit left…. Second Brain Fix is an agent skill from coleam00/skills. Work through the findings from a second-brain audit in batches, correcting stale facts and converting locations onto the state/event schema, driven by the markdown file of findings the audit left behind.
Second Brain Fix fits situations like: tasks that involve Second brain.
Run `npx skills add coleam00/skills --skill second-brain-fix -a claude-code`. Or copy the skill folder (.claude/skills/second-brain-fix in coleam00/skills) into .claude/skills/second-brain-fix in your project. Claude Code loads it when a task matches its description.
Run `npx skills add coleam00/skills --skill second-brain-fix -a codex`. Or copy the skill folder (.claude/skills/second-brain-fix in coleam00/skills) into .agents/skills/second-brain-fix in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add coleam00/skills --skill second-brain-fix -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/second-brain-fix, .gemini/skills/second-brain-fix, .github/skills/second-brain-fix and .opencode/skills/second-brain-fix in your project.
Going by SKILL.md and its folder, Second Brain Fix needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Second Brain Fix is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.4k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Second Brain Fix: Second Brain (NicholasSpisak/second-brain, 736 stars), 3D Brain (nateherkai/AIS-OS, 1.6k stars), Obsidian Canvas Boards (AgriciDaniel/claude-obsidian, 15k stars) and Icm Architect (RinDig/icm-architect, 1.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
coleam00 (a GitHub user) maintains it in coleam00/skills, which has 670 GitHub stars. The repository holds 34 skills in this directory. The repository was last updated on October 7, 2026.
Source: coleam00/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.