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
- Per-person folders (
/team/<name>/) — profile, activity log, personal todo list - Per-project folders (
/projects/<project>/) — docs, status, kanban, architecture - 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 intoprojects/weekly reports/- Session-end hook logs activity to
team/<you>/activity.mdand commits your folder
- Session hooks — deterministic shell scripts: git pull on start, commit+push
- 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
| File | Purpose | Who writes |
|---|---|---|
profile.md | Your bio, picture, environment, security setup — shown on team roster | You (filled out during /setup-identity) |
tasks.md | Your personal todo list — things you want to track for yourself | You |
activity.md | Automatic log of what docs you changed each session | Plugin (session-end hook) |
Onboarding
- 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)
- macOS/Linux:
- 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
- In Claude Code, run:
- Run
/setup-identity— creates your folder, fills out your profile, configures identity - 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
- Open Claude Code
- Run
/check-into get your full briefing (what you were working on, project priorities, coordination notes) - Work normally — edit docs, update project status, manage your todo list
- On session end, the hook auto-commits and pushes your changes
- 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.mdto 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.mdfor 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:
| Plugin | What it does |
|---|---|
| ingram-technologies@claude-office | Core automation — hooks to add your activity dynamically, /check-in, /aggregate, /retro, /setup-identity |
| arscontexta@agenticnotetaking | Knowledge management layer — guides note creation, maintains MOCs, surfaces methodology advice as you work |
| obsidian@obsidian-skills | Skills 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:
| Plugin | What it does |
|---|---|
| dataview | Query metadata across all files |
| obsidian-kanban | Drag-and-drop board views |
| obsidian-git | Auto-pull/push every 10 min (safety net) |
| obsidian-excalidraw-plugin | Embedded whiteboards and diagrams |
| obsidian-meta-bind-plugin | Inline editable metadata |
| table-editor-obsidian | Better table editing |
| obsidian-advanced-uri | Deep links to notes from outside Obsidian |
| obsidian-importer | Import notes from other apps |
| recent-files-obsidian | Quick access to recently opened files |
| notebook-navigator | File tree with folder notes and pinning |
| html-viewer | Open .html and .htm files in a sandboxed Obsidian view |
| copilot | In-vault AI chat, note search, and writing assistance |
| obsidian-style-settings | Exposes 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:
| Scenario | Behaviour |
|---|---|
.obsidian/ doesn't exist | Full copy of .obsidian_template/ — one-time bootstrap |
| Plugin in template not in your list | Added 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
- Download the ZIP or clone the repository
- Open the folder as a vault in Obsidian (File → Open Vault)
- Obsidian will prompt you to install required plugins
Stats
Stars
2
Forks
1
License
Apache-2.0
Last updated 1mo ago