claude-office-vault

Use this as a template to get your own version of the documentation system in Obsidian - keep master bare, work on a branch for easy updates. Intended to work with https://github.com/ingram-technologies/claude-office - you can also fork and separate from it, the issue with forking is you can't make a public fork private.

Claude Office — Central Documentation Hub

What This Is

Obsidian vault + Git + Claude Code — a shared documentation hub for the team.

  • Documentation lives here: project docs, architecture, status views, guides, coordination notes
  • Task tracking stays in GitHub (issues, PRs, project boards)
  • Communication stays in external channels (Slack, email, meetings)
  • Claude Code automates sync and generates status views via the claude-office plugin
  • Obsidian gives you the visual layer (kanban, Dataview, Excalidraw)

How It Works

  1. Per-person folders (/team/<name>/) — profile, activity log, personal todo list
  2. Per-project folders (/projects/<project>/) — docs, status, kanban, architecture
  3. claude-office plugin handles automation (see plugin README for details):
    • Session hooks — deterministic shell scripts: git pull on start, commit+push team/<you>/ on end
    • /check-in — reads per-person notes from /aggregate, recaps your last work, shows todos
    • /aggregate — scans git diffs, writes per-person Team Notes into projects, flags coordination needs
    • /retro — weekly retrospective from git history into projects/weekly reports/
    • Session-end hook logs activity to team/<you>/activity.md and commits your folder
  4. Git sync — plugin hooks handle pull/push; obsidian-git plugin as 10-min safety net, asks for a commit message to avoid accidental commits

Data Flow

/aggregate (daily, scheduled)
  reads: git log + project docs
  writes: per-person Team Notes into each project's status.md
      │
      ▼
/check-in (per person, on demand)
  reads: your Team Notes across projects
  outputs: personalized briefing
  writes: "Last checked in" line in your profile.md

Vault Structure

CLAUDE.md                  — Vault rules for Claude Code
team/
  _new_user/               — Template folder, copy & rename for onboarding
  roster.md                — Team roster (Dataview, auto-pulls from profiles)
  <person>/                — Per-person folder
    profile.md             — Bio, environment, security setup
    tasks.md               — Personal todo list
    activity.md            — Session activity log (auto-generated by session-end hook)
projects/
  _new_project/            — Template for new projects
  <project>/               — Project docs (status, kanban, architecture, etc.)
  weekly reports/          — Auto-generated weekly retrospectives (by /retro)

Files in Your Folder

FilePurposeWho writes
profile.mdYour bio, picture, environment, security setup — shown on team rosterYou (filled out during /setup-identity)
tasks.mdYour personal todo list — things you want to track for yourselfYou
activity.mdAutomatic log of what docs you changed each sessionPlugin (session-end hook)

