ascendc-operator-project-init

Generate an AscendC operator skeleton under csrc/ops with host and kernel placeholders.

31|1|Updated Mar 28, 2026
One-click install
npx skills add https://github.com/Ascend/agent-skills --skill ascendc-operator-project-init
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ascendc-operator-project-init
Source: https://github.com/Ascend/agent-skills/tree/main/skills/ascendc-operator-project-init
Command: npx skills add https://github.com/Ascend/agent-skills --skill ascendc-operator-project-init

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

This Skill automates the bootstrap of a new AscendC operator project by generating a standardized skeleton under csrc/ops and delivering a ready-to-develop scaffold.

Core Features & Use Cases

  • Auto-detect ascend-kernel templates or existing projects and reuse when available.
  • Create csrc/ops/<op_name> with host and kernel placeholders, a minimal CMakeLists, and a design.md.
  • Enforce snake_case naming, guard against overwriting existing directories, and output a step-by-step DoD for operator integration.

Quick Start

Provide the operator name in snake_case to automatically generate the standard AscendC operator skeleton under csrc/ops/<op_name> and show next steps.

Frequently Asked Questions about ascendc-operator-project-init

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create an AscendC operator project skeleton automatically?

You can auto-generate an AscendC operator skeleton by providing an operator name in snake_case. This creates a ready-to-develop scaffold under csrc/ops/, including host and kernel placeholders, a minimal CMakeLists, and a design.md file.

What is the standard directory structure for a new AscendC operator?

The standard AscendC operator structure places files under csrc/ops/<op_name>. It includes host and kernel placeholders for logic separation, a minimal CMakeLists for building, and a design.md for documentation.

How do I bootstrap a new AscendC kernel without overwriting existing files?

To bootstrap an AscendC kernel safely, the scaffold generator enforces snake_case naming and includes safety checks to prevent overwriting existing directories. It detects existing ascend-kernel templates to reuse them without destroying your current work.

Does the AscendC operator scaffold reuse existing ascend-kernel templates?

Yes, the AscendC operator scaffold auto-detects existing ascend-kernel templates or projects and reuses them when available. This ensures your new operator integrates seamlessly with your current project environment.

What naming convention is enforced when generating an AscendC operator scaffold?

Generating an AscendC operator scaffold requires strict snake_case naming for the operator name. The automation enforces this convention to maintain consistency across the csrc/ops directory structure.

What are the next steps after generating an AscendC operator skeleton?

After generating an AscendC operator skeleton, the tool outputs a step-by-step Definition of Done (DoD) for operator integration. You then proceed to implement the host and kernel logic within the created placeholders.