بنقرة واحدة
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