Obsidian PKM Vault Upgrade
ballred/obsidian-claude-pkm
Updates an obsidian-claude-pkm vault's system files to the latest version, with a backup, per-file diff review and no changes to your own notes.
Diagnose and repair a broken or non-standard agent-second-brain install/migration.
$ npx skills add smixs/agent-second-brain --skill migrate-doctor -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install smixs/agent-second-brain migrate-doctor --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/smixs/agent-second-brain.git skills-src && mkdir -p .claude/skills && cp -r skills-src/vault/.claude/skills/migrate-doctor .claude/skills/migrate-doctor && 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 "migrate-doctor" agent skill from https://github.com/smixs/agent-second-brain/tree/main/vault/.claude/skills/migrate-doctor into .claude/skills/migrate-doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "migrate-doctor", 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/smixs/agent-second-brain/tree/main/vault/.claude/skills/migrate-doctorType 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 smixs/agent-second-brain --skill migrate-doctor -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install smixs/agent-second-brain migrate-doctor --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/smixs/agent-second-brain.git skills-src && mkdir -p .agents/skills && cp -r skills-src/vault/.claude/skills/migrate-doctor .agents/skills/migrate-doctor && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "migrate-doctor" agent skill from https://github.com/smixs/agent-second-brain/tree/main/vault/.claude/skills/migrate-doctor into .agents/skills/migrate-doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "migrate-doctor", 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 smixs/agent-second-brain --skill migrate-doctor -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install smixs/agent-second-brain migrate-doctor --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/smixs/agent-second-brain.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/vault/.claude/skills/migrate-doctor .cursor/skills/migrate-doctor && 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 "migrate-doctor" agent skill from https://github.com/smixs/agent-second-brain/tree/main/vault/.claude/skills/migrate-doctor into .cursor/skills/migrate-doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "migrate-doctor", 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/smixs/agent-second-brain.git --path vault/.claude/skills/migrate-doctor--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 smixs/agent-second-brain --skill migrate-doctor -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install smixs/agent-second-brain migrate-doctor --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/smixs/agent-second-brain.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/vault/.claude/skills/migrate-doctor .gemini/skills/migrate-doctor && 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 "migrate-doctor" agent skill from https://github.com/smixs/agent-second-brain/tree/main/vault/.claude/skills/migrate-doctor into .gemini/skills/migrate-doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "migrate-doctor", 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 smixs/agent-second-brain migrate-doctorInstalls 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 smixs/agent-second-brain --skill migrate-doctor -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/smixs/agent-second-brain.git skills-src && mkdir -p .github/skills && cp -r skills-src/vault/.claude/skills/migrate-doctor .github/skills/migrate-doctor && 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 "migrate-doctor" agent skill from https://github.com/smixs/agent-second-brain/tree/main/vault/.claude/skills/migrate-doctor into .github/skills/migrate-doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "migrate-doctor", 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 smixs/agent-second-brain --skill migrate-doctor -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install smixs/agent-second-brain migrate-doctor --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/smixs/agent-second-brain.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/vault/.claude/skills/migrate-doctor .opencode/skills/migrate-doctor && 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 "migrate-doctor" agent skill from https://github.com/smixs/agent-second-brain/tree/main/vault/.claude/skills/migrate-doctor into .opencode/skills/migrate-doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "migrate-doctor", 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.
migrate-doctorDiagnose and repair a broken or non-standard agent-second-brain install/migration.
Migrate Doctor is an agent skill from smixs/agent-second-brain. Diagnose and repair a broken or non-standard agent-second-brain install/migration. Triggers — upgrade.sh failed, bot won't start after upgrade, "миграция сломалась", "бот не стартует после обновления", legacy d-brain units still present, brain session won't boot, doctor reports failures.
Its SKILL.md is about 900 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 and Legacy modernization. It works with Git, Linux and Todoist. The repository describes itself as: An always-on second brain you talk to. Voice notes in Telegram → typed, linked knowledge in your Obsidian vault. Runs 24/7 on the Claude subscription you already have. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 7828ed6. 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:
gitclaudebashuvFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and uv, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
TODOIST_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Migrate Doctor loads about 904 tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 330 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 noted patterns worth knowing about, such as sudo or a known installer.
brain-bot.service`, `TODOIST_API_KEY` in .env, mcp-config.json | Todoist/MCP era, `claude -p` per message |sudo systemctl list-units 'd-brain-*' --all # legacy system-levelcat ~/projects/agent-second-brain/.env | grep -v 'TOKEN\|KEY' # never print secrets- legacy system-level units conflict → `sudo systemctl disable --now 'd-brain-*'` and remove files from `/etc/systemd/sODOIST_API_KEY` / `DBRAIN_MODE` lines in .env → remove them (v3 ignores but they confuse humans)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 smixs/agent-second-brain at commit 7828ed6, republished under its MIT licence (© smixs). 330 words, ~904 tokens.
.claude/skills/migrate-doctor/SKILL.md (or your agent's skills folder).You are running INSIDE an interactive Claude Code session on the user's
server (subscription billing — this is the supported way to use AI for
repair). Your job: get a broken or half-migrated install to a healthy
v3.0 state. The deterministic path is bash upgrade.sh — your job is to
diagnose WHY it fails, remove the obstacle, and re-run it. Do not
re-implement the migration by hand unless upgrade.sh itself cannot work.
| Version | Markers | Notes |
|---|---|---|
| v1 (Dec 2025) | system-level /etc/systemd/system/d-brain-bot.service, TODOIST_API_KEY in .env, mcp-config.json | Todoist/MCP era, claude -p per message |
| v2 | d-brain-* units, claude -p/claude --print pipeline, weekly timer | headless calls — dead after 2026-06-15 billing change |
| v3.0 (target) | dbrain-* systemd --user units, persistent tmux brain, ~/.dbrain/ runtime dir, cron subsystem | interactive session on subscription |
# What's installed and running?
systemctl --user list-units 'dbrain-*' --all
sudo systemctl list-units 'd-brain-*' --all # legacy system-level
ls ~/.dbrain/ 2>/dev/null # runtime dir (v3)
tmux ls 2>/dev/null # brain sessions
git -C ~/projects/agent-second-brain log --oneline -3
cat ~/projects/agent-second-brain/.env | grep -v 'TOKEN\|KEY' # never print secrets
claude auth status --json # needs "loggedIn": true
journalctl --user -u dbrain-bot -n 50 --no-pagertar czf ~/dbrain-backup-$(date +%s).tgz -C ~/projects agent-second-brain --exclude=.venv and note the current commit (git rev-parse HEAD).vault/daily, notes, cards). The vault is the user's data; migration touches code, units and runtime files only.bash upgrade.sh after each fix — it is idempotent. Fix the obstacle, not the symptom.git pull --ff-only → git stash (show the user what was stashed)sudo systemctl disable --now 'd-brain-*' and remove files from /etc/systemd/system/loggedIn: false → tell the user to run claude interactively and log in; do NOT script OAuthloginctl enable-linger $USERTODOIST_API_KEY / DBRAIN_MODE lines in .env → remove them (v3 ignores but they confuse humans)dbrain restart or tmux kill-session -t <brain> (the bot recreates it lazily)bash scripts/check-no-claude-p.sh # guard clean
systemctl --user is-active dbrain-bot dbrain-watchdog dbrain-process.timer dbrain-doctor.timer
uv run python -m d_brain.services.doctor # ok=True
cat ~/.dbrain/STATUS.md # state: healthyFinish with a short summary: what was broken, what you changed, what the user should watch for. Suggest sending the bot a test voice message.
© smixs, 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 vault/.claude/skills/migrate-doctor of smixs/agent-second-brain.
Open the folder on GitHubat commit 7828ed6
Migrate Doctor 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 |
|---|---|---|---|---|---|---|
| Migrate Doctor this skillsmixs/agent-second-brain | 393 | — | ~904 | Automated safety check: Notes | MIT | |
| Obsidian PKM Vault Upgradeballred/obsidian-claude-pkm | 1.9k | — | ~1.1k | Automated safety check: Notes | MIT | |
| Radarcoreyhaines31/makerskills | 851 | — | ~4k | Automated safety check: Warn | MIT | |
| Convert Internal Package to TypeScriptTryGhost/Ghost | 56k | — | ~1.2k | Automated safety check: Pass | MIT | |
| Wtfnoobnooc/agent | 1.4k | — | ~2.1k | Automated safety check: Notes | None | |
| Dirextalk DeployerYingSuiAI/dirextalk-deployer | 457 | — | ~7.2k | Automated safety check: Pass | MIT |
ballred/obsidian-claude-pkm
Updates an obsidian-claude-pkm vault's system files to the latest version, with a backup, per-file diff review and no changes to your own notes.
coreyhaines31/makerskills
When you want to monitor known sources on a schedule and feed the good stuff into your second brain.
TryGhost/Ghost
Moves a legacy internal Ghost package from JavaScript and CommonJS to TypeScript and ESM in three focused commits that keep git file history intact.
noobnooc/agent
Pre-launch and pre-commit audit for vibe coding projects. An agent skill from noobnooc/agent.
YingSuiAI/dirextalk-deployer
Deploy, resume, verify, update, recover, reset, or destroy production Dirextalk services and nodes on AWS, and wire local agent runtimes.
notepadqq/notepadqq
Release a new Notepadqq version. An agent skill from notepadqq/notepadqq.
smixs/agent-second-brain
Schema-as-code enforcement for any Obsidian vault. An agent skill from smixs/agent-second-brain.
smixs/agent-second-brain
Personal assistant for processing daily voice/text entries from Telegram.
smixs/agent-second-brain
Управление собственным расписанием — напоминания, рутины, периодические задачи.
Categories
Diagnose and repair a broken or non-standard agent-second-brain install/migration. Migrate Doctor is an agent skill from smixs/agent-second-brain. Diagnose and repair a broken or non-standard agent-second-brain install/migration.
Migrate Doctor fits situations like: — upgrade.sh failed; bot wont start after upgrade; Миграция сломалась; Бот не стартует после обновления.
Run `npx skills add smixs/agent-second-brain --skill migrate-doctor -a claude-code`. Or copy the skill folder (vault/.claude/skills/migrate-doctor in smixs/agent-second-brain) into .claude/skills/migrate-doctor in your project. Claude Code loads it when a task matches its description.
Run `npx skills add smixs/agent-second-brain --skill migrate-doctor -a codex`. Or copy the skill folder (vault/.claude/skills/migrate-doctor in smixs/agent-second-brain) into .agents/skills/migrate-doctor 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 smixs/agent-second-brain --skill migrate-doctor -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/migrate-doctor, .gemini/skills/migrate-doctor, .github/skills/migrate-doctor and .opencode/skills/migrate-doctor in your project.
Going by SKILL.md and its folder, Migrate Doctor needs the command-line tools its instructions call (git, claude, bash and uv) and credentials named TODOIST_API_KEY. Our summary lists: Python 3; A credential in TODOIST_API_KEY.
SKILL.md contains no URLs. Its commands use git and uv, 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 notes only (mentions a .env file; runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Migrate Doctor is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 904 tokens (SKILL.md is roughly 3.6k 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 Migrate Doctor: Obsidian PKM Vault Upgrade (ballred/obsidian-claude-pkm, 1.9k stars), Radar (coreyhaines31/makerskills, 851 stars), Convert Internal Package to TypeScript (TryGhost/Ghost, 56k stars) and Wtf (noobnooc/agent, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
smixs (a GitHub user) maintains it in smixs/agent-second-brain, which has 393 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on August 5, 2026.
Source: smixs/agent-second-brain on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.