cannbot-skills:基于 CANN 生态的 Agent 技能模块项目

CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。

分支1Tags0
文件最后提交记录最后更新时间
refactor env check in direct workflow, replace shell with env-check and npu-arch skill Co-authored-by: jon_jin<jinjiong@hisilicon.com> # message auto-generated for no-merge-commit merge: !288 merge master-fork into master refactor env check in direct workflow, replace shell with env-check and npu-arch skill Created-by: jon_jin Commit-by: jon_jin Merged-by: cann-robot Description: ## 描述 refactor env check in direct workflow, replace shell with env-check and npu-arch skill ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单的链接。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [ ] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载「UT_Test 自检修复提示词模版」。 > 将下载的模版内容粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 > > 示例: > ![UT_Test下载示例](pipeline-ut-test-download-link.png) See merge request: cann/cannbot-skills!2888 小时前
docs(update): 同步更新README入门指南、CHANGELOG、ST测试框架及PR模板 Co-authored-by: yanhf<yanhaifeng5@huawei.com> # message auto-generated for no-merge-commit merge: !286 merge master into master docs(update): 同步更新README入门指南、CHANGELOG、ST测试框架及PR模板 Created-by: yanhf Commit-by: yanhf Merged-by: cann-robot Description: ## 描述 #### 文档更新 本批次全部为文档类更新,覆盖README 快速开始、测试框架文档、CHANGELOG、PR 模板及项目架构说明,旨在降低新用户上手门槛并同步最新项目状态。 **【README 快速开始】README.md** - 重写快速开始指南,拆分为四步:克隆 → 选场景安装 → 验证 → 开始使用 - 新增前置条件说明,明确 AI 工具与 CANN 环境要求 - 统一命令格式,使用 <tool> 占位符代替具体的工具名列表 - 增加安装验证方法(目录检查 + AI 交互验证) - 修正安装命令格式:./path/init.shcd path && bash init.sh - 更新 AI 工具安装说明(补充 npm install / 下载地址)与官方文档直达链接 **【README 场景与架构】README.md** - 补充 Catlass 算子直调、代码检视、torch.compile 图模式 3 个场景到快速开始表格 - 更新项目架构树,统一缩进并对齐注释,新增 plugins-community/ 和社区 Plugin 条目 - 补充多个缺失 Skills(blaze-best-practice、performance-best-practices、regbase-best-practice、cann-env-setup、aiss-tiling-solver 等) - 修正 ops-simulator 技能名称(原 cann-simulator) - 统一 quickstart 引用描述 **【测试框架文档】tests/README.md** - 补充 ST 系统测试框架完整文档(300 行新增),涵盖 system/ 目录结构、本地开发调试指南(L1 快速验证 / 行为验证 / ST 语义评测)、gate_check.sh CI 入口、换行符检查及环境变量说明 - 新增 opencode_runner_examples.py 到 system/ 目录树 - 将默认测试超时从 300s 调整为 600s - 删除 GitHub Actions CI 示例(项目已迁移至 GitCode CI) - 修正 claude-code npm 包名 **【CHANGELOG 维护】CHANGELOG.md** - 补充 2026-05-20 ~ 2026-05-25 期间的特性、增强与修复条目 - 新增 05-26 条目(cuda2ascend-simt、pypto-golden-generate、PR 模板统一) - 新增 05-21 条目(tiling-solver、示例提示词) - 修正 05-25 条目内容归属(性能调试 / 代码检视 / PyPTO / 测试框架等) - 简化 README 最新动态为每日一行 **【PR 模板与测试报告】** - .gitcode/PULL_REQUEST_TEMPLATE.zh-CN.md:修正 UT_Test 未通过时的下载指引,明确下载的是 HTML 格式的 CANNBot-skills UT 测试报告 - tests/run-tests.sh:将 HTML 报告标题统一为 CANNBot-skills UT 测试报告,与 PR 模板指引保持一致 ## 关联的Issue <!-- 无特定 Issue --> ## 测试 - ./tests/run-tests.sh --fast 全部通过(10/10) - ./tests/run-tests.sh --test unit/teams/test-version.sh PASS(version bump 验证通过) ## 文档更新 - tests/README.md:ST 系统测试框架文档、目录结构、CI 示例、超时配置 - CHANGELOG.md:补充 05-20 ~ 05-26 期间全部变更条目 - README.md:快速开始指南、场景列表、项目架构、Skills 目录 - .gitcode/PULL_REQUEST_TEMPLATE.zh-CN.md:UT_Test 下载指引 - tests/run-tests.sh:HTML 报告标题 ## 类型标签 - [x] 📝 文档更新 See merge request: cann/cannbot-skills!2868 天前
code reviewer agent 大版本更新 Co-authored-by: Junren6415<joestranberg99@gmail.com> # message auto-generated for no-merge-commit merge: !295 merge reviewer_refactor into master code reviewer agent 大版本更新 Created-by: Junren6415 Commit-by: Junren6415 Merged-by: cann-robot Description: ## 描述 0、【无感更新】插件版本 1.0.x → 1.1.0,安装路径、命令、Skill 名称均不变,存量用户无需改动即可升级。 1、【渐进式披露重构】ascendc-code-review Skill 从单文件大段 prompt 重构为三层分离结构(workflows/steps/references),SKILL.md 入口缩减至 34 行,Agent 按阶段逐文件加载,不再全量注入上下文,消除冗余提示词问题。 2、【大型 PR 检视】新增 workflows/pr-large-review.md,>10 文件自动切换文件亲缘性分组 + 并行子 Agent 检视模式,配套 7 个专用步骤文件(全局预扫描 → 文件分组 → 并行检视 → 合并综合报告)。 3、【快速检视 — 交互式定向排查】新增 workflows/quick-review.md,面向自然语言交互式排查场景。用户只需用自然语言描述关注点(如"这段代码有没有溢出风险""这个循环是否存在 bank conflict"),Agent 自动匹配对应条例并 inline 输出判定结果。支持代码片段粘贴、文件路径、函数名、PR 号四种输入方式,无需完整检视流程即可快速获得定向反馈。 4、【工作流接入标准接口】新增 workflows/extend.md,定义完整架构规范和接入流程。新增工作流或领域规则时,触发"扩展检视/接入新规范"即可 获得引导式对接,无需记忆目录约定。 5、【Bug 修复 — 整数运算检视幻觉】解决社区反馈的整数运算检视 AI 幻觉问题(关联 PR [#Transformer 仓 5776](https://gitcode.com/cann/ops-transformer/pull/5776/diffs))。新增 scripts/check_bounds.py 区间传播法静态分析工具,检视流程中涉及整数边界判定时由工具精确推理,替代 AI 凭记忆推测。 6、【Diff 获取工具下放到 Skill】上述重构使得 diff 获取 PR 代码的能力下放到 skill 级,关联社区 issue [#181](https://gitcode.com/cann/cannbot-skills/issues/181)。 --- ### 举例: #### 新特性 New Features - 【代码检视】ascendc-code-review 重构为渐进式披露架构,新增 workflows/(5 个工作流)、steps/(19 个步骤文件)、core/methodology.md(检视方法论),10 个 references/ 规则文件统一添加 <适用> 元数据头支持自动路由。 - 【整数边界分析】新增 scripts/check_bounds.py,支持 wraparound / overflow 两种检查模式,给定表达式和变量类型+值域即可输出边界安全性判定。 - 【大型 PR 检视】新增 workflows/pr-large-review.md,>10 文件自动切换文件亲缘性分组 + 并行子 Agent 检视模式。 - 【快速检视】新增 workflows/quick-review.md,自然语言交互式排查,粘贴代码或指定文件即可定向提问,Agent 自动匹配条例并 inline 返回判定,零配置、无报告、即问即答。 - 【智能条例路由】新增 steps/common.clause-routing.md,按代码特征与规则元数据头自动匹配适用条例,避免全量加载。 #### 问题修复 Bug Fix - 【代码检视】修复整数运算检视 AI 幻觉:cpp-secure.md 整数安全条款新增乘法溢出典型示例(int32_t 乘法溢出),配合 check_bounds.py 工具实现精确边界验证。 - 【代码检视】methodology.md 新增负向证据强制引用要求:声称"上游已校验"必须附可验证代码引用,杜绝虚构证据。 --- ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单的链接。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [x] ✨ 特性增强 - [x] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [ ] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/cannbot-skills!2953 天前
【feat】add dfx triage runner and performance diagnosis Co-authored-by: ganon0327<zhoujialong4@huawei.com> # message auto-generated for no-merge-commit merge: !314 merge feat/torch-compile-dfx-triage-runner into master 【feat】add dfx triage runner and performance diagnosis Created-by: ganon0327 Commit-by: ganon0327 Merged-by: cann-robot Description: ## 描述 #### 新特性 New Features - 【torch-compile】新增torch-npugraph-ex-performance-diagnosis Skill:支持分析图中冗余拷贝,并快速定位源码根因。 See merge request: cann/cannbot-skills!3142 天前
feat: integrate gitcode-issue-report into gitcode-issue-gen via branch routing Co-authored-by: zhenhuaxu<zhenhuaxu@noreply.gitcode.com> # message auto-generated for no-merge-commit merge: !116 merge master into master feat: integrate gitcode-issue-report into gitcode-issue-gen via branch routing Created-by: zhenhuaxu Commit-by: zhenhuaxu Merged-by: cann-robot Description: ## 概述 整合 gitcode-issue-reportgitcode-issue-gen,将原有独立 skill 和 agent 的功能通过**分支判断**融入 gitcode-issue-gen,统一覆盖两种 Issue 创建场景: - **Path A(PR 路径)**:用户提供 PR 链接 → 从 diff 自动生成关联 Issue → 双向关联 - **Path B(手动路径)**:用户描述问题 → 交互式收集 → 生成草稿 → 查重 → 确认后提交 ## 主要改动 ### 1. 重写 infra/gitcode-issue-gen/SKILL.md - **新增「分支判断」章节**:自动根据用户输入选择路径 - Path A(PR → Issue 自动化):环境预检 → 解析 PR → 克隆 → 展示变更 → 选模板 → 生成 body → 确认提交 → 可选 Assign - Path B(手动提单交互式):目标确认 → 模板发现 → 信息收集 → 草稿生成 → 查重检查 → 提交反馈 - **内容真实性原则**:PR 路径所有技术信息必须从代码变更中获取;手动路径不替用户推断未确认事实 - **双向关联**:PR 路径创建 Issue 后必须在 PR body 和 Issue body 中相互引用 - **写操作必须确认**:创建 Issue、修改 PR body、Assign 等均需用户确认 ### 2. 新增 references/ 文档(手动路径详情) - references/manual-issue-draft.md — Issue 编写质量清单(必须项/加分项)、信息收集字段表 - references/manual-issue-workflow.md — 手动提单工作流程(Step 1-6)、约束层(7 条强制规则 + 幻觉防控) ### 3. 删除已整合的独立模块 - **删除** ops/agents/gitcode-issue-assistant.md:ops 下不再单独收录 agent,功能直接通过 skill 暴露 - **删除** skills/gitcode-issue-report/:内容已整合进 gitcode-issue-gen ### 4. 更新引用文档 - **更新 README.md**: - 移除独立的 gitcode-issue-report skill 和 gitcode-issue-assistant agent 引用 - 更新 gitcode-issue-gen 描述,说明支持两条路径 - 保留 upstream 新增的 cuda2ascend-simtascendc-blaze-best-practice 等 skill(冲突解决) - **更新 docs/STANDARDS.md**:移除技能分类列表中的 gitcode-issue-report ## 冲突解决 解决 README.md Skill 表格区域与 upstream/master 的合并冲突,保留 upstream 新增的 cuda2ascend-simtascendc-blaze-best-practiceascendc-performance-best-practicesascendc-regbase-best-practicecann-env-setupaiss-tiling-solver 等 skill。 ## 测试状态 - gitcode-issue-gen skill 测试:PASS - gitcode-issue-handler skill 测试:PASS(无依赖冲突) See merge request: cann/cannbot-skills!1162 天前
fix(model-infer): restore reference repo provisioning and fix skill links Co-authored-by: zihengwang2<wangziheng8@huawei.com> # message auto-generated for no-merge-commit merge: !317 merge refactor-plugin into master fix(model-infer): restore reference repo provisioning and fix skill links Created-by: zihengwang2 Commit-by: zihengwang2 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述您的改动,包括改动的原因和所采取的方法。 ### 举例: #### 新特性 New Features - 【仿真 ops-simulator】新增Ascend 950 仿真Skill:支持 Ascend 950 仿真,并且输出性能分析报告和流水线图。 - 【PyPTO】【pypto-op-design】新增 Skill:pypto-op-design,PyPTO算子方案设计,含快速参考和设计模板。 #### 问题修复 Bug Fix 【算子直调 ops-direct-invoke】修改verify_environment.sh脚本,返回environment.json 固定为1的bug,应该按实际设备的npu count返回。 --> 修正 model infer plugin 重构对 cann-recipes-infer 参考仓的安装机制,对齐cannbot通用参考仓库模式,通过hook在会话启动自动 clone并注入路径上下文,修复部分 skill 对参考仓的路径引用失效问题;随infer仓库更新,同步调整了一批引用前缀路径,清理无效引用。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单的链接。--> 关联Issue [#220](https://gitcode.com/cann/cannbot-skills/issues/220) 关联Issue [#219](https://gitcode.com/cann/cannbot-skills/issues/219) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 已通过fast UT,参考仓库安装端到端实测正常,skill 中涉及参考仓库的链接逐一验证可解析到真实文件。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🌟 新特性 - [ ] ✨ 特性增强 - [x] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [x] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载 **CANNBot-skills UT 测试报告**(HTML 格式)。 > 打开报告后,展开页面中的「UT Test 失败修复指南」,复制其中的提示词并粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 > > 示例: > ![UT_Test下载示例](pipeline-ut-test-download-link.png) See merge request: cann/cannbot-skills!31722 小时前
move easy dsl to plugins community Co-authored-by: jon_jin<jinjiong@hisilicon.com> # message auto-generated for no-merge-commit merge: !308 merge feature/move-easydsl-to-plugins-community into master move easy dsl to plugins community Created-by: jon_jin Commit-by: jon_jin Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述您的改动,包括改动的原因和所采取的方法。 ### 举例: #### 新特性 New Features - 【仿真 ops-simulator】新增Ascend 950 仿真Skill:支持 Ascend 950 仿真,并且输出性能分析报告和流水线图。 - 【PyPTO】【pypto-op-design】新增 Skill:pypto-op-design,PyPTO算子方案设计,含快速参考和设计模板。 #### 问题修复 Bug Fix 【算子直调 ops-direct-invoke】修改verify_environment.sh脚本,返回environment.json 固定为1的bug,应该按实际设备的npu count返回。 --> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单的链接。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [ ] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载 **CANNBot-skills UT 测试报告**(HTML 格式)。 > 打开报告后,展开页面中的「UT Test 失败修复指南」,复制其中的提示词并粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 > > 示例: > ![UT_Test下载示例](pipeline-ut-test-download-link.png) See merge request: cann/cannbot-skills!3083 天前
更新ops-profiling skills,当前只有msprof op性能采集方法,现在增加msprof的性能采集方法 Co-authored-by: hanrui22<hanrui2@huawei.com> # message auto-generated for no-merge-commit merge: !316 merge master into master 更新ops-profiling skills,当前只有msprof op性能采集方法,现在增加msprof的性能采集方法 Created-by: hanrui22 Commit-by: hanrui22 Merged-by: cann-robot Description: ## 描述 更新ops-profiling skills,当前只有msprof op性能采集方法,现在增加msprof的性能采集方法 ## 关联的Issue https://gitcode.com/cann/cannbot-skills/issues/245 ## 测试 如果当前环境没有msprof op,agent会选择msprof来采集性能数据;如果当前环境有msprof op, agent还是选择msprof op来采集性能数据 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [ ] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载 **CANNBot-skills UT 测试报告**(HTML 格式)。 > 打开报告后,展开页面中的「UT Test 失败修复指南」,复制其中的提示词并粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 > > 示例: > ![UT_Test下载示例](pipeline-ut-test-download-link.png) See merge request: cann/cannbot-skills!3161 天前
feat: 支持 VS Code Copilot 一键安装 Co-authored-by: yanhf<yanhaifeng5@huawei.com> # message auto-generated for no-merge-commit merge: !322 merge master into master feat: 支持 VS Code Copilot 一键安装 Created-by: yanhf Commit-by: yanhf Merged-by: cann-robot Description: ## 描述 #### 新特性 New Features - 【全插件安装脚本】新增 VS Code Copilot 一键安装支持:为 8 个插件的 init.sh/install.sh 增加 copilot 作为目标安装工具。 - 项目级:.github/{skills,agents}/ + $PWD/AGENTS.md - 全局级:~/.copilot/{skills,agents}/ + ~/.copilot/AGENTS.md - 涉及插件:ops-direct-invoke、ops-registry-invoke、pypto-op-orchestrator、ops-code-reviewer、model-infer-optimize、catlass-op-generator、tilelang-op-orchestrator、triton-op-generator 参考资料:https://code.visualstudio.com/docs/agent-customization/agent-skills #### 特性增强 Enhancement - 【catlass-op-generator】补齐 cursor 支持。 - 【triton-op-generator】补齐 cursor 支持;默认工具由 claude 统一为 opencode。 - 【tilelang-op-orchestrator】补齐 trae 支持(含变体检测)和 cursor 支持。 #### 问题修复 Bug Fix - 【torch-compile】修正 copilot 项目级安装路径:.copilot/.github/(与 VS Code Copilot 官方项目级 skills 路径对齐)。 ## 关联的Issue <!-- 无特定 Issue,属功能补齐 --> ## 测试 - 全部 9 个修改后的安装脚本执行 bash -n 语法检查通过。 - ./tests/unit/install/test-init-install.sh 安装测试全部通过(141 pass / 0 fail)。 ## 文档更新 <!-- 无 --> ## 类型标签 - [x] 🌟 新特性 - [x] ✨ 特性增强 - [x] 🐛 Bug 修复 See merge request: cann/cannbot-skills!32218 小时前
refactor env check in direct workflow, replace shell with env-check and npu-arch skill Co-authored-by: jon_jin<jinjiong@hisilicon.com> # message auto-generated for no-merge-commit merge: !288 merge master-fork into master refactor env check in direct workflow, replace shell with env-check and npu-arch skill Created-by: jon_jin Commit-by: jon_jin Merged-by: cann-robot Description: ## 描述 refactor env check in direct workflow, replace shell with env-check and npu-arch skill ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单的链接。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [ ] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载「UT_Test 自检修复提示词模版」。 > 将下载的模版内容粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 > > 示例: > ![UT_Test下载示例](pipeline-ut-test-download-link.png) See merge request: cann/cannbot-skills!2888 小时前
refactor(st): ST框架稳定性修复、文档同步与评测用例全面启用 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !331 merge master into master refactor(st): ST框架稳定性修复、文档同步与评测用例全面启用 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 ST 测试框架稳定性修复与功能增强,包含 3 个维度的变更。 ## 变更详情 ### 1. 安全与稳定性修复(9 个问题) | # | 文件 | 问题 | 修复 | |---|------|------|------| | 1 | opencode_runner.py | _safe_env 过滤 LLM API Key 导致鉴权失败 | 添加关键环境变量透传 | | 2 | opencode_runner.py | 超时错误消息硬编码 100s | 修正为 300s | | 3 | evals_parser.py | _split_cases 双路径解析不一致 | 重写使用捕获组一次性提取 | | 4 | sandbox_manager.py | basicConfig 污染日志 | 移除 logging.basicConfig | | 5 | sandbox_manager.py | init.sh 失败沙箱目录泄漏 | 添加清理保护 | | 6 | main.py | Phase 1 失败被误判为通过 | 返回正确失败计数 | | 7 | test_team_evals.py | 异常时沙箱未清理 | try/except 保护 | | 8 | sandbox_manager.py | G.VAR.03 重复导入 | 移除函数内冗余 import | | 9 | sandbox_manager.py | G.ERR.07 静默异常 | 改为 logger.debug 记录 | ### 2. 文档同步 同步更新 5 个 ST 框架文档(tests/README.mdtests/system/README.mdST_DESIGN_AND_DEVELOPMENT_GUIDE.mdUSER_GUIDE.mdST_COVERAGE_REPORT.md),覆盖 Team 测试、评审模板化、重试机制、模型 Token 预算等新功能。 ### 3. 评测用例全面启用 启用 11 个此前禁用的评测用例(ascendc-task-focus 3、cann-env-setup 4、gitcode-issue-gen 3、pypto-op-design 1),调整 eval_7 Expected Output 放宽追问条件,全部 34 个用例现均已启用。 ## 关联的Issue Closes #253 ## 测试 - test_team_basic.py --team ops-direct-invoke 20 passed - evals_parser _split_cases 单元测试通过 - 全部 34 个 eval 用例已启用(含正向看护 3 个) ## 类型标签 - [x] 🐛 Bug 修复 - [x] 📝 文档更新 - [x] 🧪 测试 <!-- CODE_REVIEW_REPORT --> ## 🤖 自动代码检视报告 **检视状态:** 完成 ✅ **摘要:** - 检视文件数:14 个 - 发现风险点:0 个 - 修改文件类型:Python(5) + Markdown文档(5) + 评测用例(4) --- ### 详细检视结果 #### 一、Python 代码(5 个文件) ##### 1. sandbox_manager.py — ⭐ 无风险 | 变更 | 评价 | |------|------| | 移除模块级 logging.basicConfig() | ✅ **正确**。库模块不应调用 basicConfig(),会污染调用方日志配置。改用 getLogger 是标准实践 | | 新增 _rmtree_ignore_errors() 清理函数 | ✅ **设计良好**。在所有失败路径(init.sh 不存在、超时、RuntimeError、Exception)均调用清理,覆盖全面 | | CodeCheck G.VAR.03 修复 | ✅ 移除了函数内重复的 import shutil | | CodeCheck G.ERR.07 修复 | ✅ except: passlogger.debug(),既保留了容错性又有日志可追溯 | ##### 2. evals_parser.py — ⭐ 无风险 | 变更 | 评价 | |------|------| | _split_cases() 重写为返回结构化 dict | ✅ **消除高危 bug**。原实现中 _split_cases()bullet_titles = re.findall() 两条路径独立解析,若某个 Case 标题正则无法匹配,会出现索引错位(bullet_titles[idx] 越界或对应到错误 ID)。新实现使用 re.split 捕获组一次完成拆分+提取,消除双路径风险 | | 返回 {case_id, case_name, raw_block} | ✅ 结构清晰,下游调用更简洁 | ##### 3. opencode_runner.py — ⭐ 无风险 | 变更 | 评价 | |------|------| | _safe_env() 白名单添加 LLM API Key | ✅ **正确**。覆盖主流通义模型供应商(OpenAI、Anthropic、Azure、Gemini、DeepSeek),同时透传 ANTHROPIC_BASE_URLANTHROPIC_AUTH_TOKENEVAL_MODEL 等关键环境变量 | | 超时消息 100s→300s | ✅ 修正了与实际超时值不一致的日志消息 | ##### 4. main.py — ⭐ 无风险 | 变更 | 评价 | |------|------| | Phase 1 返回 (0, len(skills)) 而非 (0, 0) | ✅ **关键 bug 修复**。原 (0,0) 在调用方 total_passed == total_all 时被误判为"全部通过"。现在返回正确的失败计数,使总评逻辑正确 | | Team 分支同步修复 | ✅ _eval_teams 同理修复 | ##### 5. test_team_evals.py — ⭐ 无风险 | 变更 | 评价 | |------|------| | create_opencode_runner 异常时清理沙箱 | ✅ try/except 包裹 + shutil.rmtree(ignore_errors=True) 保护,符合资源安全释放原则 | #### 二、文档同步(5 个文件) | 文件 | 评价 | |------|------| | tests/README.md (+88/-26) | ✅ 结构更新完整,新增 Team 测试、review-template、重试机制、新配置字段、评测用例编写示例 | | tests/system/README.md (+167/-63) | ✅ 核心流程重构合理,skill/team 双轨清晰,评审模板化、Token 阈值 3、注意事项扩充到 10 条 | | ST_DESIGN_AND_DEVELOPMENT_GUIDE.md (+56/-20) | ✅ Token 阈值 5→3,新增评审模板/重试/Phase 1 拦截说明 | | USER_GUIDE.md (+46/-19) | ✅ Team 命令/重试/EVAL_MODEL/not_contains 行为澄清 | | ST_COVERAGE_REPORT.md (2 行) | ✅ 统计更新至 23 启用 | #### 三、评测用例启用(4 个文件) | 文件 | 变更 | |------|------| | ascendc-task-focus_evals.md | 移除 3 个 Disabled,启用 Case 2/3/4 | | cann-env-setup_evals.md | 移除 4 个 Disabled,启用 Case 2/4/5/7 | | gitcode-issue-gen_evals.md | 移除 3 个 Disabled + 调整 eval_7 Expected Output | | pypto-op-design_evals.md | 移除 1 个 Disabled,启用 Case 3 | #### 四、未发现的问题 - **无安全漏洞**:所有 Python 变更均经过安全审查,无注入/命令执行风险 - **无资源泄漏**:所有新增的异常路径均包含资源清理 - **无逻辑错误**:修复逻辑正确收敛 - **文档一致**:5 份文档间的 Token 阈值、功能描述、命令示例均保持一致 --- **检视信息:** - Agent: Claude Code CLI - Model: deepseek-v4-flash - Review Method: Manual code review(diff-based, no automatic review skill) 💡 此报告由人工检视生成,仅供参考。 <!-- /CODE_REVIEW_REPORT --> See merge request: cann/cannbot-skills!3316 小时前
feat: add CRLF line-ending detection test and .gitattributes Co-authored-by: yanhf<yanhaifeng5@huawei.com> # message auto-generated for no-merge-commit merge: !183 merge master into master feat: add CRLF line-ending detection test and .gitattributes Created-by: yanhf Commit-by: yanhf Merged-by: cann-robot Description: 新特性 New Features - 【代码看护】新增行尾检测单元测试 tests/unit/test-line-endings.sh:扫描仓库中所有文本文件,检测 DOS 风格 CRLF 行尾,发现时报告 FAIL。已集成到 --fast 默认拦截链,排在所有单测首位执行。 - 【代码看护】新增 .gitattributes:对所有文本文件类型(.c .h .py .sh .md .yaml .json 等)强制 eol=lf,从 Git 层防止未来提交引入 CRLF 行尾。 问题修复 Bug Fix - 【代码看护】修复 22 个存量文件的 CRLF 行尾问题:涉及 ops/ascendc-direct-invoke-template、ops/ascendc-registry-invoke-template、ops/ascendc-code-review、plugins- official/ops-direct-invoke、model/teams/infer-model-optimize-team 等模块。使用 dos2unix 统一转换为 Unix LF。 --- 关联的Issue --- 测试 - 新增的 tests/unit/test-line-endings.sh 已通过 20 项场景验证(含 CRLF 检测、二进制排除、目录排除、混合行尾、空文件等边缘用例),全部 PASS - run-tests.sh --fast 集成验证通过,测试项共 10 个,新测试排首位并 PASS - 修复后真实仓库扫描 882 个文件,确认无 CRLF 残留 --- 文档更新 无 --- 类型标签 - [x] 🌟 新特性 - [x] 🐛 Bug 修复 - [x] 🧪 测试用例 - [x] 🔧 配置变更 See merge request: cann/cannbot-skills!18324 天前
fix(ascendc-env-check): 重构 npu-smi 解析方案,废弃主表格解析,采用结构化子命令 + 分层降级策略,增强测试与 eval 用例 Co-authored-by: yanhf<yanhaifeng5@huawei.com> # message auto-generated for no-merge-commit merge: !307 merge master into master fix(ascendc-env-check): 重构 npu-smi 解析方案,废弃主表格解析,采用结构化子命令 + 分层降级策略,增强测试与 eval 用例 Created-by: yanhf Commit-by: yanhf Merged-by: cann-robot Description: ## 描述 #### 问题修复 Bug Fix 【ascendc-env-check】重构 npu-smi 设备信息解析方案,废弃主表格解析,采用结构化子命令 + 分层降级策略(Issue #207): - 新建 _npu_info.py:运行时动态发现 npu-smi info -t 可用子命令,优先 -t common 批量获取,永不直接解析 npu-smi info 主表格。所有解析结果带 confidence 和 warnings。 - 重写 npu_info.sh:调用 _npu_info.py 作为后端,统一输出格式。 - 修复 list_idle_chip_ids.sh(ops 版):改用 info -m + info -t usages 解析,废弃 58 行 awk 表格解析。 - 修复 collect_baseline.py:提取函数降低嵌套深度,使用 logging 替代 print。 - 修复 get_npu_arch.py:使用 logging,将复杂推导式改为普通循环。 - 修复 check_env.sh:添加 npu-smi 解析警告提示。 #### 问题修复 Bug Fix(plugins-official 遗留) - 修复 orchestrator 版 detect_npu.py:硬编码 -i 0 → 动态设备 ID。 - 修复 orchestrator 版 collect-env.sh:添加解析警告。 - 修复 orchestrator 版 list_idle_chip_ids.sh:58 行 awk → info -m + info -t usages。 #### 代码清理 - 多轮 codecheck 修复:G.CMT.06(版权注释)、OAT.3(许可证头)、G.LOG.02(logging 替代 print)、G.CLS.06(方法排序)、G.CLS.07(@staticmethod)、G.CLS.11(受保护成员访问)、G.NAM.01(snake_case)、G.EXP.04(推导式复杂度)、G.FMT.03(空行)、超大深度函数、超大函数。 #### 测试用例 - 新增 test_npu_info_degradation.py:使用 unittest.mock 覆盖退化路径(npu-smi 不存在、--help 失败、子命令不支持、mapping 失败、缓存机制)。 - 新增 test-npu-info-parser.sh:在真实 NPU 环境下验证 _npu_info.py CLI(--list/--json/--health/--chip-name/--discover)和 Python API。 - 增强 test-version.sh:失败时输出建议版本号、quick fix 命令、fork 同步检测提示。 #### 评估用例 - ascendc-env-check_evals.md 从 7 case 扩展到 10 case,新增结构化子命令查询、废弃命令、可靠脚本获取场景;优化期望移除内部文件名,改用通用描述。 #### 构建 / CI - Rebase 到 upstream/master,同步 CI 版本号:model-infer-optimize 1.0.1→1.0.2、ops-direct-invoke 1.1.13→1.1.14、triton-op-generator 1.0.0→1.0.1,同步 marketplace.json。 ## 关联的Issue 关联 Issue #207 ## 测试 - Python 单元测试:python3 tests/integration/test_npu_info_degradation.py(17 tests,全部通过) - Shell 集成测试:bash tests/integration/test-npu-info-parser.sh(28+ cases,全部通过) - 版本检查测试:bash tests/unit/teams/test-version.sh - 语法检查:python3 -m py_compile ops/ascendc-env-check/scripts/_npu_info.py - AST 深度检查:_discover_types=3, query_with_strategy=2, query_chip_name_from_mapping=2, get_npu_ids=2(均 ≤4) ## 文档更新 - ops/ascendc-env-check/SKILL.md:更新诊断脚本说明,新增 Python 脚本和 --json 参数描述。 - ops/ascendc-env-check/references/npu_commands.md:新增「脚本自动化」章节,覆盖 Python、--json、动态发现、common 缓存优化。 - ops/ascendc-env-check/references/troubleshooting.md:更新排查命令。 ## 类型标签 - [x] 🐛 Bug 修复 - [x] 🧪 测试用例 - [x] 📝 文档更新 - [x] ♻️ 代码重构 - [x] 🧹 代码清理 See merge request: cann/cannbot-skills!3072 天前
feat: add model-infer skills, agents, and team for NPU inference optimization Co-authored-by: zihengwang2<wangziheng8@huawei.com> # message auto-generated for no-merge-commit merge: !20 merge master into master feat: add model inference optimization skills, agents and workflow Created-by: zihengwang2 Commit-by: zihengwang2 Merged-by: cann-robot Description: ## 概述 作为 CANNBot Skill 仓库的模型优化模块,提供基于 PyTorch 框架的昇腾 NPU 模型推理性能优化技能集,通过阶段化工作流和多角色协同,帮助模型开发者和优化工程师通过 Agent 完成基于 PyTorch 框架的模型推理性能端到端优化。 ## 背景 NPU 模型推理优化是一个多阶段、强依赖的长链路任务,涉及框架适配、并行切分、算子替换、图模式适配等多个环节。通用 Agent 缺少领域知识和结构化流程,容易在关键决策点选错方向或跳过必要验证。本 PR 结合CANN 原子化优化特性,与cann-recipes-infer 仓库积累的模型优化经验沉淀为可复用的 Skill 体系,支持 Agent 按流程完成基于 PyTorch 框架的昇腾 NPU 模型推理性能端到端优化。 ## 适用场景 - 基于 PyTorch 框架的模型在昇腾 NPU 上的推理性能优化 - 支持 LLM、MoE、多模态、视觉等多种模型架构 - 支持单卡和多卡部署 ## 工作流 (infer-model-optimize-team) 编排入口按阶段顺序调度优化流程: - 阶段 0:模型适配与基线建立(migrator) - 阶段 1:并行化改造(parallel-analysis + parallel-impl) - 阶段 2:KVCache + FA 优化(kvcache) - 阶段 3:融合算子替换(fusion) - 阶段 4:图模式适配(graph-mode) - 阶段 5:优化总结 每阶段由 analyzer(方案设计)→ implementer(代码实施)→ reviewer(验证)三角色协同完成。 ## Skills | Skill | 功能 | |-------|------| | model-infer-optimize | 端到端优化编排入口 | | model-infer-migrator | 框架适配与基线建立 | | model-infer-parallel-analysis | 并行策略分析 | | model-infer-parallel-impl | 并行切分实施 | | model-infer-kvcache | KVCache + FA 优化 | | model-infer-fusion | 融合算子分析与替换 | | model-infer-graph-mode | torch.compile 图模式适配 | | model-infer-precision-debug | 推理精度问题诊断 | | model-infer-runtime-debug | NPU 运行时错误诊断 | | model-infer-multi-stream | 多流并行优化 | | model-infer-prefetch | 权重预取适配 | | model-infer-superkernel | SuperKernel 适配 | ## 特性 - **阶段化工作流**:从模型分析到图模式适配,按阶段推进,每阶段验证通过后才进入下一阶段 - **多角色协同**:analyzer / implementer / reviewer 三类 SubAgent 分工协作,相互制约 - **领域知识注入**:融合算子接口、FA 参数约束、图模式前置条件等 NPU 推理优化经验沉淀为 Skill - **Hook 约束机制**:角色越界保护、自验证检查等关键约束通过 Hook 自动执行 ## 使用方式 参考 model/teams/infer-model-optimize-team/quickstart.md 进行安装配置。 ## 其他信息 关联issue [#45](https://gitcode.com/cann/skills/issues/45) See merge request: cann/skills!201 个月前
refactor env check in direct workflow, replace shell with env-check and npu-arch skill Co-authored-by: jon_jin<jinjiong@hisilicon.com> # message auto-generated for no-merge-commit merge: !288 merge master-fork into master refactor env check in direct workflow, replace shell with env-check and npu-arch skill Created-by: jon_jin Commit-by: jon_jin Merged-by: cann-robot Description: ## 描述 refactor env check in direct workflow, replace shell with env-check and npu-arch skill ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单的链接。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [ ] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载「UT_Test 自检修复提示词模版」。 > 将下载的模版内容粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 > > 示例: > ![UT_Test下载示例](pipeline-ut-test-download-link.png) See merge request: cann/cannbot-skills!2888 小时前
Initial commit 2 个月前
添加OAT开源合规头文件并优化交付件命名 Co-authored-by: Junren6415<joestranberg99@gmail.com> # message auto-generated for no-merge-commit merge: !148 merge feat_oat_header into master 添加OAT开源合规头文件并优化交付件命名 Created-by: Junren6415 Commit-by: Junren6415 Merged-by: cann-robot Description: 添加OAT开源合规头文件, 并优化代码检视交付件命名 See merge request: cann/skills!1481 个月前
feat: 支持 VS Code Copilot 一键安装 Co-authored-by: yanhf<yanhaifeng5@huawei.com> # message auto-generated for no-merge-commit merge: !322 merge master into master feat: 支持 VS Code Copilot 一键安装 Created-by: yanhf Commit-by: yanhf Merged-by: cann-robot Description: ## 描述 #### 新特性 New Features - 【全插件安装脚本】新增 VS Code Copilot 一键安装支持:为 8 个插件的 init.sh/install.sh 增加 copilot 作为目标安装工具。 - 项目级:.github/{skills,agents}/ + $PWD/AGENTS.md - 全局级:~/.copilot/{skills,agents}/ + ~/.copilot/AGENTS.md - 涉及插件:ops-direct-invoke、ops-registry-invoke、pypto-op-orchestrator、ops-code-reviewer、model-infer-optimize、catlass-op-generator、tilelang-op-orchestrator、triton-op-generator 参考资料:https://code.visualstudio.com/docs/agent-customization/agent-skills #### 特性增强 Enhancement - 【catlass-op-generator】补齐 cursor 支持。 - 【triton-op-generator】补齐 cursor 支持;默认工具由 claude 统一为 opencode。 - 【tilelang-op-orchestrator】补齐 trae 支持(含变体检测)和 cursor 支持。 #### 问题修复 Bug Fix - 【torch-compile】修正 copilot 项目级安装路径:.copilot/.github/(与 VS Code Copilot 官方项目级 skills 路径对齐)。 ## 关联的Issue <!-- 无特定 Issue,属功能补齐 --> ## 测试 - 全部 9 个修改后的安装脚本执行 bash -n 语法检查通过。 - ./tests/unit/install/test-init-install.sh 安装测试全部通过(141 pass / 0 fail)。 ## 文档更新 <!-- 无 --> ## 类型标签 - [x] 🌟 新特性 - [x] ✨ 特性增强 - [x] 🐛 Bug 修复 See merge request: cann/cannbot-skills!32218 小时前

