Learn-skills.dev session-notes
install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/adeonir/agent-skills/session-notes" ~/.claude/skills/neversight-learn-skills-dev-session-notes && rm -rf "$T"
manifest:
data/skills-md/adeonir/agent-skills/session-notes/SKILL.mdsource content
Session Notes
Create and manage Obsidian notes using MCPVault MCP for structured documentation.
Workflow
resolve-vault --> select-type --> compose-note --> write --> link-related
Each note type has its own workflow. Use any type independently based on user needs.
Vault Resolution
Run once per session before any write operation. All references assume the vault is already resolved.
- Check if MCPVault MCP is available (look for
,write_note
tools)read_note - Use
to verify the vault root is accessiblelist_directory - If Obsidian CLI is available (
), usewhich obsidian
to list vaults and confirm with userobsidian vaults verbose - If multiple vaults exist, ask user which one to use
- Remember the vault name for the rest of the session
Once resolved, all references use relative paths from the vault root (e.g.,
Daily/2026-03-20.md, Projects/My Project/Overview.md).
Filename Sanitization
When generating filenames from user input:
- Remove invalid characters:
/ \ : * ? " < > | - Preserve accented characters (valid in filenames)
- Use Title Case for all filenames
- Example:
becomesWhat's Next?Whats Next.md
Context Loading Strategy
Load only the reference or guide matching the current trigger. Never load multiple simultaneously unless explicitly noted.
are not loaded into context. The agent uses them as reference to compose note content.templates/*.md- Templates also live in the vault (
) for manual use via Obsidian's Templates and Daily Notes plugins.Templates/
Triggers
| Trigger Pattern | Reference |
|---|---|
| Project, PRD, Design Doc, ADR, architecture | project.md |
| Company, job application, interview | company.md |
| Challenge, technical challenge, take-home, coding interview | challenge.md |
| Brag, achievement, accomplishment | brag.md |
| Daily, today, daily note, journal | daily.md |
| Conversation, session, save conversation, AI chat | conversation.md |
| Capture, save this, quick note, paste this | capture.md |
| Markdown, syntax, wikilink, callout, embed | markdown.md |
| Vault structure, organize vault | vault-structure.md |
Notes:
andmarkdown.md
are informational guides (no write operations).vault-structure.md- All other references are note-creation workflows (compose, write, link).
Cross-References
company --> challenge (interview triggers challenge) company --> brag (interview learnings become achievements) challenge --> brag (completed challenge becomes achievement) daily --> brag (daily insights feed brag document) project --> daily (project work logged in daily notes) conversation --> daily (conversation insights logged in daily) conversation --> brag (conversation outcomes become achievements)
Writing Style
- Language: English for all notes
- Body: rich prose context after the heading, not just bullet points
- Bullet points: describe what happened and why, with natural language, and with enough context to understand weeks later
- Observations:
syntax -- tags are indexed by Obsidian natively#category content - Relations:
wikilinks only -- omit the section if no related notes exist in the vault[[Note Title]]
Guidelines
DO:
- Resolve vault once per session (see Vault Resolution above)
- Compose note content following
structuretemplates/*.md - Use
for new notes,write_note
+read_note
for updatespatch_note - Use
to check if a note exists before creatingsearch_notes - Link related notes using Obsidian wiki-links
[[Note Name]] - Use Title Case for filenames (e.g.,
)My Project.md - Sanitize filenames from user input (see Filename Sanitization above)
- When templates in the skill are updated, remind user to sync vault copies (
)Templates/
DON'T:
- Overwrite or delete existing vault files -- always append, rename, or cancel
- Assume vault location without confirmation
- Use templates for updates (templates are for new notes only)
- Create duplicate notes -- search first with
search_notes - Use absolute paths in wiki-links (always relative)
Output
Notes are created in the user's Obsidian vault:
Vault/ ├── Projects/ ├── Companies/ ├── Challenges/ ├── Brags/ ├── Conversations/ ├── Daily/ └── Templates/
Error Handling
- MCPVault unavailable: inform user the skill requires MCPVault MCP server
- Vault not found: ask user for correct vault name
- Note already exists: ask to append, choose new name, or cancel
- Empty required fields: prompt user for missing information