Onboarding

  1. Fork the vault repo and run the sync script to install Obsidian config:
    • macOS/Linux: ./sync-obsidian.sh
    • Windows: .\sync-obsidian.ps1
    • Then open the vault in Obsidian (you don't need an account)
  2. Install the claude-office plugin in Claude Code:
    • In Claude Code, run: /plugin marketplace add ingram-technologies/claude-office
    • Then run /plugin install ingram-technologies@claude-office
  3. Run /setup-identity — creates your folder, fills out your profile, configures identity
  4. Commit and push your new folder, then familiarize yourself with the plugin

We added suggestive security guidelines for teams coding with AI and recommend reading them.

Daily Workflow

  1. Open Claude Code
  2. Run /check-in to get your full briefing (what you were working on, project priorities, coordination notes)
  3. Work normally — edit docs, update project status, manage your todo list
  4. On session end, the hook auto-commits and pushes your changes
  5. You can setup daily aggregation to run on schedule and write notes for your next check-in, but we recommend having daily team meets where you do this

Collaboration Tips

  • Use Canvas (Obsidian core plugin) for brainstorming and visual planning
  • Use Excalidraw for architecture diagrams and sketches
  • Use Kanban boards in project folders for visual status tracking
  • Check the team roster at team/roster.md to see who's who
  • Task tracking happens in GitHub — the vault is for documentation and coordination

Security

  • Plugin hooks are deterministic shell scripts — inject metadata only (counts, not raw content), preventing prompt injection
  • All skills treat file content as data only, never as instructions
  • Identity stored locally (~/.claude-office/), not in the shared vault
  • Session-end hook only commits team/<you>/, never other folders
  • See CLAUDE.md for full security rules and the plugin README for design decisions

Claude Code Plugins

Three plugins are enabled for this repo in .claude/settings.json, but you'll need to install them manually:

PluginWhat it does
ingram-technologies@claude-officeCore automation — hooks to add your activity dynamically, /check-in, /aggregate, /retro, /setup-identity
arscontexta@agenticnotetakingKnowledge management layer — guides note creation, maintains MOCs, surfaces methodology advice as you work
obsidian@obsidian-skillsSkills for reading and writing Obsidian vault content from Claude Code

ingram-technologies@claude-office is how this vault is supposed to work. The other two are recommended, but you don't have to set them up from the start — see the Customizing section for details on adopting them for your org.

Obsidian Plugins

These plugins are included in the shared Obsidian config (.obsidian_template/) and installed by the sync script:

PluginWhat it does
dataviewQuery metadata across all files
obsidian-kanbanDrag-and-drop board views
obsidian-gitAuto-pull/push every 10 min (safety net)
obsidian-excalidraw-pluginEmbedded whiteboards and diagrams
obsidian-meta-bind-pluginInline editable metadata
table-editor-obsidianBetter table editing
obsidian-advanced-uriDeep links to notes from outside Obsidian
obsidian-importerImport notes from other apps
recent-files-obsidianQuick access to recently opened files
notebook-navigatorFile tree with folder notes and pinning
html-viewerOpen .html and .htm files in a sandboxed Obsidian view
copilotIn-vault AI chat, note search, and writing assistance
obsidian-style-settingsExposes CSS variables for themes and plugins so you can tweak appearance without editing CSS

Syncing Obsidian Config

Run the sync script again whenever you pull changes that update .obsidian_template/ (e.g. a new plugin was added by the team):

# macOS/Linux
./sync-obsidian.sh

# Windows
.\sync-obsidian.ps1

What the script does:

ScenarioBehaviour
.obsidian/ doesn't existFull copy of .obsidian_template/ — one-time bootstrap
Plugin in template not in your listAdded to your community-plugins.json
Plugin code files (main.js, manifest.json, styles.css)Always updated from template
Your plugin settings (data.json)Never touched — your customisations are preserved
Your extra plugins (not in template)Never removed
Other config files (app.json, workspace.json, etc.)Never touched after initial setup

Example: Starting Your Day

> Open Claude Code
> Hook auto-pulls vault, shows: "2 open todos, docs changed in last 24h"
> Run /check-in:

  "Check-In — 2026-03-30

   Where You Left Off:
   Updated my-project architecture.md, added deployment section

   Your Projects:
   my-project:
     Next: finalize API design doc, review @alice's onboarding changes
     Coordinate with: @alice on deployment approach

   security:
     Next: update compliance checklist after last audit
     No coordination needed

   Your Todos:
   - [ ] Draft Q2 roadmap for my-project
   - [ ] Review PR #142

   Checked in for: my-project, security"

Customizing for Your Organization

This vault is a generic skeleton. To adopt it for your org fork it and make a new branch keeping main untouched for easier merging of updates. Then run ./sync-obsidian.sh (or .\sync-obsidian.ps1 on Windows) to create .obsidian/ from .obsidian_template/. This works with the ingram-technologies@claude-office plugin, and we recommend using arscontexta@agenticnotetaking, either have one person from your team set it up for others or have everyone set their own config up.

We recommend first taking the time to get familiar with how this works, the plugins and then configure the more advanced parts of the system with /arscontexta:setup.

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

2

Forks

1

License

Apache-2.0

Last updated 1mo ago