Obsidian Notes
If $ARGUMENTS is provided, treat it as the user's note request and proceed directly without asking for clarification.
Overview
Standard operations for reading, writing, and organizing notes in the Obsidian vault (Obsidian Flavored Markdown with YAML frontmatter and wikilinks). All vault operations access the filesystem directly using the Read, Write, Edit, Glob, and Grep tools.
Vault Location
| Item |
Value |
| Vault root |
~/Documents/obsidian/My Note |
| Notes base |
~/Documents/obsidian (may contain multiple vaults) |
All paths in this skill are vault-relative. Prepend ~/Documents/obsidian/My Note/ to get the full filesystem path.
Companion Skills
Obsidian supports more than plain markdown notes. Before proceeding, consider whether the user's request is better served by one of these formats:
| Skill |
Format |
When to use |
obsidian-markdown |
.md |
Always invoke when creating or editing notes — ensures correct Obsidian Flavored Markdown (wikilinks, callouts, embeds, properties) |
obsidian-bases |
.base |
a database view, filtered table, card gallery, or summary of notes by properties |
json-canvas |
.canvas |
a visual layout — mind map, flowchart, project board, or spatial arrangement of ideas |
Invoke the relevant skill(s) before writing content so you follow the correct syntax.
Note Placement
Structured Types (fixed paths)
Three root directories have fixed, reserved path patterns — always use these exact locations:
| Type |
Path pattern |
| Project |
Projects/[ProjectName]/[ProjectName].md |
| Meeting |
Meetings/YYYY/MM/[Title] YYYY-MM-DD.md |
| DailyNote |
DailyNote/YYYY/MM/YYYY-MM-DD.md |
Always create project and meeting notes at these paths. Read the corresponding reference file for the full workflow:
- Projects →
references/project-workflow.md
- Meetings →
references/meeting-workflow.md
General Notes (dynamic discovery)
For all other notes, always explore the vault's current structure before deciding on a location. Never assume where a note should go without checking first.
- Discover: Use
Glob (~/Documents/obsidian/My Note/**/*.md) to survey the vault. Build a picture of the existing top-level directories, sub-folders, and naming conventions.
- Analyze: Identify the note's topic, type, and how it relates to existing content.
- Decide on a path:
- Existing location fits → place the note there; follow local naming conventions exactly.
- No existing location fits → create a new path consistent with the vault's overall style; briefly explain the choice to the user.
- Restructuring needed → explain why and get user confirmation before moving any files.
Depth constraint: Outside of Projects/, Meetings/, and DailyNote/, directory nesting must not exceed 3 levels (e.g., Area/Topic/SubTopic/note.md is the maximum depth). Do not create deeper hierarchies.
Principles: Prefer existing structure over creating new folders. Observe local conventions — different vault areas may use different patterns. When content doesn't fit any existing category, create a new folder but justify the choice.
Templates
| Type |
Template |
| Project |
assets/project.md |
| Meeting |
assets/meeting.md |
| DailyNote |
(plugin-managed) — see Structured Types |
Note Creation Checklist
- Determine note type (project / meeting / daily / general)
- Determine placement:
- Select template if applicable
- Create with
Write at the full filesystem path
- Verify frontmatter fields:
title, created, updated, tags
- Verify creation:
Read the file to confirm it was created and YAML is valid
Note Update Workflow
When the user asks to update, add to, or modify an existing note, do NOT blindly append new content to the end. Instead, follow this workflow:
- Read:
Read the file at its full filesystem path to get the full current content
- Analyze: Identify the note's headings, sections, and organizational structure
- Integrate: Compose the updated note by merging new content into the existing structure:
- Place new content under the most relevant existing heading
- Merge overlapping or duplicate information — keep the more complete or up-to-date version
- Add a new section only when no existing heading fits; position it logically, not at the end by default
- Write: Overwrite the note with
Write (or use Edit for targeted changes)
- Verify:
Read the file again to confirm the result is well-structured
When append IS appropriate
Use append only when the note is inherently chronological and the new content is a discrete new entry:
- Daily notes: adding log entries or timestamps
- Meeting notes: adding follow-up items after the meeting
- The user explicitly says "append", "add to the end", or "加在後面"
Use Edit to insert content at the correct position, or Bash (echo >> file) for a simple append to end of file.
If unsure, default to the integrate workflow above.
Reference Files
| File |
When to read |
references/note-organization.md |
Naming, tag system, frontmatter standards |
references/meeting-workflow.md |
Any meeting note operation (create, query, update status) |
references/project-workflow.md |
Any project note operation (query, create, update, Jira integration) |
1---2name: writing-note3description: Use this skill to read, write, search, or modify files in the user's local Obsidian vault (markdown notes). This is the user's personal knowledge base stored as local files. Trigger whenever the request involves personal notes — including "save this to my notes", "幫我記", "幫我存", "daily note", "筆記", "幫我找...筆記", "我之前有存", "更新筆記", "meeting note", "project note", or appending entries to today's log. This skill is the default for any request to persist, retrieve, or edit personal knowledge when no external service (Jira, GitHub, Confluence, Linear, Things, Slack, email) is explicitly specified. Also trigger on any mention of "Obsidian", "vault", or "my notes".4---56# Obsidian Notes78If `$ARGUMENTS` is provided, treat it as the user's note request and proceed directly without asking for clarification.910## Overview1112Standard operations for reading, writing, and organizing notes in the Obsidian vault (Obsidian Flavored Markdown with YAML frontmatter and wikilinks). All vault operations access the filesystem directly using the Read, Write, Edit, Glob, and Grep tools.1314## Vault Location1516| Item | Value |17|------|-------|18| **Vault root** | `~/Documents/obsidian/My Note` |19| **Notes base** | `~/Documents/obsidian` (may contain multiple vaults) |2021All paths in this skill are **vault-relative**. Prepend `~/Documents/obsidian/My Note/` to get the full filesystem path.2223## Companion Skills2425Obsidian supports more than plain markdown notes. Before proceeding, consider whether the user's request is better served by one of these formats:2627| Skill | Format | When to use |28|-------|--------|-------------|29| `obsidian-markdown` | `.md` | **Always invoke** when creating or editing notes — ensures correct Obsidian Flavored Markdown (wikilinks, callouts, embeds, properties) |30| `obsidian-bases` | `.base` | a database view, filtered table, card gallery, or summary of notes by properties |31| `json-canvas` | `.canvas` | a visual layout — mind map, flowchart, project board, or spatial arrangement of ideas |3233Invoke the relevant skill(s) before writing content so you follow the correct syntax.3435## Note Placement3637### Structured Types (fixed paths)3839Three root directories have fixed, reserved path patterns — always use these exact locations:4041| Type | Path pattern |42|------|-------------|43| Project | `Projects/[ProjectName]/[ProjectName].md` |44| Meeting | `Meetings/YYYY/MM/[Title] YYYY-MM-DD.md` |45| DailyNote | `DailyNote/YYYY/MM/YYYY-MM-DD.md` |4647Always create project and meeting notes at these paths. Read the corresponding reference file for the full workflow:4849- Projects → `references/project-workflow.md`50- Meetings → `references/meeting-workflow.md`5152### General Notes (dynamic discovery)5354For all other notes, **always** explore the vault's current structure before deciding on a location. Never assume where a note should go without checking first.55561. **Discover**: Use `Glob` (`~/Documents/obsidian/My Note/**/*.md`) to survey the vault. Build a picture of the existing top-level directories, sub-folders, and naming conventions.571. **Analyze**: Identify the note's topic, type, and how it relates to existing content.581. **Decide** on a path:59 - **Existing location fits** → place the note there; follow local naming conventions exactly.60 - **No existing location fits** → create a new path consistent with the vault's overall style; briefly explain the choice to the user.61 - **Restructuring needed** → explain why and get user confirmation before moving any files.6263**Depth constraint**: Outside of `Projects/`, `Meetings/`, and `DailyNote/`, directory nesting must not exceed **3 levels** (e.g., `Area/Topic/SubTopic/note.md` is the maximum depth). Do not create deeper hierarchies.6465**Principles**: Prefer existing structure over creating new folders. Observe local conventions — different vault areas may use different patterns. When content doesn't fit any existing category, create a new folder but justify the choice.6667## Templates6869| Type | Template |70|------|----------|71| Project | `assets/project.md` |72| Meeting | `assets/meeting.md` |73| DailyNote | *(plugin-managed)* — see [Structured Types](#structured-types-fixed-paths) |7475## Note Creation Checklist76771. Determine note type (project / meeting / daily / general)781. **Determine placement**:79 - Project or meeting → use the fixed path (see [Structured Types](#structured-types-fixed-paths))80 - General → follow the [dynamic discovery](#general-notes-dynamic-discovery) workflow811. Select template if applicable821. Create with `Write` at the full filesystem path831. Verify frontmatter fields: `title`, `created`, `updated`, `tags`841. Verify creation: `Read` the file to confirm it was created and YAML is valid8586## Note Update Workflow8788When the user asks to **update**, **add to**, or **modify** an existing note, do NOT blindly append new content to the end. Instead, follow this workflow:89901. **Read**: `Read` the file at its full filesystem path to get the full current content911. **Analyze**: Identify the note's headings, sections, and organizational structure921. **Integrate**: Compose the updated note by merging new content into the existing structure:93 - Place new content under the most relevant existing heading94 - Merge overlapping or duplicate information — keep the more complete or up-to-date version95 - Add a new section only when no existing heading fits; position it logically, not at the end by default961. **Write**: Overwrite the note with `Write` (or use `Edit` for targeted changes)971. **Verify**: `Read` the file again to confirm the result is well-structured9899### When append IS appropriate100101Use append only when the note is inherently chronological and the new content is a discrete new entry:102103- **Daily notes**: adding log entries or timestamps104- **Meeting notes**: adding follow-up items after the meeting105- **The user explicitly says** "append", "add to the end", or "加在後面"106107Use `Edit` to insert content at the correct position, or `Bash` (`echo >> file`) for a simple append to end of file.108109If unsure, default to the integrate workflow above.110111## Reference Files112113| File | When to read |114|------|-------------|115| `references/note-organization.md` | Naming, tag system, frontmatter standards |116| `references/meeting-workflow.md` | Any meeting note operation (create, query, update status) |117| `references/project-workflow.md` | Any project note operation (query, create, update, Jira integration) |