Skip to main content
skill CX Codex

vaults — Claude Code skill: manage registered vaults

List Bedrock vaults, check their paths, change the default, or remove a registry entry. Use it when you need to see which vaults are registered.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add iurykrieger/claude-bedrock --skill vaults -a claude-code
Open on GitHub

What vaults does

vaults reads vaults.json from the plugin directory and displays each registered vault’s name, path, default status, and whether its directory exists. Missing directories are marked in the list.

The skill can set a different default or remove a vault from the registry. Removing an entry leaves its files on disk. It does not edit vault contents or run Git commands.

To change an entry, provide the name of a registered vault. If you remove the default while other vaults remain, the first remaining one becomes the default.

What it helps with

  • list registered vaults and their paths
  • spot vault entries whose directories are missing
  • set a different vault as the default
  • remove a vault entry without deleting its files

Example prompts for the agent

  • Show my registered vaults with /bedrock:vaults.
  • Set work-vault as the default using /bedrock:vaults --set-default work-vault.
  • Remove old-vault from the registry with /bedrock:vaults --remove old-vault and leave its files on disk.

How to install vaults

1Skills CLI (Vercel)

npx skills add iurykrieger/claude-bedrock --skill vaults -a claude-code

2Manually: put the files in place

~/.claude/skills/vaults/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/vaults/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about vaults

How do I install vaults in Claude Code?

Run npx skills add iurykrieger/claude-bedrock --skill vaults -a claude-code. The skill file is installed at ~/.claude/skills/vaults/SKILL.md.

What does vaults do?

It reads the Bedrock vault registry, checks whether registered directories exist, and lets you change the default or remove an entry.

Does vaults delete files when removing a vault?

No. The --remove option deletes the registry entry from vaults.json; files on disk are left alone.

Source text

SKILL.md · MIT
---
name: vaults
description: >
  Manage registered Bedrock vaults. List all vaults, set a default vault,
  or remove a vault from the registry. The registry lives in the plugin
  directory and maps vault names to filesystem paths.
  Use when: "bedrock vaults", "bedrock-vaults", "/bedrock:vaults", "list vaults",
  "set default vault", "remove vault", "show vaults", "which vault", "my vaults",
  or when a user wants to manage their registered vaults.
user_invocable: true
allowed-tools: Bash, Read, Write, Edit, Glob, Grep
---

# /bedrock:vaults — Vault Management

## Plugin Paths

The vault registry lives in the plugin root directory, not in any vault.
Use the "Base directory for this skill" provided at invocation to resolve paths:

- Vault registry: `<base_dir>/../../vaults.json`
- Plugin CLAUDE.md: `<base_dir>/../../CLAUDE.md` (auto-injected into context)

Where `<base_dir>` is the path shown in "Base directory for this skill".

---

## Overview

This skill manages the global vault registry — the file that maps vault names to
filesystem paths and tracks which vault is the default.

**You are a management agent.** This skill is read-only with respect to vaults themselves —
it never reads or modifies vault entities, never runs git operations inside vaults, and
never touches `.bedrock/config.json`. It only reads and writes the registry file (`vaults.json`).

---

## Phase 0 — Parse Input

Parse the user's input to determine the command mode:

| Input pattern | Mode | Variables |
|---|---|---|
| No flags / empty / `list` | **list** | — |
| `--set-default <name>` | **set-default** | `TARGET_NAME = <name>` |
| `--remove <name>` | **remove** | `TARGET_NAME = <name>` |

If the input doesn't match any pattern, default to **list** mode.

---

## Phase 1 — Read Registry

Resolve the registry path:

```
REGISTRY_PATH = <base_dir>/../../vaults.json
```

Read the registry file:

```bash
cat <REGISTRY_PATH> 2>/dev/null
```

**If the file does not exist or is empty:**
- For **list** mode: display "No vaults registered. Run `/bedrock:setup` in a vault directory to register your first vault."
- For **set-default** and **remove** modes: display "No vaults registered. Nothing to modify." and exit.

**If the file exists:** parse the JSON. Expected schema:

```json
{
  "vaults": [
    {
      "name": "<string>",
      "path": "<absolute-path>",
      "default": true | false
    }
  ]
}
```

Store the parsed vaults array as `VAULTS`.

---

## Phase 2 — Execute Command

### 2.1 List Mode

For each vault in `VAULTS`, check if the path still exists on disk:

