Obsidian cli plugins
Skill DXShelley/obsidian-cli-plugins-skill/skills/obsidian-cli-plugins
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.
- 0 stars0 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.
What its author says it does
Copied from the file, not written here
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.
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
Gives 0 of the 12 instructions most note taking skills give in ~1.8k tokens
Counted across 686 of the 876 authors here whose files we hold, read 2026-08-06
- include a visual element on every slidein 44 of 686, across 13 files
- use wikilinks for internal vault linksin 35 of 686, across 11 files
- commit to a single visual motif across every slidein 34 of 686, across 9 files
- read pptxgenjs guide before creating presentations from scratchin 30 of 686, across 6 files
- keep 0.5 inch minimum marginsin 30 of 686, across 7 files
- use subagents to visually inspect rendered slidesin 30 of 686, across 6 files
- re-verify affected slides after every fixin 27 of 686, across 5 files
- run content QA checks before declaring successin 26 of 686, across 3 files
- Use Markdown links for external URLs onlyin 26 of 686, across 10 files
- pick a bold topic specific color palettein 24 of 686, across 2 files
- read editing guide before editing existing presentationsin 23 of 686, across 1 file
- use one dominant color across all slidesin 23 of 686, across 1 file
Said here and by no other author read
- run the doctor command first
- use environment variables for configuration
- read vault content using safe-read or safe-search
- generate required analysis JSON in current reasoning
- run git-status before pull push or commit
- stop on errors conflicts or unmerged states
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.