开发与工程 typstpublishinggithub-clipull-requestrelease-automationpackage-managementgit-workflow

RenderCV Typst 包发布助手

自动校验 rendercv-typst 包的完整性,并 fork、克隆 typst/packages 仓库,创建发布新版本的 Pull Request。

FollowSkills 评估 · FSRS-2.0
谨慎使用
51/ 100 五分制 2.6 / 5
1 2 3 4 5 6
1信任安全16 / 25 · 3.2/5

技能流程透明:禁用自动触发(disable-model-invocation)、发布前多项校验、遇到已有 PR 时询问用户、失败即停止并逐项报告。扣分点:步骤8直接 commit/push 并创建对外 PR,属于外部可见操作但无最终用户确认步骤;`git reset --hard` 虽作用于缓存克隆,但未说明对本地未提交更改的后果与回滚方式;fork/clone 依赖 gh 的认证权限范围未披露。

2可靠稳定9 / 20 · 2.3/5

步骤顺序清晰、校验聚合报告、明确禁止跳步,失败信息具体(指出缺失文件)。扣分点:全部依赖 gh CLI、GitHub 网络可达性和上游仓库结构(packages/preview/rendercv 目录约定为硬编码假设),未提供这些依赖不可用时的诊断指引;静态评审无法验证脚本可运行性(上限10)。

3适用触发8 / 15 · 2.7/5

受众明确(rendercv 维护者发布 Typst 包)、边界清楚、disable-model-invocation 避免误触发,且版本一致性、主题示例完整性检查定义精确。扣分点:核心功能完全依赖 GitHub/gh,从中国大陆网络可能不可达,未披露该环境限制;无中文支持说明。

4规范维护9 / 15 · 3.0/5

单一 SKILL.md 结构分层良好(校验→准备→执行→报告),副本排除规则明确。扣分点:技能本身无版本号、变更记录或已知限制章节;发布目标的目录约定硬编码,上游若变更无更新路径说明;发布者身份未经注册表验证,维护责任仅能从仓库推断。

5有效结果6 / 15 · 2.0/5

任务目标具体且流程完整到 PR URL 反馈,边际价值明确(自动化易出错的多步发布流程)。扣分点:静态评审未验证关键路径实际产出(上限7);PR body 模板中的 checkbox 预勾选('I have read and followed')可能生成与事实不完全相符的提交声明。

6证据核验3 / 10 · 1.5/5

仅源码可审计,无针对本技能路径的测试或 CI 覆盖(仓库的 evals 针对 CV 生成技能,非本发布技能),无第三方执行证据(上限5内取低值)。

证据充分度: 评估于 2026年9月9日 审查版本 1d4b87bc427e
使用前请注意
  • 该技能面向 rendercv 维护者的发布流程,普通用户无需安装;disable-model-invocation: true 意味着不会被自动触发。
  • 执行步骤会 fork、push 并向公开仓库 typst/packages 创建 PR,属于对外可见操作,运行前请确认网络与 gh 认证状态。
  • `git reset --hard upstream/main` 会丢弃缓存克隆中的本地未提交更改,运行前请检查 $HOME/.cache/rendercv/typst-packages 状态。
  • 全流程依赖 GitHub/gh,中国大陆网络环境下可能不可达,请自备网络条件。
  • PR 模板中的提交清单为预勾选项,提交前请自行核实各项是否属实。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

该技能来自 rendercv/rendercv 仓库,专门用于将 rendercv-typst 包的新版本发布到 Typst Universe(typst/packages 仓库)。它会读取 typst.toml 中的包元数据,执行七项完整性校验(必填文件、清单字段、版本一致性、CHANGELOG 条目、主题示例文件、失效链接、导入风格),任何一项失败都会阻止发布。随后它处理既有 PR 与本地克隆、fork 并稀疏检出仓库、复制包文件、生成符合 typst/packages 提交规范的 PR 描述,最后提交并创建 PR。它明确禁用模型自动调用,适合作为维护者手动触发的发布流程。

