Agent skill

Vault Health

by benoror in benoror/obsidianos_work

Audit the vault for structural issues: unresolved wikilinks, orphan notes, dead-end notes, and Obsidian sync conflicts.

MITAuto-check passed

Install Vault Health

skills CLI
$ npx skills add benoror/obsidianos_work --skill vault-health -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install benoror/obsidianos_work vault-health --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/benoror/obsidianos_work.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/vault-health .claude/skills/vault-health && rm -rf skills-src

Use ~/.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/

Facts

Skill name
vault-health
GitHub stars
165
Token cost
~1.2k tokens
SKILL.md length
496 words
Files
1
Skills in repo
18
Repo updated
First seen
Licence
MIT

At a glance

Audit the vault for structural issues: unresolved wikilinks, orphan notes, dead-end notes, and Obsidian sync conflicts.

  • Works in 4 steps: Run all checks (or the subset requested) → Categorize and present → Offer fixes → …
  • SKILL.md covers Usage, Why this skill exists, Workflow and Sync conflict resolution, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Vault Health is an agent skill from benoror/obsidianos_work. Audit the vault for structural issues: unresolved wikilinks, orphan notes, dead-end notes, and Obsidian sync conflicts. Optional --fix flags create stubs or surface fixable issues.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with Obsidian. The repository describes itself as: ObsidianOS - Work Vault. The licence is MIT.

Example prompts

  • “/vault-health”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Run all checks (or the subset requested)
  2. Categorize and present
  3. Offer fixes
  4. Commit

What it can do on your machine

Read from SKILL.md and the folder at commit 3c7923e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Vault Health loads about 1.2k tokens when it runs. Until then it costs about 48 tokens; SKILL.md has 496 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~48
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from benoror/obsidianos_work at commit 3c7923e, republished under its MIT licence (© benoror). 496 words, ~1,156 tokens.

