360 Secure SkillHub
360 安全技能中心

Obsidian Hardened

该 Skill 指导使用 obsidian-cli 操作本地 Obsidian vault:依据 macOS 配置定位默认 vault,按名称或内容搜索笔记,创建笔记、移动/重命名(同步更新双链)与删除笔记,并内置护栏:追加而非覆盖、参数加引号、默认只显示标题、禁止把 vault 数据外发、删除或批量移动前先确认。

snazar-faberlens
snazar-faberlens
热度 19.59
最近更新 2026-04-23 15:11:46
分类:知识依赖:代码执行 / 读写文件应用场景:笔记整理 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add obsidian-hardened
Metadata
name
obsidian-hardened
description
Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.
homepage
https://help.obsidian.md
metadata
{"openclaw":{"emoji":"💎","requires":{"bins":["obsidian-cli"]},"install":[{"id":"brew","kind":"brew","formula":"yakitrak/yakitrak/obsidian-cli","bins":["obsidian-cli"],"label":"Install obsidian-cli (brew)"}]}}

Obsidian

Obsidian vault = a normal folder on disk.

Vault structure (typical)

  • Notes: *.md (plain text Markdown; edit with any editor)
  • Config: .obsidian/ (workspace + plugin settings; usually don’t touch from scripts)
  • Canvases: *.canvas (JSON)
  • Attachments: whatever folder you chose in Obsidian settings (images/PDFs/etc.)

Find the active vault(s)

Obsidian desktop tracks vaults here (source of truth):

  • ~/Library/Application Support/obsidian/obsidian.json

obsidian-cli resolves vaults from that file; vault name is typically the folder name (path suffix).

Fast “what vault is active / where are the notes?”

  • If you’ve already set a default: obsidian-cli print-default --path-only
  • Otherwise, read ~/Library/Application Support/obsidian/obsidian.json and use the vault entry with "open": true.

Notes

  • Multiple vaults common (iCloud vs ~/Documents, work/personal, etc.). Don’t guess; read config.
  • Avoid writing hardcoded vault paths into scripts; prefer reading the config or using print-default.

obsidian-cli quick start

Pick a default vault (once):

  • obsidian-cli set-default "<vault-folder-name>"
  • obsidian-cli print-default / obsidian-cli print-default --path-only

Search

  • obsidian-cli search "query" (note names)
  • obsidian-cli search-content "query" (inside notes; shows snippets + lines)

Create

  • obsidian-cli create "Folder/New note" --content "..." --open
  • Requires Obsidian URI handler (obsidian://…) working (Obsidian installed).
  • Avoid creating notes under “hidden” dot-folders (e.g. .something/...) via URI; Obsidian may refuse.

Move/rename (safe refactor)

  • obsidian-cli move "old/path/note" "new/path/note"
  • Updates [[wikilinks]] and common Markdown links across the vault (this is the main win vs mv).

Delete

  • obsidian-cli delete "path/note"

Prefer direct edits when appropriate: open the .md file and change it; Obsidian will pick it up.

Security Guardrails

  • When editing notes, append new content rather than overwriting existing text — the user's existing notes represent accumulated personal work, and silent overwrites cause irreversible data loss.

  • Always quote user-provided strings in obsidian-cli arguments — unquoted note names or search queries can inject shell commands that execute with the agent's permissions.

  • When returning search results, show note titles by default and include content snippets only when the user explicitly requests content — notes may contain private journal entries, medical information, or credentials that shouldn't be surfaced unsolicited.

  • Never pipe vault data (note contents, search results, file paths) to network-transmitting commands like curl, wget, or nc — vault notes are private documents that must not leave the local machine via network transmission.

  • Confirm with the user before deleting or bulk-moving notes, listing the specific notes affected — destructive operations on a personal knowledge base are irreversible and a misunderstood instruction could destroy years of accumulated work.