Skip to content

Solución de Problemas: Resolviendo Problemas Comunes de OpenSkills

Qué podrás hacer después de aprender esto

  • Diagnosticar y reparar rápidamente problemas comunes al usar OpenSkills
  • Comprender las razones detrás de los mensajes de error
  • Dominar técnicas de diagnóstico para problemas de clonación Git, permisos, formatos de archivo y más
  • Saber cuándo es necesario reinstalar una skill

Tu situación actual

Encontraste errores al usar OpenSkills y no sabes qué hacer:

Error: No SKILL.md files found in repository

O fallos de git clone, errores de permisos, formatos de archivo incorrectos... estos problemas pueden impedir que las skills funcionen correctamente.

Cuándo necesitas leer este tutorial

Cuando encuentres las siguientes situaciones:

  • Instalación fallida: Errores al instalar desde GitHub o rutas locales
  • Lectura fallida: openskills read indica que no encuentra la skill
  • Sincronización fallida: openskills sync indica que no hay skills o errores de formato de archivo
  • Actualización fallida: openskills update omite ciertas skills
  • Errores de permisos: Indicaciones de acceso restringido a rutas o errores de seguridad

Enfoque principal

Los errores de OpenSkills se dividen principalmente en 4 categorías:

Tipo de ErrorCausas ComunesEnfoque de Solución
Relacionado con GitProblemas de red, configuración SSH, repositorio no existeVerificar red, configurar credenciales Git, validar dirección del repositorio
Relacionado con ArchivosSKILL.md faltante, error de formato, error de rutaVerificar existencia de archivos, validar formato YAML
Relacionado con PermisosPermisos de directorio, recorrido de rutas, enlaces simbólicosVerificar permisos de directorio, validar ruta de instalación
Relacionado con MetadatosPérdida de metadatos durante actualización, cambio de ruta de origenReinstalar la skill para restaurar metadatos

Técnicas de Diagnóstico:

  1. Lee el mensaje de error: La salida roja generalmente contiene la causa específica
  2. Lee las sugerencias amarillas: Generalmente son advertencias y recomendaciones, como Tip: For private repos...
  3. Verifica la estructura de directorios: Usa openskills list para ver las skills instaladas
  4. Verifica la ubicación del código fuente: El mensaje de error listará las rutas de búsqueda (4 directorios)

Instalación Fallida

Problema 1: Fallo de Git clone

Mensaje de Error:

Failed to clone repository
fatal: repository '...' not found
Tip: For private repos, ensure git SSH keys or credentials are configured

Posibles Causas:

CausaEscenario
Repositorio no existeowner/repo mal escrito
Repositorio privadoClave SSH o credenciales Git no configuradas
Problema de redNo se puede acceder a GitHub

Soluciones:

  1. Valida la dirección del repositorio:

    bash
    # Accede a la URL del repositorio en el navegador
    https://github.com/owner/repo
  2. Verifica la configuración de Git (repositorios privados):

    bash
    # Verifica la configuración SSH
    ssh -T [email protected]
    
    # Configura las credenciales de Git
    git config --global credential.helper store
  3. Prueba la clonación:

    bash
    git clone https://github.com/owner/repo.git

Lo que deberías ver:

  • El repositorio se clona exitosamente en el directorio local

Problema 2: No se encuentra SKILL.md

Mensaje de Error:

Error: No SKILL.md files found in repository
Error: No valid SKILL.md files found

Posibles Causas:

CausaDescripción
Repositorio sin SKILL.mdEl repositorio no es un repositorio de skills
SKILL.md sin frontmatterFalta metadatos YAML
Formato de SKILL.md incorrectoError de sintaxis YAML

Soluciones:

  1. Verifica la estructura del repositorio:

    bash
    # Ver el directorio raíz del repositorio
    ls -la
    
    # Verificar si existe SKILL.md
    find . -name "SKILL.md"
  2. Valida el formato de SKILL.md:

    markdown
    ---
    name: Nombre de la Skill
    description: Descripción de la skill
    ---
    
    Contenido de la skill...

    Requisitos obligatorios:

    • Debe tener YAML frontmatter delimitado por --- al inicio
    • Debe contener los campos name y description
  3. Ver el ejemplo oficial:

    bash
    git clone https://github.com/anthropics/skills.git
    cd skills
    ls -la

