RenderCV Typst 包发布助手
自动校验 rendercv-typst 包的完整性,并 fork、克隆 typst/packages 仓库,创建发布新版本的 Pull Request。
技能流程透明:禁用自动触发(disable-model-invocation)、发布前多项校验、遇到已有 PR 时询问用户、失败即停止并逐项报告。扣分点:步骤8直接 commit/push 并创建对外 PR,属于外部可见操作但无最终用户确认步骤;`git reset --hard` 虽作用于缓存克隆,但未说明对本地未提交更改的后果与回滚方式;fork/clone 依赖 gh 的认证权限范围未披露。
步骤顺序清晰、校验聚合报告、明确禁止跳步,失败信息具体(指出缺失文件)。扣分点:全部依赖 gh CLI、GitHub 网络可达性和上游仓库结构(packages/preview/rendercv 目录约定为硬编码假设),未提供这些依赖不可用时的诊断指引;静态评审无法验证脚本可运行性(上限10)。
受众明确(rendercv 维护者发布 Typst 包)、边界清楚、disable-model-invocation 避免误触发,且版本一致性、主题示例完整性检查定义精确。扣分点:核心功能完全依赖 GitHub/gh,从中国大陆网络可能不可达,未披露该环境限制;无中文支持说明。
单一 SKILL.md 结构分层良好(校验→准备→执行→报告),副本排除规则明确。扣分点:技能本身无版本号、变更记录或已知限制章节;发布目标的目录约定硬编码,上游若变更无更新路径说明;发布者身份未经注册表验证,维护责任仅能从仓库推断。
任务目标具体且流程完整到 PR URL 反馈,边际价值明确(自动化易出错的多步发布流程)。扣分点:静态评审未验证关键路径实际产出(上限7);PR body 模板中的 checkbox 预勾选('I have read and followed')可能生成与事实不完全相符的提交声明。
仅源码可审计,无针对本技能路径的测试或 CI 覆盖(仓库的 evals 针对 CV 生成技能,非本发布技能),无第三方执行证据(上限5内取低值)。
- 该技能面向 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、克隆位置、分支名和警告。
- RenderCV 维护者发布 rendercv-typst 包新版本时,想自动完成校验和提交流程
- 发布前发现版本号在多个文件间不一致,需要一次性列出所有需更新的文件
- 担心某个 README 展示的主题缺少对应的示例 .typ 文件,需要强制核查
- typst/packages 已有未关闭的 rendercv PR,需要决定更新、关闭重开还是中止
- 想确保遵循 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 包发布工具的对比信息。与手动发布相比,其差异在于自动化了校验和提交流程。