Agent skill

Vault Clean

by mikeyobrien in mikeyobrien/rho

Detect and resolve orphaned notes in the vault. An agent skill from mikeyobrien/rho.

MITAuto-check passed

Install Vault Clean

skills CLI
$ npx skills add mikeyobrien/rho --skill vault-clean -a claude-code

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

GitHub CLI
$ gh skill install mikeyobrien/rho vault-clean --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/mikeyobrien/rho.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/vault-clean .claude/skills/vault-clean && 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-clean
GitHub stars
373
Token cost
~844 tokens
SKILL.md length
401 words
Files
1
Skills in repo
35
Repo updated
First seen
Licence
MIT

At a glance

Detect and resolve orphaned notes in the vault. An agent skill from mikeyobrien/rho.

  • Works in 3 steps: Detect Orphans → Triage Each Orphan → Verify
  • SKILL.md covers Step 1: Detect Orphans, Step 2: Triage Each Orphan, Step 3: Verify and Batch Processing, plus 2 more sections
  • Calls vault and rg

What it does

Vault Clean is an agent skill from mikeyobrien/rho. Detect and resolve orphaned notes in the vault. Use during heartbeat maintenance or when vault status shows orphans. Finds notes with no inbound wikilinks and either connects them to the graph or flags them for cleanup.

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

The repository describes itself as: An AI agent that stays running, remembers across sessions, and checks in on its own. macOS, Linux, Android. Built on Pi. The licence is MIT.

Example prompts

  • “/vault-clean”

Workflow steps

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

  1. Detect Orphans
  2. Triage Each Orphan
  3. Verify

What it can do on your machine

Read from SKILL.md and the folder at commit 073a3ee. 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

    Shell commands in SKILL.md call:

    • vault
    • rg

    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 Clean loads about 844 tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 401 words of instructions outside code blocks.

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

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 mikeyobrien/rho at commit 073a3ee, republished under its MIT licence (© mikeyobrien). 401 words, ~844 tokens.

