skill-auditor v0.1.0: auditar colecciones de skills de agentes IA por integridad y secretos A developer released skill-auditor v0.1.0, a CLI tool that audits AI agent skill collections for structural integrity, broken references, and hardcoded secrets. The tool scans directories of skills from agents like Hermes, Claude Code, OpenCode, or Codex, providing clear-language classification and reports in terminal, markdown, or JSON formats. In a real audit of 200 Hermes skills, it found duplicate names, nested folder collisions, and broken references, though no secrets were present. Una CLI agent-agnostic Hermes primero que escanea skills por integridad estructural, referencias rotas y secretos hardcodeados, y clasifica cada skill en lenguaje claro. 95% de cobertura de tests, CI verde. Las colecciones de skills de un agente IA crecen sin revisión: 100–200+ entradas en Hermes, Claude Code, OpenCode o Codex. La superficie de prompts del agente es, en la práctica, código ejecutable que carga comandos y en skills de seguridad maneja guía sobre credenciales. Nadie la audita. En una colección real de 200 skills de Hermes, una auditoría directa al filesystem encontró: software-development/software-development/software-development/ que causaba una colisión de nombre activa en runtime y arrastraba un bug de doble escapado; anti-evasión vs anti-evasion ; references que nunca se entregaron.El hygiene de secretos estaba limpio solo placeholders de documentación , pero "limpio porque lo miré una vez" no es un proceso. skill-auditor lo vuelve repetible. Audita cualquier directorio de skills Hermes es el target primario; es agent-agnostic vía name / description en frontmatter YAML : | Chequeo | Hallazgo | Notas | |---|---|---| | Frontmatter YAML parseable | FRONTMATTER ERROR | multilínea \ | {% raw %} name presente | NAME MISSING | | description presente y ≥15 chars | DESC EMPTY / DESC SHORT | | name duplicado | NAME DUPLICADO | | Carpeta anidada X/X/X | NESTED DUPLICATE | solo la copia innermost es eliminable | Referencias scripts/ references/ rotas | REF ROTA | ignora /tmp , /opt , placeholders | | Secretos hardcodeados | SECRET | AWS/GH/OpenAI/Anthropic/Google/Slack/GitLab, claves privadas, asignaciones; filtra placeholders | Cada skill recibe una clasificación en lenguaje claro : categoría carpeta superior , propósito de una línea, y estado OK / WARNING / BROKEN . Reportes en terminal por defecto , md una sección por skill y json para CI gates . --fix opt-in, solo seguro Imprime el diff primero y aplica solo correcciones demostrablemente seguras y reversibles: Nunca edita valores de secreto, nunca reescribe la prosa del skill, nunca borra la única copia de un skill. Si hay un hallazgo SECRET sobre un archivo, ningún fix lo toca. SKILL.md , determinista y ordenado. pyyaml.safe load con fallback regex conservador si pyyaml no está. Los bloques multilínea se preservan como texto real un parser regex ingenuo los lee como descripción de 1 char — esa fue la clase de falso positivo exacta de un script ad-hoc previo, y es el test de regresión . name y auto-anidado X/X/.../X con run-length ≥ 3 solo el innermost es la copia eliminable .El proyecto se construyó por SDD Spec-Driven Development con criterios de aceptación Pass/Fail: --cov-fail-under=85 . All checks passed . FRONTMATTER ERROR , REF ROTA , secreto real placeholder ignorado , NAME DUPLICADO , NESTED DUPLICATE ; --fix elimina solo la carpeta inner y deja la outer intacta; re-audit baja de 9 a 8 skills sin nested. push / PR → checkout → setup-python 3.11 → install → ruff → pytest con cov≥85 → smoke del CLI. Run real: success .Todas las métricas son salida cruda de pytest --cov y del log de CI, no resumen. pip install -e . auditoría read-only skill-auditor ~/.hermes/skills reporte markdown skill-auditor ~/.hermes/skills --report md JSON para CI skill-auditor ~/.hermes/skills --report json correcciones seguras muestra diff, luego aplica skill-auditor ~/.hermes/skills --fix Python 3.11+, pyyaml única dependencia de runtime , argparse , pytest , ruff . Licencia AGPL-3.0-or-later. Licencia: AGPL-3.0-or-later © 2026 Pedro Sordo Martínez — amurlaniakea@gmail.com