Token导航 LogoToken导航TokenDH.com
待分类需要联网github未标认证来源可访问许可证需确认审计通过

ascendc-operator-doc-genascendc 运算符文档生成

Agent Skill

用于辅助文档、README、Markdown、说明文和内容稿件的整理与改写。它适合让 Agent 提炼结构、补齐章节、统一术语、检查链接或把零散材料整理成可读文档。使用时应保留项目已有事实、命令和路径,不要把未确认的信息写成确定结论;涉及对外文案时,还需要控制语气,避免过度营销或夸大能力。

总安装

1,188

周安装

50

GitHub Stars

12

下载量

416
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:ascendc-operator-doc-gen(ascendc 运算符文档生成)
来源仓库:https://github.com/ascend/agent-skills
仓库路径:skills/ascendc-operator-doc-gen
安装命令:
npx skills add https://github.com/ascend/agent-skills --skill ascendc-operator-doc-gen
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/ascend/agent-skills --skill ascendc-operator-doc-gen

简介

ascendc-operator-doc-gen 从源代码提取接口信息,生成 PyTorch 官方风格的中文 API 文档。

  • 依赖 register.cpp、ops.h 与设计文档等源文件,确保信息一致性。
  • 使用前必须确认算子已通过编译测试,且相关文件均已就绪。
  • 输出内容包括函数签名、参数说明、约束条件与调用示例,直接展示于界面。
  • 建议在设计文档完善后再调用,避免遗漏重要边界情况说明。

SKILL.md

AscendC 算子接口文档生成

从算子源代码提取接口信息,生成 PyTorch 官方文档风格 的中文 API 接口文档。

前置条件:编译测试通过(Phase 3 完成),以下文件均已就绪:

  • csrc/register.cpp — 包含 m.def 注册的 Python 调用 schema
  • csrc/ops.h — 包含 C++ 函数声明
  • csrc/ops/<op_name>/design.md — 包含算法描述、参数说明、dtype 支持、约束条件
  • csrc/ops/<op_name>/op_host/<op_name>.cpp — 包含 TORCH_CHECK 约束和实际参数处理逻辑
  • tests/test_<op_name>.py — 包含可运行的调用示例

工作流程

信息提取 → 文档结构组装 → 文件生成 → 聊天界面展示

阶段 1: 信息提取

从以下源文件中提取接口文档所需的全部信息。MUST 逐一读取这些文件,不可跳过。

1.1 从 csrc/register.cpp 提取 Python 调用签名

