compass-vault-template

Obsidian vault template for a life charter a Claude Code memory vault orients against: four notes, a deny hook, a work-org read gate

Compass vault template

An Obsidian vault for a life charter: who you are, what you are for, and how you want to be helped. It is the fixed reference a Claude Code memory vault (memory-vault-template) orients against: the weekly review scores the week against Goals.md and How I Work.md, and the daily close names the Call Me Out.md patterns the day's evidence shows.

Three rules keep it a charter rather than more memory:

  • Read on request only, by personal sessions. Nothing here is injected at session start. A session reads Compass when the work is about you: planning, priorities, the weekly review, whether to take something on.
  • Never written by a job, never quoted into the vault. Scheduled runs read it and name its headings; they never write here, and Compass text never migrates into the memory vault through a review.
  • Gated by a hook that denies, not asks. Writes are denied unless the session was opened by the compass shell function; reads are denied from any work-org checkout. Everything else in the memory setup asks; this is the one place that denies.

The notes

NoteHoldsWho reads it
Compass.mdPurpose: who you are and what the next five years are for, in a pageYou, and a session planning something large
Goals.mdOne entry per goal, with a horizon: date and a Done looks like: lineThe weekly review (one line per goal: moved or no movement); the daily close's Goal: lines
How I Work.mdStrengths, weaknesses, what drains you, what fuels you, what needs managing for you; each line a pattern and one exampleThe weekly review (the patterns the week's evidence shows)
Call Me Out.mdOne entry per pattern to flag, the evidence that triggers it, and how blunt to beThe daily close (one Evidence: line per pattern the day shows); the weekly review carries them through

Headings are identifiers. The memory vault's skills name a goal or pattern by its heading and never quote the text under it, so keep headings short and stable, and rename one only on purpose.

Every line is terse, factual, and checkable against a week of evidence. No motivational prose.

The barrier

claude/hooks/compass-gate.sh runs on every Read, Grep, Glob, Write, Edit, and Bash call:

  • Write gate. A Write or Edit under the Compass path, or a Bash command that names it, is denied unless COMPASS_EDIT=1 is set. Only the compass shell function sets it; no scheduled job ever does, and the memory vault's MEMORY_GROOM=1 bypass does not apply here.
  • Read gate. A Read, Grep, or Glob under the Compass path is denied when the session's cwd has a git origin owned by one of WORK_ORGS. Sessions in personal repos and in the memory vault read freely; that includes the vault's scheduled jobs, which run from the vault.

WORK_ORGS is one variable at the top of the hook; a second employer is one edit.

Setup

Prerequisites: Claude Code, git, and (optionally) Obsidian pointed at the vault. The memory vault is optional; Compass stands alone, and the vault's weekly review skips its Compass section silently when these notes are absent.

  1. Create your charter from this template and clone it:

    gh repo create my-compass --template <this-repo> --private --clone
    
  2. Install the hook and the shell function:

    cp claude/hooks/compass-gate.sh ~/.claude/hooks/
    cat claude/shell/compass.zsh >> ~/.zshrc
    

    Set COMPASS in the hook to your clone's path and WORK_ORGS to the GitHub owners whose checkouts must never read it; point the shell function at the same path. Register the hook in ~/.claude/settings.json:

    {
      "hooks": {
        "PreToolUse": [
          {
            "matcher": "Write|Edit|MultiEdit|NotebookEdit|Bash|Read|Grep|Glob",
            "hooks": [
              { "type": "command", "command": "$HOME/.claude/hooks/compass-gate.sh" }
            ]
          }
        ]
      }
    }
    
  3. Tell Claude what Compass is, in ~/.claude/CLAUDE.md:

    Who I am and what I am for lives in Compass (<compass path>), a separate vault.
    Read it only when the work is about me: planning, priorities, the weekly review,
    whether to take something on. Never write to it; the compass-gate.sh hook denies
    writes outside a `compass` shell session and denies reads from any work-org
    checkout.
    
  4. Check the gate before trusting it. From a work-org checkout, ask Claude to read <compass path>/README.md: denied, naming the work-org rule. From a personal repo, the read succeeds and an edit is denied naming COMPASS_EDIT. From a compass session, the edit succeeds.

Filling it in

Compass starts empty. CLAUDE.md in this repo instructs the sessions that fill it: run compass, and Claude runs an intake the way a coach would, one topic per conversation, asked, reflected back, then distilled into the note that owns it. Take the topics in whatever order comes naturally:

  • Purpose: what you are for, what the next five years should have been about, what you would regret not doing.
  • Goals: the concrete ones, with a horizon date and what done looks like.
  • Strengths, with an example each; what people come to you for.
  • Weaknesses: where you get stuck, what you avoid, where you burn time.
  • What drains you and what fuels you: kinds of work, kinds of days, kinds of people.
  • What you need managed for you: the things you drop when nobody is holding them.
  • What you want called out: the patterns to flag when they show up in a week's evidence, and how blunt to be about it.
  • How you want to be talked to.

Done when all four notes exist and read true, a weekly review can score a week against Goals.md and How I Work.md without anything else from here, and nothing duplicates a working rule in your agent config: behavior rules stay there, facts about you stay here.

How the memory vault uses it

  • The weekly review reads Goals.md and How I Work.md by name and writes an Against Compass section: one line per goal (moved or no movement, naming the PR, ticket, or note), one line per pattern the evidence shows, and one line per Call Me Out.md pattern carried through from the week's daily notes.
  • A daily close writes Evidence: <Call Me Out heading>: <fact> and Goal: <Goals.md heading>: done | moved | untouched lines into the day's note, heading and fact only.
  • Nothing writes back. Reading three or four reviews in which a goal never moves is the signal to open a compass session and change the goal or the plan by hand.

Keeping it honest

  • Record only what you confirm. A goal or pattern you did not say stays out, however obvious it looks from the memory vault or from work activity.
  • Compass points at nothing in the memory vault. Project notes, people, and work activity live there; this is your memory about you.
  • Commit straight to main with one plain sentence naming the topic. It is a journal, not a codebase.

How to Install

  1. Download the ZIP or clone the repository
  2. Open the folder as a vault in Obsidian (File → Open Vault)
  3. Obsidian will prompt you to install required plugins

Stats

Stars

0

Forks

0

Last updated 1mo ago