Communitygithub.com

gmickel/obsidian-skill

Skill de agente para la CLI de Obsidian (1.12+). Lee, crea, busca y organiza notas en bóvedas de Obsidian.

¿Qué es obsidian-skill?

Este skill permite a un agente de IA interactuar directamente con la interfaz de línea de comandos (CLI) de Obsidian, siempre que la aplicación esté en ejecución. Es ideal para automatizar operaciones como leer, crear, buscar y organizar notas dentro de una bóveda de Obsidian, aprovechando los índices, la configuración y el registro de comandos de la aplicación. El skill está diseñado para plataformas macOS, Linux y PowerShell, e incluye funciones para resolver y probar el ejecutable de la CLI, evitando conflictos con binarios de terceros. Su funcionamiento se basa en comandos como `read`, `append`, `search`, `properties`, `daily:append`, `tasks` y `workspace`, y recomienda usar referencias a guías específicas para operaciones detalladas. Además, establece reglas de seguridad para preservar la sesión del host y requiere el consentimiento explícito del usuario antes de realizar acciones destructivas o que modifiquen la configuración de Obsidian.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

CLI de Obsidian

Usa la CLI para comportamientos que dependen de la aplicación en ejecución de Obsidian, sus índices, configuración, registro de comandos o tiempo de ejecución del desarrollador. Usa herramientas normales del sistema de archivos para operaciones comunes de archivos.

Resolver y probar la CLI

No asumas un único nombre de ejecutable. El registro y empaquetado de Obsidian varían según la plataforma y la versión, y binarios de terceros no relacionados pueden usar el mismo nombre. Selecciona un candidato solo cuando su prueba de version sea exitosa.

En 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 de Obsidian no disponible" >&2
  exit 1
}
"$OBSIDIAN_CLI" version

En 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 de Obsidian no disponible" }
& $OBSIDIAN_CLI version

Si la prueba falla, pide al usuario que abra una versión compatible de Obsidian, active Configuración > General > Interfaz de línea de comandos, complete su registro y reinicie la terminal. No instales Obsidian, cambies PATH ni registres la CLI sin la intención explícita del usuario.

Usa el ejecutable resuelto en lugar de obsidian en todos los ejemplos de referencia:

"$OBSIDIAN_CLI" vaults
"$OBSIDIAN_CLI" help search

Apuntar con precisión a la bóveda

Usa vault="<nombre-o-id>" siempre que se conozca el destino. Nunca incorpores un nombre personal de bóveda o una ruta de máquina en este skill.

"$OBSIDIAN_CLI" vault="<nombre-boveda>" search query="fecha límite proyecto" format=json
"$OBSIDIAN_CLI" vault="<nombre-boveda>" backlinks path="Proyectos/Plan.md" format=json

Usa path= para una ruta exacta relativa a la bóveda. Usa file= solo cuando se desee la resolución de nombres al estilo de wikilinks de Obsidian. Pon entre comillas los valores que contengan espacios o caracteres especiales del shell. Inspecciona la ayuda en vivo antes de confiar en una sintaxis que no muestre la versión instalada:

"$OBSIDIAN_CLI" help <comando>

Operaciones principales

# Leer y escribir
"$OBSIDIAN_CLI" vault="<nombre-boveda>" read path="Proyectos/Roadmap.md"
"$OBSIDIAN_CLI" vault="<nombre-boveda>" append path="Diario.md" content="- Nueva entrada"

# Búsqueda y metadatos
"$OBSIDIAN_CLI" vault="<nombre-boveda>" search query="API" limit=10 format=json
"$OBSIDIAN_CLI" vault="<nombre-boveda>" properties path="Proyectos/Roadmap.md"

# Nota diaria configurada y tareas indexadas
"$OBSIDIAN_CLI" vault="<nombre-boveda>" daily:append content="- 14:00 Llamada" silent
"$OBSIDIAN_CLI" vault="<nombre-boveda>" tasks all todo

# Espacio de trabajo en vivo
"$OBSIDIAN_CLI" vault="<nombre-boveda>" tabs ids
"$OBSIDIAN_CLI" vault="<nombre-boveda>" workspace ids

Preservar la sesión del host

Nunca recargues ni reinicies la aplicación/ventana de Obsidian desde una sesión de agente. Nunca recargues, deshabilites o desinstales el plugin que aloja la sesión actual del agente. Evita acciones equivalentes mediante comandos, JavaScript o herramientas de desarrollador. Estas pueden terminar la sesión y descartar el trabajo en curso.

Requiere la intención explícita del usuario antes de eliminaciones permanentes, restauración del historial local o Sync, publicar o despublicar, instalación o eliminación de plugins/temas, cambios en el modo restringido, o llamadas mutantes a JavaScript/desarrollador. Prefiere operaciones reversibles. Las referencias de comandos describen capacidades; no autorizan mutaciones.

Guías de referencia

Lee solo la guía relevante para la tarea. Trata a obsidian en sus ejemplos como el ejecutable resuelto $OBSIDIAN_CLI y agrega vault="<nombre-o-id>" cuando se conozca el destino.

TareaReferencia
Operaciones con notas, esquema, conteo de palabras, notas únicasreferences/note-operations.md
Búsqueda, etiquetas, propiedades, backlinks, huérfanos, enlaces no resueltosreferences/search-metadata.md
Notas diarias, tareas, plantillasreferences/daily-tasks-templates.md
Bóvedas, espacio de trabajo, marcadores, plugins, temas, Sync, Publish, Bases, herramientas de desarrolloreferences/vault-management.md

Skills relacionados