mcpField
P
piv-create-pr

piv-create-pr

github.com/coleam00开发722227 次安装3 周前更新
代码仓库

关于 piv-create-pr

piv-create-pr 是一项用于在实现完成后创建 GitHub 拉取请求的开发技能。它会检查仓库状态、整理变更背景,并交接给后续评审。

主要功能

  1. 01检测仓库基准分支
  2. 02检查分支与提交状态
  3. 03整理变更及验证信息
  4. 04使用 gh 创建拉取请求
  5. 05输出评审所需的 PR 信息

适用场景

  1. 01完成特性分支后创建 PR
  2. 02根据提交和报告编写 PR 正文
  3. 03检查分支是否已有 PR

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/coleam00/skills --skill piv-create-pr

安装后在 Claude Code 中输入/piv-create-pr确认已加载。

详细介绍

创建 PR:打开拉取请求,交由审核

这是 PIV 循环中的 交付 步骤:实现在功能分支上已提交;现在打开 PR, 以便进行审核(先由 piv-review-pr 智能体审核关卡审核,再由人工审核)。

阶段 0 — 检测基分支

不要将 main 硬编码。请解析:

  1. 如果 $ARGUMENTS 包含 --base <branch>,使用该分支。
  2. 否则:git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin@@'
  3. 备用方案:git remote show origin 2>/dev/null | grep 'HEAD branch' | awk '{print $NF}'
  4. 最后尝试:main。将其存储为 {base}。

阶段 1 — 验证 git 状态

git branch --show-current
git status --short
git log origin/{base}..HEAD --oneline
状态操作
位于 {base} 分支停止:"请先创建功能分支(此任务应位于自己的分支上)。"
有未提交的更改停止:"打开 PR 前请先提交(或暂存)更改。"
没有领先 {base} 的提交停止:"没有内容可创建 PR。"
此分支已有 PR(gh pr list --head $(git branch --show-current) --json url)停止并打印 URL。
状态干净、有领先提交且没有 PR继续

阶段 2 — 收集 PR 正文所需的上下文

  • **项目约定:**如果 .claude/references/conventions.md 存在,请阅读其中的 ## pr 部分——其中的规则 优先于下面的默认模板(包括章节、语气以及必须说明的内容)。该文件用于记录项目的 特定要求;此技能保持通用。
  • 提交:git log origin/{base}..HEAD --pretty=format:"- %s"
  • 文件:git diff --stat origin/{base}..HEAD
  • 实现报告(如果 piv-implement 已生成报告——.claude/reports/<…>-report.md):提取摘要、 验证结果和已记录的偏差(这些内容应放入 PR 正文,以便告诉审核者哪些变更是有意为之)。
  • 关联的任务单/问题:检查提交信息或分支名称中是否有 ACC-…、#123、Fixes #…。
  • PR 模板:如果 .github/PULL_REQUEST_TEMPLATE.md 存在,请填写;否则使用下面的默认模板。

阶段 3 — 推送并打开 PR

git push -u origin HEAD
gh pr create --base "{base}" --title "{type}: {concise description}" --body "$(cat <<'EOF'
## Summary
{1-2 sentences: what this ticket delivers}

## What changed
{commit summaries}

## Validation
- Tests / type-check / lint: {pass/fail from the implementation report or a fresh run}
- Manual check: {what was exercised, or "pending review"}

## Notes for the reviewer
{documented deviations from the plan — intentional decisions — or "none"}

## Linked
{ticket / issue refs, or "none"}

_Ready for review._
EOF
)"

({type} = 根据工作内容选择 feat/fix/refactor/… 未准备好接受正式审核时,请使用 --draft。)

输出

gh pr view --json number,url,title,baseRefName,headRefName

报告 PR 编号和 URL、基准分支 ← 头部分支,并注明**“已准备好审核 → 运行 piv-review-pr <number>,然后由人工批准。”** 这是交接点:Agent 的循环到打开 PR 为止;审核和合并是后续关卡。

注意事项

  • 理念上与工具无关:此技能使用 GitHub(gh);在 GitLab 上,同样的操作是“打开合并请求”, 在其他平台则是“标记为准备好审核”。如果是没有远程仓库的独立开发者?跳过 PR——在 {base} 上 提交,并在继续之前自行审核差异。
  • 为并行工作做好准备:每个任务单使用一个分支 → 每个任务单对应一个 PR,这正是让工作树并行处理 (同时运行彼此独立的任务)保持清晰的方式。

评论

支持 Markdown