
pr-create-from-body
by VisActor
VChart, more than just a cross-platform charting library, but also an expressive data storyteller.
SKILL.md
name: pr-create-from-body
description: 'Creates a GitHub Pull Request for the VChart project using a local markdown file as its body. This skill exclusively uses a logged-in gh CLI environment to operate.'
从本地文件创建 PR (pr-create-from-body)
概述
本技能用于读取一个本地 Markdown 文件作为 Pull Request 的正文,并在 GitHub 上创建该 PR。它是 pr-body-generate 技能的后续步骤,负责将准备好的内容发布出去。此技能仅支持通过 GitHub CLI (gh) 创建 PR。
前置条件
- GitHub CLI: 必须已安装并登录
ghCLI,且能访问目标仓库。此技能在执行gh时会显式忽略环境中的GITHUB_TOKEN,仅使用本地凭证(浏览器 OAuth/Keychain)进行认证。 - PR 正文文件: 必须存在一个包含 PR 正文的本地 Markdown 文件。通常由
pr-body-generate技能生成。 - 分支已推送: 源分支必须已经推送到远程仓库。
输入参数
| 参数 | 类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
title | string | 是 | (无) | Pull Request 的标题。 |
base | string | 否 | develop | PR 的目标分支。 |
head | string | 否 | (空) | PR 的源分支。如果为空,将自动推导当前分支。 |
bodyFile | string | 否 | ./.trae/output/pr.body.local.md | 包含 PR 正文的本地 Markdown 文件的路径。 |
draft | boolean | 否 | false | 是否将 PR 创建为草稿(Draft)状态。 |
labels | array | 否 | [] | 要附加到 PR 的标签列表。 |
输出与成功标准
- 主要输出 (
pr_url): 成功创建的 Pull Request 的 URL。 - 成功标准 (
pr_created): Pull Request 已在 GitHub 上成功创建。
执行步骤
-
参数与环境检查:
- Agent 会检查
title是否已提供。 - 确认
head分支,如果未提供则自动检测当前分支。 - 检查
bodyFile指定的文件是否存在且内容不为空。 - 检查
ghCLI 是否已安装并已登录,且当前目录映射到正确的 GitHub 仓库。 - 若当前会话存在
GITHUB_TOKEN,在后续调用中将通过清理该变量来避免其参与认证。
- Agent 会检查
-
(可选)提交变更: 如果
commitBeforeCreate设置为true且有未提交的变更,Agent 会先执行一次智能提交(类似于commit-smart技能)。 -
创建 PR:
- 使用
gh pr create命令,并通过--body-file参数直接传入正文文件;按需设置--base、--head、--title、--draft、--label等参数。 - 为确保仅使用 gh 本地凭证,调用时显式清除环境变量:
env -u GITHUB_TOKEN gh pr create ...。
- 使用
-
输出结果: 如果 PR 创建成功,Agent 会返回该 PR 的 URL。如果失败,则会返回详细的错误信息。
Quick Actions(快速操作示例)
使用 gh CLI 一键创建 PR
在 VChart 仓库根目录:
# 1. 确认 gh 已登录
gh auth login
# 2. 使用本地正文文件创建 PR(以 develop 为 base)
gh pr create \
-B develop \
-H <your-branch> \
-t "<your-title>" \
-F ./.trae/output/pr.body.local.md \
--label changelog \
--label test
说明:
pr-create-from-body在内部执行与上述命令等价的gh pr create。
错误处理与排查
当创建 PR 失败时,可以按以下顺序排查:
-
检查 gh 安装与登录状态
- 运行
gh --version确认命令可用。 - 运行
gh auth status确认已登录github.com,并具备访问VisActor/VChart的权限。 - 如提示正在使用
GITHUB_TOKEN,请执行env -u GITHUB_TOKEN gh auth login完成浏览器登录以建立本地凭证。
- 运行
-
确认仓库远程指向正确
- 在仓库根目录执行
git remote -v,确认origin指向 GitHub 上的VisActor/VChart。 - 执行
gh repo view验证gh能识别当前目录对应的仓库。
- 在仓库根目录执行
-
处理组织 SSO 授权问题
- 如果组织启用了 SSO,按
gh auth status提示完成 SSO 授权,或在浏览器中重新授权访问VisActor组织。
- 如果组织启用了 SSO,按
若以上步骤均正常但仍报错,建议记录错误信息(HTTP 状态码与提示内容),并根据提示进一步排查或联系仓库维护者。
何时使用 / 边界
- 使用时机:
- 在使用
pr-body-generate生成并(可选地)人工审查了 PR 正文之后,作为发布的最后一步。 - 当你有一个准备好的 Markdown 文件,并希望用它作为 PR 的描述来快速创建 PR 时。
- 在使用
- 边界:
- 此技能强依赖于一个已存在的、内容完备的本地正文文件。
- 它不会修改 PR 正文内容,只是“按原样”上传。
- 创建 PR 前,请确保你的
head分支已经包含了所有需要合并的提交,并已推送到远程仓库。
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 1000以上
1ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon
