一、基本信息
| 项目 | 内容 | 数据来源 |
|---|---|---|
| 正式名称 | r-package-development(合集仓库子目录,见下方说明) | GitHub |
| 所属合集仓库 | posit-dev/skills(Posit PBC 官方“Posit Claude Skills”集合,覆盖 R/Python 数据科学与包开发全流程) | GitHub API |
| 作者 | Simon P. Couch(@simonpcouch,Posit tidymodels 团队工程师,SKILL.md 内具名署名) | SKILL.md |
| 来源链接 | https://github.com/posit-dev/skills/tree/main/r-lib/r-package-development | — |
| 许可证 | MIT | GitHub API |
| 所属仓库整体 Stars/Forks | 443 / 35(该数字属整个合集仓库,不代表本技能自身热度) | GitHub API |
| 该技能自身活跃度 | 4 次提交,3 位具名 Posit 工程师参与(Simon P. Couch、Christophe Dervieux、Garrick Aden-Buie),最近一次提交 2026-05-20;对应合并 PR #33「add R package development skill」 | GitHub API / PR 记录 |
| 最新版本 | SKILL.md 内 version: "1.2" |
SKILL.md |
| 安装方式 | 见第十章 | 官方 README |
二、功能介绍与亮点
r-package-development 把 R 包开发中最常用的三件工具——devtools、testthat、roxygen2——的标准工作流固化进一份 SKILL.md:
- 常用命令速查:
devtools::load_all()、devtools::test()、devtools::document()、devtools::check()、按文件/按用例过滤跑测试等命令一次性列全,Agent 不必现查文档 - 代码风格约定:统一用原生管道
|>而非 magrittr 的%>%,单行匿名函数用\() ...,并要求改代码后跑air format .格式化 - 测试规范:新代码必须配测试、测试就近放置、测试断言保持精简;报错/警告场景用
expect_snapshot()而非expect_error()/expect_warning(),保留完整输出文本供复核 - 文档与变更记录规范:导出函数须有 roxygen2 文档并同步进
_pkgdown.yml,每次面向用户的改动都要在NEWS.md按函数名字母序补一条
三、适用场景
所属分类:工程效率与代码质量
面向已经在用 devtools/testthat/roxygen2 工具链、但希望 Agent 严格遵循团队既定代码与测试规范的中初级到中级 R 开发者——尤其是团队协作场景下,靠这份技能统一多人/多次 Agent 会话产出的代码风格、测试写法与 NEWS.md 记录格式,减少人工来回纠正的沟通成本。
四、跨 Agent 兼容性
- Claude Code:支持。官方 README 明确将本仓库定位为 Claude Skills 集合,可通过 Claude Code 直接使用
- Codex:支持。仓库提供的通用安装器
npx skills add(vercel-labs/skills)在其源码src/agents.ts中登记了codex目标(识别CODEX_HOME,写入对应 skills 目录) - OpenClaw:支持。同一安装器源码登记了
openclaw目标(识别~/.openclaw,写入.openclaw/skills) - Hermes Agent:支持。同一安装器源码登记了
hermes-agent目标(识别HERMES_HOME,写入.hermes/skills)
四个生态均通过同一份 SKILL.md 文件按各自目录约定直接复制安装,非各自独立适配,判断依据为官方 README 的安装说明与安装器本身的源码实现。
五、推荐理由
R 包开发有一套约定俗成但分散在多篇文档里的工具链习惯(devtools/testthat/roxygen2 具体命令、snapshot 测试写法、NEWS.md 格式),新手或临时接手的 Agent 很容易漏掉某一项。这份技能把它们收进一份文件,Agent 接到 R 包开发任务时自动照此执行,省去反复提醒的沟通成本,尤其适合团队希望多次 Agent 会话产出风格统一的场景。
六、评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 6 | 属合集仓库子目录,不计仓库整体 stars;自身有 3 位具名 Posit 工程师参与、1 条已合并 PR,但尚无独立于该 PR 之外的第三方讨论 |
| 可用性 | 9 | 单文件、复制即用,命令与规范一次列全;最近一次提交 2026-05-20(约 2 个月前),仍在积极维护,无需任何 API key 或额外部署 |
| 安全性 | 9 | 纯提示词/文档类内容,仅指导调用用户本地已安装的 R 工具链命令,无网络外发、无凭据索取、无可疑指令;官方 Posit PBC 出品,MIT 协议完全开源可审计 |
综合评分(三项均值):8.0
安全检查清单: ① Shell 命令:仅建议用户本地已装的 devtools/testthat/roxygen2/air 标准命令,范围明确、由用户主动触发 ② 联网外发:无 ③ API Key/凭据:不需要 ④ 可疑指令:未发现 ⑤ 作者信誉:官方 Posit PBC + 具名 tidymodels 团队工程师 ⑥ License:MIT,明确 ⑦ 最近维护:2026-05-20,非 archived
七、跟同类 Skills 相比的优势
| 对比对象 | 定位 | 与本技能的差异 |
|---|---|---|
| test-driven-development(addyosmani/agent-skills) | 语言无关的通用测试驱动开发方法论,聚焦“红-绿-重构”工程纪律与 Prove-It 复现流程 | 不含任何具体工具命令;本技能反过来聚焦 R 生态,直接给出 devtools/testthat/roxygen2 命令与 R 特有约定(如 base pipe、snapshot 测试替代基础断言、NEWS.md 格式),两者是纪律层与实操层的互补关系而非替代 |
| Posit Assistant(Posit 官方 IDE 内置 AI 助手) | 内置在 Positron/RStudio/终端里的完整对话式 AI 助手,可读取已加载的数据、图表、控制台历史等交互式上下文,采用自带模型密钥(BYO-key,可接 Anthropic/Bedrock/Copilot/OpenAI) | 需绑定 Positron/RStudio 特定 IDE 环境运行;本技能是可移植的纯文本 SKILL.md,不依赖特定 IDE,可直接复制进任意遵循 Agent Skills 规范的 Agent 使用 |
八、用户评价
该技能目前在第三方技能目录站点(如 claudemarketplaces.com)有收录页面,但页面内容为站点自动生成的技能信息摘要,未见具名用户评价或评论区;尚无已验证的第三方独立用户评价。
九、其他补充
SKILL.md 携带显式版本号(当前 1.2),随合集仓库迭代更新;同仓库另有 testing-r-packages、cli、lifecycle、mirai 等姊妹技能分别覆盖 R 包开发的测试、CLI 输出、生命周期管理、并行计算等细分主题,可按需搭配使用。
十、安装使用方式
- 方式一(推荐,任意支持 Agent):
运行后按交互菜单勾选 r-package-development 即可安装到当前检测到的 Agent(Claude Code、Codex 等)npx skills add posit-dev/skills - 方式二(手动复制):从仓库
r-lib/r-package-development/SKILL.md复制文件到本地 Agent 的 skills 目录(如 Claude Code 的.claude/skills/r-package-development/)
安装后无需重启;Agent 在识别到 R 包开发相关任务(编写/运行测试、生成 roxygen2 文档、准备包发布等)时会自动按技能内规范执行。使用前需本机已安装 R 及 devtools/testthat/roxygen2/air 工具链,技能本身不负责安装这些依赖。
十一、注意事项
- 仅覆盖 R 包开发的日常编码/测试/文档规范,不含 CRAN 提交前置检查(该部分由同仓库姊妹技能 cran-extrachecks 承担)
- 内容假定本机已具备完整 R 开发环境,技能本身不做环境搭建
- 作为合集仓库子目录,自身提交与讨论记录尚少(4 次提交),后续维护活跃度建议持续观察