Download SKILL.mdSave it as .claude/skills/vault-clean/SKILL.md (or your agent's skills folder).
name
vault-clean
description
Detect and resolve orphaned notes in the vault. Use during heartbeat maintenance or when vault status shows orphans. Finds notes with no inbound wikilinks and either connects them to the graph or flags them for cleanup.
kind
sop

Vault Orphan Cleanup

Resolve orphaned notes in ~/.rho/vault/ -- notes that exist but have no inbound [[wikilinks]] from any other note.

Step 1: Detect Orphans

Run the detection script to get the current orphan list:

bash
TMPDIR="$PREFIX/tmp"

# All note slugs
find ~/.rho/vault -name "*.md" -not -name "_inbox.md" | while read f; do
  basename "$f" .md
done | sort -u > "$TMPDIR/vault-slugs.txt"

# All wikilink targets
rg -oN '\[\[([^\]]+)\]\]' ~/.rho/vault --no-filename -r '$1' | sort -u > "$TMPDIR/vault-links.txt"

# Orphans: notes with zero inbound links
comm -23 "$TMPDIR/vault-slugs.txt" "$TMPDIR/vault-links.txt" | grep -v "^_index$"

Step 2: Triage Each Orphan

For each orphaned note, read it with vault read and classify it:

A. Connect It (most common)

The note has value but nobody links to it. Fix by:

  1. Find the right MOC or parent note (check _index, project notes, topic MOCs)
  2. Add a [[slug]] wikilink from the parent to the orphan
  3. If the orphan's own ## Connections section is missing links, add those too
B. Merge It

The note duplicates content already in another note. Fix by:

  1. Identify the canonical note
  2. Move any unique content from the orphan into the canonical note
  3. Delete the orphan file: rm ~/.rho/vault/<type>/<slug>.md
C. Promote It

The note is important enough to be a new section in _index.md. Fix by:

  1. Add it to the appropriate section in _index.md (Projects, References, Concepts, Patterns, Logs)
  2. Ensure the note has a proper ## Connections section linking back
D. Delete It

The note is stale, empty, or no longer relevant. Fix by:

  1. Verify it's truly not needed (check if any task or active project references it)
  2. Delete: rm ~/.rho/vault/<type>/<slug>.md
  3. Clean up any outbound links from _index or other notes that might reference it
Show full SKILL.md (169 more words)Show less

Step 3: Verify

After processing, rerun the detection script. Orphan count should decrease. Report: how many connected, merged, promoted, deleted.

Batch Processing

When running during heartbeat, process max 5 orphans per cycle to stay lightweight. Prioritize by:

  1. Notes linked from _index.md that don't exist yet (broken links) -- create stubs
  2. Recently created orphans (likely just missed during initial capture)
  3. Older orphans (may be stale, more likely to delete)

Common Orphan Patterns

  • Date-prefixed notes (e.g. 2026-02-05-email-rollback): Usually operational runbooks. Connect to the relevant project note.
  • Draft content (e.g. reddit-localllama-draft, x-drafts): Connect to a drafts MOC or the project they support.
  • Generic names (BACKLOG, TODO, ENGINEERING): Often subdirectory artifacts from project imports. Usually merge into the project note or delete if redundant.
  • Newly captured notes: Just need a link from _index.md or the relevant MOC.

Guardrails

  • Never delete a note without reading it first
  • If unsure whether to delete, connect it instead (safe default)
  • Always update _index.md when promoting
  • After edits, verify the note renders correctly with vault read

© mikeyobrien, 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 skills/vault-clean of mikeyobrien/rho.

Open the folder on GitHubat commit 073a3ee

Compare with similar skills

Vault Clean 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 Clean compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Vault Clean this skillmikeyobrien/rho373—~844Automated safety check: PassMIT
Threat Detectionalirezarezvani/claude-skills28k—~3.5kAutomated safety check: PassMIT
Obsidian Vault Maintaineropenclaw/openclaw392k1 repos~262Automated safety check: PassMIT
Doc Maintenancepaperclipai/paperclip99k—~1.1kAutomated safety check: PassMIT
Resemble Detectgithub/awesome-copilot40k3 repos~4.1kAutomated safety check: PassApache-2.0
Android Clean Architectureaffaan-m/ECC276k4 repos~2.2kAutomated safety check: PassMIT

Similar skills

  • Threat Detection

    alirezarezvani/claude-skills

    A skill your agent uses when hunting for threats in an environment, analyzing IOCs, or detecting behavioral anomalies in telemetry.

    28k GitHub stars~3.5k tokensUpdated 1 mo ago
    SecurityAuto-check passed
  • Obsidian Vault Maintainer

    openclaw/openclaw

    Maintain an Obsidian-friendly memory wiki vault with wikilinks, frontmatter, and official Obsidian CLI awareness.

    392k GitHub starsUsed in 1 repo~262 tokens
    Knowledge ManagementAuto-check passed
  • Doc Maintenance

    paperclipai/paperclip

    Keep project docs aligned with recent code and feature changes — detect drift, update affected pages, and add release-relevant notes without rewriting unchanged sections.

    99k GitHub stars~1.1k tokensUpdated today
    DevelopmentAuto-check passed
  • Resemble Detect

    github/awesome-copilot

    Official

    Deepfake detection and media safety — detect AI-generated audio, images, video, and text, trace synthesis sources, apply watermarks, verify speaker identity, and analyze media intelligence using…

    40k GitHub starsUsed in 3 repos~4.1k tokens
    Media & CreativeAuto-check passed
  • Applies Clean Architecture to Android and Kotlin Multiplatform projects: module layout, dependency rules, UseCases, Repositories and data layer patterns.

    276k GitHub starsUsed in 4 repos~2.2k tokens
    DevelopmentAuto-check passed
  • Pii Detect

    ruvnet/ruflo

    Detect and flag personally identifiable information (PII) in text, code, and configurations.

    74k GitHub stars~350 tokensUpdated today
    Auto-check: notes

More from mikeyobrien/rho

All 35 skills in this repo
  • Rho Cloud Onboard

    mikeyobrien/rho

    Register an agent email address on Rhobot Mail (name@rhobot.dev).

    373 GitHub stars~1.4k tokensUpdated 9 days ago
    Auto-check passed
  • Install Rho

    mikeyobrien/rho

    Install and configure Rho from scratch (Doom-style init.toml + sync).

    373 GitHub stars~1.6k tokensUpdated 9 days ago
    Auto-check: notes
  • Open URL

    mikeyobrien/rho

    Open URLs and launch apps on Android. An agent skill from mikeyobrien/rho.

    373 GitHub stars~480 tokensUpdated 9 days ago
    Auto-check passed
  • Release Changelog

    mikeyobrien/rho

    Keep CHANGELOG.md idiomatic (Keep a Changelog) and cut a tag-based GitHub release that triggers npm publish CI.

    373 GitHub stars~1.4k tokensUpdated 9 days ago
    Auto-check passed
  • Rho Cloud Email

    mikeyobrien/rho

    Manage agent email at name@rhobot.dev via the Rhobot Mail API.

    373 GitHub stars~2.6k tokensUpdated 9 days ago
    Auto-check passed
  • Tasker XML

    mikeyobrien/rho

    Create Tasker profiles and tasks via XML for Android automation.

    373 GitHub stars~3.1k tokensUpdated 9 days ago
    Auto-check passed

Questions about Vault Clean

What does Vault Clean do?

Detect and resolve orphaned notes in the vault. An agent skill from mikeyobrien/rho. Vault Clean is an agent skill from mikeyobrien/rho. Detect and resolve orphaned notes in the vault.

How do I install Vault Clean in Claude Code?

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

How do I install Vault Clean in Codex?

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

Can I use Vault Clean 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 mikeyobrien/rho --skill vault-clean -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-clean, .gemini/skills/vault-clean, .github/skills/vault-clean and .opencode/skills/vault-clean in your project.

What does Vault Clean need to run?

Going by SKILL.md and its folder, Vault Clean needs the command-line tools its instructions call (vault and rg).

Does Vault Clean 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 Clean 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 Clean use?

Vault Clean is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Vault Clean use?

About 844 tokens (SKILL.md is roughly 3.4k 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 Clean?

Skills that share tags, products or a category with Vault Clean: Threat Detection (alirezarezvani/claude-skills, 28k stars), Obsidian Vault Maintainer (openclaw/openclaw, 392k stars), Doc Maintenance (paperclipai/paperclip, 99k stars) and Resemble Detect (github/awesome-copilot, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Vault Clean?

mikeyobrien (a GitHub user) maintains it in mikeyobrien/rho, which has 373 GitHub stars. The repository holds 35 skills in this directory. The repository was last updated on October 1, 2026.

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