From ai-brain-starter
Checks an AI Brain Starter vault for health issues like missing CLAUDE.md, stale hooks, or broken scripts. Run after a git pull or when Claude behavior seems off.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ai-brain-starter:diagnose [vault path, defaults to $VAULT_PATH or current directory][vault path, defaults to $VAULT_PATH or current directory]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Tells you whether your second brain is healthy.
Tells you whether your second brain is healthy.
Most "Claude is broken" reports trace to one of:
journal-index.json stale or malformed, so insights find nothing.ps1 files lost their UTF-8 BOM, so Windows PowerShell crashes/diagnose checks all of these in ~5 seconds. It writes nothing, sends no network requests beyond a single git fetch, and exits with a status code so it can be wired into CI or cron.
Find the script. On the maintainer machine: ~/Desktop/ai-brain-starter/scripts/diagnose.sh. On an end-user install: ~/.claude/skills/ai-brain-starter/scripts/diagnose.sh.
Run it. Pick the right one for the platform:
Mac / Linux:
bash ~/.claude/skills/ai-brain-starter/scripts/diagnose.sh
# or pass an explicit vault:
bash ~/.claude/skills/ai-brain-starter/scripts/diagnose.sh "/path/to/vault"
Windows:
pwsh ~/.claude/skills/ai-brain-starter/scripts/diagnose.ps1
# or:
pwsh ~/.claude/skills/ai-brain-starter/scripts/diagnose.ps1 -Vault "C:\path\to\vault"
By default it uses $VAULT_PATH if set, else the current directory.
Read the output to the user in plain language. Don't dump the raw report unless they ask. Translate:
| # | Check | If FAIL | If WARN |
|---|---|---|---|
| 1 | CLAUDE.md present + has Vault Map | Re-run /setup-brain Phase 4 | Add the Vault Map section by hand |
| 2 | ⚙️ Meta/ + scripts/ + rules/ present | Re-run /setup-brain Phase 3 | Create the missing subfolder |
| 3 | ai-brain-starter + daily-journal skills installed | Re-run bootstrap | Install the missing skill from its phase |
| 4 | Hooks registered + graph-context-hook parses | Phase 5 wires hooks; bash -n the script | - |
| 5 | journal-index.json valid + fresh | Delete and rebuild via build-journal-index.py | Re-run /weekly to refresh |
| 6 | git, python3 (jq optional) on PATH | brew install / winget install | Optional tools missing |
| 7 | Vault is a git repo | - | Recommend git init for snapshot history |
| 8 | All .ps1 have BOM, no em dashes, parse clean | Fix the parser error | Add BOM and strip em dashes (see SKILL.md notes) |
| 9 | MCP config valid JSON | Fix the JSON | No MCPs registered (fine if intentional) |
| 10 | ai-brain-starter up to date with origin/main | Re-clone | git pull in ~/.claude/skills/ai-brain-starter |
| 10b | No scheduled-task name collides with a skill; cron-only tasks _-prefixed | - | Rename per docs/MAINTENANCE.md |
| 11 | Vault on a local disk, not a consumer cloud-sync root | Move it local (docs/CLOUD_SYNC.md) | Could not evaluate the path |
| 12 | Vault has an off-machine backup | Set one up: bash scripts/vault-backup.sh setup (docs/BACKUP.md) | Backup configured but no snapshot yet |
| 13 | No repeated Obsidian renderer crashes (macOS; skips elsewhere) | - | Heavy indexer likely OOM-ing the renderer on a large vault: restricted mode -> Dataview only -> add others one at a time (see the obsidian-plugins rule, "Large-vault plugin posture") |
Do NOT use /diagnose as an email-capture surface. If ~/.claude/.ai-brain-starter-email-on-file is missing, that is fine and never a finding — the email is optional, and the only places it is ever asked are the setup interview (Phase 24.4) and the once-per-update post-pull nudge. Never tell the user to fetch or paste a token.
/diagnose output into a gh issue or anywhere public — it includes home directory paths.npx claudepluginhub mycelium-hq/ai-brain-starter --plugin ai-brain-starterAudits .claude/ structure, naming, hooks, and plugin versions. Runs hygiene and sync checks, outputs health report with fix commands.
Runs health checks on a learning-loop installation, presents issues with severity, and offers per-fix remediation with auto-runnable or manual options. Re-runs each check after fixing to confirm resolution.
Diagnoses vibekit installation health—skill file integrity, registration parity, directory structure. Reports verdict; `--fix` auto-repairs safe items.