CtrlK
BlogDocsLog inGet started
Tessl Logo

pantheon-ai/obsidian-toolkit

Skills for working with Obsidian vaults and related formats: Obsidian Flavored Markdown, JSON Canvas files, the Obsidian CLI, and Defuddle for clean web content extraction.

96

Quality

96%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

instructions.jsonobsidian-cli/evals/

{
  "instructions": [
    {
      "instruction": "Use file= instead of path= when targeting a note by name; file= resolves like a wikilink (name only, no path or extension needed), while path= requires the exact vault-root path including extension",
      "original_snippets": "file=<name> — resolves like a wikilink (name only, no path or extension needed); path=<path> — exact path from vault root, e.g. folder/note.md",
      "relevant_when": "Reading, updating, or appending to an Obsidian note by its name",
      "why_given": "new knowledge"
    },
    {
      "instruction": "Always quote parameter values that contain spaces; unquoted values with spaces are parsed as separate tokens and the command will fail or target the wrong note",
      "original_snippets": "Quote values with spaces: obsidian create name=\"My Note\" content=\"Hello world\"",
      "relevant_when": "Passing any note name, content, or path parameter that may contain spaces",
      "why_given": "new knowledge"
    },
    {
      "instruction": "Use the silent flag when creating or updating files from an agent workflow to prevent Obsidian from opening the file in the editor and disrupting the user's current view",
      "original_snippets": "Use silent to prevent files from opening",
      "relevant_when": "Creating, updating, or appending to a note when the user has not explicitly asked to view the result",
      "why_given": "new knowledge"
    },
    {
      "instruction": "Specify vault=<name> as the first parameter when the user has multiple vaults open and vault identity matters; the default target is the most recently focused vault which can be unpredictable",
      "original_snippets": "Commands target the most recently focused vault by default. Use vault=<name> as the first parameter to target a specific vault",
      "relevant_when": "The user has multiple Obsidian vaults open or mentions a specific vault by name",
      "why_given": "new knowledge"
    },
    {
      "instruction": "Run obsidian help to discover all currently available commands; the output is always up to date and more reliable than guessing command names from memory",
      "original_snippets": "Run obsidian help to see all available commands. This is always up to date.",
      "relevant_when": "Unsure whether a command exists or what its exact syntax is",
      "why_given": "preference"
    },
    {
      "instruction": "Use obsidian eval only during plugin development and debugging, never in production plugin code; eval runs arbitrary JavaScript in the app context and is a development tool only",
      "original_snippets": "Run JavaScript in the app context: obsidian eval code=\"app.vault.getFiles().length\"",
      "relevant_when": "Developing or debugging an Obsidian plugin and needing to inspect app state",
      "why_given": "new knowledge"
    },
    {
      "instruction": "Follow the develop/test cycle when iterating on plugin code: reload the plugin with plugin:reload, check for errors with dev:errors, then verify visually with dev:screenshot or dev:dom",
      "original_snippets": "Reload the plugin to pick up changes: obsidian plugin:reload id=my-plugin; Check for errors: obsidian dev:errors; Verify visually with a screenshot or DOM inspection",
      "relevant_when": "Making changes to an Obsidian plugin and needing to verify them",
      "why_given": "new knowledge"
    },
    {
      "instruction": "Use \\n for newline and \\t for tab when providing multiline content in a single CLI parameter value",
      "original_snippets": "For multiline content use \\n for newline and \\t for tab",
      "relevant_when": "Creating or appending notes with structured content such as headings, lists, or tables",
      "why_given": "new knowledge"
    }
  ]
}

tile.json