# Obsidian Note

> Smart note creation in an Obsidian vault. Routes intent to the correct template for common note types: Person, Meeting, Concept, Research, Project, Article, Daily, Recipe, MOC, Zotero, generic Note. [WHAT] Create or update notes in your Obsidian vault. Routes intent to the correct template. Handles YAML frontmatter, MOC classification, wikilinks, metadata updates. [WHEN] Use when: note, person card, meeting note, concept note, daily note, new project, save article, recipe, create note, update metadata, fix metadata (single file). [LANGUAGE] Configurable. [EXPERTISE] Obsidian templates, YAML frontmatter, MOC classification, wikilinks.

- Skill: `carlheath/obsidian-note` (Agent Skill)
- Install (CLI): `npx skillmds@latest add carlheath/obsidian-note`
- Raw SKILL.md: https://api.skillmd.com/api/skills/carlheath/obsidian-note/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Research & Search
- Author: carlheath (https://skillmd.com/u/carlheath)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/carlheath/obsidian-note

---


# Obsidian Note

**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:

```yaml
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:

```yaml
---
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 in `Links`.
- **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-X` hashtags in body text (status belongs in frontmatter `tags`)
- Adding descriptions to `Type:` (leave empty unless template specifies)
- Horizontal rules (`---`) as visual separators in body (use headings instead)

## Workflow

### Creating a new note

1. **Determine note type** from user intent (or ask)
2. **Pick the template** from the table above
3. **Generate filename** per vault convention (typically `Title.md` in `Unsorted/` or a specific folder)
4. **Fill frontmatter** with correct MOC, dates, initial tags, links
5. **Populate body** from template + user input
6. **Save** to the vault
7. **Confirm** with file path

### Updating metadata on an existing note

1. **Read** the note
2. **Identify** what to update (MOC, links, tags, modified date)
3. **Edit** the YAML frontmatter
4. **Update** `Modified:` to today's date
5. **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]

