Obsidian Working Documents
Manage working documents in the Obsidian vault for cross-session, cross-project memory.
Vault path: ~/Documents/Obsidian Vault/
This skill creates, edits, and — when promoting an Inbox note — deletes files under that vault path, and updates the index. It touches nothing outside the vault: no repo files, no commits. Edit an existing document with targeted edits to the lines that change; never rewrite a whole document to update a header field.
Prefer the obsidian:obsidian-cli skill for vault interactions (read, create, search, manage notes). Fall back to reading and writing the vault path directly only if that skill is unavailable.
When to Use
- Multi-step or multi-session tasks — create a working document
- Starting work on a topic that may span sessions — check for existing docs first
- Research findings, implementation plans, PRDs — persistent Claude docs
- Quick findings during debugging or exploration — inbox dump
Skip for one-off questions, quick fixes, or trivial tasks.
Two-Tier System
Inbox (ephemeral, quick dumps)
- Location:
~/Documents/Obsidian Vault/Inbox/ - Format:
YYYY-MM-DD <scope> - <Description>.md - Scope: freeform short topic —
react,auth,xp-debugger,contentstudio - Always
Draftstatus - Promote to
Dev/Claude/when structured, or delete when stale
Claude (persistent working documents)
- Location:
~/Documents/Obsidian Vault/Dev/Claude/ - Format:
<Type> - <Scope> - <Description>.md - Type:
PRD|Plan|Note|Research|Log - Scope: freeform — repo name (
app-contentstudio), skill name (init-permissions), tool name (xp-debugger), orgeneral - No date in filename — dates in frontmatter only (Created/Updated)
- Status:
Draft|Active|Completed|Archived
Index
The index file at ~/Documents/Obsidian Vault/Dev/Claude/Claude Working Docs.md lists all persistent Claude docs. Update it whenever you create, promote, or complete a document.
Document Header Template
Every working document (both Inbox and Claude) uses this header:
# [Description]
#claude #[type] #[scope]
**Project**: [name]
**Repo**: [url or path]
**Created**: YYYY-MM-DD
**Updated**: YYYY-MM-DD
**Status**: Draft | Active | Completed | Archived
---
For Inbox docs, status is always Draft. Omit **Repo** if not project-specific.
Filled in, as Dev/Claude/Plan - app-contentstudio - Search filter rework.md:
# Search filter rework
#claude #plan #app-contentstudio
**Project**: app-contentstudio
**Repo**: https://github.com/enonic/app-contentstudio
**Created**: 2026-09-02
**Updated**: 2026-09-02
**Status**: Active
---
## Goal
Replace the three separate filter widgets with one query bar.
Operations
Find Existing Documents
Before creating a document, check whether one already exists. Run every step below that applies before concluding there is none — the index goes stale, so step 1 alone does not settle it:
- Read the index:
~/Documents/Obsidian Vault/Dev/Claude/Claude Working Docs.md - Glob by type:
~/Documents/Obsidian Vault/Dev/Claude/Note - * - Glob by scope:
~/Documents/Obsidian Vault/Dev/Claude/* - app-contentstudio - * - Inbox by date:
~/Documents/Obsidian Vault/Inbox/2026-03* - Grep for status: search
**Status**: Activein~/Documents/Obsidian Vault/Dev/Claude/
If a matching document exists, update it instead of creating a new one.
Create Inbox Note
Use for quick dumps during active work — findings, partial research, debug notes.
- Determine scope from current context (repo name, topic, tool)
- Write to
~/Documents/Obsidian Vault/Inbox/YYYY-MM-DD <scope> - <Description>.md - Use the header template with
Status: Draft - Write content below the
---separator
Create Claude Document
Use for structured, persistent documents that will be referenced across sessions.
- Check for existing docs first (see Find above)
- Determine type (
PRD,Plan,Note,Research,Log) from content purpose - Determine scope from project/topic context
- Write to
~/Documents/Obsidian Vault/Dev/Claude/<Type> - <Scope> - <Description>.md - Use the header template with
Status: DraftorActive - Write content below the
---separator - Update the index file — add a line entry for the new document
- Print one line naming the file and the index update:
Created Dev/Claude/Plan - app-contentstudio - Search filter rework.md, index updated
Update Existing Document
- Read the document
- Update content as needed
- Bump
**Updated**: YYYY-MM-DDin frontmatter to today's date - Update
**Status**if it changed (e.g.,Draft→Active)
Promote from Inbox to Claude
When an Inbox note has grown into structured content worth keeping long-term:
- Read the Inbox note
- Determine the appropriate Type and Scope for Claude naming
- Write the new file at
~/Documents/Obsidian Vault/Dev/Claude/<Type> - <Scope> - <Description>.md - Update the header: set proper status, bump
**Updated**date - Delete the original Inbox file
- Update the index file
- Print one line naming both paths:
Promoted Inbox/<old> -> Dev/Claude/<new>, index updated
Complete a Document
When the work described in a document is done:
- Update
**Status**: Completedand bump**Updated**date - Update the index file — mark as completed or move to a completed section
- Print one line:
Completed <filename>, index updated
Archive a Document
When a completed document is no longer actively referenced:
- Update
**Status**: Archivedand bump**Updated**date - Update the index file accordingly