找到 m.def("<op_name>(...) 行,提取完整的 schema 字符串。

提取内容

  • 函数名
  • 参数列表(含类型和默认值)
  • 返回类型

示例

m.def("acosh(Tensor self) -> Tensor");

→ 签名: torch.ops.npu.acosh(self) → Tensor

Schema 类型到 Python 类型映射

Schema 类型Python 文档类型示例
Tensor*Tensor*必选张量参数
Tensor?*Tensor, optional*可选张量参数
Tensor(a!)*Tensor*原地修改张量
int*int*整数参数
int?*int, optional*可选整数参数
int[]*list[int]*整数列表
int[3]*list[int]*固定长度整数列表
float*float*浮点参数
bool*bool*布尔参数
str?*str, optional*可选字符串参数

1.2 从 csrc/ops.h 提取 C++ 函数声明

找到 namespace ascend_kernel 中对应函数的完整 C++ 签名。

提取内容

  • 返回类型(at::Tensorvoid 等)
  • 参数类型和参数名
  • 参数是否为 const 引用 / optional

1.3 从 design.md 提取算法和设计信息

提取内容

提取项设计文档章节文档用途
算法描述 / 数学公式计算逻辑设计功能描述段落
参数语义说明算子接口定义参数说明段落
支持的数据类型算子接口定义支持的数据类型段落
输入输出 shape 约束Tiling策略 / 算子接口定义Shape 段落
有效输入范围 / 约束注意事项 / 接口定义约束条件段落

1.4 从 op_host/<op_name>.cpp 提取运行时约束

搜索所有 TORCH_CHECK(...) 语句,提取:

TORCH_CHECK 内容文档用途
维度检查(dim() == NShape 约束
dtype 检查(scalar_type() == kHalf支持的数据类型
值域检查(数值范围限制)约束条件
参数互斥/依赖关系约束条件 / 参数说明

1.5 从 tests/test_<op_name>.py 提取使用示例

找到最简洁且完整的调用示例(优先选 run_simple_testtest_basic 中的代码),提取:

  • 输入 tensor 构造方式
  • 算子调用语句(torch.ops.npu.<op_name>(...)
  • 输出处理方式

阶段 2: 文档结构组装

按以下 固定结构 组装文档内容。格式严格参考 PyTorch 官方文档(如 torch.nn.RMSNormtorch.abs),文档正文使用中文

文档模板

# torch.ops.npu.<op_name>

torch.ops.npu.<op_name>(,,...,) →

<功能描述:1-3句中文说明算子做什么。如果有数学公式,用 LaTeX 行内公式展示。>

<如有数学公式,用独立公式块展示:>

$$
<公式>
$$

## 参数说明

- **<param1>** (*<type>*) – <中文描述>
- **<param2>** (*<type>*) – <中文描述>
- **<param3>** (*<type>, optional*) – <中文描述>。默认值: `<默认值>`

## 支持的数据类型

`torch.float16`, `torch.bfloat16`, `torch.float32`

## Shape

- **输入**: <shape描述,使用数学符号如 (N, *), (S, N, D) 等>
- **输出**: <shape描述>

<如有额外 shape 规则,以列表形式补充>

## 约束条件

- <约束条件1>
- <约束条件2>

## 使用示例
>> import torch >> import torch_npu >> import ascend_kernel >> <构造输入> >> <调用算子> >> <展示输出>

## 返回值

*<返回类型>* – <中文返回值描述>

各段落详细规范

标题签名

  • 格式:torch.ops.npu.<op_name>(<参数列表>) → <返回类型>
  • 参数列表从 register.cpp 的 schema 提取,仅保留参数名(不带类型)
  • 有默认值的参数写为 <name>=<default>
  • 返回类型:Tensortuple[Tensor, ...]None(对应 C++ void

功能描述

  • 使用中文撰写
  • 第一句话概括算子功能
  • 如有数学公式,用 LaTeX 展示
  • 如有多种工作模式(由参数控制),分别说明

参数说明

  • 每个参数一行,格式:- **<name>** (*<type>*) – <中文描述>
  • 可选参数标注 optional- **<name>** (*<type>, optional*) – <中文描述>。默认值: \<value>\``
  • 参数描述应包含:语义说明、shape 要求(如适用)、有效值范围(如适用)
  • Tensor 参数说明 shape 格式,如 "形状: (S, N, D)"
  • 布尔/枚举参数说明各取值的含义

支持的数据类型

  • 列出算子支持的所有 PyTorch dtype
  • 格式:` torch.float16, torch.bfloat16, torch.float32 `
  • 从 op_host 的 TORCH_CHECK 和 design.md 交叉验证

Shape

  • 使用中文标签(输入输出
  • 描述输入输出 tensor 的 shape 语义
  • 使用大写字母表示各维度含义,如 (N, C, H, W) — N: 批大小, C: 通道数, ...
  • 如果 shape 随参数变化,分情况说明

约束条件

  • 使用中文撰写
  • 列出所有 TORCH_CHECK 中检查的约束条件
  • 列出 design.md 中提到的有效输入范围
  • 如果存在参数之间的互斥/依赖关系,明确说明

使用示例

  • 提供可直接在 NPU 上运行的完整代码片段
  • 包含 import 语句
  • 使用 >>> 前缀(doctest 风格)
  • 输入数据使用小尺寸(便于展示)
  • 展示至少 1 个典型用例
  • 如果有多种使用模式,各展示 1 个

返回值

  • 使用中文描述
  • 格式:*<type>* – <中文描述>
  • 说明返回 tensor 的 shape 和 dtype(如与输入一致则注明"与输入 dtype 一致")
  • 如返回多个值(tuple),逐一说明

阶段 3: 文件生成

将组装好的文档写入:


ascend-kernel/csrc/ops/<op_name>/README.md

文件写入规则

  • 如果 README.md 已存在,覆盖旧内容
  • 使用 UTF-8 编码
  • 数学公式使用标准 LaTeX 语法($...$ 行内,$$...$$ 块级)

阶段 4: 在交互界面展示文档(MANDATORY)

文件生成后,MUST 将完整的 README.md 内容直接输出到聊天界面中。

展示格式


### 接口文档已生成

文件路径: `ascend-kernel/csrc/ops/<op_name>/README.md`

<完整 README.md 内容>

要求

  1. 展示完整文档内容,不要截断
  2. 展示文件路径供用户查看
  3. 如果某个段落因信息不足无法填写,用 [TODO: ...] 标注并提醒用户补充

完整示例

以下是一个假设的 acosh 算子的接口文档示例,展示最终生成效果:

说明:此示例仅用于展示文档格式,实际生成时所有信息均从源代码提取。
# torch.ops.npu.acosh

torch.ops.npu.acosh(self) → Tensor

逐元素计算输入张量的反双曲余弦值。

$$
\text{out}_i = \cosh^{-1}(\text{input}_i) = \ln(\text{input}_i + \sqrt{\text{input}_i^2 - 1})
$$

## 参数说明

- **self** (*Tensor*) – 输入张量,元素值必须 $\geq 1$。支持任意形状。

## 支持的数据类型

`torch.float16`, `torch.float32`

## Shape

- **输入**: $(*)$,支持任意形状
- **输出**: $(*)$,与输入形状相同

## 约束条件

- 仅支持 `float16` 和 `float32` 数据类型
- 输入张量的所有元素必须 $\geq 1$,否则结果为 `NaN`

## 使用示例
>> import torch >> import torch_npu >> import ascend_kernel >> x = torch.tensor([1.0, 2.0, 3.0, 10.0], dtype=torch.float32, device="npu:0") >> output = torch.ops.npu.acosh(x) >> output

tensor([0.0000, 1.3170, 1.7627, 2.9932], device='npu:0')


## 返回值

*Tensor* – 反双曲余弦计算结果,形状与输入相同,dtype 与输入一致。

检查清单

文档生成后按以下清单逐项验证:

  • [ ] 签名一致性: torch.ops.npu.<op_name>(...) 的参数列表与 register.cppm.def 完全一致
  • [ ] 参数完整性: 每个参数都有类型标注和中文语义描述
  • [ ] 默认值正确: 有默认值的参数在签名和参数说明中都标注了默认值
  • [ ] dtype 准确: 支持的数据类型与 op_host TORCH_CHECK 和 design.md 一致
  • [ ] Shape 清晰: 输入输出 shape 描述使用了有语义的维度符号
  • [ ] 约束完整: 所有 TORCH_CHECK 的检查条件都已体现
  • [ ] 示例可运行: 使用示例中的代码是从 test 文件中提炼的可执行代码
  • [ ] 返回值明确: 返回类型、shape、dtype 都已说明
  • [ ] 中文表述: 功能描述、参数说明、约束条件、返回值均使用中文
  • [ ] 文件已生成: README.md 已写入 csrc/ops/<op_name>/README.md
  • [ ] 已在聊天界面展示完整文档内容

反模式清单

  • NEVER 编造参数或 dtype 信息,所有信息必须从源代码提取
  • NEVER 跳过 TORCH_CHECK 约束的提取
  • NEVER 使用与 register.cpp schema 不一致的参数名或类型
  • NEVER 省略使用示例段落
  • NEVER 仅输出文件路径而不在聊天界面展示完整文档内容
  • NEVER 修改算子源代码,本 skill 是只读文档生成
  • NEVER 使用英文撰写文档正文(标题签名、代码、数学公式除外)

可读取文件范围

文件读取内容
csrc/register.cppPython 调用 schema(m.def
csrc/ops.hC++ 函数声明
csrc/ops/<op_name>/design.md算法描述、参数说明、dtype、约束
csrc/ops/<op_name>/op_host/<op_name>.cppTORCH_CHECK 约束、参数处理逻辑
tests/test_<op_name>.py使用示例

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.43%
按下载量换算147

Claude

27.63%
按下载量换算115

Cursor

18.18%
按下载量换算76

Gemini CLI

9.18%
按下载量换算38

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills