Install
$ agentstack add skill-nweii-agent-stuff-obsidian-clis ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Obsidian CLIs
CLIs here means two terminal interfaces: the Obsidian app CLI (obsidian, primary) and notesmd-cli (filesystem fallback when obsidian is not available). There is no separate invocation mode—pick the binary that exists in the environment.
Which binary to use
- If
obsidianis on PATH, use it for all workflows below (richer surface: links, Bases, tasks, plugin dev). - If
obsidianis missing butnotesmd-cliis on PATH, follow [notesmd-fallback.md](notesmd-fallback.md) for headless vault operations. - If neither is available, say so and fall back to direct file edits, MCP, or other vault tools the user provides.
CLI availability
Before relying on either tool, confirm install with command -v obsidian and command -v notesmd-cli (or which) when the environment is unknown. Do not assume either binary is present.
Obsidian app CLI
Run obsidian to control a running Obsidian instance from the terminal. The app must be running for most commands; the first command will launch Obsidian if not open.
Run obsidian help or obsidian help for the canonical, always-up-to-date command reference. This skill documents common patterns and non-obvious behaviors.
Targeting vaults and files
- Vault:
vault=as first parameter. Default: cwd if it's a vault folder, else the active vault. - File:
file=resolves like a wikilink (name only, no path or extension needed).path=for exact path from vault root. - TUI: Run
obsidianwith no args for interactive mode; omit theobsidianprefix inside.
Parameters and flags
- Parameters:
param=value. Quote values with spaces:content="Hello world". - Flags: Boolean, no value:
silent,overwrite,newtab. - Multiline content: Use
\nfor newlines,\tfor tabs incontent=.
Search, links, and structure
obsidian search query="text" [path=folder] [limit=n] [format=text|json] [total] [case]
obsidian search:context query="text" [path=folder] [limit=n] # includes surrounding context
obsidian links [file=Note] [total]
obsidian backlinks [file=Note] [counts] [total]
obsidian outline [file=Note] [format=tree|md]
obsidian orphans [total] [active] # notes with no links to or from them
obsidian deadends [total] [active] # notes with no outgoing links
obsidian unresolved [total] [counts] [verbose] # broken wikilinks
obsidian tags [active] [file=Note] [total] [counts] [sort=count]
obsidian tag name=project [total] [verbose]
Common patterns
Notes and content
To peek at a note without reading its full content, use property:read or properties file=Note.
obsidian read file="Note" # Use this to read the content of a wikilink
obsidian create name="Note" content="# Title\n\nBody" [template=Name] [overwrite] [silent]
obsidian append file="Note" content="- [ ] Task"
obsidian prepend file="Note" content="# Header\n"
obsidian move file="Note" to=folder/newpath.md
obsidian rename file="Note" name="New file name"
obsidian delete file="Note"
Daily notes (Daily notes plugin)
obsidian daily:read
obsidian daily [paneType=tab|split|window] [open]
obsidian daily:append content="- [ ] Buy groceries" [inline] [open]
obsidian daily:prepend content="- [ ] Morning routine" [inline] # goes after frontmatter
obsidian daily:path # returns expected path even if file doesn't exist yet
Tasks
obsidian tasks [daily] [file=Note] [todo] [done] [status="x"] [total] [verbose]
obsidian task ref=path:line [toggle] [done] [todo] [daily]
Properties and frontmatter
obsidian properties [active] [file=Note] [total] [counts] [format=yaml|json|tsv]
obsidian property:read name=status [file=Note]
obsidian property:set name=status value=done [file=Note]
obsidian property:remove name=status [file=Note]
Bases (Bases plugin)
obsidian bases
obsidian base:views [file=base.base]
obsidian base:query [file=base.base] [view=name] [format=json|csv|tsv|md|paths]
obsidian base:create name="Item" content="..." [open] [newtab]
Plugin development
Develop/test cycle
After making code changes to a plugin or theme, follow this workflow:
- Reload the plugin to pick up changes:
``bash obsidian plugin:reload id=my-plugin ``
- Check for errors — if errors appear, fix and repeat from step 1:
``bash obsidian dev:errors ``
- Verify visually with a screenshot or DOM inspection:
``bash obsidian dev:screenshot path=screenshot.png obsidian dev:dom selector=".workspace-leaf" text ``
- Check console output for warnings or unexpected logs:
``bash obsidian dev:console level=error ``
Additional developer commands
Run JavaScript in the app context:
obsidian eval code="app.vault.getFiles().length"
Inspect CSS values:
obsidian dev:css selector=".workspace-leaf" prop=background-color
Toggle mobile emulation:
obsidian dev:mobile on
Quick reference (Obsidian app CLI)
| Task | Command | |------|---------| | List commands | obsidian help | | Open daily note | obsidian daily | | Append to daily | obsidian daily:append content="- [ ] Task" | | Search vault | obsidian search query="text" | | Read active/specified file | obsidian read or obsidian read file=Note | | Create from template | obsidian create name="Title" template=Name | | List tags with counts | obsidian tags counts | | List tasks from daily | obsidian tasks daily | | Find broken wikilinks | obsidian unresolved counts | | Find orphan notes | obsidian orphans |
For notesmd-cli, see [notesmd-fallback.md](notesmd-fallback.md).
References
obsidian help— full command list (always up to date)obsidian help— help for a specific command
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: nweii
- Source: nweii/agent-stuff
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.