读取 src/rendercv/renderer/rendercv_typst/typst.toml 获取版本与元数据;运行 7 项校验:必填文件(lib.typ、typst.toml、README.md、LICENSE、thumbnail.png、template/main.typ)、manifest 字段完整性、版本号在 README/模板/示例文件中一致、CHANGELOG 有对应条目、README 中每个主题都有示例 .typ 文件、无失效相对链接、模板使用绝对 @preview 导入;用 gh 查询 rendercv 相关既有 PR 并询问处理方式;fork 并稀疏克隆 typst/packages 到 $HOME/.cache/rendercv/typst-packages;创建 rendercv-{version} 分支并复制包文件(排除 CHANGELOG.md、.git 和 PDF);根据 CHANGELOG 生成 PR 标题 rendercv:{version} 和正文;git 提交推送后用 gh pr create 创建 PR;最后报告 PR URL、克隆位置、分支名和警告。

  1. RenderCV 维护者发布 rendercv-typst 包新版本时,想自动完成校验和提交流程
  2. 发布前发现版本号在多个文件间不一致,需要一次性列出所有需更新的文件
  3. 担心某个 README 展示的主题缺少对应的示例 .typ 文件,需要强制核查
  4. typst/packages 已有未关闭的 rendercv PR,需要决定更新、关闭重开还是中止
  5. 想确保遵循 Typst Universe 的提交规范(绝对导入、无 PDF、完整 checklist)

这个 Skill 有哪些优点和局限?

优点
  • 校验非常严格:7 项检查全部收集后统一报告,任一失败都会阻止进入发布阶段
  • 强制检查每个 README 主题都有对应示例文件,防止发布不完整的包
  • 幂等处理既有 PR 和本地克隆,会清理已合并/关闭的旧分支并重置到 upstream/main
  • PR 描述严格遵循 typst/packages 的提交模板,包括新包的完整 checklist
  • 排除 CHANGELOG.md、.git 和 PDF 文件,符合 Typst 包仓库要求
局限
  • disable-model-invocation: true 意味着无法被模型自动触发,只能手动调用
  • 用途非常狭窄:仅适用于 rendercv 仓库的 rendercv-typst 包,不能发布其他 Typst 包
  • 依赖 gh CLI 的认证和 fork 权限,需要 GitHub 账号配置
  • 源材料未包含此技能的独立测试证据或跨平台验证记录

如何安装这个 Skill?

该技能属于 rendercv/rendercv 仓库捆绑的 6 个技能之一,路径为 .claude/skills/publish-rendercv-typst-package/SKILL.md。README 提到的集合安装命令为:npx skills add rendercv/rendercv-skill。适用于任何支持 skills 标准的 AI 编码代理。注意:源材料未单独说明此单个技能的独立安装步骤。

如何使用这个 Skill?

该技能设置了 disable-model-invocation: true,即模型不会自动触发它,需要维护者显式调用。调用时应对 rendercv 源仓库发起指令,例如:"为 rendercv-typst 创建发布新版本到 Typst Universe 的 PR"。技能将执行校验、fork/克隆、复制文件并创建 PR,最后报告 PR URL、克隆位置($HOME/.cache/rendercv/typst-packages)和分支名(rendercv-{version})。前置条件是本机已安装 gh 和 git,且 typst.toml 中的版本已准备好发布。

这个 Skill 与同类方案有什么区别?

源材料未提供其他 Typst 包发布工具的对比信息。与手动发布相比,其差异在于自动化了校验和提交流程。

常见问题

这个技能能用来发布我自己的 Typst 包吗?
不能。它硬编码了 rendercv 仓库的路径(src/rendercv/renderer/rendercv_typst/)、目标包目录(packages/preview/rendercv)和分支命名约定,仅服务于 RenderCV 项目自身的发布流程。
校验失败时会发生什么?
技能会收集全部失败的检查项并一次性报告,不会进入 fork/克隆/PR 阶段。例如版本号不一致时会明确指出哪些文件需要更新。
如果 typst/packages 已有一个打开的 rendercv PR 怎么办?
技能会询问你选择:更新现有 PR、关闭它并创建新 PR,或者中止操作。
需要什么权限和工具?
需要 GitHub CLI(gh)已登录并具备 fork typst/packages 的权限,还需要 git。克隆使用 --filter=blob:none --sparse 稀疏检出来减少下载量。

同仓库的其他 Skills

均来自 rendercv/rendercv

相关 Skills