Communitygithub.com

metyatech/skill-cli-design

Habilidad de agente para diseñar y revisar herramientas CLI de manera profesional y segura.

¿Qué es skill-cli-design?

Este skill para agentes de IA (como Claude Code, Cursor o Codex) proporciona una checklist completa y detallada para diseñar, implementar y revisar herramientas de línea de comandos (CLI). Está pensado para desarrolladores que desean asegurar que sus CLIs sean usables, predecibles y seguras, cumpliendo con las mejores prácticas de la industria. El skill cubre aspectos esenciales como la documentación de ayuda y versión, manejo de entrada/salida estándar (stdin/stdout), opciones de salida en JSON, flags de seguridad (dry-run, force), niveles de control de logs, códigos de salida deterministas, modos no interactivos para CI/CD, validación de configuraciones JSON mediante esquemas, soporte para variables de entorno, y reglas claras para prompts interactivos. Al aplicar estas guías, un agente puede generar o auditar CLIs que sean consistentes, fiables y fáciles de integrar en entornos automatizados.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add metyatech/skill-cli-design

Preguntar en tu IA favorita

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

Documentación

Lista de verificación para diseño de CLI

Ayuda y versión

  • Una CLI DEBE proporcionar las banderas --help y -h con un uso claro, opciones y ejemplos. Los ejemplos DEBEN incluir todos los parámetros requeridos.
  • Una CLI DEBE proporcionar las banderas --version y -V. El agente DEBE reservar -v para --verbose.

Entrada y salida

  • Una CLI DEBE soportar el pipe de stdin/stdout y DEBE permitir la redirección de salida (p. ej., --output para creación de archivos).
  • Una CLI que emita datos estructurados DEBE ofrecer salida legible por máquina (p. ej., --json).

Seguridad y control

  • Una CLI que modifique o elimine datos DEBE proporcionar --dry-run y una bandera explícita de omisión (--yes o --force).
  • Una CLI DEBE proporcionar registro controlable (--quiet, --verbose, o --trace).
  • Una CLI DEBE usar códigos de salida deterministas: 0 para éxito, distinto de cero para fallo. El agente NO DEBE introducir fallos silenciosos.
  • Una CLI DEBE implementar modos estrictamente no interactivos para entornos CI/CD.

Configuración

  • Una CLI que consuma configuración JSON DEBE definir y actualizar un JSON Schema y DEBE validar la configuración al cargarla.
  • Una CLI DEBE soportar configuración mediante variables de entorno para datos sensibles o específicos del entorno.

Prompts interactivos

  • Un prompt interactivo DEBE proporcionar el contexto necesario antes de preguntar. Para prompts de sí/no, Enter DEBE significar "Sí" y "n" DEBE significar "No".

Skills relacionados