1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | release-post-posit-dev-skills |
| 作者/维护者 | Garrick Aden-Buie(Posit 工程师) |
| 来源链接 | https://github.com/posit-dev/skills/tree/main/open-source/release-post |
| 许可证 | MIT(GitHub API 获取) |
| GitHub Stars | 442(GitHub API 获取;数字属整个 posit-dev/skills 合集仓库,不代表本技能自身热度) |
| Forks | 35(同上,合集仓库整体数字) |
| 最新版本 | 1.0(SKILL.md front matter 标注) |
| 安装方式 | npx skills add / Claude Code 插件市场 / 手动复制目录(详见第 10 章) |
2. 功能介绍与亮点
该技能帮 R/Python 包维护者把 NEWS.md/changelog 内容转写成两个官方博客各自要求的正式发布公告文章:Tidyverse 博客(tidyverse.org,使用 hugodown)与 Shiny 博客(shiny.posit.co,使用 Quarto,同时支持 R 与 Python 包)。核心流程:先确定目标平台 → 收集包名/版本号/仓库地址/NEWS 内容等信息 → 按“迁移指南→生命周期变更→功能说明→细节改进→致谢”的固定顺序搭建文章结构 → 套用平台专属的 frontmatter、slug、tabset 等格式规则 → 调用脚本 get_contributors.R 自动生成致谢名单 → 对照通用与平台专属两份检查清单做最终核对。
主要亮点:为两个格式差异明显的平台分别提供独立的格式参考文档,而非笼统一套模板;内置贡献者致谢自动化,省去人工翻查 commit 记录;写作风格指南具体到句式层面(如开场白模式、禁用“powerful/rich/seamless”等营销套话),确保稿件贴近官方博客一贯语气;官方 Posit 团队出品,同时覆盖 R 与 Python 双语言包场景。
3. 适用场景
固定分类:内容创作与知识管理
- R 或 Python 包维护者需要为 tidyverse.org 或 shiny.posit.co 撰写新版本发布公告博文时,快速产出符合官方规范的稿件
- 已经写好 NEWS.md/CHANGELOG,但不熟悉两个博客各自排版细节(hugodown 与 Quarto frontmatter、slug 格式、tabset 用法差异)的维护者
- 需要按官方致谢惯例自动生成贡献者列表、避免遗漏的开源包维护团队
受益人群:R/Python 包维护者,尤其是长期向 tidyverse 与 Shiny 生态系统这两个官方博客投稿的开发者。
4. 跨 Agent 兼容性
- Claude Code:原生支持。SKILL.md 遵循标准 Agent Skills 规范,仓库 README 提供插件市场安装与手动复制两种路径
- Codex:支持。README 同时提供
npx skills add(vercel-labs/skills 工具)安装方式,该工具官方支持列表明确包含 Codex;本技能工作流本身是通用文字指令加调用一个 R 脚本,未依赖任何 Claude 专属交互工具 - OpenClaw:支持。同一
npx skills add工具官方支持列表明确包含 OpenClaw - Hermes Agent:支持。同一
npx skills add工具官方支持列表明确包含 Hermes Agent
5. 推荐理由
把“写一篇合规的官方发布公告”这件容易因排版细节被打回重写的事,浓缩成分步骤工作流、两套平台专属格式参考与自动化致谢脚本的组合;对独立维护 R/Python 包、需要频繁给这两个官方博客投稿却记不住格式细节的开发者,能省下反复对照旧文章摸索格式的时间。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 6 | 所属 posit-dev/skills 为合集仓库,442 stars 是整体数字,不计入本技能;该子目录自身仅 2 次提交(初始提交+补充元数据),均出自作者 Garrick Aden-Buie 本人(Posit 员工),未见第三方 PR 或独立讨论 |
| 可用性 | 8 | SKILL.md 含完整分步工作流、两份平台专属格式参考文档与致谢脚本;仅依赖用户本机已有的 R 与 usethis 包,无需申请新凭据;该子技能最近一次改动为 2026-02-20 |
| 安全性 | 9 | Posit 官方组织出品,完全开源可审计;唯一执行代码为仓库自带的 get_contributors.R,内部仅调用 usethis::use_tidy_thanks() 对公开 GitHub 仓库做只读查询;未见可疑指令 |
综合评分(三项均值)≈ 7.7
安全检查清单逐项结果:
① Shell 命令:仅调用 Rscript 执行仓库自带脚本 get_contributors.R,范围明确无任意命令执行 ② 联网外发:脚本内部仅通过 usethis::use_tidy_thanks() 向 GitHub 公开 API 查询指定仓库的贡献者列表(只读),无其他外发 ③ 凭据:技能本身不索取也不存储任何新凭据,复用用户本机已有的 R/GitHub 访问配置 ④ 可疑指令:SKILL.md 与脚本全文未见提示注入或隐蔽指令迹象 ⑤ 作者信誉:作者为 Posit 官方工程师,仓库无刷星或 SEO 操纵痕迹 ⑥ License:MIT,明确 ⑦ 维护时间:该子技能最近改动为 2026-02-20,在半年窗口内
7. 跟同类 Skills 相比的优势
| Skill / 工具 | 定位 | 与本技能的差异 |
|---|---|---|
| create-release-checklist-posit-dev-skills(同仓库) | 生成版本发布前的检查清单并创建 GitHub Issue 追踪 | 服务发布流程的“准备阶段”(该做什么),而非“对外公告”阶段(怎么写);两者面向同一发布流程的不同环节,可配合使用而非互相替代 |
| changelog-generator(ComposioHQ/awesome-claude-skills) | 直接扫描 git commit 历史,归类生成通用 changelog 条目 | 输入是原始 commit 而非人工整理的 NEWS.md,输出是通用 changelog 条目,不绑定任何具体博客平台的排版规范(frontmatter/slug/tabset),也没有贡献者致谢自动化 |
usethis::use_tidy_thanks()(R 生态原生函数) |
生成致谢贡献者列表的基线工具 | 本技能内部复用该函数完成致谢环节,但额外提供文章整体结构、两个平台专属格式规则与写作风格指南 |
8. 用户评价
该技能目前在第三方平台尚无具名用户评价;所在合集仓库中与其相关的 Pull Request 评审记录仅涉及仓库内部工程师,非外部使用者反馈。
9. 其他补充
Shiny 博客场景下,若包同时支持 R 与 Python,技能会要求文章内所有代码示例都以 tabset 形式并列展示两种语言的用法,保证多语言读者的一致体验。
10. 安装使用方式
方式一:npx skills add(跨 Agent 通用 CLI)
npx skills add posit-dev/skills --skill release-post
方式二:Claude Code 插件市场
/plugin marketplace add posit-dev/skills
/plugin install open-source@posit-dev-skills
方式三:手动安装
git clone https://github.com/posit-dev/skills.git
cp -r skills/open-source/release-post ~/.claude/skills/
安装后无需重启。准备发布 R 或 Python 包新版本时,向 Claude 提出“帮我写 dplyr 1.2.0 的发布博文”之类请求即可触发。
11. 注意事项
- 仅覆盖 tidyverse.org 与 shiny.posit.co 两个官方博客各自的格式规范,不适用于其他博客平台或通用 changelog 场景
- 贡献者致谢脚本依赖本机已安装 R 与 usethis 包,且需要能访问 GitHub API 获取指定版本区间的 commit 记录
- 该子技能目前仅有初始提交与一次元数据补充共 2 次提交,且均出自单一作者,后续维护活跃度有待观察
- 写作风格指南(如禁用营销词汇、固定开场句式)偏 Tidyverse 团队自身偏好,若目标博客不遵循同一文风惯例需要人工调整