Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/n4m3z-obsidianactions
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/obsidianactions
What's inside
- Skill name
ObsidianActions- Description
- [DEPRECATED] Use /ObsidianCLI instead. Obsidian Actions URI — atomic frontmatter props-set, rename with backlink updates, create notes, open notes. USE WHEN Obsidian Actions, actions URI, property set, rename note.
- License
- EUPL-1.2
- Instructions
- 115 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Agent Skills spec issues
- name: only lowercase letters, digits and single hyphens allowed
Files (2)
- SKILL.md
- SKILL.yaml
SKILL.md (first lines)
# ObsidianActions
> **Deprecated** — The official Obsidian CLI (1.12+) replaces this functionality with `property:set`, `rename`, `create`. See `/ObsidianCLI` for the current reference. This skill remains for users on Obsidian < 1.12.
Reference for the Obsidian Actions URI plugin. Communicates with Obsidian via URL schemes (`obsidian://actions-uri/...`). Fire-and-forget — sends commands, no response to the shell.
Best for atomic writes that Obsidian processes internally (property updates, renames with backlink tracking). Falls back to `safe-write` / Write tool when unavailable.
## Setup
1. Install: Obsidian Settings → Community Plugins → search "Actions URI"
2. Enable the plugin — no API key needed
## Wrapper Script
`Hooks/obsidian-uri.sh` wraps common operations. The vault name defaults to `Personal` (override with `OBSIDIAN_VAULT` env var).
### Set frontmatter properties
```bash
Hooks/obsidian-uri.sh props-set "vault/relative/path.md" '{"keywords": ["[[Security]]"], "related": ["[[Obsidian]]"]}'
```
Uses `mode=update` (merge) — existing properties are preserved, new ones are added/updated. Safe for append-only fields like `keywords:` and `related:`.
### Remove frontmatter keys
```bash
Hooks/obsidian-uri.sh props-remove "vault/relative/path.md" '["obsolete_key", "deprecated_field"]'
```
### Rename with backlink updates
```bash
Hooks/obsidian-uri.sh rename "old/path.md" "new/path.md"
```
Obsidian updates all `[[wikilinks]]` across the vault that pointed to the old name. This is the only way to rename with automatic backlink tracking — file-system `mv` breaks links.
### Create a note
```bash
Hooks/obsidian-uri.sh create "path/to/note.md" "Optional initial content"
```
### Open a note in Obsidian
```bash
Hooks/obsidian-uri.sh open "path/to/note.md"
```
### Check note existence
```bash
Hooks/obsidian-uri.sh exists "path/to/note.md"
```
**Warning**: This is unreliable — `open` on macOS always returns exit 0 regardless of whether the note exists. Use the REST API `GET /vault/{path}` (200 vs 404) for reliable existence checks, or the Glob tool as fallback.
## Raw URI Format
If the wrapper script is unavailable, construct URIs directly:
```bash
# URL-encode the path
FILE=$(python3 -c "import urllib.parse,sys; print(urllib.parse.quote(sys.argv[1], safe=''))" "path/to/note.md")
VAULT="${OBSIDIAN_VAULT:-Personal}"
# Set properties
open "obsidian://actions-uri/note-properties/set?vault=${VAULT}&file=${FILE}&properties=$(python3 -c "import urllib.parse,sys; print(urllib.parse.quote(sys.argv[1], safe=''))" '{"key":"value"}')&mode=update&silent=true"
# Rename
NEW=$(python3 -c "import urllib.parse,sys; print(urllib.parse.quote(sys.argv[1], safe=''))" "new/path.md")
open "obsidian://actions-uri/note/rename?vault=${VAULT}&file=${FILE}&new-filename=${NEW}&silent=true"
```
## When to Prefer Actions URI Over File I/O
| Scenario | Why Actions URI wins |
|----------|---------------------|
| Setting frontmatter on AMBER files | Atomic update — no read-modify-write cycle, no Linter race |
| Renaming notes | Obsidian updates all backlinks vault-wide |
| Creating notes that need Linter formatting | Obsidian applies Linter rules on creation |
| Rapid successive property updates | Each `props-set` is independent — no stale-file conflicts |
## Detecting Availability
```bash
if [ -f "${FORGE_USER_ROOT}/.obsidian/plugins/actions-uri/main.js" ]; then
echo "Actions URI available"
else
echo "Actions URI unavailable — falling back to safe-write"
fi
```
## Fallback
| Actions URI operation | File-system fallback |
|----------------------|---------------------|
| `props-set` | `safe-write edit` (read → modify YAML → write) |
| `props-remove` | `safe-write edit` |
| `rename` | `command mv` + manual backlink updates (lossy) |
| `create` | Write tool or `safe-write write` |
| `open` | No equivalent |
## Constraints
- Fire-and-forget — no return value, no error feedback to the shell
- Requires Obsidian desktop app to be running
- `exists` command is unreliable (always exit 0) — use REST API instead
- `mode=update` merges properties — use `mode=overwrite` only when intentionally replacing all properties
- URL encoding is required for all path and property arguments
- Does not work in headless/CI environmentsFrom N4M3Z/forge-obsidian, EUPL-1.2.
More from N4M3Z/forge-obsidian
- 0.503score
ObsidianBase
N4M3Z
Resolve Obsidian Base files (.base) to see what the user sees in Obsidian.
SkillCFreshness: C★ 2Claude Code +9 - 0.503score
ObsidianTemplates
N4M3Z
Obsidian template management — dual-tree creation, editing, rendering, frontmatter schemas, dynamic query blocks, Templater config updates.
SkillCFreshness: C★ 2Claude Code +9 - 0.503score
ValidateVault
N4M3Z
Validate vault files against .mdschema files — structural checks on frontmatter, headings, and required sections.
SkillCFreshness: C★ 2Claude Code +9 - 0.503score
WikiLink
N4M3Z
Add [[wikilinks]] to a markdown document by matching terms against existing vault notes — body links and frontmatter keywords/related enrichment.
SkillCFreshness: C★ 2Claude Code +9 - 0.497score
ObsidianConventions
N4M3Z
Vault conventions for wikilinks, frontmatter and tags.
SkillCFreshness: C★ 2Claude Code +9 - 0.439score
Promote
N4M3Z
Push a vault skill to its target module for sharing via GitHub.
SkillDFreshness: D★ 2Claude Code +9 - 0.439score
ProjectConventions
N4M3Z
Obsidian project note conventions — base files, embeds, Dataview, frontmatter fields, folder notes.
SkillDFreshness: D★ 2Claude Code +9 - 0.439score
ObsidianCLI
N4M3Z
Official Obsidian CLI (1.12+) — list files, search content, manage properties, query bases, navigate links, create/read/rename/delete notes.
SkillDFreshness: D★ 2Claude Code +9 - 0.439score
ObsidianREST
N4M3Z
[DEPRECATED] Use /ObsidianCLI instead.
SkillDFreshness: D★ 2Claude Code +9 - 0.439score
Draft
N4M3Z
Pull a module skill into the vault for editing in Obsidian.
SkillDFreshness: D★ 2Claude Code +9 - 0.439score
ProjectManagement
N4M3Z
Project lifecycle management — create, update, close, backlog rules, safe file operations.
SkillDFreshness: D★ 2Claude Code +9 - 0.433score
VaultOperations
N4M3Z
Vault file operations — TLP access control, wikilinks, tags vs keywords, patterns, and preferences.
SkillDFreshness: D★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 1
- Last commit (this folder)
- Feb 26, 2026 (8 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- EUPL-1.2
- Repository
- github.com/N4M3Z/forge-obsidian
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from N4M3Z
- 0.520score
LocalModel
N4M3Z
Run prompts against a local LLM backend (LM Studio, Ollama, or MLX) with privacy-preserving output guardrails — drop reasoning_content, enforce structured…
SkillCFreshness: C★ 4Claude Code +9 - 0.520score
ForgeSkill
N4M3Z
Create, validate, evaluate, and iterate skills for forge modules.
SkillCFreshness: C★ 4Claude Code +9 - 0.515score
HtmlPlayground
N4M3Z
Generate single-file HTML demos comparing techniques side-by-side.
SkillCFreshness: C★ 4Claude Code +9 - 0.515score
BuildAgent
N4M3Z
Create, validate, or audit agent definitions.
SkillCFreshness: C★ 4Claude Code +9 - 0.515score
BuildHook
N4M3Z
Create and validate module hooks.
SkillCFreshness: C★ 4Claude Code +9 - 0.515score
Brainstorming
N4M3Z
Collaborative ideation before implementation — explore context, clarify intent, propose approaches.
SkillCFreshness: C★ 4Claude Code +9
Cite this page
ObsidianActions skill. Agent Mart. https://agentmart.dev/skills/n4m3z-obsidianactions (last updated 2026-10-24)