
auto-flow
by VisActor
VChart, more than just a cross-platform charting library, but also an expressive data storyteller.
SKILL.md
name: auto-flow description: 'Orchestrates a complete, standardized workflow for preparing a pull request in the VChart project. Use this skill to run a sequence of tasks: automated testing, changelog generation, smart commit, PR body creation, and PR submission. It provides a fixed 5-step process with manual checkpoints, ensuring quality and consistency for every contribution.'
PR 准备全流程编排 (auto-flow)
概述
本技能是一个固定的五步编排工作流,旨在自动化 VChart 项目从代码变更到创建 Pull Request 的整个准备过程。它将一系列独立的子技能(测试、变更日志、提交、PR 内容生成、PR 创建)串联成一个连贯的、带有人工检查点的流程。
前置条件
- 环境: 必须在配置了 Rush、Git 的有效工作区中执行(已安装 Node、pnpm 与 Rush)。
- 凭证: 需要本机已安装并登录的 GitHub CLI (
gh),用于最终创建 PR。你可以通过gh auth status验证登录状态。 - 仓库状态: 确保当前目录映射到 GitHub 上的
VisActor/VChart仓库(git remote -v与gh repo view均正常)。 - 分支推送: 开发分支需已推送到远程,否则无法创建 PR(
git push -u origin <branch>)。
输入参数
本技能的流程是固定的,不通过参数选择执行步骤。它会按顺序执行所有五个步骤。
| 参数 | 类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
baseBranch | string | 否 | develop | 整个流程所围绕的基准分支,用于差异计算和 PR 目标。 |
topic | string | 否 | (空) | 用于优化 PR 标题的可选主题。 |
message | string | 否 | (空) | 用于 changelog 和 commit 的自定义消息。 |
bumpType | string | 否 | auto | Rush 变更日志的版本升级类型。 |
head | string | 否 | (空) | 当前开发分支。如果为空,将自动推导。 |
labels | array | 否 | [changelog, test] | 附加到最终 PR 的标签。 |
输出与成功标准
- 主要输出:
autotest_report: 单元测试报告文件路径。rush_change_entries: 生成的 Rush 变更条目列表。commit_message: 创建的提交信息。pr_url: 最终创建的 Pull Request 链接。
- 成功标准:
flow_step_completed: 流程中的每一步或整个流程已成功完成。
执行步骤
本技能按固定顺序依次执行以下子技能,并在每一步之间设置人工检查点:
-
差异驱动单测
- 执行:
auto-test技能。 - 目的: 为代码变更生成并运行单元测试。
- 报告输出: 默认总是将报告写入
./.trae/output/autotest.report.local.md(即auto-test的tempReportPath),即便本次没有生成新的测试用例也会包含“无新增自动化测试 (No new tests generated)”等说明。 - 检查点: Agent 会返回测试报告路径。你需要检查报告中的测试覆盖率和结果,确认无误后指示 Agent 继续。
- 执行:
-
生成 Rush 变更日志
- 执行:
changelog-rush-smart技能。 - 目的: 根据提交历史创建
common/changes/**下的变更条目。 - 检查点: Agent 会提示已生成变更条目。你需要检查这些文件的内容是否准确反映了你的变更,然后指示 Agent 继续。
- 执行:
-
智能提交
- 执行:
commit-smart技能。 - 目的: 将所有变更(代码、测试、changelog 文件)创建一个符合规范的 Git 提交并推送到远程。
- 检查点: Agent 会返回生成的提交信息和推送结果。你需要确认提交信息是正确的,然后指示 Agent 继续。
- 执行:
-
生成 PR 正文
- 执行:
pr-body-generate技能。 - 目的: 自动填充 PR 模板,生成包含所有上下文信息的 PR 正文。
- 输入输出约定: 默认会从
./.trae/output/autotest.report.local.md读取 auto-test 生成的报告摘要,并将生成的正文写入./.trae/output/pr.body.local.md。即使缺少 changelog 或自动化测试报告,也会生成一个结构完整的最小正文,并在相应小节中标注“暂无 changelog”或“尚未提供自动化测试报告”等说明。 - 检查点: Agent 会返回生成的 PR 正文预览和本地文件路径。你应审阅正文内容,确保其完整和准确(可在此步之后手动修改文件),然后指示 Agent 继续。
- 执行:
-
创建 PR
- 执行:
pr-create-from-body技能。 - 目的: 使用上一步生成的正文文件,在 GitHub 上创建 Pull Request。
- 执行方式: 技能使用已登录的
ghCLI 创建 PR(gh-only)。确保分支已推送、标题与正文文件路径正确。 - 检查点: Agent 会返回最终的 PR 链接。你需要访问链接确认 PR 是否按预期创建。
- 执行:
故障排查(分步)
-
Step 1: auto-test
- 常见问题:依赖未安装、测试命令失败、覆盖率采集异常
- 处理建议:在仓库根目录执行
rush install,针对项目执行rush run -p <project> -s test与test-cov;检查./.trae/output/autotest.report.local.md
-
Step 2: changelog-rush-smart
- 常见问题:
rush change未生成条目、重复条目 - 处理建议:确认
develop...HEAD的变更存在;已有覆盖当前提交的条目时无需重复生成
- 常见问题:
-
Step 3: commit-smart
- 常见问题:误提交
.trae/skills等环境目录、远程不存在 - 处理建议:执行前
git status检查;必要时git restore --staged .trae/skills;确保远程分支存在并可推送
- 常见问题:误提交
-
Step 4: pr-body-generate
- 常见问题:模板选择错误、正文未包含必要信息
- 处理建议:确认语言模板(中文/英文);检查
Changelog与自测小节;必要时手动编辑.trae/output/pr.body.local.md
-
Step 5: pr-create-from-body
- 常见问题:
gh未登录、分支未推送、SSO 授权缺失 - 处理建议:
gh auth status、git remote -v、gh repo view;确保git push -u origin <branch>;参考docs/GH_CLI.md的详细安装与使用指南
- 常见问题:
Quick Actions(PR 创建失败时的人工兜底)
# 1) 登录 gh(如尚未登录)
gh auth login
# 2) 使用本地正文文件创建 PR(仓库根目录)
gh pr create \
-B develop \
-H <your-branch> \
-t "<your-title>" \
-F ./.trae/output/pr.body.local.md \
--label changelog \
--label test
何时使用 / 边界
- 使用时机:
- 当你完成一个功能或修复,准备发起一个完整的、高质量的 Pull Request 时,这是推荐的标准化流程。
- 特别适用于发布前准备工作,确保所有检查项(测试、changelog)都已完成。
- 边界:
- 此技能是一个编排层,它不执行实际工作,而是调用其他技能。因此,它的成功依赖于所有子技能的正确配置和执行。
- 流程中的任何一步失败,整个流程都会中断,并报告失败的步骤和原因。
使用示例
你: “启动
auto-flow流程,为我的新功能做发布准备。”Agent: (执行
auto-test) “第一步:测试已完成,报告位于.../autotest.report.local.md。请检查后告诉我是否继续。”你: (检查报告后) “继续。”
Agent: (执行
changelog-rush-smart) “第二步:变更日志已生成。请检查common/changes/目录。确认无误后,请告诉我是否继续。”你: “继续。”
Agent: (继续执行后续步骤,并在每一步后请求确认)
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 1000以上
1ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon
