Communitygithub.com

gmickel/obsidian-skill

Compétence d'agent pour l'interface en ligne de commande (CLI) d'Obsidian (1.12+). Lire, créer, rechercher et organiser des notes dans les coffres Obsidian.

Qu'est-ce que obsidian-skill ?

Cette compétence permet aux agents d'IA (comme Claude Code, Cursor, Codex) d'interagir avec l'application de prise de notes Obsidian via son interface en ligne de commande (CLI). Elle permet de lire, créer, rechercher, et organiser des notes dans les coffres Obsidian, en exploitant les fonctionnalités avancées comme les propriétés, les backlinks, les notes quotidiennes, les tâches, l'espace de travail et les signets. La compétence inclut des mécanismes robustes pour détecter automatiquement le binaire CLI approprié sur différentes plateformes (macOS, Linux, Windows PowerShell) et gère les cas où le binaire n'est pas trouvé en guidant l'utilisateur pour l'activer dans Obsidian. Elle met l'accent sur la sécurité en exigeant le consentement explicite de l'utilisateur avant toute action destructive ou de configuration majeure (suppression, installation de plugins, modifications de l'application), et interdit de redémarrer l'application ou de désactiver le plugin hébergeant la session en cours. Des références détaillées sont fournies pour des opérations spécifiques comme les métadonnées de recherche, les notes quotidiennes et la gestion du coffre.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add gmickel/obsidian-skill

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

CLI Obsidian

Utilisez la CLI pour les comportements qui dépendent de l'application Obsidian en cours d'exécution, de ses index, paramètres, registre de commandes ou environnement de développement. Utilisez les outils normaux du système de fichiers pour les opérations de fichiers ordinaires.

Résoudre et sonder la CLI

Ne présumez pas d'un seul nom d'exécutable. L'enregistrement et le packaging d'Obsidian diffèrent selon la plateforme et la version, et des binaires tiers non liés peuvent utiliser le même nom. Sélectionnez un candidat uniquement lorsque sa sonde version réussit.

Sur 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 "CLI Obsidian indisponible" >&2
  exit 1
}
"$OBSIDIAN_CLI" version

Sur 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 "CLI Obsidian indisponible" }
& $OBSIDIAN_CLI version

Si la sonde échoue, demandez à l'utilisateur d'ouvrir une version compatible d'Obsidian, d'activer Paramètres > Général > Interface en ligne de commande, de finaliser son enregistrement, puis de redémarrer le terminal. N'installez pas Obsidian, ne modifiez pas le PATH et n'enregistrez pas la CLI sans l'intention explicite de l'utilisateur.

Utilisez l'exécutable résolu à la place de obsidian dans tous les exemples de référence :

"$OBSIDIAN_CLI" vaults
"$OBSIDIAN_CLI" help search

Cibler le coffre avec précision

Utilisez vault="<nom-ou-id>" dès que la cible est connue. N'intégrez jamais un nom de coffre personnel ou un chemin machine dans cette compétence.

"$OBSIDIAN_CLI" vault="<nom-coffre>" search query="échéance projet" format=json
"$OBSIDIAN_CLI" vault="<nom-coffre>" backlinks path="Projets/Plan.md" format=json

Utilisez path= pour un chemin exact relatif au coffre. Utilisez file= uniquement lorsque la résolution de nom de style wikilink d'Obsidian est souhaitée. Entourez de guillemets les valeurs contenant des espaces ou des caractères spéciaux du shell. Inspectez l'aide en direct avant de vous fier à une syntaxe non affichée par la version installée :

"$OBSIDIAN_CLI" help <commande>

Opérations principales

# Lecture et écriture
"$OBSIDIAN_CLI" vault="<nom-coffre>" read path="Projets/Roadmap.md"
"$OBSIDIAN_CLI" vault="<nom-coffre>" append path="Journal.md" content="- Nouvelle entrée"

# Recherche et métadonnées
"$OBSIDIAN_CLI" vault="<nom-coffre>" search query="API" limit=10 format=json
"$OBSIDIAN_CLI" vault="<nom-coffre>" properties path="Projets/Roadmap.md"

# Note quotidienne configurée et tâches indexées
"$OBSIDIAN_CLI" vault="<nom-coffre>" daily:append content="- 14h: Appel" silent
"$OBSIDIAN_CLI" vault="<nom-coffre>" tasks all todo

# Espace de travail en direct
"$OBSIDIAN_CLI" vault="<nom-coffre>" tabs ids
"$OBSIDIAN_CLI" vault="<nom-coffre>" workspace ids

Préserver la session hôte

Ne rechargez et ne redémarrez jamais l'application/fenêtre Obsidian depuis une session d'agent. Ne rechargez, ne désactivez et ne désinstallez jamais le plugin hébergeant la session d'agent en cours. Évitez les actions de commande, JavaScript ou d'outils de développement équivalentes. Celles-ci peuvent terminer la session et perdre le travail en cours.

Exigez l'intention explicite de l'utilisateur avant toute suppression permanente, restauration depuis l'historique local ou Sync, publication ou dépublication, installation ou suppression de plugin/thème, modification du mode restreint, ou appels JavaScript/développeur mutants. Préférez les opérations réversibles. Les références de commandes décrivent les capacités ; elles n'autorisent pas les mutations.

Guides de référence

Lisez uniquement le guide pertinent pour la tâche. Traitez obsidian dans leurs exemples comme l'exécutable résolu $OBSIDIAN_CLI et ajoutez vault="<nom-ou-id>" lorsque la cible est connue.

TâcheRéférence
Opérations sur les notes, plan, nombre de mots, notes uniquesreferences/note-operations.md
Recherche, tags, propriétés, backlinks, orphelins, liens non résolusreferences/search-metadata.md
Notes quotidiennes, tâches, modèlesreferences/daily-tasks-templates.md
Coffres, espace de travail, signets, plugins, thèmes, Sync, Publish, Bases, outils devreferences/vault-management.md

Skills associés