Communitygithub.com

metyatech/skill-cli-design

Agent 技能,用于设计和审查 CLI 工具。

skill-cli-design 是什么?

该技能提供了一套全面的 CLI 设计检查清单,帮助开发者确保命令行工具符合行业最佳实践。它涵盖了帮助与版本信息、输入输出、安全控制、配置文件以及交互式提示等关键方面。该技能适用于任何 CLI 工具的开发与审查,能够自动检查标准标志的使用、管道支持、结构化数据输出、安全性(如 dry-run 和强制标志)、退出码规范以及配置验证。通过遵循此清单,开发者可以构建出稳健、用户友好且适合 CI/CD 环境的高质量 CLI 工具。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add metyatech/skill-cli-design

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

CLI 设计检查清单

帮助与版本

  • CLI 必须提供 --help 和 -h 标志,并附带清晰的使用说明、选项和示例。示例必须包含所有必需的参数。
  • CLI 必须提供 --version 和 -V 标志。Agent 必须保留 -v 用于 --verbose。

输入与输出

  • CLI 必须支持 stdin/stdout 管道,并且必须允许输出重定向(例如,使用 --output 创建文件)。
  • 输出结构化数据的 CLI 必须提供机器可读的输出(例如,--json)。

安全与控制

  • 修改或删除数据的 CLI 必须提供 --dry-run 标志,以及一个明确的绕过标志(--yes 或 --force)。
  • CLI 必须提供可控的日志(--quiet、--verbose 或 --trace)。
  • CLI 必须使用确定的退出码:0 表示成功,非零表示失败。Agent 不得引入静默回退。
  • CLI 必须实现严格的非交互模式,以便在 CI/CD 环境中使用。

配置

  • 消费 JSON 配置的 CLI 必须定义并更新 JSON Schema,并且必须在加载时验证配置。
  • CLI 必须支持通过环境变量配置敏感数据或与环境相关的数据。

交互式提示

  • 交互式提示在提问前必须提供所需的上下文。对于是/否提示,Enter 必须表示“是”,“n”必须表示“否”。

相关技能