Obsidian cli plugins
Skill DXShelley/obsidian-cli-plugins-skill/skills/obsidian-cli-plugins
Obsidian vault automation for configured vaults such as `obsidian-2026`: vault status/doctor, host Git sync/status with Obsidian Git plugin fallback only when host `git` is not found, Tasks todos and scheduled reminder delivery, journal records, file or attachment records, project files under `01_project/` (`创建项目`, `项目记录`, `记到某项目`, `补充功能需求/非功能需求/决策/任务/问题`), QuickAdd, Journals, plugin/native commands, safe vault read/search, and OpenClaw sync. Prefer this skill over `obsidian-vault-maintainer` except for OpenClaw memory-wiki render mode or `openclaw wiki obsidian ...`. Do not use for unrelated database records, media recording, generic Markdown/Git, or note-taking outside an Obsidian vault.From its SKILL.md
npx -y skills add DXShelley/obsidian-cli-plugins-skill --skill obsidian-cli-pluginsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
9.1 KB, ~1.8k tokens by cl100k_base, as published. Nobody here has run it
Obsidian CLI Plugins
Human readers can use SKILL.zh-CN.md and matching *.zh-CN.md references. Agent runtimes must load this English SKILL.md and the English references only. Update each English/Chinese document pair in the same change; the bilingual documentation test enforces the required counterparts.
Operating Model
Use the bundled Python scripts as the stable interface. All executable code and launchers must live under scripts/; do not add root-level compatibility scripts. When a workflow needs repeatable parsing, Git coordination, attachment handling, or note edits, extend scripts/obsidian_cli_plugins/ instead of writing ad hoc shell snippets.
Run doctor first on a new host, container, SSH session, OpenClaw runtime, or unfamiliar Agent runtime. Return and consume JSON for cross-agent handoff, and stop on ok=false, reason, nonzero return codes, unmerged, or merge_head.
Plugin Relationship
This skill is the required component for Obsidian functionality. It owns vault discovery, Git preflight, record creation, attachment copying, staged-attachment consumption, and sync.
The obsidian-media-claim OpenClaw plugin is optional. It does not replace this skill and cannot create Obsidian records by itself. Load references/openclaw.md only for OpenClaw sync, staged media, phone-channel media, or media-only-then-later-text workflows.
Scope Boundaries
After this skill is selected, confirm the request is operating on a real Obsidian vault, especially a configured vault such as obsidian-2026.
Use this skill for vault status, Git sync/status inside a vault, journal records, Tasks todos, project files under 01_project/, plugin/native commands, safe vault reads/searches, and OpenClaw skill sync.
Do not use this skill for generic project management, generic Markdown editing, unrelated Git operations, database/business records, or screen/audio/video recording unless the result is explicitly going into an Obsidian vault. Use obsidian-vault-maintainer only for OpenClaw memory-wiki compatibility, especially requests that explicitly mention memory-wiki render mode or openclaw wiki obsidian ....
Quick Start
Run doctor first on unfamiliar runtimes. For common requests, load references/fast-paths.md and use its route table instead of loading larger references.
python3 <skill-dir>/scripts/obsidian_workflows.py doctor
Configure per host or agent with environment variables instead of editing scripts:
export OBSIDIAN_VAULT=<vault-name>
export OBSIDIAN_VAULT_PATH=<absolute-vault-path>
export OBSIDIAN_BIN=obsidian
Use --vault current or --vault auto to target the single currently open vault from Obsidian config. Use --vault-path for one-off calls when environment variables are unavailable.
Reference Routing
Treat SKILL.md as the router. Load only the smallest reference needed for the user's requested function.
references/fast-paths.md: first stop for common requests and high-frequency commands.references/runtime-sync.md: runtime config, Git sync, plugin command IDs, security gates, portability, and cross-agent handoff.references/reminders.md: Tasks Datetime reminder prerequisites, plugin and Agent configuration, scheduling, testing, and diagnosis.references/vault-safety.md: safe read/search/summarization of arbitrary vault content or files outside20_plan/.references/task-query.md:今日新增待办, full today todo reports, and weekly todo reports.references/task-add.md: adding tasks, date/tag inference, journal creation, and placement rules.references/record-workflows.md: inline records, file-mode records, local attachments, and record success criteria.references/record-body.md: file-mode record body sections, formatter behavior, and unified LLM analysis fields.references/project-records.md: project files under01_project/,template_structure,target_id, semantic project JSON, and Linter behavior.references/openclaw.md: OpenClaw install/sync, staged media, phone-client media input, and media-only messages followed by later text records.references/official-cli.md: native Obsidian CLI command lookup beyond installed community plugin command IDs.references/extensions.md: adding workflow support for newly installed Obsidian plugins.references/field-guide.md: onboarding a new Agent, reviewing vault layout, write targets, template dependencies, or updating the skill from real-session lessons.references/tasks.mdandreferences/workflows.md: compatibility indexes only; prefer the specific files above.
Execution Rules
- On multi-vault hosts, inspect
doctor.configured_vaultsanddoctor.resolved_vault; use--vault currentonly when the single-open-vault result is clear. - Use
safe-readorsafe-searchbefore returning vault content. Otherwise applyreferences/vault-safety.mdand redact sensitive content. - Use
add-task-syncfor task additions andrecord-syncfor record additions unless the user explicitly asks for local-only writes. - For task additions, generate the required TaskAnalysis JSON in the current Agent reasoning and invoke the write command once with
--analysis-jsonand a stable--request-id. Do not useanalyze-task --prompt-onlyas a normal OpenClaw workflow; it cannot reliably trigger a nested LLM pass. - For
记录 <content>with no explicit period/date, write an inline record to today's daily journal记录section with the original text unchanged. Loadreferences/record-workflows.mdbefore changing record behavior. - Use file-mode records only for separate cards/notes, analysis, long-term capture, knowledge processing, or any attachment/media workflow. Load
references/record-body.md; for staged or cross-agent media, also loadreferences/openclaw.md. - For media files uploaded in earlier channel messages, load
references/openclaw.mdbefore consuming staged attachments. Do not useattachment-list --batch-key default, stale staged ids from model memory, or direct cache directory reads. - For file-mode records, generate semantic JSON in the current Agent reasoning and pass it directly as
--analysis-json; do not useanalyze-record --prompt-onlyas a nested-LLM workflow.analyze-recordis debug/schema inspection only. - For project notes under
01_project/, loadreferences/project-records.md, inspectproject-template-structurewhen routing is needed, then generate the requiredtarget_idJSON in the current Agent reasoning before writing. Do not useanalyze-project-record --prompt-onlyas a nested-LLM workflow. - If a supplied attachment has no readable local path, stop with
record-attachment-required,attachment-path-unavailable, orunsupported-channel-attachment-recordinstead of writing a partial record. - Before
pull,push,commit-sync, or note edits, rungit-status; stop on conflict state. Preferadd-task-sync,record-sync, orgit_preflight_cleanso hostgitclean/pull/push/commit sequencing is enforced. Fall back to Obsidian Git plugin commands only when the hostgitexecutable is not found, not when host Git returns a conflict, auth, pull, push, or commit error. - Treat
Executed: <command-id>as dispatch success only; verify the actual vault/file/plugin effect afterward. - When a configuration value, Vault target, delivery recipient, template choice, write location, or other material fact is uncertain, stop and ask the user to decide. Do not guess, infer a preference, or make an irreversible choice on the user's behalf.
- Ask before destructive operations such as discard, delete, reset, uninstall, vault-wide cleanup, or permanent deletion.
- For "今日新增待办", "今天新增任务", or equivalents, prefer
tasks show --period day --date today; do not run broad vault searches unless the user asks for them. - For Tasks Datetime notifications, load
references/reminders.md. This feature requires Tasks Datetime to publish a plan from tasks with complete non-midnight date-times; date-only tasks cannot trigger an Agent reminder. - Never create backup files or directories inside this skill. Use
~/.codex/skill-backups/obsidian-cli-plugins/orOBSIDIAN_SKILL_BACKUP_DIRfor external archives.
For OpenClaw, sync into the current managed skills directory, typically ~/.openclaw/skills/obsidian-cli-plugins, with:
python3 ~/.codex/skills/obsidian-cli-plugins/scripts/sync_openclaw.py
What ships with it: 77 files
501.5 KB alongside SKILL.md, 45 of them executable
agents/
- openai.yaml258 B
references/
- extensions.md3.3 KB
- extensions.zh-CN.md994 B
- fast-paths.md5.4 KB
- fast-paths.zh-CN.md1.6 KB
- field-guide.md19.8 KB
- field-guide.zh-CN.md1.9 KB
- official-cli.md5.3 KB
- official-cli.zh-CN.md615 B
- openclaw.md22.8 KB
- openclaw.zh-CN.md1.4 KB
- project-records.md2.8 KB
- project-records.zh-CN.md696 B
- record-body.md4.0 KB
- record-body.zh-CN.md747 B
- record-workflows.md7.4 KB
- record-workflows.zh-CN.md867 B
- reminders.md7.5 KB
- reminders.zh-CN.md6.2 KB
- runtime-sync.md7.3 KB
- runtime-sync.zh-CN.md1.3 KB
- task-add.md9.0 KB
- task-add.zh-CN.md960 B
- task-query.md3.2 KB
- task-query.zh-CN.md678 B
- tasks.md854 B
- tasks.zh-CN.md506 B
- vault-safety.md11.6 KB
- vault-safety.zh-CN.md827 B
- workflows.md1.0 KB
- workflows.zh-CN.md380 B
scripts/
- obsidian_cli_plugins/attachments.pyruns10.2 KB
- obsidian_cli_plugins/cli.pyruns59.5 KB
- obsidian_cli_plugins/constants.pyruns8.2 KB
- obsidian_cli_plugins/git_ops.pyruns12.1 KB
- obsidian_cli_plugins/__init__.pyruns55 B
- obsidian_cli_plugins/journals.pyruns7.5 KB
- obsidian_cli_plugins/obsidian.pyruns8.7 KB
- obsidian_cli_plugins/official_cli.pyruns2.1 KB
- obsidian_cli_plugins/project_records.pyruns27.4 KB
37 more files not listed here. See all 77 in the repository.