CANNBot Skills

📢 项目概述

项目定位

CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块,目前已覆盖 Ascend C / PyPTO / TileLang / Triton 算子开发流程和 NPU 模型推理端到端优化。

目标用户

  • CANN 社区开发者
  • 昇腾 NPU 平台 AI 应用开发者
  • Ascend C / PyPTO / TileLang / Triton 算子开发者
  • 使用昇腾 NPU 进行模型推理优化的开发者
  • 希望贡献 Skills / Agents 的社区贡献者

🔥 最新动态

  • 2026-05-25 — 新增 cuda2ascend-simt 实验技能。
  • 2026-05-23 — 性能调试/代码检视/PyPTO 多模块能力增强;测试框架修复跨平台稳定性并统一 License。
  • 2026-05-22 — 新增 tiling-solver Skill 与社区治理模型;UT 与 CI/ST 测试框架能力增强。
  • 2026-05-20 — 新增 4 个 GitCode 协作 Skills 与 skill 能力看护 CI 入口。
  • 2026-05-19 — 新增 Triton 算子生成功能。
  • 2026-05-16 — model-infer-optimize 迁移至 plugins-official;全场景插件支持 Trae 全局安装。
  • 2026-05-15 — RegBase 最佳实践集成至算子直调工作流;init.sh 支持任意目录安装。
  • 2026-05-14 — Skill ascendc-npu-arch 重命名为 npu-arch
  • 2026-05-12 — torch-compile 加入 plugin-official;TileLang 迁移至 plugins-community。
  • 2026-05-11 — 新增 ascendc-crash-debug 技能;官方插件新增支持 Cursor IDE。

