一键导入
obsidian
Read, search, and create Markdown notes inside an Obsidian vault on disk.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Read, search, and create Markdown notes inside an Obsidian vault on disk.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Transcribe speech from audio files (mp3, m4a, wav, ogg, flac, webm) to text using the local `whisper` CLI — no API key. Use whenever a task hinges on the spoken content of an audio attachment.
Read macOS Calendar events via the `icalBuddy` CLI and create events via AppleScript (osascript). Use to check the user's calendar, agenda, upcoming events, or add an event on macOS.
Manage Apple Notes via the `memo` CLI on macOS — create, view, search, edit, export.
Manage Apple Reminders via the `remindctl` CLI on macOS — list, add, complete, delete, manage lists.
Manage Docker containers, images, volumes, and Compose stacks via the `docker` CLI — list, inspect, logs, run, build, stop, remove, compose up/down. Use for local container ops.
Process audio and video with the `ffmpeg` / `ffprobe` CLIs — convert, trim, extract audio, resize, change format, make GIFs, inspect media. Use for any audio/video transformation.
| name | obsidian |
| description | Read, search, and create Markdown notes inside an Obsidian vault on disk. |
| version | 1.2.0 |
| requires_tools | ["os.fs.read","os.fs.glob","os.fs.grep","os.fs.write","os.fs.list","os.shell.run"] |
| dangerous | false |
Operate on the user's Obsidian vault as plain Markdown files. Obsidian itself does not need to be running — the vault is just a directory tree of .md files.
The vault path resolves as $OBSIDIAN_VAULT_PATH env var → fallback
~/Documents/Obsidian Vault. Resolve it once when you first need it
this conversation; do not re-probe printenv on every turn. Operate on the
resolved path directly and map failures:
os.fs.list / read errors with ENOENT / "no such file or directory" → Setup playbook → "Vault path does not exist"..md files → Setup playbook → "Resolved path is not a real vault".Vault paths often contain spaces — pass them through os.fs.* tools verbatim, no quoting needed.
When a check fails, the agent's job is to OFFER concrete help and EXECUTE the fix itself — not to dump setup instructions on the user. Use this dialogue shape:
Reply:
«Я не нашёл Obsidian vault ни в
$OBSIDIAN_VAULT_PATH, ни в~/Documents/Obsidian Vault. Пришлите мне абсолютный путь к вашему vault — я проверю и сохраню его в~/.atomic-agent/.env, чтобы в будущем находить автоматически.»
When the user replies with a path, verify it exists:
[{ "tool": "os.fs.list", "args": { "path": "<user-supplied-path>" } }]
If it lists .md files, persist the choice:
[{ "tool": "os.fs.write", "args": {
"path": "~/.atomic-agent/.env",
"mode": "append",
"content": "\nOBSIDIAN_VAULT_PATH=<user-supplied-path>\n"
} }]
Then reply: «Vault найден и сохранён. Перезапустите агента, чтобы env-переменная подхватилась — после рестарта я продолжу. (Для текущей сессии путь уже использую.)» Continue using the path in-memory for the current session — no need to wait for restart to serve the user's request.
If the path does NOT contain .md files, ask once more before persisting: «По этому пути нет markdown-файлов. Точно vault там, или другой путь?»
Same playbook as above, but skip the "not found" framing — just say: «Папка по умолчанию (~/Documents/Obsidian Vault) существует, но похоже это не Obsidian vault — markdown-файлов нет. Пришлите правильный путь.»
[[wikilinks]] between notes.apple-notes skill instead.memory.notes.store tool.All Markdown files in the vault:
os.fs.glob { patterns: ["**/*.md"], cwd: "<vault>" }
Notes in a specific subfolder:
os.fs.glob { patterns: ["Daily/**/*.md"], cwd: "<vault>" }
os.fs.read { path: "<vault>/Note Name.md" }
For very long notes, use offset / limit to page through.
os.fs.glob { patterns: ["**/*keyword*.md"], cwd: "<vault>" }
os.fs.grep { pattern: "keyword", path: "<vault>", glob: ["*.md"] }
Use outputMode: "files_with_matches" to get just the file list.
os.fs.write { path: "<vault>/New Note.md", content: "# Title\n\nBody here.\n" }
os.fs.write { path: "<vault>/Existing Note.md", content: "\nAppended line.\n", mode: "append" }
[[Note Name]] syntax (no .md extension). Use them when creating notes that should link to other notes — Obsidian will render them as clickable links and surface backlinks automatically.Daily/YYYY-MM-DD.md — confirm the user's pattern before assuming..obsidian/ config files unless the user explicitly asks; they hold the vault's plugin and theme settings.