Communitygithub.com

metiatech/skill-cli-design

Habilidade de agente para projetar e revisar ferramentas de linha de comando (CLI).

O que é skill-cli-design?

Esta skill define um conjunto abrangente de diretrizes para projetar, revisar e implementar ferramentas de linha de comando (CLI) robustas e utilizáveis. Ela cobre aspectos essenciais como flags de ajuda e versão, garantindo que toda CLI forneça `--help`, `-h`, `--version` e `-V`, e que `-v` seja reservado para modo verboso. A skill também aborda entrada e saída, exigindo suporte a pipes stdin/stdout e redirecionamento de saída, além de formatos legíveis por máquina como JSON. Para segurança e controle, a skill exige flags `--dry-run` e `--yes`/`--force` para operações destrutivas, níveis de log controláveis e códigos de saída determinísticos. Ela também cobre configuração via variáveis de ambiente e arquivos JSON validados por esquema, além de prompts interativos que fornecem contexto antes de perguntar. Essa skill é ideal para desenvolvedores que constroem CLIs para ambientes CI/CD, automação ou ferramentas de desenvolvedor, garantindo consistência, segurança e usabilidade. Pode ser utilizada com agentes de IA como Claude Code, Cursor ou Codex para revisar ou gerar código de CLIs.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add metyatech/skill-cli-design

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Lista de verificação para design de CLI

Ajuda e versão

  • Uma CLI DEVE fornecer as flags --help e -h com uso claro, opções e exemplos. Os exemplos DEVEM incluir todos os parâmetros necessários.
  • Uma CLI DEVE fornecer as flags --version e -V. O agente DEVE reservar -v para --verbose.

Entrada e saída

  • Uma CLI DEVE suportar piping stdin/stdout e DEVE permitir redirecionamento de saída (por exemplo, --output para criação de arquivo).
  • Uma CLI que emite dados estruturados DEVE oferecer saída legível por máquina (por exemplo, --json).

Segurança e controle

  • Uma CLI que modifica ou exclui dados DEVE fornecer --dry-run e uma flag explícita de bypass (--yes ou --force).
  • Uma CLI DEVE fornecer log controlável (--quiet, --verbose ou --trace).
  • Uma CLI DEVE usar códigos de saída determinísticos: 0 para sucesso, não-zero para falha. O agente NÃO DEVE introduzir fallbacks silenciosos.
  • Uma CLI DEVE implementar modos estritamente não interativos para ambientes CI/CD.

Configuração

  • Uma CLI que consome configuração JSON DEVE definir e atualizar um JSON Schema e DEVE validar a configuração no carregamento.
  • Uma CLI DEVE suportar configuração via variáveis de ambiente para dados sensíveis ou específicos do ambiente.

Prompts interativos

  • Um prompt interativo DEVE fornecer o contexto necessário antes de perguntar. Para prompts sim/não, Enter DEVE significar "Sim" e "n" DEVE significar "Não".

Habilidades Relacionadas