obsidian-vault-template
Obsidian PKM Vault — Template
A template for a personal knowledge base (Obsidian vault) optimized for both human and LLM use. Notes are small, single-subject, typed, and cross-linked so an assistant can read a few system files and then operate the vault correctly.
This repository is a structural template populated with fictional example data. Every person, company, project, and meeting below is invented — swap them for your own. The canonical description of structure and conventions lives inside the vault (see schema.md); this README is the outside-the-vault overview for anyone browsing the repo.
Setup
No command line required — but a terminal path is provided too. Pick the option that fits you.
1. Create your own private copy
This becomes your vault — you'll add your real notes to it, so it must be private.
⚠️ Don't use the Fork button. A fork of a public repo is always public, and GitHub removes the option to change a fork's visibility — so you cannot make a fork private afterward, and your notes would be exposed. Use one of the options below instead; both let you choose Private.
Option A — GitHub website (no command line)
- On this repository's GitHub page, click the green Use this template button (top right) → Create a new repository.
- Choose the Owner (you or your team) and a Repository name (e.g.
my-vault). - Set Visibility to 🔒 Private — this is the important one; it keeps your notes private.
- Click Create repository.
Option B — Command line (GitHub CLI)
gh repo create my-vault --private --clone --template rtanizawa-salsa/obsidian-vault-template
This creates the private repo and clones it to your computer in one step.
Either way you end up with your own private repo and your own commit history — from here you commit your own notes.
2. Get it onto your computer
- If you used Option A (website): clone it with GitHub Desktop — a graphical app, no terminal needed. Install it, sign in, then File → Clone repository and pick your new
my-vaultrepo. It also handles committing and syncing with buttons instead of git commands. (Prefer the terminal?git clone <your-private-repo-url>.) - If you used Option B (CLI): already done —
--cloneput it on your computer.
3. Open it in Obsidian
Install Obsidian, then Open folder as vault and select the folder you just cloned.
4. Enable the templates
In Obsidian: Settings → Community plugins → Turn on community plugins, then install Templater (required — it drives 0. Templates/). Then, in Settings → Templater, set the template folder to 0. Templates/. Optional plugins are listed under Obsidian community plugins below.
5. Make it yours
Delete the fictional example notes (people, companies, projects, meetings, dailies) and start writing your own, keeping the frontmatter and section conventions from schema.md. Keep the system files (index.md, schema.md, log.md) and the per-folder MOCs.
6. (Optional) Wire up automation
Pair the vault with Claude Code for maintenance — see Automating with Claude Code.
Entry points
Start with these three system notes at the vault root:
- index.md — the human/LLM entry point and current map of the vault (Maps of Content, people, projects, recent meetings).
- schema.md — how the vault is structured: folder taxonomy, note types, required frontmatter, and conventions. Read this before creating or editing notes.
- log.md — append-only record of meaningful changes, newest first.
Folder taxonomy
| Folder | Note type | Holds |
|---|---|---|
0. Templates/ | (templates) | One Templater source note per note type |
1. People/ | person | One note per individual (<FirstName>.md) |
2. Projects/ | project | One note per project (YYYY-MM-DD - <Title>.md) |
3. Decisions/ | decision | One decision record per note |
4. Companies/ | companies | One note per external org/vendor |
5. Meetings/ | meeting | One note per meeting (YYYY-MM-DD - <Title>.md) |
6. Daily/ | daily | One note per day (YYYY-MM-DD.md) |
7. Knowledge/ | reference | Durable reference notes, policies, facts — plus Knowledge candidates.md, the inbox vault-groom fills and promote-knowledge drains |
8. MOC/ | map | Cross-cutting Maps of Content spanning folders |
9. Sources/ | (transient) | Raw sources dropped in for distillation into 7. Knowledge/, then deleted |
Conventions
- Linking: reference other notes with
[[Wikilink]]syntax; prefer linking over duplicating facts. People are linked by first name, matching the filename. - MOCs: each content folder has a
<Name> MOC.mdacting as its index/hub. - Dates: ISO
YYYY-MM-DD; dated note types are prefixed by their anchoring date. - Frontmatter: every note starts with YAML frontmatter including
typeand lowercasetags. See schema.md for the required fields per type. - One subject per note. Split rather than grow a note past its single subject.
Obsidian community plugins
This template pairs with the community plugins below. Plugin config is not shipped in this repo — install them from Obsidian's community plugin browser. Only Templater is required (it drives 0. Templates/); the rest are optional quality-of-life picks.
| Plugin | Required | Description |
|---|---|---|
| Templater | Yes | Advanced templating and automation using handlebars-like syntax. Drives the note templates in 0. Templates/. |
| Flexplorer | No | Enhances the file explorer with custom sorting, pinning, and hiding. |
| Terminal | No | Integrates consoles, shells, and terminals. |
| Show Hidden Files | No | Reveals hidden dotfiles and all file types in the file explorer. |
Automating with Claude Code (skills)
This vault pairs well with Claude Code for maintenance. It ships with five example skills under .claude/skills/ — invoke them by slash command in a Claude Code session pointed at this folder, or adapt them / add your own:
| Skill | Invoke | What it does |
|---|---|---|
| daily-summary | /daily-summary [today | YYYY-MM-DD] | Interviews you to fill in the day's note in 6. Daily/: checks Granola for meetings on that date missing from 5. Meetings/, then asks — one topic at a time — about tickets/tasks done, blockers, and open loops, and writes the answers into the daily note using the Daily template (preserving anything already there). Run it at the end of the day — "wrap up my day", "do my daily interview", "daily standup". |
| vault-groom | /vault-groom [today | yesterday | YYYY-MM-DD] | Grooms a day's notes: creates orphan notes for newly referenced people/projects/companies, consolidates duplicates, updates the MOCs, and flags strategic items. |
| meeting-from-granola | /meeting-from-granola <url> | Turns a Granola meeting URL into a note in 5. Meetings/ using the Meeting template, then updates the Meetings MOC. Requires the Granola connector — swap in your own meeting source if you don't use it. |
| distill-source | /distill-source [file | URL | all] | Distills a raw source dropped in 9. Sources/ (PDF, article, transcript, markdown) or a URL into clean single-subject 7. Knowledge/ notes — merging into existing notes on the same topic, preserving provenance, and updating the Knowledge MOC. Leaves the source for you to clean up. |
| promote-knowledge | /promote-knowledge [all | YYYY-MM-DD | topic] | Promotes candidates out of 7. Knowledge/Knowledge candidates.md into durable Knowledge notes — grouping candidates by subject and either enriching the existing note on that topic or creating a new one at the right altitude (a subject page that accumulates facts, never a page per implementation detail). Clears promoted lines from the inbox and updates the Knowledge MOC. Defaults to all candidates. |
A natural daily rhythm chains them: at end of day run daily-summary to capture what happened, then vault-groom to create the orphan notes it flagged and commit the day's changes (daily-summary intentionally does not commit — that's vault-groom's job). vault-groom only ever proposes Knowledge facts into the candidates inbox — run promote-knowledge when you want those candidates turned into real Knowledge notes.
Scheduling a skill (Claude Code desktop)
Run a skill automatically on a recurring schedule as a local scheduled task (a "routine" that runs on your machine while the desktop app is open):
- In Claude Code desktop, open Routines in the sidebar → New routine → Local.
- Fill in:
- Name:
vault-groom-daily - Instructions:
/vault-groom yesterday - Schedule: Weekdays, 9:00 AM
- Folder: this vault folder (it must be trusted first)
- Permission mode: Ask (switch to Allow after a successful test run)
- Name:
- Click Create, then Run now once and approve the tools it uses — future runs auto-approve the same tools.
Local tasks run only while the desktop app is open and the computer is awake; the app checks schedules every minute. You can also just ask Claude in any session — "schedule /vault-groom to run every weekday at 9am" — and it will set it up. For runs that fire even when your machine is off, use cloud routines via the /schedule command instead.
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
0
Forks
1
Last updated 1mo ago