Skip to content
Productivity
Skill

/compress

Vault alignment engine. Detects and fixes 5 types of structural misalignments: broken backlinks, concept fragmentation, entity miscategorization, duplicated entities, and misnamed entities. Delegates all writes to /bedrock:preserve. Supports interactive mode (user confirmation)

From plugin
bedrock
10010 skills1 hook
Install
$ npx -y skills add iurykrieger/claude-bedrock --skill compress --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/compress

Context preview

The summary Claude sees to decide when to auto-load this skill.

Vault alignment engine. Detects and fixes 5 types of structural misalignments: broken backlinks, concept fragmentation, entity miscategorization, duplicated entities, and misnamed entities. Delegates all writes to /bedrock:preserve. Supports interactive mode (user confirmation)

SKILL.md

compress.SKILL.md
name: compress
description: >
  Vault alignment engine. Detects and fixes 5 types of structural misalignments:
  broken backlinks, concept fragmentation, entity miscategorization, duplicated entities,
  and misnamed entities. Delegates all writes to /bedrock:preserve.
  Supports interactive mode (user confirmation) and cron mode (autonomous mechanical fixes +
  queued semantic proposals). Use when: "bedrock compress", "bedrock-compress",
  "align vault", "fix backlinks", "fix misalignments", "/bedrock:compress".
user_invocable: true
allowed-tools: Bash, Read, Glob, Grep, Skill, Agent

/bedrock:compress — Vault Alignment Engine

Plugin Paths

Entity definitions and templates are in the plugin directory, not the vault root. Use the "Base directory for this skill" provided at invocation to resolve paths:

  • Entity definitions: `<base_dir>/../../entities/`
  • Templates: `<base_dir>/../../templates/{type}/_template.md`
  • Plugin CLAUDE.md: `<base_dir>/../../CLAUDE.md` (already injected automatically into context)

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

---

Vault Resolution

Resolve which vault to compress. This skill can be invoked from any directory.

**Step 1 — Parse `--vault` flag:** Check if the input arguments include `--vault <name>`. If found, extract the vault name and remove it from the arguments before parsing `--mode`.

**Step 2 — Resolve vault path:**

1. **If `--vault <name>` was provided:** Read the vault registry at `<base_dir>/../../vaults.json`. Find the entry matching the name. If not found: error — "Vault `<name>` is not registered. Run `/bedrock:vaults` to see available vaults." If found: set `VAULT_PATH` to the entry's `path` value. Store the resolved vault name as `VAULT_NAME`.

2. **If no `--vault` flag — CWD detection:** Read `<base_dir>/../../vaults.json`. Check if the current working directory is inside any registered vault path (CWD starts with a registered vault's absolute path). If multiple match, use the longest path (most specific). If found: set `VAULT_PATH` to the matching vault's `path`. Store its name as `VAULT_NAME`.

3. **If CWD detection fails — default vault:** From the registry, find the vault with `"default": true`. If found: set `VAULT_PATH` to the default vault's `path`. Store its name as `VAULT_NAME`.

4. **If no resolution:** Error — "No vault resolved. Available vaults:" followed by the registry listing. "Use `--vault <name>` to specify, or run `/bedrock:setup` to register a vault."

**Step 3 — Validate vault path:**

test -d "<VAULT_PATH>" && echo "exists" || echo "missing"

If missing: error — "Vault path `<VAULT_PATH>` does not exist on disk. Run `/bedrock:setup` to re-register."

**Step 4 — Read vault config:**

cat <VAULT_PATH>/.bedrock/config.json 2>/dev/null

Extract `language`, `git.strategy`, and other relevant fields for use in later phases.

**From this point forward, ALL vault file operations use `<VAULT_PATH>` as the root.**

  • Entity directories: `<VAULT_PATH>/actors/`, `<VAULT_PATH>/people/`, etc.
  • Git operations: `git -C <VAULT_PATH> <command>`
  • When delegating to `/bedrock:preserve`, pass `--vault <VAULT_NAME>`

---

Overview

This skill scans all entities in the vault, detects 5 types of structural misalignments, proposes fixes to the user, and delegates all writes to `/bedrock:preserve`.

**You are an execution agent.** Follow the phases below in order, without skipping steps.

Execution modes

The skill accepts an optional `--mode` argument:

  • **`interactive`** (default): all 5 capabilities prompt the user for confirmation before execution.
  • **`cron`**: capabilities 1 and 4 (mechanical, deterministic) execute autonomously without confirmation.

Capabilities 2, 3, and 5 (semantic, judgment-dependent) are detected but written as a proposal to a fleeting note for human review — they are NOT executed.

Parse the mode from the invocation arguments. If no `--mode` is specified, default to `interactive`.

Five alignment capabilities

| # | Capability | Type | Cron behavior | |---|---|---|---| | 1 | Broken backlinks | Mechanical | Autonomous — fix without confirmation | | 2 | Concept match | Semantic | Queued — write proposal to fleeting note | | 3 | Entity misalignment | Semantic | Queued — write proposal to fleeting note | | 4 | Duplicated entities | Mechanical | Autonomous — fix without confirmation | | 5 | Misnamed entities | Semantic | Queued — write proposal to fleeting note |

**Critical rules:**

  • **NEVER** write entity files directly — all mutations go through `/bedrock:preserve`
  • **NEVER** execute semantic capabilities (2, 3, 5) without confirmation in interactive mode
  • **NEVER** execute semantic capabilities (2, 3, 5) autonomously in cron mode — always queue
  • **NEVER** remove existing wikilinks
  • **NEVER** delete entities (compress aligns, it does not delete)
  • People/Teams/Concepts/Topics: **append-only** — never delete content
  • Actors: **free merge** — may edit body freely

---

Phase 0 — Sync the Vault

Execute:

git -C <VAULT_PATH> pull --rebase origin main

If it fails:

  • No remote: warn "No remote configured. Working locally." and proceed.
  • Conflict: `git -C <VAULT_PATH> rebase --abort` and warn the user. Do NOT proceed without resolving.

---

Phase 1 — Scan and Detect

Scan the entire vault and run all 5 detection algorithms. Store results for Phase 2.

1.0 Load entity definitions and config

Read the entity definitions from the plugin directory to understand classification criteria:

  • `<base_dir>/../../entities/concept.md` — needed for capability 2 (concept match)
  • `<base_dir>/../../entities/*.md` — needed for capability 3 (entity misalignment)
  • `<base_dir>/../../entities/code.md` — needed for capability 1 graph-side detection (§1.2.2)

Store the "When to create", "When NOT to create", and "How to distinguish" sections from each entity definition for use in detection.

R

Read more
Ships withbedrock

Second Brain automation for Obsidian vaults — entity management, ingestion, compression, and sync via Claude Code skills

Get the whole plugin
Stats
101
Stars
8
Forks
Maintained
Maintenance
HTML
Language
MIT
License
4mo ago
Last commit
5mo ago
Created

Repo: iurykrieger/claude-bedrock

Other skills on bedrock.