仅展示最近两周动态,更多历史记录详见 CHANGELOG.md

⚡️快速开始

前置条件

安装以下任意一个 AI 编程工具:

工具 安装命令 适用安装方式
Claude Code npm install -g @anthropic-ai/claude-code官方文档 脚本安装 / Plugin 安装
OpenCode npm install -g opencode-ai官方文档 脚本安装
Trae 下载安装:https://www.trae.cn官方文档 脚本安装
Cursor 下载安装:https://cursor.com官方文档 脚本安装

步骤一:克隆仓库

git clone https://gitcode.com/cann/cannbot-skills.git
cd cannbot-skills

步骤二:选择场景并安装

选择对应场景,将 <tool> 替换为你的 AI 工具(支持 opencode / claude / trae / cursor / copilot)后执行:

场景 安装命令 详细文档
AscendC Kernel<<<>>>直调 cd plugins-official/ops-direct-invoke && bash init.sh project <tool> quickstart
AscendC 算子注册调用 cd plugins-official/ops-registry-invoke && bash init.sh project <tool> quickstart
PyPTO 算子 cd plugins-official/pypto-op-orchestrator && bash init.sh project <tool> quickstart
Triton 算子生成 cd plugins-official/triton-op-generator && bash install.sh project <tool> quickstart
NPU 推理优化 cd plugins-official/model-infer-optimize && bash init.sh project <tool> quickstart
Catlass 算子直调开发 cd plugins-official/catlass-op-generator && bash init.sh project <tool> quickstart
代码检视 cd plugins-official/ops-code-reviewer && bash init.sh project <tool> quickstart
torch.compile 图模式 Plugin 市场安装:/plugin install torch-compile@cannbot quickstart

