跳到正文
cccskills
免费在 GitHub 公开

pr-review

Review FastGPT pull requests in stages, starting with the intended change and key execution paths. Check security, performance, tests, and compatibility, then organize findings by severity into a review report and line-level comments.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

仅当用户明确手动指定使用 pr-review skill 时触发;不要因为用户传入 PR 链接、要求 review 或要求代码审查而自动触发。

集成工具GitHub
查看安装方法

适用场景

  • Checking a pull request before merging
  • Reasoning through normal, edge, and error cases
  • Assessing API and database compatibility risks
  • Preparing severity-ranked findings and line-level comments

包含的文件(11)

  • SKILL.md7.0 KB
  • backend-quality/error-handling.md2.8 KB
  • backend-quality/performance.md4.2 KB
  • backend-quality/security.md4.7 KB
  • frontend-quality/react-performance.md4.2 KB
  • frontend-quality/typescript.md4.0 KB
  • style/db.md1.6 KB
  • style/front.md2.0 KB
  • style/logger.md3.2 KB
  • style/package.md1.4 KB
  • style/service-decoupling.md7.4 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

PR Review 代码审查技能

按阶段对 Pull Request 进行系统性审查,先验证需求理解与逻辑正确性,再并行进行多维度质量检测,最后提交审查报告。

触发约束:本 skill 必须由用户明确点名 pr-review、$pr-review 或“使用 pr-review skill”才可使用。普通 PR 链接、review 下这个 PR、帮我代码审查 等请求不应自动触发本 skill。


步骤 0:拉取代码

使用以下命令无需切换分支,直接使用 PR 编号即可:

# 获取 PR 基本信息
gh pr view <number> --json number,title,body,author,state,headRefName,baseRefName,additions,deletions,files

# 获取完整 diff
gh pr diff <number>

# 查看 commit 历史
gh pr view <number> --json commits --jq '.commits[].messageHeadline'

# 检查 CI 状态
gh pr checks <number>

如需在本地运行 tsc / 单元测试,使用 git worktree 创建独立目录,不影响当前分支:

# 1. 拉取 PR 代码到临时分支
git fetch upstream pull/<number>/head:pr/<number>

# 2. 在独立目录检出(与当前工作区完全隔离)
git worktree add ~/pr-worktrees/pr-<number> pr/<number>

# 3. 进入该目录安装依赖、运行测试
cd ~/pr-worktrees/pr-<number>
pnpm install
pnpm tsc --noEmit          # 类型检查
pnpm test                  # 单元测试

# 4. 审查完毕后清理
cd -
git worktree remove ~/pr-worktrees/pr-<number>
git branch -D pr/<number>

第一阶段:需求理解与逻辑验证

目标:理解本次 PR 的意图,并通过阅读代码来推理测试用例是否能通过。

1.1 需求总结

阅读 PR 标题、描述和 diff,用自己的语言总结:

  • 本次 PR 的核心目的是什么?
  • 改动了哪些关键模块?
  • 对外部接口或数据结构是否有变更?

1.2 测试推理

充当测试角色,针对 PR 的核心改动,提出 3~5 个关键测例,然后在代码中找到对应逻辑进行推理校验:

  • 正常路径:主流程是否按预期运行?
  • 边界条件:空值、极大值、并发等边界是否被处理?
  • 异常路径:错误输入或依赖失败时行为是否正确?

校验方式:直接阅读相关代码,推理每个测例的执行路径,确认逻辑能通过。如果代码中存在对应单元测试,也一并检查。

⚠️ 阶段门控

如果第一阶段发现需求理解存在严重歧义或核心逻辑存在明显错误(如测例推理无法通过),立即跳过后续阶段,直接进入"提交评论"步骤,在报告中标明阻塞原因,请求作者澄清或修复后再继续审查。


第二到第六阶段:并行深度审查

第一阶段通过后,以下五个阶段可以并行执行,彼此独立,互不依赖。


第二阶段:后端代码质量 🔒

聚焦后端(packages/service/、projects/app/src/pages/api/、projects/app/src/service/)的质量问题,完成以下检查清单:


第三阶段:前端代码质量 🎨

聚焦前端(projects/app/src/、packages/web/)的质量问题,完成以下检查清单:

第四阶段:代码风格规范 📐

对照 FastGPT 各项规范逐一检查,完成以下检查清单:


