1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | agent-cli-glebis-claude-skills |
| 项目自述名称 | Agent-Friendly CLI Builder |
| 作者/维护者 | Gleb Kalinin(个人开发者,柏林技术从业者) |
| 来源链接 | https://github.com/glebis/claude-skills/tree/main/agent-cli |
| 许可证 | MIT(数据来自 GitHub API,为所属仓库统一许可证) |
| GitHub Stars / Forks | 345 / 52(数据来自 GitHub API;该数字属整个 glebis/claude-skills 合集仓库,不代表本技能自身热度) |
| 最新版本 | 未标注独立版本号(合集仓库不对单个技能发布 Release/Tag) |
| 安装方式 | 手动克隆后复制子目录(已确认可用);仓库另提供插件市场与 npx skills 两种通用安装入口,详见第 10 章 |
2. 功能介绍与亮点
Agent-Friendly CLI Builder 教你把一个只给人看的 Python 命令行脚本,改造成人和 AI agent 都能可靠消费的工具。核心是一套 NDJSON(换行分隔 JSON)输出约定:脚本加上 --json 标志后,所有输出变成逐行、自包含的结构化事件,而不改变默认的人类可读输出。
它提供两种工作模式:改造模式扫描现有脚本里的 print、sys.exit、input 等输出点,替换为内置的 log() / die() / json_log() 等小函数,并验证 --json 模式下不漏出未包装的原始输出;脚手架模式则从零生成一个可独立发布的 cli_utils Python 包,带 pytest 测试套件、MIT 许可证与 CI 配置。
亮点:核心实现只用 Python 标准库,不需要安装任何第三方包或申请 API Key;--json 是可选开关而非默认行为,人类可读的输出保持不变;SKILL.md 内含逐步骤改造示例(“改造前/改造后”代码对照)、事件命名规范表与完成前自检清单,并附一份约 11KB 的 references/best-practices.md(讨论心跳检测、退出码约定、CLI 与 MCP 的选型对比)与一份评测用例文件。
3. 适用场景
所属分类:工程效率与代码质量
适用于自己维护 Python 命令行工具、且希望这些工具能被 AI agent(无论是 Claude Code 还是其他 agent 运行时)稳定解析调用的开发者;也适用于想把内部脚本整理成可开源发布的 cli_utils 库的场景。典型使用者是正在给自己的自动化脚本、守护进程或数据采集工具补充“机器可读”输出模式的工程师。
4. 跨 Agent 兼容性
- Claude Code:原生支持。所属仓库明确面向 Claude Code 分发,提供插件市场与
npx skills两种官方安装入口(但本技能目前未被收录进仓库的插件市场清单,需以手动克隆方式安装,见第 10 章)。 - Codex:未验证。抓取到的材料中未提及。
- OpenClaw:未验证。抓取到的材料中未提及。
- Hermes Agent:未验证。抓取到的材料中未提及。
技能本身是纯 Markdown 指令 + 代码模板,不调用任何 Claude 专有工具接口,理论上可被任何支持 Agent Skills(SKILL.md)格式、且能执行文件读写与 Bash 命令的 agent 运行时加载,但以上结论未经实测,仅供参考。
5. 推荐理由
越来越多 AI agent 需要调用本地命令行工具,“脚本输出能否被稳定解析”正成为真实的工程痛点——agent 常靠脆弱的字符串匹配去解析原本给人看的输出。这个技能把“给 CLI 加机器可读输出”沉淀成一套可复用的小工具函数与命名约定,改造成本低(几行代码),且不需要额外依赖或付费服务。对于已经在用 agent 驱动自己脚本、又不想为每个工具重新发明一套 JSON 输出格式的开发者,这是一个即拿即用的参考实现。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 5 | 所属合集仓库 345 stars、持续有更新,但该数字覆盖约 90 个互不相关的技能,不能记给单个子技能;未找到该子技能自身的独立第三方讨论或引用 |
| 可用性 | 9 | 核心实现零第三方依赖、无需 API Key,SKILL.md 含完整前后对比示例与自检清单,另附独立参考文档与评测用例,所属仓库最近一次推送为 5 天前 |
| 安全性 | 9 | 详见下方逐项检查结果 |
安全检查清单:
- shell 命令及权限范围:仅读写用户自己指定的 Python 脚本文件,无提权、无系统级操作
- 联网外发:核心功能不发起任何网络请求
- API Key/凭据:不需要任何凭据
- 可疑指令:SKILL.md 与模板代码中未发现提示词注入或隐藏指令迹象
- 作者信誉:个人开发者,仓库工程规范齐全(测试、CI、CONTRIBUTING 文档、多位贡献者)
- License:MIT,明确
- 维护时间:本子目录最近一次改动为 2026-06-01,所属仓库最近推送 2026-08-04,均在近 3 个月内
7. 跟同类 Skills 相比的优势
| 项目 | 定位 | 与本技能的差异 |
|---|---|---|
| jc(kellyjonbrazil/jc) | 把常见命令行工具(ls、ifconfig、df 等)已有的文本输出解析转换成 JSON/YAML |
jc 是一个外部包装器,作用于第三方工具、不需要改动目标工具源码,但只能拿到该工具原本就有的输出信息;本技能是让你在自己脚本的源码里原生加上结构化事件(含生命周期信号如 ready、命名事件),信息更完整、可控性更强 |
| Algolia CLI 的 agent 化改造 | 电商搜索厂商 Algolia 把自家 CLI 的多数命令扩展出 --output json / --output ndjson |
是单一厂商产品的定制实践,不可复用到其他项目;本技能提供的是一套可以套用到任意 Python CLI 上的通用模式与可复制代码 |
本技能的独特之处在于把“给 CLI 加机器可读输出”提炼成一套轻量、零依赖、可直接复制的实现,而非依赖特定厂商工具或额外解析层。
8. 用户评价
该技能目前在第三方平台尚无具名用户评价。
9. 其他补充
references/best-practices.md 中专门讨论了“什么时候该用 CLI + NDJSON、什么时候该改用 MCP Server”的选型对比,对同时接触过 MCP 的开发者有额外参考价值。
10. 安装使用方式
- 手动安装(已确认可用):
git clone https://github.com/glebis/claude-skills.git cp -r claude-skills/agent-cli ~/.claude/skills/ - 仓库通用安装入口(提供但未逐一验证覆盖本技能):
# 插件市场(该仓库插件清单当前未收录 agent-cli,以此方式安装前建议先确认可用性) claude plugin marketplace add glebis/claude-skills # skills CLI npx skills add glebis/claude-skills --skill agent-cli - 安装后无需重启,直接在对话中描述“把这个脚本改成 agent 友好的 JSON 输出”或“加上 –json 标志”即可触发。
11. 注意事项
- 该技能未被所属仓库的插件市场清单收录,
claude plugin install方式当前不保证能装到它,请优先使用手动克隆方式。 - 生成的
cli_utils.py是直接嵌入你项目里的参考实现,不是一个独立维护、版本化发布的 PyPI 包;升级需要重新运行该技能或手动同步代码。 - 该子技能所属仓库仅有 3 位贡献者且以作者个人维护为主,长期可持续性依赖作者个人精力。