Communitygithub.com

gmickel/obsidian-skill

Agent-Fähigkeit für die Obsidian-CLI (1.12+). Notizen in Obsidian-Vaults lesen, erstellen, durchsuchen und organisieren.

Was ist obsidian-skill?

Diese Fähigkeit (Skill) ermöglicht es einem KI-Agenten (wie Claude Code, Cursor oder Codex), mit Obsidian-Vaults über die offizielle Command-Line-Schnittstelle (CLI) von Obsidian zu interagieren. Voraussetzung ist Obsidian 1.12 oder neuer mit aktivierter CLI in den Einstellungen. Der Skill führt eine robuste Erkennung der ausführbaren CLI-Datei durch (unter macOS/Linux und PowerShell), um unabhängig von Plattformunterschieden zu sein. Basierend auf der SKILL.md-Dokumentation führt der Agent grundlegende Operationen aus: Lesen, Anhängen, Suchen mit strukturierten Abfragen, Abrufen von Metadaten (Eigenschaften, Backlinks) sowie das Arbeiten mit täglichen Notizen und Aufgaben. Wichtig ist die präzise Angabe des Ziel-Vaults, um persönliche Pfade zu vermeiden. Der Skill verhindert schädliche Aktionen wie das Neuladen von Obsidian oder dauerhafte Löschungen ohne explizite Benutzerfreigabe. Für weiterführende Aufgaben verweist er auf separate Referenzhandbücher, die spezifische CLI-Befehle mit Platzhaltern für Vault-Namen zeigen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add gmickel/obsidian-skill

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Obsidian CLI

Verwenden Sie die CLI für Verhalten, das von der laufenden Obsidian-Anwendung, Indizes, Einstellungen, Befehlsregistrierung oder Entwicklerlaufzeit abhängt. Verwenden Sie normale Dateisystemwerkzeuge für gewöhnliche Dateioperationen.

CLI erkennen und prüfen

Gehen Sie nicht von einem einzigen ausführbaren Namen aus. Die Registrierung und Paketierung von Obsidian unterscheiden sich je nach Plattform und Version, und nicht verwandte Drittanbieter-Binärdateien können denselben Namen tragen. Wählen Sie einen Kandidaten nur dann aus, wenn dessen version-Prüfung erfolgreich ist.

Auf macOS/Linux:

resolve_obsidian_cli() {
  local candidate
  for candidate in \
    "${COPILOT_OBSIDIAN_CLI:-}" \
    /Applications/Obsidian.app/Contents/MacOS/obsidian-cli \
    "$(command -v obsidian 2>/dev/null || true)" \
    "$(command -v obsidian-cli 2>/dev/null || true)"
  do
    [[ -n "$candidate" && -x "$candidate" ]] || continue
    if "$candidate" version >/dev/null 2>&1; then
      printf '%s\n' "$candidate"
      return 0
    fi
  done
  return 1
}

OBSIDIAN_CLI=$(resolve_obsidian_cli) || {
  echo "Obsidian CLI nicht verfügbar" >&2
  exit 1
}
"$OBSIDIAN_CLI" version

Auf PowerShell:

$candidates = @(
  $env:COPILOT_OBSIDIAN_CLI,
  (Get-Command obsidian -ErrorAction SilentlyContinue).Source,
  (Get-Command obsidian-cli -ErrorAction SilentlyContinue).Source
) | Where-Object { $_ }

$OBSIDIAN_CLI = $candidates | Where-Object {
  try { & $_ version *> $null; $LASTEXITCODE -eq 0 } catch { $false }
} | Select-Object -First 1

if (-not $OBSIDIAN_CLI) { throw "Obsidian CLI nicht verfügbar" }
& $OBSIDIAN_CLI version

Schlägt die Prüfung fehl, bitten Sie den Benutzer, eine kompatible Obsidian-Version zu öffnen, Einstellungen > Allgemein > Befehlszeilenschnittstelle zu aktivieren, die Registrierung abzuschließen und das Terminal neu zu starten. Installieren Sie Obsidian nicht, ändern Sie nicht den PATH und registrieren Sie die CLI nicht ohne explizite Benutzerabsicht.

