一键导入
hixl-pr-review
HIXL 代码检视技能。用于检视 GitCode 上的 HIXL 项目 PR,当用户要求检视PR,审查PR时调用此skill。 自动分析代码变更,检查内存泄漏、安全漏洞和可读性,生成结构化报告并发布评论。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
HIXL 代码检视技能。用于检视 GitCode 上的 HIXL 项目 PR,当用户要求检视PR,审查PR时调用此skill。 自动分析代码变更,检查内存泄漏、安全漏洞和可读性,生成结构化报告并发布评论。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
HIXL 本地开发闭环:改码、按范围跑 UT、增量覆盖率估算、PR 前检视;开 PR 后配合既有 gitcode-pipeline 盯 CI,并基于 OpenLiBing 修复低级错误。修改 HIXL 源码/测试/构建脚本、 本地验证、/hixl-dev、CI 失败修复时使用。创建 PR 用 gitcode-pr,流水线轮询用 gitcode-pipeline。
在 Ascend 上定位 HIXL/ADXL/HIXL_CS 建链、传输问题。适用于用户明确要求诊断 HIXL,或日志中出现 HIXL、ADXL、HIXL_CS、HixlCSClient、Ascend direct transport 相关报错。
触发 GitCode PR 流水线,并循环查询流水线状态直到完成。当用户提到触发流水线、查看流水线状态、等待流水线结果、流水线失败、盯一下流水线、盯ci、看一下pr 12306的ci时自动使用此 skill。
用于生成对外api文档,当用户说生成接口文档,生成接口说明,增加接口说明,增加接口文档时使用该skill
读取 GitCode issue 详情和评论。当用户提到 GitCode issue 时必须使用此技能。 **必须触发此 skill 的场景**: - 查看/读取 issue:查看issue、看看issue、读取issue、打开issue、issue详情、issue是什么 - GitCode URL:gitcode.com/**/issues/**、issue链接 - 直接说编号:issue 123、#123、问题123 - 查看评论:issue评论、评论内容 **重要**:不要使用 WebFetch 或 curl,内容通过 JavaScript 动态加载。使用 GitCode API 获取。
使用 GitCode API 创建 Pull Request 和获取 PR 评论。当用户需要**创建** GitCode PR、将代码**推送并创建合并请求**、**获取 PR 评论**、**查看 PR 讨论**、**查看 PR 改动**或**删除 PR 评论**时使用此 skill。支持读取普通评论和行内(diff)评论,包括评论内容、文件路径、代码行号等详细信息。 **必须触发此 skill 的场景**(用户提到以下任何内容时使用): - 创建/提交 PR:创建PR、提个PR、发PR、做个PR、帮我PR、生成PR、需要PR、pull request、merge request - 推送代码到远程:push代码、推代码、把代码推上去、提交到远程、推送到gitcode、提交代码到GitCode - 合并请求:合并请求、代码合入请求、请求合并、merge request - PR模板/描述:PR模板、PR描述、PR格式 - 关联issue创建PR:关issue的PR、关联issue创建PR - 获取PR改动:查看PR变更、PR文件列表、PR改了什么、看PRdiff、获取PR文件 - **获取 PR 评论**:查看PR评论、PR评论、获取评论、read comments - **查看 PR 讨论**:PR discussions、查看讨论、discussions - **删除 PR 评论**:删除评论、删除PR评论、移除评论、delete comment、移除这条评论
| name | hixl-pr-review |
| description | HIXL 代码检视技能。用于检视 GitCode 上的 HIXL 项目 PR,当用户要求检视PR,审查PR时调用此skill。 自动分析代码变更,检查内存泄漏、安全漏洞和可读性,生成结构化报告并发布评论。 |
| license | CANN Open Software License Agreement Version 2.0 |
你是资深的 C/C++/Python 代码检视专家,专门负责检视 GitCode 上 HIXL 项目的 Pull Request。
/lgtm 标记检视这个PR: https://gitcode.com/cann/hixl/pull/666
检视这个PR: https://gitcode.com/cann/hixl/pull/666,只检查安全问题,不要自动打lgtm
查阅重点检视参考文档:
使用 GitCode API:
# 获取 PR 基本信息
curl -H "Authorization: Bearer $GITCODE_API_TOKEN" \
"https://api.gitcode.com/api/v5/repos/cann/hixl/pulls/666"
# 获取文件变更
curl -H "Authorization: Bearer $GITCODE_API_TOKEN" \
"https://api.gitcode.com/api/v5/repos/cann/hixl/pulls/666/files"
先检查 PR 元信息,再逐项执行 HIXL 专属“重点检查项”,最后执行下方通用检查项。重叠时以仓库专属版本为准。
每个 PR 都必须执行此检查。
检查 PR 标题是否正确使用了类型标签。依据 CONTRIBUTING.md 中的提交类型约定,PR 标题应以类型标签开头,后跟简短描述。格式宽松:类型外可加 [] 也可不加,冒号可有可无,大小写不敏感。
合法类型标签(来自 CONTRIBUTING.md,匹配时不区分大小写):
| 类型 | 说明 | 示例 |
|---|---|---|
| feat | 新功能 | feat: 添加用户注册功能 |
| bugfix | 修复 bug | bugfix: 修复登录态过期问题 |
| docs | 文档更新 | docs: 更新 API 使用说明 |
| style | 代码格式调整(不影响逻辑) | style: 调整代码缩进 |
| refactor | 重构(非功能新增/修复) | refactor: 优化用户服务类结构 |
| perf | 性能优化 | perf: 减少数据库查询次数 |
| test | 测试相关 | test: 添加登录功能单元测试 |
| chore | 构建/工具链变更 | chore: 更新 webpack 配置 |
| ci | CI 配置相关 | ci: 添加自动化测试流程 |
检查规则:
[] 或 【】(如 [feat] 或 【feat】)也可不加(如 feat): 或中文 :),也可不带冒号;冒号前后可有空格判定标准:
常见问题示例:
修复登录态过期问题 — 缺少类型标签fix: 修复登录态过期问题 — fix 不在合法列表中(应为 bugfix)bugfix: 修复登录态过期问题feat 添加用户注册功能[bugfix]: 修复登录态过期问题重点检查项(参考文件 hixl-review-focus.md)
当变更涉及信任边界入口函数(extern "C" 导出函数、公开 C API、Python 绑定、跨进程回调)时,必须执行此检查。如果修改不包含信任边界入口,则跳过。
不可信入参参数校验检查(参考文件 cpp-param-validation.md)
所有的 C++ 文件必须经过以下三个 C++ 规范检查。如果修改不包含 C++ 文件,则跳过下面文件加载和 C++ 检视流程。
C++ 通用编码规范检查(参考文件 cpp-general.md)
C++ 安全编码规范检查(参考文件 cpp-secure.md)
C++ 代码风格规范检查(参考文件 cpp-style.md)
所有的 Python 文件必须经过 Python 安全编码规范检查。如果修改不包含 Python 文件,则跳过下面文件加载和 Python 检视流程。
Python 安全编码规范检查(参考文件 python-secure.md)
所有 PR 修改涉及文档(.md)或日志输出时,必须执行以下检查。如果修改不涉及上述内容,则跳过。
文档与日志规范检查(参考文件 docs_specification.md):日志部分逐条比对第 1 章“规范列表”,文档部分按该文件第 2 章“文档写作规范”引用的社区规范检查。
重要:请务必遵守以下规则生成报告:
hixl-pr-review-reports文件夹下,文件名为“PR编号+检视日期”,例如“#666_2026-04-14.md”报告格式:
## 🤖 HIXL 代码检视报告
**PR**: #<pr_number> - <pr_title>
**严重性**: <✅ Low / ⚠️ Medium / ❌ High / 🔴 Critical>
**检视时间**: <YYYY-MM-DD HH:MM>
---
### 📊 检视结论
**<✅ 建议合入 / ⚠️ 建议修改后合入 / ❌ 需要修改>**
- **严重性**: <Low/Medium/High/Critical>
- **代码质量**: <优秀/良好/一般/需改进>
- **内存安全**: <✅ 无风险 / ⚠️ 有风险 / ❌ 存在问题>
- **安全性**: <✅ 无漏洞 / ⚠️ 有隐患 / ❌ 存在漏洞>
<简要评价>
---
### 📋 修改概述
<描述本次 PR 的主要变更内容>
---
### 🔍 详细检查
#### 0. 📋 PR 标题规范检查 <✅/⚠️/❌>
> 依据 [CONTRIBUTING.md](../../../CONTRIBUTING.md) 中的提交类型约定
| 检查项 | 结果 | 说明 |
|--------|------|------|
| 类型标签合法性 | <✅/⚠️/❌> | <PR 标题原文 + 标签是否在合法列表(feat/bugfix/docs/style/refactor/perf/test/chore/ci)中> |
| 格式规范性 | <✅/⚠️/❌> | <`类型: 描述` 或 `[类型]: 描述` 格式是否规范,含冒号、大小写、描述是否清晰> |
#### 1. 🎯 HIXL 重点检查项 <✅/⚠️/❌>
> 依据 [hixl-review-focus.md](./references/hixl-review-focus.md) 中的“重点检查清单”
| 规范编号 | 检查维度 | 结果 | 说明 |
|------|----------|------|------|
| <从重点检查清单读取的编号> | <从重点检查清单读取的检查维度> | <✅/⚠️/❌> | <发现、风险说明或 N/A 原因> |
| ... | ... | ... | ... |
#### 2. 不可信入参参数校验检查 <✅/⚠️/❌>
> 依据 [cpp-param-validation.md](../../../docs/zh/contributions/coding_standards/cpp-param-validation.md) 中的"校验检查清单"
| 编号 | 检查项 | 结果 | 说明 |
|------|--------|------|------|
| <从校验检查清单读取的编号> | <从校验检查清单读取的检查项> | <✅/⚠️/❌> | <发现、风险说明或 N/A 原因> |
| ... | ... | ... | ... |
#### 3. C++ 通用编码规范检查 <✅/⚠️/❌>
> 依据 [cpp-general.md](../../../docs/zh/contributions/coding_standards/cpp-general.md) 中的“规范列表”
| 规范编号 | 规范名称 | 结果 | 说明 |
|------|----------|------|------|
| <从规范列表读取的编号> | <从规范列表读取的规范名称> | <✅/⚠️/❌> | <发现、风险说明或 N/A 原因> |
| ... | ... | ... | ... |
#### 4. C++ 安全编码规范检查 <✅/⚠️/❌>
> 依据 [cpp-secure.md](../../../docs/zh/contributions/coding_standards/cpp-secure.md) 中的“规范列表”
| 规范编号 | 规范名称 | 结果 | 说明 |
|------|----------|------|------|
| <从规范列表读取的编号> | <从规范列表读取的规范名称> | <✅/⚠️/❌> | <发现、风险说明或 N/A 原因> |
| ... | ... | ... | ... |
#### 5. C++ 代码风格规范检查 <✅/⚠️/❌>
> 依据 [cpp-style.md](../../../docs/zh/contributions/coding_standards/cpp-style.md) 中的“规范列表”
| 规范编号 | 规范名称 | 结果 | 说明 |
|------|----------|------|------|
| <从规范列表读取的编号> | <从规范列表读取的规范名称> | <✅/⚠️/❌> | <发现、风险说明或 N/A 原因> |
| ... | ... | ... | ... |
#### 6. Python 安全编码规范检查 <✅/⚠️/❌>
> 依据 [python-secure.md](../../../docs/zh/contributions/coding_standards/python-secure.md) 中的“规范列表”
| 规范编号 | 规范名称 | 结果 | 说明 |
|------|----------|------|------|
| <从规范列表读取的编号> | <从规范列表读取的规范名称> | <✅/⚠️/❌> | <发现、风险说明或 N/A 原因> |
| ... | ... | ... | ... |
#### 7. 文档与日志规范检查 <✅/⚠️/❌>
> 依据 [docs_specification.md](../../../docs/zh/contributions/coding_standards/docs_specification.md)
| 类别 | 规范编号/检查项 | 结果 | 说明 |
|------|----------------|------|------|
| 日志规范 | <从 docs_specification.md 第 1 章规范列表读取的编号与名称> | <✅/⚠️/❌> | <发现、风险说明或 N/A 原因> |
| 文档写作规范 | <按 docs_specification.md 第 2 章:community《文档写作规范》+ 规则 2.1> | <✅/⚠️/❌> | <发现的问题或 N/A> |
---
### 💡 改进建议
1. **<类别>**: <具体建议,标明涉及的文件、行号和函数名>
2. **<类别>**: <具体建议,标明涉及的文件、行号和函数名>
---
### ✅ 代码亮点
- <列出做得好的地方>
---
**总体评价**: <总结>
发布评论前向用户确认是否需要修改或发布检视报告,发布评论时使用 GitCode API:
curl -X POST \
-H "Authorization: Bearer $GITCODE_API_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"body\":\"$(echo "$REPORT" | sed 's/"/\\"/g' | sed ':a;N;$!ba;s/\n/\\n/g')\"}" \
"https://api.gitcode.com/api/v5/repos/cann/hixl/pulls/666/comments"
如果严重程度为 Low 或 Medium,且 auto_lgtm=true:
curl -X POST \
-H "Authorization: Bearer $GITCODE_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"body":"/lgtm"}' \
"https://api.gitcode.com/api/v5/repos/cann/hixl/pulls/666/comments"
| 等级 | 条件 | 是否合入 | LGTM |
|---|---|---|---|
| Low | 仅有建议性改进 | ✅ 可以 | ✅ 自动 |
| Medium | 有一般性问题 | ⚠️ 建议修改后 | ✅ 自动 |
| High | 有严重问题 | ❌ 需要修改 | ❌ 不发布 |
| Critical | 有安全漏洞或严重内存问题 | ❌ 需要修改 | ❌ 不发布 |
获取 GitCode API Token
api, write_repository配置环境变量
export GITCODE_API_TOKEN=your_token_here
或使用配置文件
mkdir -p ~/.hixl-pr-review
echo "GITCODE_API_TOKEN=your_token_here" > ~/.hixl-pr-review/config
chmod 600 ~/.hixl-pr-review/config
{
"severity": "low",
"can_merge": true,
"issues_count": 2,
"comment_posted": true,
"lgtm_posted": true,
"report_url": "https://gitcode.com/cann/hixl/pull/10#note_12345"
}