diff --git a/.claude/skills/defuddle/SKILL.md b/.claude/skills/defuddle/SKILL.md index b7f678bb..287b1fc5 100644 --- a/.claude/skills/defuddle/SKILL.md +++ b/.claude/skills/defuddle/SKILL.md @@ -1,13 +1,13 @@ --- name: defuddle -description: Extract clean markdown content from web pages using Defuddle CLI, removing clutter and navigation to save tokens. Use instead of WebFetch when the user provides a URL to read or analyze, for online documentation, articles, blog posts, or any standard web page. +description: Extract clean markdown content from web pages using Defuddle CLI, removing clutter and navigation to save tokens. Use instead of WebFetch when the user provides a URL to read or analyze, for online documentation, articles, blog posts, or any standard web page. Do NOT use for URLs ending in .md — those are already markdown, use WebFetch directly. --- # Defuddle Use Defuddle CLI to extract clean readable content from web pages. Prefer over WebFetch for standard web pages — it removes navigation, ads, and clutter, reducing token usage. -If not installed: `npm install -g defuddle-cli` +If not installed: `npm install -g defuddle` ## Usage diff --git a/.claude/skills/obsidian-cli/SKILL.md b/.claude/skills/obsidian-cli/SKILL.md index 0046c45a..89765e60 100644 --- a/.claude/skills/obsidian-cli/SKILL.md +++ b/.claude/skills/obsidian-cli/SKILL.md @@ -7,6 +7,9 @@ description: Interact with Obsidian vaults using the Obsidian CLI to read, creat Use the `obsidian` CLI to interact with a running Obsidian instance. Requires Obsidian to be open. +> [!IMPORTANT] +> **macOS — open Obsidian once before using the CLI.** On macOS the `obsidian` command launches the Electron app if no Obsidian instance is running, producing a visible window flash on the first call. Once Obsidian is open, subsequent CLI calls forward args to the running instance silently — no further flicker. For interactive workflows (slash commands), ensure Obsidian is open at the start of the session. For non-interactive contexts where you can't guarantee Obsidian is open (background hooks, automation, CI), prefer filesystem reads via `Read` / `Grep` / `Glob`. + ## Command reference Run `obsidian help` to see all available commands. This is always up to date. Full docs: https://help.obsidian.md/cli diff --git a/CLAUDE.md b/CLAUDE.md index abcb8fd4..5c6a351c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -76,7 +76,7 @@ Defined in `.claude/commands/`. See [[Skills]] for full documentation. ## Obsidian CLI -When Obsidian is running, prefer CLI over raw filesystem. It provides vault-aware search, backlink discovery, and property management. Fall back to filesystem when Obsidian is not running. +When Obsidian is running, prefer CLI over raw filesystem — it provides vault-aware search, backlink discovery, and property management. **On macOS, open Obsidian before invoking the CLI**: the first `obsidian` call launches the Electron app (visible window flash) if no instance is running; subsequent calls forward args silently. In non-interactive contexts where you can't guarantee Obsidian is open (background hooks, automation), prefer filesystem reads instead. ```bash obsidian read file="Note Name" # Read a note @@ -349,7 +349,7 @@ Five lifecycle hooks in `.claude/settings.json`: - Preserve existing frontmatter when editing notes. - Git sync is handled by the user's preferred method (obsidian-git, manual commits, etc.) -- don't configure git hooks or auto-commit. - When asked to "remember" something, write to the relevant `brain/` topic note with a link to context. Never create memory files in `~/.claude/` -- they are not git-tracked. -- Prefer Obsidian CLI over filesystem when Obsidian is running. +- Prefer Obsidian CLI over filesystem when Obsidian is **already** running. On macOS, the first `obsidian` call launches the Electron app (visible window flash) if no instance is running — open Obsidian once at session start, then subsequent calls forward args silently. In non-interactive contexts where you can't guarantee Obsidian is open (background hooks, automation), prefer filesystem reads. - **Always invoke Obsidian skills via the Skill tool** before doing vault work. Load `obsidian-markdown` when creating/editing `.md` files. Load `obsidian-cli` when running vault commands. Load `obsidian-bases` or `json-canvas` when working with those file types. - Always check for and suggest connections between notes. - Every note must have a `description` field (~150 chars). Claude fills this automatically.