Download SKILL.mdSave it as .claude/skills/vault-health/SKILL.md (or your agent's skills folder).
name
vault-health
description
Audit the vault for structural issues: unresolved wikilinks, orphan notes, dead-end notes, and Obsidian sync conflicts. Optional --fix flags create stubs or surface fixable issues.
license
MIT

Vault Health

Usage

  • /vault-health — Run all checks, present a triage report.
  • /vault-health unresolved — Only show unresolved [[wikilinks]].
  • /vault-health orphans — Only show notes with no incoming links.
  • /vault-health deadends — Only show notes with no outgoing links.
  • /vault-health sync — Only check Obsidian sync conflicts.
  • /vault-health --fix-people — For unresolved [[@*]] links, prompt to create Teams/People/@Name.md stubs in batch (delegates to /people-stubs).

Why this skill exists

The vault grows over time and accumulates structural debt:

  • Dead [[@Jane Doe]] links because the person file was never created.
  • Notes orphaned in subfolders, never linked from any project/team page.
  • Sync conflicts when two devices edit the same file simultaneously.

This skill surfaces all of that in one pass.

Workflow

Step 1: Run all checks (or the subset requested)
CheckCommandWhat it returns
Unresolved linksobsidian unresolved format=jsonAll [[link]] pointers with no target file.
Orphansobsidian orphans format=jsonFiles no other file links to.
Deadendsobsidian deadends format=jsonFiles with no outgoing links.
Sync conflictsobsidian sync:status format=jsonFiles with unresolved sync versions.

Run only the requested subset; full sweep when no argument is given.

Step 2: Categorize and present

Group findings by type and severity:

## Unresolved wikilinks (12)

People-flavored ([[@*]]) — likely missing People files:
| # | Link | Referenced in (count) |
|---|------|----------------------|
| 1 | [[@Jane Doe]] | 6 meetings |
| 2 | [[@John Smith]] | 3 meetings |

Other unresolved:
| # | Link | Referenced in |
|---|------|---------------|
| 3 | [[+SomeNewTeam]] | 1 meeting |

## Orphan notes (4)
| # | Path | Created | Reason it might matter |
|---|------|---------|------------------------|
| 1 | Meetings/Engineering/Old Notes.md | 2026-01-12 | Probably needs to link to a project page |

## Deadend notes (8)
...

## Sync conflicts (0)
✓ All synced.

For people-flavored unresolved links, sort by count descending — most-referenced unresolved person is most worth creating a file for.

Step 3: Offer fixes
  • For --fix-people (or after presenting): prompt the user to create People stubs in batch. Delegate to /people-stubs which handles the actual creation.
  • For orphans/deadends: don't auto-fix. They might be intentional. Just surface.
  • For sync conflicts: don't auto-fix. Sync conflicts need human judgment. Surface and tell the user to resolve via Obsidian's UI or obsidian sync:history.
Step 4: Commit

See /commit. The skill itself doesn't write files (except via /people-stubs if invoked). If anything changed, commit message: chore(vault-health): create N people stubs from unresolved links (or similar).

Show full SKILL.md (199 more words)Show less

Sync conflict resolution

When obsidian sync:status reports conflicts:

  1. List them with obsidian sync:status format=json (path + version count per file).
  2. For each conflicted file, surface in the report with these next-action hints:
    • View versions: obsidian sync:history file="<path>" — see what each side wrote.
    • Read a specific version: obsidian sync:read file="<path>" version=<N> — preview without writing.
    • Restore: obsidian sync:restore file="<path>" version=<N> — pick one side.
    • Manual merge (preferred when both sides have meaningful changes): open the file in Obsidian, use the Sync history pane to pick chunks.
  3. Never auto-restore — sync conflicts mean both sides have edits the user might want. Surface and let them choose.

Display sync conflicts at the top of the report (not last) — they're time-sensitive (the longer they sit, the more divergent the versions get).

Important Notes

  • The skill is read-only by default — only --fix-people triggers writes (and even then, via /people-stubs with confirmation).
  • Some orphans are intentional (e.g. USER.md, README.md). Consider an exclusion list in a future iteration.
  • Sync conflict detection assumes Obsidian Sync is configured. If not, this check is a no-op (prints "✓ Sync not configured — skipped").
  • Obsidian CLI requires the desktop app to be running. If it's not, the skill should print a helpful error.

© benoror, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/vault-health of benoror/obsidianos_work.

Open the folder on GitHubat commit 3c7923e

Compare with similar skills

Vault Health 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.

Vault Health compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Vault Health this skillbenoror/obsidianos_work165—~1.2kAutomated safety check: PassMIT
Obsidian BasesAtmosphere/atmosphere3.8k22 repos~3.2kAutomated safety check: PassApache-2.0
Knap Markdown Templateskepano/obsidian-skills49k2 repos~986Automated safety check: PassMIT
JSON Canvasheyitsnoah/claudesidian2.6k18 repos~3.5kAutomated safety check: PassMIT
Obsidian MarkdownAtmosphere/atmosphere3.8k20 repos~1.3kAutomated safety check: PassApache-2.0
Obsidian CLIAtmosphere/atmosphere3.8k13 repos~795Automated safety check: PassApache-2.0

Similar skills

  • Obsidian Bases

    Atmosphere/atmosphere

    Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries.

    3.8k GitHub starsUsed in 22 repos~3.2k tokens
    Backend & APIsAuto-check passed
  • Knap Markdown Templates

    kepano/obsidian-skills

    Renders Markdown notes from Knap templates and JSON data on the command line, including notes built from Defuddle web page output.

    49k GitHub starsUsed in 2 repos~986 tokens
    Documents & OfficeAuto-check passed
  • JSON Canvas

    heyitsnoah/claudesidian

    Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections.

    2.6k GitHub starsUsed in 18 repos~3.5k tokens
    DevelopmentAuto-check passed
  • Obsidian Markdown

    Atmosphere/atmosphere

    Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax.

    3.8k GitHub starsUsed in 20 repos~1.3k tokens
    Documents & OfficeAuto-check passed
  • Obsidian CLI

    Atmosphere/atmosphere

    Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more.

    3.8k GitHub starsUsed in 13 repos~795 tokens
    Knowledge ManagementAuto-check passed
  • Obsidian Canvas Creator

    axtonliu/axton-obsidian-visual-skills

    Create Obsidian Canvas files from text content, supporting both MindMap and freeform layouts.

    3.6k GitHub stars~1.6k tokensUpdated 3 mo ago
    Auto-check passed

More from benoror/obsidianos_work

All 18 skills in this repo
  • Qmd

    benoror/obsidianos_work

    Search vault notes by keyword or meaning. An agent skill from benoror/obsidianos_work.

    165 GitHub stars~858 tokensUpdated 4 mo ago
    Auto-check passed
  • Cache Notes

    benoror/obsidianos_work

    Fetch & embed AI transcripts as Obsidian callouts. An agent skill from benoror/obsidianos_work.

    165 GitHub stars~2.7k tokensUpdated 4 mo ago
    Auto-check passed
  • Fill Participants

    benoror/obsidianos_work

    Resolve and fill Participants frontmatter + link unlinked names in body.

    165 GitHub stars~1.6k tokensUpdated 4 mo ago
    Auto-check passed
  • Followup Todos

    benoror/obsidianos_work

    Extract action items as plain markdown bullets (with confirmation).

    165 GitHub stars~1.8k tokensUpdated 4 mo ago
    Auto-check passed
  • Last 1on1

    benoror/obsidianos_work

    Show when you last had a 1:1 with each direct report / peer, sorted by recency.

    165 GitHub stars~732 tokensUpdated 4 mo ago
    Auto-check passed
  • Mail Transcripts

    benoror/obsidianos_work

    Gmail AI transcript notifications → meeting Notes: URLs + mark read.

    165 GitHub stars~1k tokensUpdated 4 mo ago
    Auto-check passed

Works with

Questions about Vault Health

What does Vault Health do?

Audit the vault for structural issues: unresolved wikilinks, orphan notes, dead-end notes, and Obsidian sync conflicts. Vault Health is an agent skill from benoror/obsidianos_work. Audit the vault for structural issues: unresolved wikilinks, orphan notes, dead-end notes, and Obsidian sync conflicts.

How do I install Vault Health in Claude Code?

Run `npx skills add benoror/obsidianos_work --skill vault-health -a claude-code`. Or copy the skill folder (.agents/skills/vault-health in benoror/obsidianos_work) into .claude/skills/vault-health in your project. Claude Code loads it when a task matches its description.

How do I install Vault Health in Codex?

Run `npx skills add benoror/obsidianos_work --skill vault-health -a codex`. Or copy the skill folder (.agents/skills/vault-health in benoror/obsidianos_work) into .agents/skills/vault-health in your project. Codex loads it when a task matches its description.

Can I use Vault Health in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add benoror/obsidianos_work --skill vault-health -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/vault-health, .gemini/skills/vault-health, .github/skills/vault-health and .opencode/skills/vault-health in your project.

What does Vault Health need to run?

SKILL.md names no scripts, command-line tools or credentials: Vault Health is instructions for the agent only.

Does Vault Health access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Vault Health safe to install?

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.

What licence does Vault Health use?

Vault Health is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Vault Health use?

About 1.2k tokens (SKILL.md is roughly 4.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Vault Health?

Skills that share tags, products or a category with Vault Health: Obsidian Bases (Atmosphere/atmosphere, 3.8k stars), Knap Markdown Templates (kepano/obsidian-skills, 49k stars), JSON Canvas (heyitsnoah/claudesidian, 2.6k stars) and Obsidian Markdown (Atmosphere/atmosphere, 3.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Vault Health?

benoror (a GitHub user) maintains it in benoror/obsidianos_work, which has 165 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on June 11, 2026.

Source: benoror/obsidianos_work on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.