to-note

Installation
SKILL.md

To Note

Turn what the user hands over (text, a page's content, a research result, or the conversation's conclusions) into one findable note in their Obsidian vault: a later search surfaces it, and a later reader understands it without this conversation. A vault is any folder that contains a .obsidian/ directory.

Steps

  1. Find the vault. A vault path the user names wins. Otherwise run python3 <this skill's folder>/scripts/find_vaults.py. It prints source<TAB>path for each folder with .obsidian/, best first: env (OBSIDIAN_VAULT_ROOT, printed alone when set), open (open in Obsidian now), recent, then found by a shallow search of the home folder. Use the env line, else the only open line, else the only line; with several candidates left, ask once which vault, listing their paths.

    Done when: exactly one vault root, and it contains .obsidian/.

  2. Read the vault's rules. Read AGENTS.md (or CLAUDE.md) at the vault root. Its placement, naming, frontmatter, tag, and language rules override every default below.

    Done when: each rule that bears on a new note is known.

  3. Place and name it. A note the user names is the target: extend it. Otherwise, folder: the user's choice, else the vault rules, else Obsidian's default for new notes (.obsidian/app.json: newFileFolderPath when newFileLocation is folder), else the vault root; when that folder has its own AGENTS.md, its rules apply too. When the rules leave two or three folders equally plausible, ask once, offering them. Title: the user's, else the content's main point in a few words, minus the characters Obsidian rejects in file names (* " \ / < > : | ? # ^ [ ]). Search the vault's note file names for that title or a near-same one first: when the new material fits under that note's title, read the note and extend it; otherwise append the date (Title YYYY-MM-DD), plus a number when that name is taken too. Extending makes the smallest edit that adds the new material in the note's own layout, keeps its frontmatter, and updates its modified-date property (such as date modified or updated) when it has one.

    Done when: one vault-relative path, and every unrelated note stays as it was.

Installs
3
GitHub Stars
8
First Seen
6 days ago