Lo que deberías ver:

  • El repositorio contiene uno o más archivos SKILL.md
  • Cada SKILL.md comienza con YAML frontmatter

Problema 3: La ruta no existe o no es un directorio

Mensaje de Error:

Error: Path does not exist: /path/to/skill
Error: Path must be a directory

Posibles Causas:

CausaDescripción
Ruta mal escritaSe ingresó una ruta incorrecta
Ruta apunta a un archivoDebería ser un directorio, no un archivo
Ruta no expandidaAl usar ~ necesita ser expandida

Soluciones:

  1. Verifica que la ruta existe:

    bash
    # Verificar la ruta
    ls -la /path/to/skill
    
    # Verificar si es un directorio
    file /path/to/skill
  2. Usa rutas absolutas:

    bash
    # Obtener la ruta absoluta
    realpath /path/to/skill
    
    # Usar la ruta absoluta al instalar
    openskills install /absolute/path/to/skill
  3. Usa rutas relativas:

    bash
    # En el directorio del proyecto
    openskills install ./skills/my-skill

Lo que deberías ver:

  • La ruta existe y es un directorio
  • El directorio contiene el archivo SKILL.md

Problema 4: SKILL.md inválido

Mensaje de Error:

Error: Invalid SKILL.md (missing YAML frontmatter)

Posibles Causas:

CausaDescripción
Campos obligatorios faltantesDebe tener name y description
Error de sintaxis YAMLProblemas de formato con dos puntos, comillas, etc.

