用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/AtomicBot-ai/Atomic-Chat --skill obsidian命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Manage Apple Notes via the `memo` CLI on macOS — create, view, search, edit, export.
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.
Currency exchange rates and conversion via the Frankfurter API (no key). Use for FX rates, "convert X to Y", or historical/time-series rates.
基于 SOC 职业分类
正在显示 SKILL.md
| name | obsidian |
| description | Read, search, and create Markdown notes inside an Obsidian vault on disk. |
| version | 1.2.1 |
| requires_tools | ["os.fs.read","os.fs.glob","os.fs.grep","os.fs.write","os.fs.list","os.shell.run"] |
| dangerous | false |
| platforms | ["darwin","linux"] |
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:
"I couldn't find an Obsidian vault in either
$OBSIDIAN_VAULT_PATHor~/Documents/Obsidian Vault. Send me the absolute path to your vault — I'll verify it and save it to~/.atomic-agent/.envso I can find it automatically in the future."
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 found and saved. Restart the agent so the env variable is picked up — I'll continue after the restart. (I'm already using the path for the current session.)" 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: "There are no markdown files at this path. Is the vault really there, or is it a different path?"
Same playbook as above, but skip the "not found" framing — just say: "The default folder (~/Documents/Obsidian Vault) exists, but it doesn't look like an Obsidian vault — there are no markdown files. Send me the correct path."
[[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.