关于 create-pr
create-pr 是 jackin' 的开发技能,用于为小型、自包含的修复准备拉取请求。它依据仓库规则和工具,指导创建分支、提交更改、生成 PR 正文并检查渲染结果。
主要功能
- 01从 main 切换到工作分支
- 02内联提交并遵循 Conventional Commits 与 DCO
- 03根据差异和模板生成 PR 正文
- 04按更改类型选择验证步骤
- 05检查 PR 正文渲染结果
适用场景
- 01为拼写修正或文档调整创建 PR
- 02提交依赖升级或单行修复
- 03按仓库验证步骤准备 PR
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jackin-project/ jackin-dev --skill create-pr安装后在 Claude Code 中输入/create-pr确认已加载。
详细介绍
create-pr
在 jackin' 仓库中针对小型修复创建 PR——例如拼写错误、依赖项升级、单行 Bug 修复、文档微调——无需添加路线图条目。也是其他技能共用的 PR 操作流程。直接在此流程中提交;无需单独的提交技能。
jackin' 规则文件会自动加载——PULL_REQUESTS.md、.github/ Agent 规则、BRANCHING.md、COMMITS.md。此技能只负责串联这些规则,不会重复说明。请阅读这些文件以了解完整规则。
适用场景
- 操作者运行
/jackin-dev:create-pr。 - 小型、独立的变更(无需设计,无需路线图条目)。
不适用场景
- 值得加入路线图的功能/想法 →
/jackin-dev:propose。 - 实现已最终确定的路线图条目 →
/goal Implement <slug>.md。
参数
--branch <name>— 指定分支名称。--auto-branch— 自行选择分支名称,无需确认。--title <msg>— 提交 + PR 标题(否则根据差异生成,遵循 Conventional Commits)。
流程
- 创建分支。 切勿提交到
main。如果当前在main,则根据变更创建一个以fix/、chore/、docs/或refactor/为前缀的分支。除非指定了--auto-branch或--branch,否则先提出名称并确认。 - 提交。 有未提交的变更 → 按照
COMMITS.md直接提交:使用 Conventional Commits 格式的主题,并进行 DCO 签署(git commit -s)。如果已提交 → 跳过。然后运行git push。 - 构建正文。
[bin]运行cargo xtask pr body --base origin/main > /tmp/pr-body.md。分类后的变更摘要(rust / docs / capsule / schema + 文件列表)会输出到 stderr——请阅读;正文框架会写入文件:运行时从.github/PULL_REQUEST_TEMPLATE.md读取的 PR 模板,其中已选好并逐字节精确填入本地验证区块,正文部分则保留占位符。区块选择规则:始终包含 Checkout + 隔离环境;Rust 变更包含 Rust 测试;docs/**变更包含 Docs 检查 + 浏览验证;crates/jackin-capsule/变更包含 jackin-capsule 冒烟测试(必须在任何console/load操作之前添加--capsule);触及版本化 schema 时包含 schema 迁移冒烟测试。 - 填写并创建。
[agent]编辑/tmp/pr-body.md——根据摘要 + 差异撰写正文部分(Summary、What ships、Behavior changes);删除不需要的可选部分。然后运行gh pr create --body-file /tmp/pr-body.md。正文已由二进制程序写入,因此无需引用 heredoc。 - 验证渲染效果。 运行
gh pr view <PR> --json body -q .body——确认你添加的正文渲染正常(手动编辑时没有遗留的\`` 或$)。如有问题,使用gh pr edit --body-file` 修复。 - 回复。 分享 PR URL,并在最终消息中重述本地验证命令。
常见错误
- 提交到
main,而不是分支。 - 手动构建正文或模板,而不是运行
cargo xtask pr body——它会读取模板并为你选择验证区块。 - 发布仍留有正文占位符的框架。
- 在正文中使用已部署的文档 URL(合并后会失效)——请按名称引用文档。
工具
cargo xtask pr body(jackin' 仓库)会输出变更摘要和模板框架,并根据差异自动选择本地验证区块。与 propose 共用。二进制程序负责保证操作部分正确(区块选择、capsule 顺序、命令文本精确无误、heredoc 引用);Agent 负责撰写正文。
评论
支持 Markdown