olafkfreund/nixos_config/obsidian
Claude Code and agent skill by olafkfreund/nixos_config
- community
Checking that the SKILL.md file is still in the repository.
Read, write, search and reorganise notes in the local Obsidian vaults. Use for anything touching ~/Documents/R3_vault, ~/Documents/Synechron or ~/Documents/My_Obsidian_Vault/Privat — finding notes, adding or editing content, renaming/moving notes without breaking links, and daily notes. Triggers on "my notes", "my vault", "Obsidian", "write this up in my notes", or a request to look something up in personal documentation.
Install
npx vskill@latest install olafkfreund/nixos_config/obsidianSKILL.md
Obsidian vaults
Three vaults, ~2950 notes. They are plain Markdown directories, so `Read`, `Write`, `Edit`, `Grep` and `Glob` are the primary tools — use them directly. The CLI below exists for the two things file tools cannot do safely.
| Vault | Path | Notes | Registered in Obsidian? | |
|---|---|---|---|---|
| R3 | ~/Documents/R3_vault | 872 | No | |
| Work | ~/Documents/Synechron | 996 | Yes | |
| Private | ~/Documents/My_Obsidian_Vault/Privat | 1085 | Yes |
Ask which vault if the request is ambiguous. Content hints: Synechron holds work/Jira/Confluence material and a NixOS/ folder; Privat holds AI/, Linux/, Nixos/, CV/ and the only Daily Notes/ folder; R3 holds Chats/, Context/, GitHub/, Interview/.
Conventions that actually hold here
These were measured across the real vaults, not assumed. Do not impose conventions the vaults do not use.
- Links are mostly standard Markdown, not wikilinks. 2039
[text](file.md)
vs 357 [[wikilink]]. Match whatever the file you are editing already uses; do not convert one style to the other.
- Frontmatter is rare — about 5% of notes have any, and most of what exists
is plugin residue (sticker, copilot-command-*) or Kubernetes manifests (apiVersion/kind/spec). Do not add YAML frontmatter to a note that has none. Only touch frontmatter if the note already has it or the user asks.
- No tag taxonomy.
#wordoccurrences are markdown headings and shell
comments, not Obsidian tags. Do not invent tags.
- Filenames are mostly descriptive with no spaces and no date prefix.
Follow the naming of sibling files in the target folder.
.obsidian/is app state — never edit it.
Normal work: just use the file tools
- Find a note:
Glob**/*keyword*.md, orGrepfor content - Read:
Read - Create:
Write(place it beside similar notes; match their heading style) - Edit:
Edit
Nothing about a vault makes these unsafe. Prefer them.
Use notesmd-cli for these two things only
Installed as `notesmd-cli`, with `ob` as a short alias (upstream renamed the binary; the repo is still called obsidian-cli).
Do not reach for obsidian-cli — that name belongs to a different tool bundled inside pkgs.obsidian, which drives the running desktop app and currently fails on NixOS with "unable to find Obsidian". Likewise obs is OBS Studio.
1. Renaming or moving a note
This is the one operation that is genuinely unsafe by hand: a rename must rewrite every reference across ~2950 files, including heading anchors.
Verified behaviour:
| Before | After | |
|---|---|---|
[[Old]] | [[New]] | |
[Old](Old.md) | [Old](New.md) — target rewritten, display text kept | |
[[Old#Heading]] | [[New#Heading]] |
Display text is deliberately preserved; if the user wants it renamed too, that is a separate Edit.
Never do a rename with mv + sed. It misses heading anchors, block refs and aliases, and corrupts links silently.
2. Daily notes
Only the Privat vault has a Daily Notes/ folder. For the others, create a dated note by hand in a sensible location.
Constraint: move needs the vault registered with Obsidian
move reads ~/.config/obsidian/obsidian.json, not just the CLI's own registry. R3_vault is not in it, so move fails there with:
Options when that happens, in order of preference:
- Use the vault's registered name exactly as it appears in
obsidian.json
(notesmd-cli list-vaults shows what the CLI knows).
- Tell the user R3_vault must be opened once in the Obsidian app to register
it — do not try to hand-edit obsidian.json.
- Do the rename manually only if the user accepts the link-breakage risk, and
say so explicitly first.
Other subcommands
create, delete, open, print, search, search-content, frontmatter, list, list-vaults, add-vault, remove-vault, set-default-vault.
Most duplicate what the file tools already do better in this context — search-content is a plain substring search, so Grep is usually a better choice. open launches the desktop app and should only be used when the user asks to see a note in Obsidian.
Safety
- Renames touch many files at once. State which vault and which note before
running move.
- Never bulk-rewrite links with
sedacross a vault. - Deleting notes: prefer confirming with the user;
deleteis not reversible
from here and these vaults hold years of work.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckinghome/development/claude-code-skills/obsidian/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/olafkfreund/nixos_config/obsidian)