원클릭으로
ascendc-code-review
Ascend C 代码检视技能。基于假设检验方法论对代码进行安全规范检视。当用户提供代码片段和检视规则描述时,可使用此技能进行代码检视,使用时必须明确提供:代码片段和检视规则描述。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Ascend C 代码检视技能。基于假设检验方法论对代码进行安全规范检视。当用户提供代码片段和检视规则描述时,可使用此技能进行代码检视,使用时必须明确提供:代码片段和检视规则描述。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when the user wants to commit changes, push to remote, and open a pull request in one step. Triggers on requests like "commit and push", "open a PR", "create pull request", or "ship this".
Ascend C API 使用最佳实践。提供算术、归约、数据搬运、Buffer管理、精度转换等 API 的正确用法和限制说明。触发:用户询问具体 API 用法(如"DataCopy 怎么用")、遇到 API 参数错误或限制报错(如 repeatTimes、对齐问题)、需要查看 API 最佳实践或避坑指南时。
Ascend C 开发资源检索技能。通过本地 API 文档索引、示例代码映射和在线文档兜底搜索定位开发资料,优先查本地、缺失时再查在线。当需要查询 API 用法、示例代码、兼容性信息、官方资料入口或定位文档来源时使用。
Ascend C 算子开发环境检查技能。用于:(1) 通过 npu-smi 查询 NPU 设备信息(设备列表、状态、资源使用),(2) 检查 CANN 环境配置(CANN Toolkit、Ops、自定义算子包),(3) 验证开发依赖是否完整。触发关键词:环境检查、NPU设备、npu-smi、CANN安装、设备查询、资源监控、检查CANN环境变量。
昇腾 NPU 上 CANN 安装与环境配置指导。触发场景:需安装 CANN、配置开发环境或排查安装问题时。
| name | ascendc-code-review |
| description | Ascend C 代码检视技能。基于假设检验方法论对代码进行安全规范检视。当用户提供代码片段和检视规则描述时,可使用此技能进行代码检视,使用时必须明确提供:代码片段和检视规则描述。 |
调用此技能时,必须明确提供以下参数:
参数1:代码片段
参数2:检视规则描述
检查整数溢出、检查内存泄漏、检查空指针解引用等参数3:规范文件路径(可选)
references/cpp-secure.md(安全编码规范)如果缺少任何一个必需参数,应:
| 文档名称 | 文档路径 | 检视范围 | 适用场景 | 条款数 |
|---|---|---|---|---|
| C++ 安全编码规范 | references/cpp-secure.md | 数值安全、内存安全、输入验证、资源管理、并发安全 | C++ 代码安全性检视 | 47 条 |
| Python 安全编码规范 | references/python-secure.md | 数值安全、异常处理、文件操作、序列化、命令执行、网络安全 | Python 代码安全性检视 | - |
| C++ 代码风格规范 | references/cpp-style.md | 命名规则、格式规范、注释规范 | C++ 代码风格、可读性检视 | - |
| C++ 通用编码规范 | references/cpp-general.md | 代码设计、数据类型、函数设计等 15 类规范 | C++ 代码质量、可维护性检视 | 46 条 |
| 安全编译规范 | references/compile-secure.md | ASLR、栈保护、GOT只读、立即绑定、堆栈不可执行 | 编译配置、构建脚本检视(仅 Tiling 侧) | 7 条 |
| Ascend C API 最佳实践 | references/ascendc-api.md | API 黑名单、对齐要求、配对检查、限制约束 | Ascend C API 使用检视(仅 Kernel 侧) | 9 条 |
| Ascend C 高性能编程 | references/ascendc-perf.md | 性能优化、精度标准、Tiling 设计 | Ascend C 高性能编程检视(仅 Kernel 侧) | 12 条 |
| TOPK 问题清单 | references/ascendc-topk.md | Host侧高频问题、属性获取、特殊值处理、核间同步 | 算子开发重点检视 | 13 条 |
| SIMT API C风格化规范 | references/simt-api-analysis.md | C++风格API转换为C风格API、变量名冲突、头文件位置 | SIMT kernel代码API检视(仅 Kernel 侧) | 13 条 |
重要:检视 Kernel 代码涉及 API 用法时,必须使用
/ascendc-docs-searchskill 查阅 API 文档,禁止凭记忆或推测判断。
| API 类别 | 具体 API | 检视关注点 |
|---|---|---|
| 数据搬运 | DataCopy, DataCopyPad | 对齐要求、同步机制 |
| 内存管理 | InitBuffer, AllocTensor, FreeTensor, EnQue, DeQue | 配对要求 |
| 向量计算 | Add, Sub, Mul, Div, Cast | 参数限制、精度处理 |
| 归约操作 | ReduceSum, ReduceMax | 中间精度保护 |
| SIMT 线程管理 | GetThreadNum, GetThreadIdx, GetBlockIdx, GetBlockNum | C++风格→C风格转换、维度选择 |
| SIMT 数学运算 | UintDiv, Min, Max, Floor, Ceil, Abs | C++风格→C风格转换、UintDiv保留 |
| SIMT 核函数调用 | VF_CALL, Dim3 | C++风格→C风格转换 |
| SIMT 原子操作 | AtomicAdd, AtomicSub | C++风格→C风格转换 |
| SIMT 同步 | ThreadBarrier | C++风格→C风格转换 |
查阅方法:调用 /ascendc-docs-search skill,输入 API 名称即可获取官方文档。
cpp-secure.mdpython-secure.mdcpp-style.md 或 cpp-general.mdcompile-secure.mdsimt-api-analysis.md/ascendc-docs-search skill 查阅 API 文档DataCopy、DataCopyPad、EnQue、DeQue、Cast 等GetThreadNum、GetThreadIdx、UintDiv、VF_CALL 等步骤1:代码段识别
将目标代码划分为独立的代码段(函数、语句块、逻辑单元)
步骤2:假设建立
对每个代码段建立假设:
步骤3:证据收集与评估
按维度系统性寻找证据:
| 证据类型 | 分析动作 | 分值规则 |
|---|---|---|
| 规范违反 | 对照规范条款识别违规点 | 有效证据 +40% |
| 上下文防御缺失 | 检查作用域内是否有防御代码 | 无防御 +30% |
| 函数调用链风险 | LSP/Grep 分析调用函数内部逻辑 | 发现风险 +25% |
| 数据流追踪风险 | 分析变量来源、运算过程 | 发现风险 +25% |
分析要求:
/ascendc-docs-search skill 查阅官方文档,禁止凭记忆或推测步骤4:证据有效性校验
排除误报:
步骤5:决策判断
计算自信值并决策:
若调用方(如 ascendc-ops-reviewer)明确要求不生成报告文件,跳过本阶段,仅返回逐条检视结果。
/ascendc-docs-search skill 学习 Ascend C 基础 API 文档:获取 DataCopy、EnQue/DeQue、Cast 等核心 API 的官方文档,禁止凭记忆或推测判断references/simt-api-analysis.md:了解 C++ 风格 API 到 C 风格 API 的转换规则,特别注意 UintDiv 必须保留GetThreadNum → blockDim.x)Simt::UintDiv 必须保留,禁止转换(官方规定,无 C 风格替代)threadIdx、blockIdx、blockDim、gridDim(与 C 风格 API 冲突)simt_api/asc_simt.h 必须在 namespace 外部TOPK 问题清单详见:
references/ascendc-topk.md(含 13 条高频检视问题,标注 Host/Kernel 适用范围)
SIMT API C风格化规范详见:
references/simt-api-analysis.md(含 13 条 API 转换规则,仅 Kernel 侧适用)
详见:agents/ascendc-ops-reviewer/style/code_review_summary_style.txt