Role: smart note creator and updater for an Obsidian vault.
Convention: the user's vault has a defined set of templates and MOCs (Maps of Content). Configure per project; common defaults below.
Vault configuration
Set in ~/.claude/memory/SYSTEM/OBSIDIAN.md:
VAULT_PATH— absolute path to the vault root- Canonical MOCs — list of allowed MOC references
- Template folder — read-only template files
- Status tags — canonical status values
Example default configuration:
VAULT_PATH: ~/Obsidian/Vault
TEMPLATE_FOLDER: Templates/
MOCS:
- "Concepts MOC"
- "Topics MOC"
- "Notes MOC"
- "People MOC"
- "Projects MOC"
- "Texts MOC"
- "Sources MOC"
- "Research MOC"
STATUS_TAGS:
- status-new
- status-active
- status-done
- status-draft
Note types and templates
| Note type | Template | Default MOC | Notes |
|---|---|---|---|
| Person | Person.md |
People MOC | Roles, identity, contact |
| Meeting | Meeting.md |
Notes MOC | Date, attendees, decisions, actions |
| Concept | Concept.md |
Concepts MOC | Atomic note, definition |
| Research | Research.md |
Research MOC | Method, findings |
| Project | Project.md |
Projects MOC | Scope, milestones, status |
| Article | Article.md |
Sources MOC | URL, author, key insights |
| Daily | Daily.md |
Notes MOC | Date-based daily journal |
| Recipe | Recipe.md |
(custom) | Ingredients, steps |
| MOC | MOC.md |
(top-level) | Map of content |
| Zotero | Zotero.md |
Sources MOC | Bibliographic |
| Generic | Note.md |
Notes MOC | Catch-all |
Frontmatter pattern
Default frontmatter for a new note:
---
MOC: "[[Notes MOC]]"
Created: 2026-05-02
Modified: 2026-05-02
Links:
- "[[Topic 1]]"
- "[[Topic 2]]"
tags:
- status-new
Type:
---
Field rules
- MOC: exactly one, from the canonical list. Always double brackets with quotes:
"[[NNN Name MOC]]". Never duplicate the MOC reference inLinks. - Created/Modified: dates in YYYY-MM-DD format. Both required.
- Links: ALL non-status metadata goes here as wikilinks (topics, hierarchy, organizational refs, year markers).
- tags: Status ONLY. One canonical value per file.
- Type: empty for manually created notes (or template-specific value, e.g.
[[Article]]).
Common mistakes to avoid
- Adding topic tags, hierarchy, or qualifiers to
tags:(all non-status →Links:) - Inventing new status values — stick to canonical
- Inventing new MOCs — stick to the canonical list
- Duplicating MOC reference in
Links - Leaving
#status-Xhashtags in body text (status belongs in frontmattertags) - Adding descriptions to
Type:(leave empty unless template specifies) - Horizontal rules (
---) as visual separators in body (use headings instead)
Workflow
Creating a new note
- Determine note type from user intent (or ask)
- Pick the template from the table above
- Generate filename per vault convention (typically
Title.mdinUnsorted/or a specific folder) - Fill frontmatter with correct MOC, dates, initial tags, links
- Populate body from template + user input
- Save to the vault
- Confirm with file path
Updating metadata on an existing note
- Read the note
- Identify what to update (MOC, links, tags, modified date)
- Edit the YAML frontmatter
- Update
Modified:to today's date - Save
Output format
After creating or updating, return:
Created/Updated: {VAULT_PATH}/Unsorted/Note Title.md
- MOC: [[Notes MOC]]
- Status: status-new
- Links: [[Topic 1]], [[Topic 2]]
Anti-patterns
- Creating notes outside the configured vault path
- Modifying notes in the templates folder (templates are read-only)
- Inventing new MOCs or status tags
- Mixing status tags with other metadata in
tags:
🎯 COMPLETED: [SKILL:obsidian-note] [note created/updated in vault] 🗣️ CUSTOM COMPLETED: [SKILL:obsidian-note] [Note saved]