Verwenden Sie die gefundene ausführbare Datei anstelle von obsidian in allen Referenzbeispielen:

"$OBSIDIAN_CLI" vaults
"$OBSIDIAN_CLI" help search

Vault präzise angeben

Verwenden Sie vault="<Name-oder-ID>", wenn das Ziel bekannt ist. Betten Sie niemals einen persönlichen Vault-Namen oder Maschinenpfad in diese Fähigkeit ein.

"$OBSIDIAN_CLI" vault="<Vault-Name>" search query="Projekttermin" format=json
"$OBSIDIAN_CLI" vault="<Vault-Name>" backlinks path="Projekte/Plan.md" format=json

Verwenden Sie path= für einen exakten, Vault-relativen Pfad. Verwenden Sie file= nur, wenn die wikilink-ähnliche Namensauflösung von Obsidian gewünscht ist. Setzen Sie Werte mit Leerzeichen oder Shell-Sonderzeichen in Anführungszeichen. Prüfen Sie die Live-Hilfe, bevor Sie sich auf Syntax verlassen, die von der installierten Version nicht angezeigt wird:

"$OBSIDIAN_CLI" help <Befehl>

Kernoperationen

# Lesen und Schreiben
"$OBSIDIAN_CLI" vault="<Vault-Name>" read path="Projekte/Roadmap.md"
"$OBSIDIAN_CLI" vault="<Vault-Name>" append path="Journal.md" content="- Neuer Eintrag"

# Suche und Metadaten
"$OBSIDIAN_CLI" vault="<Vault-Name>" search query="API" limit=10 format=json
"$OBSIDIAN_CLI" vault="<Vault-Name>" properties path="Projekte/Roadmap.md"

# Konfigurierte tägliche Notiz und indizierte Aufgaben
"$OBSIDIAN_CLI" vault="<Vault-Name>" daily:append content="- 14:00 Uhr: Anruf" silent
"$OBSIDIAN_CLI" vault="<Vault-Name>" tasks all todo

# Live-Arbeitsbereich
"$OBSIDIAN_CLI" vault="<Vault-Name>" tabs ids
"$OBSIDIAN_CLI" vault="<Vault-Name>" workspace ids

Die Host-Sitzung bewahren

Laden Sie die Obsidian-App/das Fenster während einer Agentensitzung niemals neu oder starten Sie es neu. Laden Sie niemals das Plugin, das die aktuelle Agentensitzung hostet, neu, deaktivieren oder deinstallieren Sie es. Vermeiden Sie entsprechende Befehle, JavaScript- oder Entwicklerwerkzeug-Aktionen. Diese können die Sitzung beenden und laufende Arbeiten verwerfen.

Verlangen Sie eine explizite Benutzerabsicht vor dauerhaften Löschungen, lokaler Verlaufs- oder Sync-Wiederherstellung, Veröffentlichung oder Rücknahme von Veröffentlichungen, Plugin-/Theme-Installation oder -Entfernung, Änderungen am eingeschränkten Modus oder mutierenden JavaScript-/Entwickleraufrufen. Bevorzugen Sie umkehrbare Operationen. Die Befehlsreferenzen beschreiben Fähigkeiten; sie autorisieren keine Änderungen.

Referenzhandbücher

Lesen Sie nur das für die Aufgabe relevante Handbuch. Behandeln Sie obsidian in denen Beispielen als die gefundene ausführbare Datei $OBSIDIAN_CLI und fügen Sie vault="<Name-oder-ID>" hinzu, wenn das Ziel bekannt ist.

AufgabeReferenz
Notizenoperationen, Gliederung, Wortanzahl, eindeutige Notizenreferences/note-operations.md
Suche, Tags, Eigenschaften, Backlinks, verwaiste Notizen, unaufgelöste Linksreferences/search-metadata.md
Tägliche Notizen, Aufgaben, Vorlagenreferences/daily-tasks-templates.md
Vaults, Arbeitsbereich, Lesezeichen, Plugins, Themes, Sync, Publish, Bases, Entwicklerwerkzeugereferences/vault-management.md

Verwandte Skills