Skip to content
Back to skills

Pr

ASecurity

Use when the user invokes /pr or asks to push changes and open a pull request, after commits are ready to be pushed to a remote branch and merged into the main branch.

  • 141 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 9, 2026
code-qualitybashgit

Works with

  • claude code
  • cli

Security analysis

A100/100

Scanned September 9, 2026

npx -y skills add ZhangShenao/harness9 --skill pr --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Pr?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Pr
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/zhangshenao-harness9-harness9/badge)](https://www.skillsdirectory.com/skills/zhangshenao-harness9-harness9)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: pr
description: Use when the user invokes /pr or asks to push changes and open a pull request, after commits are ready to be pushed to a remote branch and merged into the main branch.
---

# pr — Push & Pull Request

## Overview

将本地提交推送到远程分支,并使用 `gh` CLI 创建 Pull Request,目标为仓库主分支。

> **默认行为**:所有 PR 均以 **Draft** 模式创建(`--draft`),避免误操作导致未经审查的代码被直接 merge。需要正式发起 Review 时,由用户在 GitHub 上手动将 Draft 转为 Ready for Review。

## 前置条件检查

1. 确认本次对话中已执行过 `/commit`,且有新提交未推送
2. 确认当前分支**不是** `main` / `master`(若在主分支,停止并提示用户切换到功能分支)
3. 确认 `gh` CLI 已登录:`gh auth status`

## 执行步骤

### 1. 了解当前分支状态

```bash
git branch --show-current          # 当前分支名
git log --oneline origin/HEAD..HEAD  # 待推送的提交列表
git diff origin/HEAD...HEAD --stat   # 本次 PR 涉及的文件变更
```

### 2. 确定目标分支

按以下顺序判断:

1. 仓库默认分支(`gh repo view --json defaultBranchRef -q .defaultBranchRef.name`)
2. 若无法获取,依次尝试 `main` → `master`
3. 仍不确定时,询问用户

### 3. 推送到远程

```bash
git push -u origin <当前分支名>
```

若远程已有同名分支且有分歧,**不使用 `--force`**,先告知用户手动处理冲突。

### 4. 起草 PR 内容

根据 `git log` 和 `git diff` 的输出,整理:

- **标题**:70 字符以内,描述本次变更的核心目的
- **正文**:包含变更摘要(2-4 条要点)和测试计划

### 5. 创建 Pull Request

**始终使用 `--draft` 标志**,避免误操作导致 PR 被直接 merge。

```bash
gh pr create \
  --draft \
  --base <目标分支> \
  --title "<PR 标题>" \
  --body "$(cat <<'EOF'
## Summary
- <要点 1>
- <要点 2>

## Test Plan
- [ ] <测试项 1>
- [ ] <测试项 2>
EOF
)"
```

**禁止**在 PR 正文中添加任何 AI 工具相关的标注,例如 `🤖 Generated with Claude Code` 或类似内容。

### 6. 输出结果

返回 PR URL,告知用户 PR 已创建成功。

## 常见错误

| 问题 | 处理 |
|------|------|
| `gh` 未登录 | 提示用户执行 `! gh auth login` |
| 当前分支无新提交 | 告知用户没有可推送的内容,建议先执行 `/commit` |
| 该分支已存在 PR | 使用 `gh pr view` 查看现有 PR,提示用户是否需要更新 |
| 推送被拒绝(non-fast-forward) | 不强制推送,提示用户检查远程分支状态 |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.