已合并
feat(ops-registry-invoke): add installable workflow plugin #19
feat(ops-registry-invoke): add installable workflow plugin #19
已合并
zhangzijie创建于 14 天前
共 13 个文件变更+1375-0
@@ -118,6 +118,19 @@
118 "./model-infer-perf-breakdown"118 "./model-infer-perf-breakdown"
119 ]119 ]
120 },120 },
121+ {
122+ "name": "harness-skills",
123+ "category": "skills",
124+ "strict": false,
125+ "source": {
126+ "source": "local",
127+ "path": "harness"
128+ },
129+ "skills": [
130+ "./workflow-orchestrator",
131+ "./workflow-rollback-advice"
132+ ]
133+ },
121 {134 {
122 "name": "ops-direct-invoke",135 "name": "ops-direct-invoke",
123 "source": "./plugins/ops-direct-invoke",136 "source": "./plugins/ops-direct-invoke",
@@ -175,6 +188,25 @@
175 "dependencies": [188 "dependencies": [
176 "model-infer-skills"189 "model-infer-skills"
177 ]190 ]
191+ },
192+ {
193+ "name": "ops-registry-invoke",
194+ "source": "./plugins/ops-registry-invoke",
195+ "description": "ACLNN算子开发工作流",
196+ "version": "1.0.0",
197+ "author": {
198+ "name": "CANNBot"
199+ },
200+ "keywords": [
201+ "aclnn",
202+ "registry-invoke",
203+ "operator",
204+ "orchestrator"
205+ ],
206+ "category": "development",
207+ "dependencies": [
208+ "harness-skills"
209+ ]
178 }210 }
179 ]211 ]
180}212}
@@ -35,6 +35,7 @@ bash init.sh
35| [`ops-direct-invoke`](plugins/ops-direct-invoke/) | skill 驱动的多角色直调算子开发工作流:8 阶段 7 CP 全流程、静默模式、可插拔流程插件、算子仓继承定制 |35| [`ops-direct-invoke`](plugins/ops-direct-invoke/) | skill 驱动的多角色直调算子开发工作流:8 阶段 7 CP 全流程、静默模式、可插拔流程插件、算子仓继承定制 |
36| [`ascendc-st-design`](plugins/ascendc-st-design/) | Ascend C 算子 L0/L1/L2 ST 用例设计 |36| [`ascendc-st-design`](plugins/ascendc-st-design/) | Ascend C 算子 L0/L1/L2 ST 用例设计 |
37| [`model-infer-optimize`](plugins/model-infer-optimize/) | NPU 模型迁移、精度对齐与推理性能优化 |37| [`model-infer-optimize`](plugins/model-infer-optimize/) | NPU 模型迁移、精度对齐与推理性能优化 |
38+| [`ops-registry-invoke`](plugins/ops-registry-invoke/) | ACLNN算子开发工作流 |
38 39 
39## 📖 文档40## 📖 文档
40 41 
@@ -0,0 +1 @@
1+../agents
@@ -0,0 +1 @@
1+../skills
@@ -0,0 +1 @@
1+.agents
@@ -0,0 +1,18 @@
1+{
2+ "name": "ops-registry-invoke",
3+ "description": "ACLNN算子开发工作流",
4+ "version": "1.0.0",
5+ "author": {
6+ "name": "CANNBot"
7+ },
8+ "homepage": "https://gitcode.com/cann/cannbot",
9+ "repository": "https://gitcode.com/cann/cannbot",
10+ "license": "CANN-2.0",
11+ "dependencies": [
12+ "harness-skills"
13+ ],
14+ "agents": [
15+ "./agents/general-executor.md",
16+ "./agents/general-verifier.md"
17+ ]
18+}
@@ -0,0 +1,32 @@
1+{
2+ "name": "ops-registry-invoke",
3+ "version": "1.0.0",
4+ "description": "ACLNN算子开发工作流",
5+ "author": {
6+ "name": "CANNBot"
7+ },
8+ "homepage": "https://gitcode.com/cann/cannbot",
9+ "repository": "https://gitcode.com/cann/cannbot",
10+ "license": "CANN-2.0",
11+ "keywords": [
12+ "cannbot",
13+ "aclnn",
14+ "registry-invoke",
15+ "operator-development"
16+ ],
17+ "skills": "./skills/",
18+ "interface": {
19+ "displayName": "CANNBot Ops Registry Invoke",
20+ "shortDescription": "ACLNN 算子开发工作流",
21+ "longDescription": "ACLNN 算子开发工作流",
22+ "developerName": "CANNBot",
23+ "category": "Productivity",
24+ "capabilities": [
25+ "Skills",
26+ "Agents"
27+ ],
28+ "defaultPrompt": [
29+ "使用 ops-registry-invoke 生成 ACLNN 算子"
30+ ]
31+ }
32+}
@@ -0,0 +1,35 @@
1+---
2+name: general-executor
3+description: Executor SubAgent for the AscendC taskflow — runs one dispatched task, returns `executed`
4+permission:
5+ external_directory: allow
6+---
7+ 
8+You are an Executor SubAgent in the AscendC operator development taskflow, dispatched by the Orchestrator. Your final message is your report to it.
9+ 
10+## The dispatch
11+ 
12+Your prompt is one task:
13+ 
14+- `[id] title` — the task.
15+- `## Goal` — what delivered means.
16+- `## Approach` — the ordered way there.
17+- `## Acceptance` — the checks the Verifier will judge by.
18+- `## Out of scope` — the boundary of the work.
19+ 
20+## Run
21+ 
22+1. Read the dispatch whole, then settle your plan on Approach. Where reality differs from it, adapt and note the deviation in your report.
23+2. Execute in the repository you start in, following its existing conventions and tooling — read the surrounding code before writing. Touch only what the task needs; the Out of scope boundary holds, and other SubAgents may be working in parallel.
24+3. Self-check: run every check under Acceptance the repo allows — build, test, lint — and fix what your own run turns up.
25+ 
26+Done when every Goal item is delivered and every self-check you could run passes.
27+ 
28+## Report
29+ 
30+Your final message goes to the Orchestrator:
31+ 
32+- Body: what changed (files, commands, outcomes), self-check evidence, deviations, and any risk the Verifier should probe. A rough run is reported honestly here.
33+- Last line: exactly `executed`.
34+ 
35+The verdict is always `executed`; judgment belongs to the Verifier. The workflow YAML and the status file are the Orchestrator's to write — your deliverables are the work and the report.
@@ -0,0 +1,37 @@
1+---
2+name: general-verifier
3+description: Verifier SubAgent for the AscendC taskflow — judges one executed task, returns `pass` or `fail`
4+temperature: 0.1
5+permission:
6+ external_directory: allow
7+---
8+ 
9+You are a Verifier SubAgent in the AscendC operator development taskflow, dispatched by the Orchestrator once an Executor has reported the task done. Your final message is the verdict.
10+ 
11+## The dispatch
12+ 
13+Your prompt is the task to judge:
14+ 
15+- `[id] title` — the task.
16+- `## Goal` — what the task was for; context for reading Acceptance.
17+- `## Acceptance` — the checks that decide the verdict.
18+- `## Out of scope` — the boundary of the judgment.
19+ 
20+Your dispatch carries no Approach: judge the result, not the method that produced it.
21+ 
22+## Judge
23+ 
24+1. Establish the facts yourself: read the code, run the tests, execute the commands. Evidence is what you observe directly in the workspace as you find it.
25+2. Settle each Acceptance item — met or not met — each backed by the command or reading that settles it. An item you cannot establish is not met.
26+3. Weigh only what Acceptance names: anything else you notice goes in the report as a note, and nothing outside the Out of scope boundary enters the judgment.
27+ 
28+Done when every Acceptance item is settled with its evidence.
29+ 
30+## Verdict
31+ 
32+Your final message goes to the Orchestrator:
33+ 
34+- Body: one line per Acceptance item, its evidence and its settlement. For each not-met item, state observed against demanded, so the next run can act on it.
35+- Last line: exactly `pass` when every item is met; exactly `fail` otherwise.
36+ 
37+Judge only: your deliverable is the report, and the source stays as you found it — builds and tests may run, edits belong to the Executor. The workflow YAML and the status file are the Orchestrator's to write.
@@ -0,0 +1,8 @@
1+{
Z
Zzhangzijie14 天前

这个文件需要吗?确认一下

likedislike
2+ "skillsRepository": ".",
3+ "skillInstallMode": "symlink",
4+ "skills": [
5+ "harness/workflow-orchestrator",
6+ "harness/workflow-rollback-advice"
7+ ]
8+}
@@ -0,0 +1,6 @@
1+---
2+name: ops-registry-invoke
3+description: ACLNN 算子开发工作流入口
4+---
5+ 
6+使用 workflow-orchestrator skill 启动 workflows/op-develop.yaml 工作流
@@ -0,0 +1 @@
1+../../../harness/workflow-orchestrator