Agent Skills
› areal-project/AReaL
› create-pr
create-pr
GitHub用于在当前分支创建或更新 GitHub PR。流程包括预检、Rebase、Squash提交、生成符合规范的Commit和PR描述,最后推送并调用gh命令创建或编辑PR,支持Draft模式。
Trigger Scenarios
用户要求为当前分支创建 Pull Request
用户要求更新现有的 Pull Request
Install
npx skills add areal-project/AReaL --skill create-pr -g -y
SKILL.md
Frontmatter
{
"name": "create-pr",
"description": "Rebase the current branch onto the latest base branch, squash local commits, generate a Conventional Commit message, and create or update the GitHub pull request."
}
Create Pull Request
Use this skill when the user asks to create or update a PR for the current branch.
Inputs
- Optional
--draft - Optional
--base <branch>(default:main)
Preconditions
- Verify the current branch is not
mainormaster. - Check for uncommitted changes with
git status --short. - Ensure
ghis available. - If there are uncommitted changes, stop and ask the user whether to commit or stash them first.
Workflow
Step 1: Check for an existing PR
- Run
gh pr view --json number,title,url,state,isDraft. - If a PR already exists, tell the user before rewriting history or force-pushing.
Step 2: Fetch and rebase
git fetch origin <base>
git rebase origin/<base>
- If rebase conflicts occur, abort the rebase and stop.
- Tell the user which files conflicted and ask them to resolve manually.
Step 3: Squash into one commit
git reset --soft origin/<base>
- Load the
commit-conventionsskill before generating the commit message. - Infer
typeandscopefrom the staged diff. - Keep the commit subject imperative and under about 72 characters.
Step 4: Generate PR title and body
- Use the squashed commit message style for the PR title.
- Follow the repository PR template at
.github/PULL_REQUEST_TEMPLATE.md. - Summarize user-facing changes, risk areas, test commands run, and skipped suites with reasons.
Step 5: Push and create or update the PR
- Push the branch.
- If history was rewritten, confirm before force-pushing.
- Create or update the PR with
gh pr createorgh pr edit. - Respect
--draftwhen requested.
Guardrails
- Never create a PR from
mainormaster. - Never silently force-push over an existing PR branch.
- Never bypass
commit-conventionsfor the squashed commit. - If
ghauthentication or remote permissions fail, stop and report the exact blocker.
Output
Report:
- Base branch used
- Final commit message
- PR title
- PR URL, if creation or update succeeded
- Any steps that were skipped or require user follow-up
Version History
- d99124e Current 2026-07-05 09:13


