| name | list-manager |
| skill_id | list-manager |
| category | productivity |
| description | Create, read, update, and delete lists stored in the Obsidian vault at $OBSIDIAN_VAULT_PATH/Lists/, plus maintain the knowledge base at $OBSIDIAN_VAULT_PATH/Second Brain/. |
| triggers | ["user says \"create a list\"","user says \"make a list\"","user says \"add to my list\"","user says \"show my lists\"","user says \"delete list\"","user says \"remove from list\""] |
List Manager
This skill teaches your Hermes agent how to read and write to an Obsidian vault
on disk. It is the core connector between the AI agent and your Second Brain.
File Structure Assumed
{Observian Vault}/
├── Second Brain/
│ ├── 01 - About Me.md
│ ├── 02 - Career & Resume.md
│ ├── 03 - Projects.md
│ ├── 04 - Goals & Tasks.md
│ ├── 05 - Ideas.md
│ ├── 06 - Preferences.md
│ ├── 07 - Setup & Tools.md
│ └── 08 - Contacts & Network.md
├── Lists/
│ ├── shopping.md
│ ├── books-to-read.md
│ └── ...
├── Journal/
│ └── 2026-06-14.md
└── Projects/
└── ...
Environment Variable
Set this in your Hermes .env or shell profile:
export OBSIDIAN_VAULT_PATH="/path/to/your/obsidian/vault"
The skill always resolves $OBSIDIAN_VAULT_PATH before reading or writing files.
Workflow: Creating a List
When the user says "create a list [name]":
- Determine the list title (ask if ambiguous)
- Determine the items (ask if not provided)
- Write to
$OBSIDIAN_VAULT_PATH/Lists/{slug}.md:
# {Title}
Created: {YYYY-MM-DD HH:MM}
- [ ] item 1
- [ ] item 2
- Save a reference in agent memory so it can find the list later
Workflow: Reading Lists
search_files(pattern="*.md", path="$OBSIDIAN_VAULT_PATH/Lists/", target="files")
read_file(path="$OBSIDIAN_VAULT_PATH/Lists/{slug}.md")
Workflow: Updating Lists
- Add items: Read the file, append
- [ ] new item lines, write back
- Toggle checkboxes: Use
patch to replace - [ ] with - [x] or vice versa
- Delete items: Use
patch to remove specific checklist lines
Workflow: Second Brain Maintenance
When you learn durable information about the user, update the relevant
Second Brain file:
| File | When to update |
|---|
01 - About Me.md | Bio, location, contact info changes |
02 - Career & Resume.md | New roles, skills, certifications |
03 - Projects.md | Project status changes, new projects |
04 - Goals & Tasks.md | Priority shifts, new goals |
05 - Ideas.md | New ideas to capture |
06 - Preferences.md | Communication style, boundaries |
07 - Setup & Tools.md | Environment changes |
08 - Contacts & Network.md | New contacts, companies, events |
Always read the file first before updating — the user may have edited it
directly in Obsidian between sessions.
Pitfalls
- Slug collisions: If two lists have similar names, append the date:
{slug}-{YYYYMMDD}.md
- User edits in Obsidian: Always read the latest version before modifying.
The file on disk is the source of truth.
- Obsidian doesn't need to be running: These are just markdown files.
Obsidian is a viewer/editor, not a server.
- Path resolution: Always resolve
$OBSIDIAN_VAULT_PATH through the shell
first, then use the absolute path for file tools.