Merge pull request #5 from pablo-mano/claude/skill-creator-improvements-VvYl5

This commit is contained in:
pablo-mano
2026-03-05 21:57:57 +01:00
committed by GitHub
3 changed files with 114 additions and 14 deletions
+21 -9
View File
@@ -13,22 +13,30 @@ A skill for AI coding agents that enables full control of [Obsidian](https://obs
Once installed, your AI agent will know how to interact with Obsidian vaults through the official CLI — reading, creating, and editing notes; managing daily notes; running full-text search; querying tasks, tags, links, and properties; managing plugins and sync; and running developer tools.
Covers **100+ commands** across all major areas:
Covers **130+ commands** across all major areas:
| Area | Commands |
|---|---|
| **Files** | `read`, `create`, `append`, `prepend`, `move`, `delete`, `files`, `folders` |
| **Daily Notes** | `daily`, `daily:read`, `daily:append`, `daily:prepend` |
| **Search** | `search` with scoping, limits, JSON output |
| **Properties** | `properties`, `property:read`, `property:set`, `property:remove` |
| **Files** | `read`, `create`, `append`, `prepend`, `move`, `rename`, `delete`, `files`, `folders`, `file`, `random` |
| **Daily Notes** | `daily`, `daily:read`, `daily:append`, `daily:prepend`, `daily:path` |
| **Search** | `search`, `search:context` with scoping, limits, JSON output |
| **Properties** | `properties`, `property:read`, `property:set`, `property:remove`, `aliases` |
| **Tags** | `tags`, `tag` with counts and filtering |
| **Tasks** | `tasks`, `task` — query, filter, toggle |
| **Links** | `backlinks`, `links`, `unresolved`, `orphans`, `deadends` |
| **Bookmarks** | `bookmarks`, `bookmark` |
| **Templates** | `templates`, `template:read`, `template:insert` |
| **Plugins** | `plugins`, `plugin:enable/disable/install/reload` |
| **Sync** | `sync`, `sync:status`, `sync:history`, `sync:restore` |
| **Developer** | `eval`, `dev:screenshot`, `dev:console`, `dev:errors` |
| **Vault** | `vault`, `vaults`, `version`, `recents`, `outline`, `wordcount` |
| **Plugins** | `plugins`, `plugin`, `plugin:enable/disable/install/uninstall`, `plugins:restrict` |
| **Sync** | `sync`, `sync:status`, `sync:history`, `sync:read`, `sync:restore`, `sync:deleted` |
| **Themes** | `themes`, `theme`, `theme:set`, `theme:install/uninstall` |
| **Snippets** | `snippets`, `snippets:enabled`, `snippet:enable/disable` |
| **Commands** | `commands`, `command`, `hotkeys`, `hotkey` |
| **Bases** | `bases`, `base:query`, `base:views`, `base:create` |
| **History** | `history`, `history:list`, `history:read`, `history:restore` |
| **Workspace** | `workspace`, `tabs`, `tab:open` |
| **Diff** | `diff` |
| **Developer** | `eval`, `dev:screenshot`, `dev:debug`, `dev:console`, `dev:errors`, `dev:css`, `dev:dom`, `devtools` |
| **Vault** | `vault`, `vaults`, `version`, `reload`, `restart`, `recents`, `outline`, `wordcount` |
---
@@ -292,6 +300,10 @@ See [`skills/obsidian-cli/references/command-reference.md`](skills/obsidian-cli/
| Wrong vault targeted | Multi-vault ambiguity | Pass vault name as the first argument: `obsidian "My Vault" ...` |
| IPC socket not found (Linux) | `PrivateTmp=true` in systemd unit | Set `PrivateTmp=false` |
| Snap confinement errors | Snap restricts IPC | Use the `.deb` package instead |
| Multi-vault `"Name" command` fails | Vault name matching issue | Omit vault name; switch vault manually in Obsidian UI |
| `property:set` list value is a string | CLI stores value as-is | Edit frontmatter directly or use `eval` to call Obsidian API |
| Colon+params exit 127 (missing `.com`) | Outdated installer — `Obsidian.com` absent | Reinstall from [obsidian.md/download](https://obsidian.md/download) |
| Colon+params exit 127 (Git Bash / MSYS2) | Bash resolves `obsidian` to `.exe` not `.com` | Create `~/bin/obsidian` wrapper: `#!/bin/bash` + `/c/path/to/Obsidian.com "$@"`, add `export PATH="$HOME/bin:$PATH"` to `~/.bashrc` |
---
+60
View File
@@ -39,6 +39,46 @@
"query": "move everything in my Inbox/ folder to Archive/2026/ and update the daily note with a log entry",
"should_trigger": true
},
{
"query": "check the sync history for my important.md and restore the version from two days ago",
"should_trigger": true
},
{
"query": "list all my bookmarks in obsidian",
"should_trigger": true
},
{
"query": "run obsidian eval to count how many markdown files have a 'status' property set to 'done'",
"should_trigger": true
},
{
"query": "find all notes in my vault that link to projects/q1-review.md",
"should_trigger": true
},
{
"query": "take a screenshot of my current obsidian view and save it to screenshots/",
"should_trigger": true
},
{
"query": "show me all tags in my vault sorted by how often they're used",
"should_trigger": true
},
{
"query": "query my Obsidian Bases 'Tasks' view and show all entries where priority is high",
"should_trigger": true
},
{
"query": "what notes have i opened recently in obsidian?",
"should_trigger": true
},
{
"query": "delete my scratch/temp-ideas.md note permanently",
"should_trigger": true
},
{
"query": "rename my 'Meeting 2026-02-28.md' note to 'Sprint Retro 2026-02-28.md'",
"should_trigger": true
},
{
"query": "how do i change the accent color in obsidian? i want something more muted than the default purple",
"should_trigger": false
@@ -78,5 +118,25 @@
{
"query": "i'm writing a python script to parse markdown files from my notes folder and extract all the headings into a CSV — what's the best library for this?",
"should_trigger": false
},
{
"query": "how does obsidian's graph view work? i want to understand what the clusters represent",
"should_trigger": false
},
{
"query": "is there a way to publish my obsidian vault publicly? what are the options?",
"should_trigger": false
},
{
"query": "how do i configure a hotkey in obsidian to run a specific command from the command palette?",
"should_trigger": false
},
{
"query": "explain what the 'unresolved links' section in obsidian's graph view means",
"should_trigger": false
},
{
"query": "how do i use templater plugin variables like {{date}} in obsidian?",
"should_trigger": false
}
]
+32 -4
View File
@@ -1,5 +1,6 @@
---
name: obsidian-cli
version: "1.3.0"
description: >
Use this skill whenever the user wants Claude to directly interact with their
Obsidian vault — reading a note or daily note, writing or appending content,
@@ -8,10 +9,37 @@ description: >
has no way to access vault data or execute vault operations. Treat any request that
implies "go into my vault and do X" as a trigger — the user is asking Claude to act,
not to explain. Also trigger for vault automation, CLI scripting, or cron-based
workflows involving Obsidian. Skip for pure conceptual questions: how Obsidian's GUI
works, navigating settings menus, theme or plugin installation via the UI, or general
Dataview query syntax — anything where the user needs an explanation rather than
Claude performing a vault operation.
workflows involving Obsidian, managing sync history, querying Bases, restoring file
versions via history, managing bookmarks, or running JavaScript against the Obsidian
API. Skip for pure conceptual questions: how Obsidian's GUI works, navigating settings
menus, theme or plugin installation via the UI, iCloud/third-party sync conflicts,
general Dataview query syntax, keyboard shortcuts, or parsing vault files with external
scripts — anything where the user needs an explanation rather than Claude performing a
vault operation.
triggers:
- "obsidian"
- "vault"
- "daily note"
- "obsidian cli"
- "note"
- "append to"
- "prepend to"
- "search my vault"
- "create a note"
- "read note"
- "move note"
- "rename note"
- "delete note"
- "tasks in obsidian"
- "open tasks"
- "backlinks"
- "orphaned notes"
- "broken links"
- "frontmatter"
- "properties"
- "sync history"
- "obsidian bases"
- "file history"
---
# Obsidian CLI