CANN 开源社区的 skills 仓库是一个挺有意思的项目。它不是一个技术库不提供任何 API 或算子——它是一个由 AI Agent 驱动的技术内容 Skill 合集。每份 Skill 是一份SKILL.md文件定义了 Agent 写特定主题技术文章的行为规则——术语规范、文章类型、写作模式、自检清单。当你对 Agent 说写一篇 CANN Runtime 的架构原理剖析Agent 读取 Runtime 的 Skill 文件按里面的规则和知识库生成文章。Skills 仓库是什么skills 仓库托管在 atomgit 上目录结构是一组 Skill 文件的集合skills/ ├── cann-content-gen/ # CANN 内容生成 │ └── SKILL.md ├── cann-code-review/ # CANN 代码审查 │ └── SKILL.md ├── cann-quick-start/ # 昇腾快速入门 │ └── SKILL.md └── ...每份SKILL.md包含术语硬规则CANN 不能写华为 CANN、Ascend C 必须有空格、Ascend 910 不带后缀知识库仓库清单、架构图、依赖关系、版本时间线——Agent 写文章时直接引用的素材文章模板8 种文章类型的结构和写法规范自检清单生成完成后 Agent 自己检查一遍——有没有禁用词、术语对不对、架构描述有没有错为什么 CANN 社区开始做 Skill任何开源社区都有新人入门的问题——文档堆了十几万字新人还是不知道该从哪看起。别说是 CANN 这种从底层硬件到上层应用都有涉及的项目——五层架构、55 个仓库、十几个框架集成文档量确实很庞大。Skills 的初衷是让 AI Agent 帮开发者消化这些信息。你不需要把 CANN 的全部文档看完——告诉 Agent 你想做什么“写一个 YOLO 推理”、“理解 GE 图执行”Agent 读取对应的 Skill 文件结合内置知识库给你一篇结构完整、术语正确、风格一致的技术文章。把技能知识写成 Skill 文件的思路是不是让开发者记住所有细节而是让开发者知道有这个能力——当你需要时Agent 会用 skill 帮你生成你需要的内容。技术内容生成为什么重要一个开源项目能否快速被采用文档生态跟代码质量一样重要。CANN 有 55 个仓库每个仓库都有 README但 README 只能覆盖这个仓库是什么。开发者需要的是我要做 XX应该看哪些仓库、按什么顺序学、每一步怎么做——这恰好是 Skill 擅长的事情。一个cann-content-genSkill 可以产出不同角度和深度的文章覆盖新人入门和老手进阶两个需求。社区贡献者写一篇教程可能花一周。写一份 Skill 文件可能花一天——之后 Agent 可以基于它以分钟级的频率产出各种类型的文章。这不是要替代人写的内容而是在人写的内容基础上做规模化延伸。社区生态协作方式Skills 的协作模式很轻量。任何人都可以提 PR 修术语。发现 Skill 里某个仓库的描述写错了直接提 PR 修贡献新 Skill。如果某个 CANN 仓库还没有对应的 Skill贡献者可以写一份提 PR反馈内容问题。Agent 生成的内容如果有事实错误反馈到 skills 仓库的 Issues 里——Skill 文件定期根据反馈更新Skill 的设计本身也鼓励迭代。每份SKILL.md末尾有一个反馈日志——记录了每次更新了什么、为什么更新。社区成员的反馈直接驱动 Skill 的版本演进。在当前上下文里的参考你这次生成的所有 CANN 文章——Runtime、GE、AscendCL、ATC、Ascend C、动态 Shape、YOLO、FlashAttention、大模型推理——每一篇都基于cann-content-genSkill。Skill 文件里内置的仓库清单、术语规则和自检清单确保了文章的事实准确性和风格一致性。如果你在阅读过程中发现了任何事实错误或表述不准确的地方反馈到 skills 仓库的 Issues——Skill 会在下一版更新中修复。这也是社区协作的意义——每一份反馈都在改进后续所有文章的质量。skills 仓库参与 CANN 社区贡献我的生成过程这次生成的 25 篇文章Prompt 6 到 30全部基于cann-content-genSkill。每篇文章在写完后都经历了 Skill 定义的三轮自检——字符串扫描检查禁用词和术语、架构一致性检查仓库定位和层级关系、质量反诘防止文章空洞化。如果你在阅读过程中发现某篇文章的描述跟你的经验不匹配欢迎反馈到 skills 仓库。这些反馈最终会回到 Skill 文件的更新迭代中让后续生成的每一篇文章都比上一版更准确。如何贡献一份 Skill贡献一份 Skill 的流程很简单。在 atomgit 上 fork skills 仓库后创建新目录你的技能名/SKILL.md。SKILL.md 至少包含name 和 description 元信息、知识库仓库列表、术语规则、架构图、生成流程文章类型、写作模式、自检清单。写完后提 PR社区维护者 review 后合并。新 Skill 上线后社区里任何人都可以基于它生成内容——它是一份可被 Agent 理解的知识文档。参考仓库skills 仓库CANN 社区
CANN Skills:用 AIGC 内容帮助开发者学习昇腾
发布时间:2026/5/21 19:46:08
CANN 开源社区的 skills 仓库是一个挺有意思的项目。它不是一个技术库不提供任何 API 或算子——它是一个由 AI Agent 驱动的技术内容 Skill 合集。每份 Skill 是一份SKILL.md文件定义了 Agent 写特定主题技术文章的行为规则——术语规范、文章类型、写作模式、自检清单。当你对 Agent 说写一篇 CANN Runtime 的架构原理剖析Agent 读取 Runtime 的 Skill 文件按里面的规则和知识库生成文章。Skills 仓库是什么skills 仓库托管在 atomgit 上目录结构是一组 Skill 文件的集合skills/ ├── cann-content-gen/ # CANN 内容生成 │ └── SKILL.md ├── cann-code-review/ # CANN 代码审查 │ └── SKILL.md ├── cann-quick-start/ # 昇腾快速入门 │ └── SKILL.md └── ...每份SKILL.md包含术语硬规则CANN 不能写华为 CANN、Ascend C 必须有空格、Ascend 910 不带后缀知识库仓库清单、架构图、依赖关系、版本时间线——Agent 写文章时直接引用的素材文章模板8 种文章类型的结构和写法规范自检清单生成完成后 Agent 自己检查一遍——有没有禁用词、术语对不对、架构描述有没有错为什么 CANN 社区开始做 Skill任何开源社区都有新人入门的问题——文档堆了十几万字新人还是不知道该从哪看起。别说是 CANN 这种从底层硬件到上层应用都有涉及的项目——五层架构、55 个仓库、十几个框架集成文档量确实很庞大。Skills 的初衷是让 AI Agent 帮开发者消化这些信息。你不需要把 CANN 的全部文档看完——告诉 Agent 你想做什么“写一个 YOLO 推理”、“理解 GE 图执行”Agent 读取对应的 Skill 文件结合内置知识库给你一篇结构完整、术语正确、风格一致的技术文章。把技能知识写成 Skill 文件的思路是不是让开发者记住所有细节而是让开发者知道有这个能力——当你需要时Agent 会用 skill 帮你生成你需要的内容。技术内容生成为什么重要一个开源项目能否快速被采用文档生态跟代码质量一样重要。CANN 有 55 个仓库每个仓库都有 README但 README 只能覆盖这个仓库是什么。开发者需要的是我要做 XX应该看哪些仓库、按什么顺序学、每一步怎么做——这恰好是 Skill 擅长的事情。一个cann-content-genSkill 可以产出不同角度和深度的文章覆盖新人入门和老手进阶两个需求。社区贡献者写一篇教程可能花一周。写一份 Skill 文件可能花一天——之后 Agent 可以基于它以分钟级的频率产出各种类型的文章。这不是要替代人写的内容而是在人写的内容基础上做规模化延伸。社区生态协作方式Skills 的协作模式很轻量。任何人都可以提 PR 修术语。发现 Skill 里某个仓库的描述写错了直接提 PR 修贡献新 Skill。如果某个 CANN 仓库还没有对应的 Skill贡献者可以写一份提 PR反馈内容问题。Agent 生成的内容如果有事实错误反馈到 skills 仓库的 Issues 里——Skill 文件定期根据反馈更新Skill 的设计本身也鼓励迭代。每份SKILL.md末尾有一个反馈日志——记录了每次更新了什么、为什么更新。社区成员的反馈直接驱动 Skill 的版本演进。在当前上下文里的参考你这次生成的所有 CANN 文章——Runtime、GE、AscendCL、ATC、Ascend C、动态 Shape、YOLO、FlashAttention、大模型推理——每一篇都基于cann-content-genSkill。Skill 文件里内置的仓库清单、术语规则和自检清单确保了文章的事实准确性和风格一致性。如果你在阅读过程中发现了任何事实错误或表述不准确的地方反馈到 skills 仓库的 Issues——Skill 会在下一版更新中修复。这也是社区协作的意义——每一份反馈都在改进后续所有文章的质量。skills 仓库参与 CANN 社区贡献我的生成过程这次生成的 25 篇文章Prompt 6 到 30全部基于cann-content-genSkill。每篇文章在写完后都经历了 Skill 定义的三轮自检——字符串扫描检查禁用词和术语、架构一致性检查仓库定位和层级关系、质量反诘防止文章空洞化。如果你在阅读过程中发现某篇文章的描述跟你的经验不匹配欢迎反馈到 skills 仓库。这些反馈最终会回到 Skill 文件的更新迭代中让后续生成的每一篇文章都比上一版更准确。如何贡献一份 Skill贡献一份 Skill 的流程很简单。在 atomgit 上 fork skills 仓库后创建新目录你的技能名/SKILL.md。SKILL.md 至少包含name 和 description 元信息、知识库仓库列表、术语规则、架构图、生成流程文章类型、写作模式、自检清单。写完后提 PR社区维护者 review 后合并。新 Skill 上线后社区里任何人都可以基于它生成内容——它是一份可被 Agent 理解的知识文档。参考仓库skills 仓库CANN 社区