```bash
test -d "<vault_path>" && echo "exists" || echo "missing"
```

Present a table:

```
## Registered Vaults

| Name | Path | Default | Status |
|---|---|---|---|
| my-vault | /Users/me/vaults/my-vault | * | ok |
| team-vault | /Users/me/vaults/team-vault | | ok |
| old-vault | /Users/me/vaults/old-vault | | missing |
```

- The `Default` column shows `*` for the default vault
- The `Status` column shows `ok` if the directory exists, `missing` if it does not

If any vault has status `missing`, add a note:

```
> Vaults marked as "missing" have paths that no longer exist on disk.
> Run `/bedrock:vaults --remove <name>` to clean up, or re-create the vault at the registered path.
```

### 2.2 Set-Default Mode

1. Find the vault with `name == TARGET_NAME` in `VAULTS`
2. If not found: display "Vault `<TARGET_NAME>` is not registered. Available vaults:" followed by a list of names. Exit.
3. If found:
   - Set `"default": false` on all vaults
   - Set `"default": true` on the matching vault
   - Write the updated registry back to `REGISTRY_PATH`
   - Display: "Default vault set to `<TARGET_NAME>` (<path>)."

### 2.3 Remove Mode

1. Find the vault with `name == TARGET_NAME` in `VAULTS`
2. If not found: display "Vault `<TARGET_NAME>` is not registered. Available vaults:" followed by a list of names. Exit.
3. If found:
   - Remove the entry from `VAULTS`
   - If the removed vault was the default AND other vaults remain, mark the first remaining vault as default and inform the user
   - Write the updated registry back to `REGISTRY_PATH`
   - Display: "Vault `<TARGET_NAME>` removed from registry. Files on disk were NOT deleted (<path>)."

---

## Phase 3 — Write Registry

When writing the registry (set-default or remove modes), use the Write tool to overwrite `REGISTRY_PATH` with the updated JSON:

```json
{
  "vaults": [
    { "name": "...", "path": "...", "default": true },
    { "name": "...", "path": "...", "default": false }
  ]
}
```

Format the JSON with 2-space indentation for readability.

---

## Critical Rules

| # | Rule |
|---|---|
| 1 | **NEVER modify vault files** — this skill only touches `vaults.json` |
| 2 | **NEVER run git operations** — no git pull, commit, push, or any git command |
| 3 | **NEVER delete files on disk** — `--remove` only removes the registry entry |
| 4 | **ALWAYS validate vault name exists** before set-default or remove |
| 5 | **ALWAYS check path existence** when listing vaults — flag missing paths |
| 6 | **ALWAYS maintain exactly one default** — if the default is removed, auto-assign the first remaining vault |
| 7 | **Vault names are kebab-case** — lowercase, no spaces, no special characters beyond hyphens |

© iurykrieger · MIT · iurykrieger/claude-bedrock

Similar skills

SKILL.md skills catalog →

From the same set10

sync Re-reads the external sources behind vault entities, diffs them against what is stored and hands the changes off for writing. Useful when your notes have drifted from Confluence, GDocs or GitHub. CX Codex +1 ★ 108repo stars setup Turns any folder into an Obsidian vault powered by Bedrock. It builds directories, copies templates, and validates system dependencies. CX Codex +1 ★ 108repo stars preserve Single write point for Obsidian vault. Detects entities from text, notes, or /graphify output, matches against existing records, creates files and bidirectional links. CX Codex +1 ★ 108repo stars healthcheck Runs read-only diagnostics on your bedrock vault to detect orphaned entities, stale notes, and missing graph files without modifying data. CX Codex +1 ★ 108repo stars gdoc-to-markdown Turns Google Docs and Google Sheets content into local Markdown files. It tries MCP first, then Google API or public export, with browser extraction as a fallback. CX Codex +1 ★ 108repo stars confluence-to-markdown An internal module that reads a Confluence page and hands back its content as Markdown. It runs as part of /bedrock:learn and /bedrock:sync. CX Codex +1 ★ 108repo stars compress Scans Bedrock vaults to fix broken backlinks, duplicated entities, and structural misalignments. Useful for automated knowledge base maintenance. CX Codex +1 ★ 108repo stars ask Ask questions about a knowledge vault; the skill checks its graph first and expands the search when needed. CX Codex +1 ★ 108repo stars

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor