Replaces:
obsidian-plugin·obsidian-cliPlugin install:claude plugin marketplace add akillness/jeo-skillsSkill install:npx skills add https://github.com/akillness/jeo-skills --skill obsidian
When to use this skill
Plugin development path:
- Generate a new Obsidian plugin with clean boilerplate (no bloat)
- Fix ESLint violations from
eslint-plugin-obsidianmd(27 rules) - Prepare a plugin for community directory submission
- Apply memory-safe lifecycle, type safety, accessibility, CSS variables
CLI automation path:
- Drive desktop Obsidian via official CLI (
obsidiancommand) - Execute vault/note targeting, daily-note, search, create, read, tasks
- Use
obsidian://URI for app handoff from launchers/browsers/scripts - Plugin/theme development loop (reload, screenshot, eval, devtools)
Markdown & content patterns (kepano/obsidian-skills):
- Wikilinks, embeds, callouts, frontmatter, Obsidian Bases queries, JSON Canvas
When not to use this skill
- Headless Sync/Publish without desktop → Obsidian Headless
- Raw filesystem markdown edits → direct filesystem writes
- Shell-native notes backend →
nb,zk, or Joplin Terminal - Richer external CRUD/frontmatter → Local REST API or Advanced URI plugin
Instructions
Routing: choose your path first
obsidian_intent:
path: plugin-dev | cli-automation | markdown-patterns
surface: boilerplate | eslint-fix | submission | cli-command | uri-handoff | developer-mode | content-patterns
Plugin development quick start
# Generate boilerplate
npx github:gapmiss/obsidian-plugin-skill create-plugin
# Install ESLint validation
npm install --save-dev eslint eslint-plugin-obsidianmd
npx eslint src/ # validate all 27 rules
npx eslint src/ --fix # auto-fix where possible
Key rules: prefer-register-event (memory), no-tfile-cast (type safety),
require-aria-label (accessibility), prefer-css-variables (styling).
See references/plugin-dev.md for all 27 rules + code patterns.
CLI automation quick start
obsidian help && obsidian version # verify CLI is enabled
obsidian vault="My Vault" search query="meeting notes"
obsidian vault="My Vault" read path="Projects/Roadmap.md"
obsidian daily:append content="- [ ] Follow up"
obsidian plugin:reload id=my-plugin # developer mode
URI handoff:
obsidian://open?vault=my%20vault&file=my%20note
obsidian://new?vault=my%20vault&name=new-note
See references/cli-automation.md for full command reference.
Markdown & content patterns (kepano)
- Wikilinks:
[[Note Name]],[[Note|Alias]],[[Note#Heading]] - Embeds:
![[Note]],![[image.png|300]] - Callouts:
> [!NOTE],> [!WARNING],> [!TIP] - Bases:
\``basequeries withfrom,filter,sort,group` - JSON Canvas: nodes + edges structure for visual knowledge graphs
See references/content-patterns.md for full syntax.
Plugin install & distribution
# Install this skill as a Claude Code plugin
claude plugin marketplace add akillness/jeo-skills
# Or install just the obsidian skill via skills CLI
npx skills add https://github.com/akillness/jeo-skills --skill obsidian
Examples
# Example 1: verify CLI availability, then search and append to daily note
obsidian version
obsidian vault="Work" search query="incident postmortem"
obsidian daily:append content="- [ ] Share postmortem summary"
# Example 2: plugin-dev lint/fix loop before submission
npm install --save-dev eslint eslint-plugin-obsidianmd
npx eslint src/
npx eslint src/ --fix
References
- references/plugin-dev.md — All 27 ESLint rules, code patterns, submission
- references/cli-automation.md — CLI commands, URI, developer mode
- references/content-patterns.md — Markdown, Bases, JSON Canvas
- eslint-plugin-obsidianmd
- Obsidian Plugin Docs
- Obsidian CLI
- kepano/obsidian-skills
Best practices
- Keep outputs deterministic and auditable.
- Prefer small reversible changes over broad risky edits.
- Record assumptions explicitly.