1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | cli-posit-dev-skills |
| 作者/维护者 | Posit(Garrick Aden-Buie,@gadenbuie) |
| 来源链接 | https://github.com/posit-dev/skills/tree/main/r-lib/cli |
| 许可证 | MIT(数据来自 GitHub API) |
| GitHub Stars | 442(合集仓库整体,数据来自 GitHub API;该数字属整个合集仓库,不代表本技能自身热度) |
| Forks | 35(数据来自 GitHub API) |
| 最新版本 | 技能自身 metadata 版本 1.0 |
| 安装方式 | 复制目录到 skills 目录,或通用安装器一键安装 |
2. 功能介绍与亮点
cli-posit-dev-skills 教 Claude 用 R 语言的 {cli} 包写规范、美观的命令行用户提示,覆盖:
- 用
cli_abort()/cli_warn()/cli_inform()替代 base R 的stop()/warning()/message(),配合行内标记({.pkg}、{.file}、{.fn}等 50+ 语义类)生成结构化、带高亮的错误与警告 - 进度提示:
cli_progress_bar()/cli_progress_step(),支持嵌套进度与自动清理 - 语义化元素:标题、成功/失败/警告/信息四类提醒、有序/无序/定义列表
- 单复数自动处理(
{?s}等),主题定制,ANSI 字符串操作
亮点:由 Posit 全职工程师 Garrick Aden-Buie 维护并配有 5 份独立参考文档(行内标记全集、错误设计原则、进度条高级用法、主题系统、ANSI 操作),并附带“base R 迁移到 cli”的前后对照范例,内容详尽程度在同类文档型技能中较突出。
3. 适用场景
固定分类:工程效率与代码质量
面向正在开发 R 包、需要给终端用户输出清晰错误/警告/进度信息的开发者;也适用于把老代码从 stop()/warning()/message() 迁移到更现代的 {cli} 写法、或需要理解 {cli} 50+ 行内标记类与主题系统细节的场景。
4. 跨 Agent 兼容性
- Claude Code:✅ 原生支持,标准 SKILL.md 格式
- Codex:✅ 通过通用安装器(
npx skills add等)适配安装 - OpenClaw:✅ 通过通用安装器适配安装
- Hermes Agent:✅ 通过通用安装器适配安装
判断依据:该技能是标准 Agent Skills 格式(YAML front matter + Markdown 正文),posit-dev/skills 仓库内的技能已确认可经通用 skills 安装器跨生态分发,未见任何 Claude 专属语法或 API 依赖。
5. 推荐理由
R 包的错误、警告、进度提示是用户对一个包“专业与否”的第一印象,但多数开发者仍在用 base R 的 stop("x must be numeric") 式提示,信息量低且没有格式化。这个技能把 {cli} 包(R 生态中错误/消息格式化事实标准,tidyverse 系包普遍采用)的正确用法固化进 Agent 行为,让 Agent 写代码时直接产出规范化的高亮、可读消息,并提供从旧写法迁移的具体范例,省去开发者自己翻文档摸索 50+ 种行内标记类的时间。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 6 | 合集仓库子技能,不采用仓库整体 442 stars;该子目录本身暂无独立第三方讨论证据,但由 R 社区知名工程师 Garrick Aden-Buie(Posit 全职)维护,其绑定的 {cli} 包是 R 生态错误/消息格式化的事实标准 |
| 可用性 | 9 | 复制即用、零额外配置;5 份详尽参考文档覆盖各使用场景;提交记录持续到 2026 年 5 月,近 3 个月内有维护;MIT 开源无付费依赖 |
| 安全性 | 9 | 纯参考文档类技能,无 shell 命令执行、无网络外发、无需 API key/凭据;未见可疑指令或混淆代码;作者身份可查(Posit 全职工程师);License 明确(MIT) |
综合评分(三项均值):8.0
7. 跟同类 Skills 相比的优势
| 技能 | 定位 | 与本技能的差异 |
|---|---|---|
| r-package-development-posit-dev-skills(同仓库) | R 包开发全生命周期指导(测试、文档、CI、发布) | 覆盖面广但不聚焦 CLI 消息细节;cli 技能只做“终端用户提示”这一件事,但做得更深(50+ 行内标记类、主题系统、ANSI 操作全覆盖) |
| python-cli-click(Python 生态) | 用 Click + Rich 构建带美化终端交互的 Python CLI 程序 | 定位是“搭建一个 CLI 程序”,而 cli 技能定位是“给已有 R 包写规范的用户提示”,语言生态与解决的问题层次都不同——前者管交互框架,后者管消息措辞与格式 |
8. 用户评价
该技能目前在第三方平台尚无具名用户评价。
9. 安装使用方式
方式一:直接复制
- 克隆或下载
posit-dev/skills仓库 - 将
r-lib/cli/目录复制到本地 agent 的 skills 目录(如 Claude Code 的~/.claude/skills/)
方式二:通用安装器
npx skills add posit-dev/skills/r-lib/cli
安装后无需重启,Agent 会在用户涉及 R 包错误/警告/进度消息编写、或提及 {cli}/cli_abort/cli_warn 等关键词时自动触发;也可在提示中直接要求“用 cli 包风格改写这个报错”来手动激活。
10. 注意事项
- 仅适用于 R 语言生态,且要求项目已安装或计划安装
{cli}包(CRAN 上的标准包,非本技能自建) - 技能内容为纯参考文档,不会替用户执行任何代码或改动仓库文件,实际改写仍由 Agent 在会话中完成
- 与同仓库的 r-package-development 等其他 R 相关子技能配合使用效果更好,但可独立安装使用,无强制依赖关系