2.3 KiB
STRUCTURE.md
Purpose
This document defines the vault layout, note taxonomy, naming conventions, and frontmatter templates for a memory storage vault designed for Claude Code today and future CoWork plugin access through the Obsidian Local REST API.
Recommended Vault Layout
vault/
├── CLAUDE.md
├── STRUCTURE.md
├── BOOTSTRAP.md
├── index.md
├── README.md
├── inbox/
├── journal/
├── projects/
├── areas/
├── resources/
├── decisions/
├── reviews/
├── _agent/
└── archive/
Note Types
- daily-note
- weekly-note
- monthly-note
- project
- project-update
- area
- concept
- reference
- person
- meeting
- decision
- review
- session-log
- working-memory
- episodic-memory
- semantic-memory
- context-bundle
- skill
- draft
- inbox-item
Project Lifecycle
Project notes live in one of four subfolders by state, and frontmatter.status MUST match the folder:
projects/active/—status: active(current work)projects/incubating/—status: incubating(idea stage)projects/on-hold/—status: on-hold(paused but kept)projects/archived/—status: archived(done/abandoned)
Promotion between states = move the file and update status. Before creating a new project note, search all four subfolders for the slug (the echo-memory skill's mandatory search-first rule) — a duplicate in a non-active folder is the most common drift bug.
Decisions
Decision notes live in decisions/by-date/YYYY-MM-DD-<slug>.md. decisions/by-project/ is deprecated — instead, mirror a project-relevant decision as a [[wikilink]] under that project's ## Key Decisions heading.
Core Frontmatter
---
type:
status:
created:
updated:
tags: []
agent_written: false
source_notes: [] # plain relative paths as strings — NEVER [[wikilinks]]
---
No
[[wikilinks]]in frontmatter. YAML parses[[...]]as nested lists, so wiki links placed in frontmatter (e.g. an oldrelated:field) silently break and do not render as clickable links. All cross-references go in a## Relatedsection in the note body, as a bulleted list of[[links]]. Keep frontmatter to scalar/string metadata only.source_notes, when used, holds plain relative path strings, not links.