第五阶段:测试覆盖 🧪

  • 新增的核心业务逻辑是否有对应单元测试(test/ 或 projects/*/test/)?
  • 测试是否覆盖了正常路径、边界条件和错误路径?
  • 如果没有测试,评估缺失测试的风险等级(高风险逻辑无测试应标记为 🔴)。

第六阶段:回归风险检测 🔄

  • 接口兼容性:对外 API 是否有 breaking change(字段删除、类型变更、行为变更)?
  • 数据库兼容性:schema 变更是否向后兼容?旧数据是否需要迁移?
  • 依赖影响:修改的公共模块(packages/global/、packages/service/)是否会影响其他调用方?
  • 配置变更:是否新增了必填配置项,且未提供默认值或迁移说明?

最终步骤:提交审查报告

收集所有阶段的问题

汇总各阶段发现的问题,按严重程度分类:

  • 🔴 严重(必须修复才能合并)
  • 🟡 建议(改进代码质量)
  • 🟢 可选(优化建议)

提交行级代码评论

GitHub CLI 不支持行级评论,需通过 GitHub API 提交:

REPO=$(gh repo view --json nameWithOwner -q .nameWithOwner)

cat > /tmp/review-data.json << 'EOF'
{
  "body": "## 📊 代码审查总结\n\n详细意见请查看下方行级评论。",
  "event": "COMMENT",
  "comments": [
    {
      "path": "文件路径",
      "line": 行号,
      "body": "🔴 **问题描述**\n\n**建议**:\n```typescript\n// 修复示例\n```"
    }
  ]
}
EOF

gh api repos/$REPO/pulls/<number>/reviews \
  --method POST \
  --input /tmp/review-data.json

审查报告模板

# PR Review: {PR Title}

## 📋 需求理解
{第一阶段总结:PR 的核心目的与改动范围}

## 🧪 逻辑验证
{列出提出的测例及推理结果,标明是否通过}

## ⚠️ 问题汇总

### 🔴 严重问题({count} 个,必须修复)
{问题列表,行级评论已标注}

### 🟡 建议改进({count} 个)
{问题列表}

### 🟢 可选优化({count} 个)
{问题列表}

## ✅ 做得好的地方
{列出值得肯定的实现}

## 🚀 审查结论
{通过 / 需修改 / 阻塞(说明原因)}

命令参考

场景命令
请求修改gh pr review <number> --request-changes --body-file /tmp/review.md
批准 PRgh pr review <number> --approve
仅评论gh pr review <number> --comment --body-file /tmp/review.md

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Integrate new FastGPT resources, such as AgentSkill or Plugin, with permission management. Choose an integration guide based on resource hierarchy and permission inheritance, locate the relevant code, and review a checklist for missing implementation steps.

中文简介正在准备中。当前显示英语简介。

  • Adding permission support to a new FastGPT resource
  • Choosing an integration path based on permission inheritance
  • Finding code locations for permission definitions and checks
labring/FastGPT3万2026年10月16日 更新

Develop and review FastGPT APIs with consistent input and output checks, TypeScript types, and OpenAPI documentation. It guides the use of Zod schemas, definitions that describe and validate data, alongside permission checks and reusable structures.

中文简介正在准备中。当前显示英语简介。

  • Adding a new FastGPT API route
  • Changing API inputs or responses
  • Reviewing API validation and documentation
labring/FastGPT3万2026年10月16日 更新

Keep FastGPT build and test workflows aligned across GitHub Actions and Forgejo Actions. Adapt registry destinations, credentials, proxy settings, and platform-specific steps so the corresponding workflows support the internal network environment.

中文简介正在准备中。当前显示英语简介。

  • Synchronizing CI changes across GitHub and Forgejo
  • Adapting image builds for an internal network
  • Checking pull requests for missing workflow updates
labring/FastGPT3万2026年10月16日 更新

Retire a FastGPT workflow node while preserving existing workflows. The skill guides changes to templates, execution handlers, and interface references so the node disappears from creation menus but still loads, runs, and displays a replacement notice.

中文简介正在准备中。当前显示英语简介。

  • Retiring a FastGPT workflow node
  • Hiding a node from creation menus
  • Preserving existing workflows during node retirement
labring/FastGPT3万2026年10月16日 更新

doc-i18n

免费

Translate FastGPT documentation from Chinese into natural English for North American readers. Follow the shared product glossary, preserve document structure and code, synchronize navigation files, and check for missing translations or English pages that need updates.

中文简介正在准备中。当前显示英语简介。

  • Updating English docs after changes to Chinese pages
  • Translating a specified documentation folder
  • Synchronizing English navigation with translated pages
labring/FastGPT3万2026年10月16日 更新

Deploy FastGPT on your own server using its official installation script and Docker Compose, which runs its services together. Check service health and access, investigate deployment problems, and receive the access URL, initial login details, and next steps.

中文简介正在准备中。当前显示英语简介。

  • Setting up FastGPT on your own server
  • Checking service health after deployment
  • Investigating port conflicts or container startup failures
labring/FastGPT3万2026年10月16日 更新

查看 labring 的全部技能

报告此技能的问题