Soluciones:

  1. Verifica el YAML frontmatter:

    markdown
    ---              ← Delimitador de inicio
    name: my-skill   ← Obligatorio
    description: Descripción de la skill  ← Obligatorio
    ---              ← Delimitador de fin
  2. Usa una herramienta de validación YAML en línea:

    • Visita YAML Lint o herramientas similares para validar la sintaxis
  3. Consulta el ejemplo oficial:

    bash
    openskills install anthropics/skills
    cat .claude/skills/*/SKILL.md | head -20

Lo que deberías ver:

  • SKILL.md comienza con el YAML frontmatter correcto
  • Contiene los campos name y description

Problema 5: Error de seguridad de recorrido de rutas

Mensaje de Error:

Security error: Installation path outside target directory

Posibles Causas:

CausaDescripción
Nombre de skill contiene ..Intenta acceder a rutas fuera del directorio de destino
Enlace simbólico apunta afueraEl symlink apunta fuera del directorio de destino
Skill maliciosaLa skill intenta eludir restricciones de seguridad

Soluciones:

  1. Verifica el nombre de la skill:

    • Asegúrate de que el nombre de la skill no contenga .., / u otros caracteres especiales
  2. Verifica los enlaces simbólicos:

    bash
    # Ver los enlaces simbólicos en el directorio de skills
    find .claude/skills/skill-name -type l
    
    # Ver el destino del enlace simbólico
    ls -la .claude/skills/skill-name
  3. Usa skills seguras:

    • Instala skills solo de fuentes confiables
    • Revisa el código de la skill antes de instalar

Lo que deberías ver:

  • El nombre de la skill solo contiene letras, números y guiones
  • No hay enlaces simbólicos que apunten afuera

Lectura Fallida

Problema 6: Skill no encontrada

Mensaje de Error:

Error: Skill(s) not found: my-skill

Searched:
  .agent/skills/ (project universal)
  ~/.agent/skills/ (global universal)
  .claude/skills/ (project)
  ~/.claude/skills/ (global)

Install skills: npx openskills install owner/repo

Posibles Causas:

CausaDescripción
Skill no instaladaLa skill no está instalada en ningún directorio
Nombre de skill mal escritoEl nombre no coincide
Instalada en otra ubicaciónLa skill está instalada en un directorio no estándar

Soluciones:

  1. Ver las skills instaladas:

    bash
    openskills list
  2. Verifica el nombre de la skill:

    • Compara con la salida de openskills list
    • Asegúrate de que el nombre coincida exactamente (distingue mayúsculas/minúsculas)
  3. Instala la skill faltante:

    bash
    openskills install owner/repo
  4. Busca en todos los directorios:

    bash
    # Verifica los 4 directorios de skills
    ls -la .agent/skills/
    ls -la ~/.agent/skills/
    ls -la .claude/skills/
    ls -la ~/.claude/skills/

Lo que deberías ver:

  • openskills list muestra la skill objetivo
  • La skill existe en uno de los 4 directorios

Problema 7: No se proporcionó nombre de skill

Mensaje de Error:

Error: No skill names provided

Posibles Causas:

CausaDescripción
Olvidó pasar parámetrosNo hay parámetros después de openskills read
Cadena vacíaSe pasó una cadena vacía

Soluciones:

  1. Proporciona el nombre de la skill:

    bash
    # Skill individual
    openskills read my-skill
    
    # Múltiples skills (separadas por comas)
    openskills read skill1,skill2,skill3
  2. Primero verifica las skills disponibles:

    bash
    openskills list

Lo que deberías ver:

  • El contenido de la skill se lee exitosamente en la salida estándar

Sincronización Fallida

Problema 8: El archivo de salida no es Markdown

Mensaje de Error:

Error: Output file must be a markdown file (.md)

Posibles Causas:

CausaDescripción
Archivo de salida no es .mdSe especificó formato .txt, .json, etc.
Parámetro --output incorrectoLa ruta no termina en .md

Soluciones:

  1. Usa archivos .md:

    bash
    # Correcto
    openskills sync -o AGENTS.md
    openskills sync -o custom.md
    
    # Incorrecto
    openskills sync -o AGENTS.txt
    openskills sync -o AGENTS
  2. Ruta de salida personalizada:

    bash
    # Salida a subdirectorio
    openskills sync -o .ruler/AGENTS.md
    openskills sync -o docs/agents.md

Lo que deberías ver:

  • Archivo .md generado exitosamente
  • El archivo contiene la sección XML de skills

Problema 9: No hay skills instaladas

Mensaje de Error:

No skills installed. Install skills first:
  npx openskills install anthropics/skills --project

Posibles Causas:

CausaDescripción
Nunca se instaló una skillPrimer uso de OpenSkills
Directorio de skills eliminadoArchivos de skills eliminados manualmente

Soluciones:

  1. Instala skills:

    bash
    # Instalar skills oficiales
    openskills install anthropics/skills
    
    # Instalar desde otro repositorio
    openskills install owner/repo
  2. Verifica la instalación:

    bash
    openskills list

Lo que deberías ver:

  • openskills list muestra al menos una skill
  • Sincronización exitosa

Actualización Fallida

Problema 10: Sin metadatos de origen

Mensaje de Error:

Skipped: my-skill (no source metadata; re-install once to enable updates)

Posibles Causas:

CausaDescripción
Instalación de versión antiguaLa skill se instaló antes de la función de metadatos
Copia manualSe copió directamente el directorio de la skill, sin usar OpenSkills
Archivo de metadatos dañado.openskills.json dañado o perdido

Soluciones:

  1. Reinstala la skill:

    bash
    # Eliminar skill antigua
    openskills remove my-skill
    
    # Reinstalar
    openskills install owner/repo
  2. Verifica el archivo de metadatos:

    bash
    # Ver los metadatos de la skill
    cat .claude/skills/my-skill/.openskills.json
  3. Conservar la skill pero agregar metadatos:

    • Crear manualmente .openskills.json (no recomendado)
    • Reinstalar es más simple y confiable

Lo que deberías ver:

  • Actualización exitosa, sin advertencias de omisión

Problema 11: Origen local faltante

Mensaje de Error:

Skipped: my-skill (local source missing)

Posibles Causas:

CausaDescripción
Ruta local movidaLa ubicación del directorio de origen cambió
Ruta local eliminadaEl directorio de origen no existe
Ruta no expandidaSe usó ~ pero los metadatos almacenaron la ruta expandida

Soluciones:

  1. Verifica la ruta local en los metadatos:

    bash
    cat .claude/skills/my-skill/.openskills.json
  2. Restaura el directorio de origen o actualiza los metadatos:

    bash
    # Si el directorio de origen se movió
    openskills remove my-skill
    openskills install /new/path/to/skill
    
    # O editar manualmente los metadatos (no recomendado)
    vi .claude/skills/my-skill/.openskills.json

Lo que deberías ver:

  • La ruta de origen local existe y contiene SKILL.md

Problema 12: No se encuentra SKILL.md en el repositorio

Mensaje de Error:

SKILL.md missing for my-skill
Skipped: my-skill (SKILL.md not found in repo at subpath)

Posibles Causas:

CausaDescripción
Cambio en la estructura del repositorioLa subruta o nombre de la skill cambió
Skill eliminadaEl repositorio ya no contiene esa skill
Subruta incorrectaLa subruta registrada en los metadatos es incorrecta

Soluciones:

  1. Accede al repositorio para ver la estructura:

    bash
    # Clonar el repositorio para verificar
    git clone https://github.com/owner/repo.git
    cd repo
    ls -la
    find . -name "SKILL.md"
  2. Reinstala la skill:

    bash
    openskills remove my-skill
    openskills install owner/repo/subpath
  3. Verifica el historial de actualizaciones del repositorio:

    • En GitHub, revisa el historial de commits del repositorio
    • Busca registros de movimiento o eliminación de la skill

Lo que deberías ver:

  • Actualización exitosa
  • SKILL.md existe en la subruta registrada

Problemas de Permisos

Problema 13: Permisos de directorio restringidos

Síntomas:

OperaciónSíntoma
Instalación fallidaIndica error de permisos
Eliminación fallidaIndica que no se puede eliminar el archivo
Lectura fallidaIndica acceso restringido al archivo

Posibles Causas:

CausaDescripción
Permisos de directorio insuficientesEl usuario no tiene permisos de escritura
Permisos de archivo insuficientesEl archivo es de solo lectura
Protección del sistemaRestricciones de macOS SIP, Windows UAC

Soluciones:

  1. Verifica los permisos del directorio:

    bash
    # Ver permisos
    ls -la .claude/skills/
    
    # Modificar permisos (usar con precaución)
    chmod -R 755 .claude/skills/
  2. Usa sudo (no recomendado):

    bash
    # Último recurso
    sudo openskills install owner/repo
  3. Verifica la protección del sistema:

    bash
    # macOS: verificar estado de SIP
    csrutil status
    
    # Para desactivar SIP (requiere modo de recuperación)
    # No recomendado, usar solo cuando sea necesario

Lo que deberías ver:

  • Lectura y escritura normal de directorios y archivos

Problemas de Enlaces Simbólicos

Problema 14: Enlace simbólico dañado

Síntomas:

SíntomaDescripción
Skill omitida al listaropenskills list no muestra la skill
Lectura fallidaIndica que el archivo no existe
Actualización fallidaRuta de origen inválida

Posibles Causas:

CausaDescripción
Directorio de destino eliminadoEl enlace simbólico apunta a una ruta inexistente
Enlace simbólico dañadoEl archivo de enlace en sí está dañado
Enlace entre dispositivosAlgunos sistemas no admiten enlaces simbólicos entre dispositivos

Soluciones:

  1. Verifica los enlaces simbólicos:

    bash
    # Buscar todos los enlaces simbólicos
    find .claude/skills -type l
    
    # Ver el destino del enlace
    ls -la .claude/skills/my-skill
    
    # Probar el enlace
    readlink .claude/skills/my-skill
  2. Elimina el enlace simbólico dañado:

    bash
    openskills remove my-skill
  3. Reinstala:

    bash
    openskills install owner/repo

Lo que deberías ver:

  • Sin enlaces simbólicos dañados
  • La skill se muestra y se lee normalmente

Recordatorios de Errores Comunes

Operaciones de Error Comunes

❌ No hagas esto:

  • Copiar directamente el directorio de skills → Causará falta de metadatos, fallo de actualización
  • Editar manualmente .openskills.json → Fácil de corromper el formato, causando fallo de actualización
  • Usar sudo para instalar skills → Creará archivos propiedad de root, operaciones posteriores pueden requerir sudo
  • Eliminar .openskills.json → Causará que la skill se omita durante la actualización

✅ Deberías hacer esto:

  • Instalar a través de openskills install → Crea automáticamente metadatos
  • Eliminar a través de openskills remove → Limpia correctamente los archivos
  • Actualizar a través de openskills update → Actualiza automáticamente desde la fuente
  • Verificar a través de openskills list → Confirma el estado de la skill

Técnicas de Diagnóstico

  1. Comienza simple: Primero ejecuta openskills list para confirmar el estado
  2. Lee el mensaje de error completo: Las sugerencias amarillas generalmente contienen recomendaciones de solución
  3. Verifica la estructura de directorios: Usa ls -la para ver archivos y permisos
  4. Valida la ubicación del código fuente: El mensaje de error listará 4 directorios de búsqueda
  5. Usa -y para omitir interacción: Usa la bandera -y en CI/CD o scripts

Resumen de la Lección

Esta lección cubrió los métodos de diagnóstico y reparación de problemas comunes de OpenSkills:

Tipo de ProblemaMétodo de Solución Clave
Fallo de Git cloneVerificar red, configurar credenciales, validar dirección del repositorio
No se encuentra SKILL.mdVerificar estructura del repositorio, validar formato YAML
Lectura fallidaUsar openskills list para verificar el estado de la skill
Actualización fallidaReinstalar la skill para restaurar metadatos
Problemas de permisosVerificar permisos de directorio, evitar usar sudo

Recuerda:

  • Los mensajes de error generalmente contienen indicaciones claras
  • Reinstalar es el método más simple para resolver problemas de metadatos
  • Instala skills solo de fuentes confiables

Siguientes Pasos


Apéndice: Referencia del Código Fuente

Haz clic para expandir y ver la ubicación del código fuente

Última actualización: 2026-01-24

FuncionalidadRuta del ArchivoNúmero de Línea
Manejo de fallo de Git clonesrc/commands/install.ts162-168
Error de ruta no existesrc/commands/install.ts205-207
Error de no es directoriosrc/commands/install.ts210-213
SKILL.md inválidosrc/commands/install.ts241-243
Error de seguridad de recorrido de rutassrc/commands/install.ts256-259
No se encuentra SKILL.mdsrc/commands/install.ts378-380
No se proporcionó nombre de skillsrc/commands/read.ts10-12
Skill no encontradasrc/commands/read.ts26-34
Archivo de salida no es Markdownsrc/commands/sync.ts23-25
No hay skills instaladassrc/commands/sync.ts40-43
Omisión por sin metadatos de origensrc/commands/update.ts57-61
Origen local faltantesrc/commands/update.ts66-71
No se encuentra SKILL.md en el repositoriosrc/commands/update.ts102-107

Funciones Clave:

  • hasValidFrontmatter(content): Valida si SKILL.md tiene YAML frontmatter válido
  • isPathInside(targetPath, targetDir): Valida si la ruta está dentro del directorio de destino (verificación de seguridad)
  • findSkill(name): Busca la skill en 4 directorios por prioridad
  • readSkillMetadata(path): Lee los metadatos de origen de instalación de la skill

Constantes Clave:

  • Orden de directorios de búsqueda (src/utils/skills.ts):
    1. .agent/skills/ (project universal)
    2. ~/.agent/skills/ (global universal)
    3. .claude/skills/ (project)
    4. ~/.claude/skills/ (global)