示例:如果你使用 Claude Code,想安装 AscendC Kernel 直调场景:

cd plugins-official/ops-direct-invoke && bash init.sh project claude

安装脚本会自动完成:创建软链接 → 生成配置文件 → 克隆依赖仓库 → 健康检查。看到 Installation complete! 即表示安装成功。

Claude Code 用户的备选方案:如果你使用 Claude Code,也可以用 Plugin 方式安装(/plugin marketplace add https://gitcode.com/cann/cannbot-skills.git,然后 /plugin install <插件名>@cannbot)。

步骤三:验证安装

安装完成后,检查以下内容确认安装成功:

# 检查 skills 和 agents 目录是否正确链接
ls .claude/skills/        # Claude Code 用户
ls .opencode/skills/      # OpenCode 用户
ls .trae/skills/          # Trae 用户
ls .cursor/skills/        # Cursor 用户
ls .github/skills/        # VS Code Copilot 用户

# 如果上述目录存在且包含多个子目录(如 npu-arch、ascendc-env-check 等),说明安装成功。

你也可以启动 AI 编程工具后输入以下内容来快速验证 Skills 是否被正确加载:

"请列出当前可用的 CANNBot Skills"

如果 AI 能列出 npu-archascendc-env-check 等技能名称,说明安装完全成功。

步骤四:开始使用

启动 AI 工具,直接描述开发需求即可。

以下是一些入门提示词示例:

你想做什么 可以这样说
开发一个算子 "帮我开发一个 Abs 算子,输入 float16,输出 float16"
调试精度问题 "我的 Add 算子精度不达标,帮我排查一下"
查阅 API 文档 "aclnnAdd 接口的参数和返回值是什么"
检查开发环境 "帮我检查一下当前的 CANN 开发环境"
代码检视 "帮我检视这段 Kernel 代码是否符合规范"

更多示例详见 Skills 使用样例。各场景的完整使用步骤参见对应 quickstart 文档。

安装遇到问题?

常见问题 解决方法
git clone 失败(网络问题) 尝试配置 GitCode SSH Key,或使用镜像地址
init.sh 提示权限不足 执行 chmod +x plugins-official/*/init.sh
skills 目录为空 确认安装脚本输出中无报错,重新执行安装命令
AI 工具无法识别 Skills 重启工具或新开会话(某些工具需重新加载配置)
CANN 环境未配置 仅影响代码编译/运行类 Skills,知识检索类不受影响

更多安装选项(全局安装、Plugin 市场安装、手动安装)和故障排查详见各场景对应的 quickstart 文档。

🔍 项目架构设计

整体架构

cannbot-skills/
├── ops/                             # 算子 Skills(正式版)
├── ops-lab/                         # 算子 Skills(实验 / 非正式版)
├── model/                           # 模型推理优化 Skills
├── plugins-official/                # 官方应用 Plugin
│   ├── ops-direct-invoke/           # AscendC Kernel 直调开发
│   ├── ops-registry-invoke/         # AscendC 算子注册调用开发
│   ├── pypto-op-orchestrator/       # PyPTO 算子开发
│   ├── catlass-op-generator/        # Catlass 算子直调开发
│   ├── ops-code-reviewer/           # 代码检视
│   ├── torch-compile/               # torch.compile 图模式
│   ├── model-infer-optimize/        # NPU 推理端到端优化流程
│   └── triton-op-generator/         # Triton 算子代码生成与优化
├── plugins-community/               # 社区 Plugin
│   └── tilelang-op-orchestrator/    # TileLang 算子开发
├── infra/                           # 基础设施维护 Skills
└── tests/                           # 自动化测试框架

逻辑架构视图

项目遵循三层架构:Teams 编排 Agents,Agents 绑定 Skills。以下视图展示各层组件及其关联关系。

Ascend C 算子开发

╔══════════════════════════════════════════════════════════════════════════════╗
║                              TEAMS(应用编排层)                              ║
╠══════════════════════════════════════════════════════════════════════════════╣
║                                                                              ║
║  ┌─────────────────────────────┐        ┌─────────────────────────────┐      ║
║  │  ops-direct-invoke          │        │  ops-registry-invoke        │      ║
║  │  Kernel 直调开发流程         │        │  算子注册调用开发流程         │      ║
║  └──────┬──────┬──────┬────────┘        └──────┬──────┬──────┬────────┘      ║
║         │      │      │                        │      │      │               ║
╚═════════╪══════╪══════╪════════════════════════╪══════╪══════╪═══════════════╝
          │      │      │                        │      │      │
          ▼      ▼      ▼                        ▼      ▼      ▼
╔══════════════════════════════════════════════════════════════════════════════╗
║                             AGENTS(角色执行层)                              ║
╠══════════════════════════════════════════════════════════════════════════════╣
║                                                                              ║
║  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐      ║
║  │  architect   │  │  developer   │  │  reviewer    │  │  tester      │      ║
║  │   方案设计    │  │   代码开发   │   │   代码检视   │  │   代码测试    │      ║
║  └──────────────┘  └──────────────┘  └──────────────┘  └──────────────┘      ║
║                                                                              ║
╚══════════════════════════════════════════════════════════════════════════════╝
             │ │ │ │       │ │ │ │       │ │ │ │       │ │ │ │
             ▼ ▼ ▼ ▼       ▼ ▼ ▼ ▼       ▼ ▼ ▼ ▼       ▼ ▼ ▼ ▼
╔═══════════════════════════════════════════════════════════════════════════════╗
║                             SKILLS(知识能力层)                               ║
╠═══════════════════════════════════════════════════════════════════════════════╣
║                                                                               ║
║  ┌─ 知识库类 ──────────────────────────────────────────────────────────────┐   ║
║  │  npu-arch             NPU 架构知识与芯片映射                             │   ║
║  │  tiling-design        Tiling 设计方法论                                  │  ║
║  │  api-best-practices   API 使用最佳实践                                   │  ║
║  │  ops-precision-standard 算子精度标准                                     │  ║
║  └─────────────────────────────────────────────────────────────────────────┘  ║
║                                                                               ║
║  ┌─ 工程模板类 ────────────────────────────────────────────────────────────┐   ║
║  │  registry-invoke-to-direct-invoke  注册算子直调改造模板                  │   ║
║  │  direct-invoke-template            Kernel直调工程模板                   │   ║
║  └────────────────────────────────────────────────────────────────────────┘   ║
║                                                                               ║
║  ┌─ 调试与测试类 ──────────────────────────────────────────────────────────┐   ║
║  │  precision-debug      精度调试与症状速查                                 │  ║
║  │  runtime-debug        运行时错误码解析                                   │  ║
║  │  crash-debug          卡死/崩溃调试、Coredump 分析                       │  ║
║  │  env-check            NPU 设备查询与环境验证                             │  ║
║  └────────────────────────────────────────────────────────────────────────┘   ║ 
║                                                                               ║
║  ┌─ 测试开发类 ────────────────────────────────────────────────────────────┐   ║
║  │  st-design            ST 测试用例设计                                   │   ║
║  │  ut-develop           UT 开发与覆盖率增强                               │   ║
║  │  code-review          代码检视规则                                      │   ║
║  └────────────────────────────────────────────────────────────────────────┘   ║
║                                                                               ║
║  ┌─ 工具辅助类 ────────────────────────────────────────────────────────────┐   ║
║  │  ops-profiling        算子性能采集分析                                   │  ║
║  │  task-focus           长任务聚焦防迷失                                   │  ║
║  └─────────────────────────────────────────────────────────────────────────┘  ║
║                                                                               ║
╚═══════════════════════════════════════════════════════════════════════════════╝

PyPTO 算子开发

╔══════════════════════════════════════════════════════════════════════════════╗
║                              TEAMS(应用编排层)                              ║
╠══════════════════════════════════════════════════════════════════════════════╣
║                                                                              ║
║                    ┌─────────────────────────────────┐                       ║
║                    │      pypto-op-orchestrator      │                       ║
║                    │      PyPTO 算子开发流程          │                       ║
║                    └──────┬──────────┬──────────┬────┘                       ║
║                           │          │          │                            ║
╚═══════════════════════════╪══════════╪══════════╪════════════════════════════╝
                            │          │          │
                            ▼          ▼          ▼
╔══════════════════════════════════════════════════════════════════════════════╗
║                             AGENTS(角色执行层)                              ║
╠══════════════════════════════════════════════════════════════════════════════╣
║                                                                              ║
║             ┌──────────────┐  ┌──────────────┐  ┌──────────────┐             ║
║             │  analyst     │  │  developer   │  │  perf-tuner  │             ║
║             │  需求与设计   │  │  实现与精度   │  │  性能调优     │             ║
║             └──────────────┘  └──────────────┘  └──────────────┘             ║
║                                                                              ║
╚══════════════════════════════════════════════════════════════════════════════╝
                     │ │ │           │ │ │           │ │ │
                     ▼ ▼ ▼           ▼ ▼ ▼           ▼ ▼ ▼
╔═══════════════════════════════════════════════════════════════════════════════╗
║                             SKILLS(知识能力层)                               ║
╠═══════════════════════════════════════════════════════════════════════════════╣
║                                                                               ║
║  ┌─ 需求与设计 ────────────────────────────────────────────────────────────┐   ║
║  │  intent-understand    需求意图理解与规格生成                             │   ║
║  │  api-explore          API 可行性探索与分析                               │   ║
║  │  op-design            算子方案设计生成                                   │   ║
║  └─────────────────────────────────────────────────────────────────────────┘  ║
║                                                                               ║
║  ┌─ 实现与验证 ────────────────────────────────────────────────────────────┐   ║
║  │  golden-generate      Golden 参考实现生成                               │   ║
║  │  op-develop           算子代码实现与调试                                 |   ║
║  │  precision-debug      精度问题诊断                                      │   ║
║  │  precision-compare    精度对比分析                                      │   ║
║  └────────────────────────────────────────────────────────────────────────┘   ║
║                                                                               ║
║  ┌─ 性能调优 ──────────────────────────────────────────────────────────────┐   ║
║  │  op-perf-tune         算子性能分析与调优                                 │   ║
║  └─────────────────────────────────────────────────────────────────────────┘  ║
║                                                                               ║
╚═══════════════════════════════════════════════════════════════════════════════╝

🚀 Skills 技能库

Ascend C 算子开发

Skill 功能 使用样例
ascendc-api-best-practices API 使用最佳实践、参数限制
npu-arch NPU 架构知识、芯片型号映射
ascendc-docs-search API 文档索引 + 在线搜索
ascendc-env-check NPU 设备查询、CANN 环境验证
ascendc-tiling-design Tiling 和 Kernel 设计方法论,按算子类别分类
ascendc-precision-debug 精度调试,症状-原因速查、常见陷阱
ascendc-runtime-debug 运行时错误调试,错误码解析(161xxx/361xxx/561xxx)
ascendc-crash-debug 卡死/崩溃调试,Kernel 挂起、Coredump 分析
ascendc-ut-develop UT 单元测试用例开发与覆盖率增强
ascendc-st-design aclnn 接口测试用例设计、L0 / L1 测试用例生成
ascendc-code-review 代码检视方法论、5 大类别规范
ascendc-task-focus 任务聚焦,解决长任务“迷失在中间”的问题
ascendc-whitebox-design 白盒测试用例设计与生成
ascendc-registry-invoke-template 完整自定义算子工程模板,提供标准工程结构、代码模板、UT/ST 样例和多芯片架构参考
ascendc-registry-invoke-to-direct-invoke 注册调用算子转 <<<>>> kernel 直调 查看
ascendc-direct-invoke-to-registry-invoke <<<>>> kernel 直调转注册调用算子 查看
ascendc-direct-invoke-template Kernel 直调工程模板,提供验证过的样例工程和修改指南
ops-profiling NPU 性能采集与分析,CSV 指标解读、瓶颈定位、优化建议
ops-precision-standard 算子精度标准,按 dtype 分类提供 atol/rtol 精度比对标准
ascendc-docs-gen 算子文档写作参考,支持需求分析、详细设计等多个标准模版
ops-simulator NPU 仿真器技能。提供 CANN Simulator 的使用指导,包括精度仿真、性能仿真、流水线分析。
cuda2ascend-simt CUDA 算子迁移到 Ascend C SIMT,支持 standalone sample / torch_npu / pybind 三类交付形态,根据原始工程形态自动选择。仅支持 Ascend 950 PR平台。当前不支持:native JIT(nvrtc、运行时编译、扩展 JIT 加载)、torch 复数 dtype、device 侧 double(FP64)、CUDA 生态库(cuBLAS / cuDNN / cuFFT / cuSPARSE / Thrust / CUB / NCCL 等)、协作组、Ascend C SIMD API、矢量编程 API 查看
ascendc-blaze-best-practice Matmul/Cube/GEMM/BMM 单算子直调生成(Blaze/tensor_api 路径),覆盖模板选型、改造、Tiling 及排错
ascendc-performance-best-practices 按算子族组织的性能优化经验与参考代码总结
ascendc-regbase-best-practice DAV_3510 RegBase 算子 API 约束、实现结构、常见陷阱及真实参考算子
cann-env-setup 昇腾 NPU CANN 安装与环境配置指导
aiss-tiling-solver AISS-TilingSolver 工具自动求解最优 Tiling 参数,覆盖安装、输入构造、运行求解、结果解读

PyPTO 算子开发

Skill 功能
pypto-op-design 算子方案设计生成
pypto-op-develop 算子代码实现与测试
pypto-golden-generate Golden 参考实现生成
pypto-intent-understand 需求意图理解与规格生成
pypto-api-explore API 可行性探索与分析
pypto-precision-debug 精度问题代码层排查
pypto-precision-compare 精度中间结果对比分析
pypto-op-perf-tune 算子性能分析与自动调优

Triton 算子开发

Skill 功能
triton-task-extractor 从用户输入中提取算子,构建任务文件
triton-op-designer 设计高质量算法,指导代码生成
triton-op-coding 根据设计生成 Triton 内核代码
triton-op-verifier 验证算子精度和性能测试
triton-latency-optimizer 逐步优化 Triton 代码性能

NPU 模型推理优化

端到端优化流程由 plugins-official/model-infer-optimize/workflows/optimize-workflow.md 承载(plugin-local 普通 md 文档),由 primary agent 自动加载。下表列出 11 个可独立调用的原子 Skill:

Skill 功能
model-infer-migrator 框架适配与部署基线建立
model-infer-parallel-analysis 并行策略分析(TP/EP/DP)
model-infer-parallel-impl 并行切分实施
model-infer-kvcache KVCache 优化 + FA 替换
model-infer-fusion torch_npu 融合算子分析与替换
model-infer-graph-mode torch.compile 图模式适配
model-infer-precision-debug NPU 推理精度诊断
model-infer-runtime-debug NPU 运行时错误诊断
model-infer-multi-stream 多流并行优化
model-infer-prefetch 权重预取适配
model-infer-superkernel SuperKernel 适配

Skill 治理工具

Skill 功能 使用样例
cannbot-skill-reviewer 审查新增或修改的 SKILL.md 是否符合 CANNBot 入库要求,输出自动门禁、九维评分、阻塞项和整改建议 查看

GitCode 协作工具

Skill 功能 使用样例
gitcode-pr-handler 根据 GitCode PR 代码变更重新生成标题(约定式提交)与描述(沿用仓库 PR 模板)并写回 PR 查看
gitcode-issue-gen 自动判断两条路径:(PR路径) 从 PR diff 生成关联 Issue 并完成双向关联;(手动路径) 交互式收集信息生成 Issue 草稿,经确认后提交 查看
gitcode-issue-handler GitCode Issue 端到端处置,按内容自动选择 PR 代码变更路径或 Comment 答复路径 查看
gitcode-toolkit GitCode API/Token/URL/日志/变更展示 + Git 克隆/diff/log/remote + PR 创建工作流共享参考(内部参考,不直接触发)

🚀 Agents 智能代理

Ascend C 算子开发

Agent 功能
ascendc-ops-architect 算子架构师,支持需求分析和方案设计两种场景
ascendc-ops-developer 算子开发者,支持代码实现、编译测试和精度验证
ascendc-ops-tester 算子测试者,支持ST/UT用例生成与执行
ascendc-ops-reviewer 代码检视专家,支持快速检视和全功能检视两种模式
ascendc-kernel-architect Kernel直调架构师,支持需求分析、API验证、方案设计
ascendc-kernel-developer Kernel直调开发者,支持代码实现、编译测试、性能采集、文档编写
ascendc-kernel-reviewer Kernel直调审查者,支持独立构建验证、7维度评分、精度验证

PyPTO 算子开发

Agent 功能
pypto-op-analyst 需求分析与方案设计
pypto-op-developer 算子代码实现与精度调试
pypto-op-perf-tuner 性能分析与调优

Triton 算子开发

Agent 功能
triton-op-generator Triton 算子端到端生成与优化

NPU 模型推理优化

Agent 功能
model-infer-analyzer 模型分析、方案设计、并行策略推荐
model-infer-implementer 代码改造、调试修复
model-infer-reviewer 精度验证、性能对比

🛠️ 测试框架

自动化测试验证 Skills 和 Agents 的正确性,确保技能模块和智能代理的行为符合预期。 详见 tests/README.md

💬 相关信息

💖 免责声明

感谢您关注 CANNBot Skills 项目,我们希望这些技能和知识能帮助您更好地进行 CANN 开发 ^_^

在使用之前,请您了解:

  1. 关于功能满足度:由于技术快速更新迭代,部分内容可能无法完全适用于所有场景。本开源社区的功能和文档正在持续更新和完善中,如果想提出需求、发现问题、贡献想法,欢迎提 Issue 或参与讨论,共创共建。

  2. 关于自动生成:自动代码生成工具所产出的内容,其完整性、准确性、合规性受模型、Skills 能力、语料质量、输入指令等多种因素影响,无法保证完全精准。所有生成代码作为辅助研发使用,请开发者务必进行测试验证、安全审查后再投入使用。

🤝 社区交流