skills/ets-runtime-dev/SKILL.md
Plan, implement, review, and validate general ets_runtime changes with a planner/worker/reviewer workflow. Use when working under arkcompiler/ets_runtime, or when handling ets_runtime feature work, bug fixes, refactors, test additions, and compile-validation tasks.
npx skillsauth add openharmonyinsight/openharmony-skills ets-runtime-devInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
你是 Planner,负责编排 ets-runtime-dev-worker 和 ets-runtime-dev-reviewer agent 来完成 ets_runtime 开发任务。
启动时必须先确定 SKILL_ROOT(ets-runtime-dev 技能资源目录,包含 review.md、format.sh 等文件):
**/ets-runtime-dev/review.mdreview.md 所在目录作为 SKILL_ROOT后续所有 SKILL_ROOT/ 引用均指此路径。
以下文件位于 SKILL_ROOT/,Worker/Reviewer 通过 Planner 注入的路径读取:
| 文件 | 用途 |
|------|------|
| review.md | 5 项评分标准(三方共享) |
| mistakes.md | 常见错误(可追加,三方共享) |
| .clang-format | 代码格式化配置 |
| format.sh | 格式化 git 工作区中已修改的 C/C++ 文件(仅修改行) |
| ets_runtime.md | ets_runtime 编译、测试、运行参考(按需读取) |
| states.md | Task 状态定义(三方共享) |
| plan-template.md | Plan 输出模板 |
| tasks-template.md | tasks.md 模板 |
Task 状态定义详见 SKILL_ROOT/states.md。
在开始需求确认之前,先检查当前分支是否有已存在的 plan/tasks:
git branch --show-current.agents/ets-runtime-dev/<branch-name>/plan.md 是否存在plan.md 和 tasks.md,然后询问用户:
如果用户已经明确说了“继续未完成任务 / 恢复当前任务”或“开始新任务 / 覆盖旧 plan”,不要重复追问,直接按用户指定路径执行。
询问用户:
git checkout -b <branch-name> <base-branch>如果用户已经明确说了“不要新建分支 / 在当前分支工作”,或已经给出新分支名和 base branch,直接遵从,不要重复询问。
在写任何代码之前,必须先完成需求确认:
默认先给出一段精简的“需求确认结论”,覆盖上述 4 点,再让用户确认。
如果用户已经明确要求“直接出 Plan / 先不要来回追问 / 等我确认 Plan 再继续”,则不要反复追问;把未确认的信息写成显式假设,放进回复和 plan.md,等用户在 Plan 评审阶段修正。不要把推断项写成已确认事实。
需求确认后,参照 SKILL_ROOT/plan-template.md 输出实现计划,并立即持久化:
git branch --show-current.agents/ets-runtime-dev/<branch-name>/.agents/ets-runtime-dev/<branch-name>/docs/.agents/ets-runtime-dev/<branch-name>/plan.md
plan-template.md 的标题和字段名;不要改写成自由发挥的小标题Assumptions / Open questions 中,标明“待用户确认”SKILL_ROOT/tasks-template.md 生成 .agents/ets-runtime-dev/<branch-name>/tasks.md
tasks.md 只使用模板里的 Status / Reason / ProgressCompile Validation Status、Build Result 之类额外字段.agents/ets-runtime-dev/<branch-name>/plan.md.agents/ets-runtime-dev/<branch-name>/tasks.md.agents/ets-runtime-dev/<branch-name>/...,没有修改 ecmascript/、test/ 等实现路径”git status --short --untracked-files=all,避免只显示 ?? .agents/ 这种过粗粒度结果⚠️ 持久化后,让用户确认 Plan 没有问题。用户可提修改意见,迭代直到确认后才能进入下一步。
后台派发 ets-runtime-dev-worker,并在任务描述中注入以下信息:
SKILL_ROOT[project_root][docs_dir].agents/ets-runtime-dev/<branch-name>/tasks.mdTask Ntasks.md,标记完成步骤为 [x],并将 Status 改为 in_review如果当前 Task 的 Status 是 rework,派发内容中要额外明确:
Worker 完成后会执行 SKILL_ROOT/format.sh 格式化代码。
Worker 返回 BLOCKED 时,Planner 读取 tasks.md 中对应 Task 的 Reason,按原因处理:
clang-format not found:提示用户安装 clang-format(如 apt install clang-format 或 brew install clang-format),安装后重新派发该 Task后台派发 ets-runtime-dev-reviewer,并在任务描述中注入以下信息:
SKILL_ROOT.agents/ets-runtime-dev/<branch-name>/docs/.agents/ets-runtime-dev/<branch-name>/tasks.mdTask Ncompleted,更新 ProgressReview 结果处理:
| 结果 | 动作 | |------|------| | ≥95 分 | 通过,进入下一步 | | <95 分(第 1-3 轮) | 将 Reviewer 的修复建议附给 Worker,重新派发 | | <95 分(第 3 轮后) | 升级给用户决策 |
按需读取 SKILL_ROOT/ets_runtime.md 的“Planner 编译验证流程”章节,简要:
buildingblocked,Reason 写 not an ets_runtime repo, build command unknown,再向用户询问编译命令donebuild_failed,Reason 写编译错误摘要,附错误信息重新派发 Worker编译验证阶段只允许复用 Task 的 Status 和 Reason 字段表达状态;不要额外新增 Compile Validation Status / Compile Validation Reason 一类字段。
编译验证不是新任务,不要追加 Task 2: Compile Validation 之类的结构;仍然更新当前正在进入验证阶段的那个 Task。
所有 Task 状态为 done 后,汇总报告结果。
plan.md 和 tasks.md 不删除,作为历史记录保留。
工作过程中如果发现新的错误模式(Worker 或 Reviewer 反复犯的错),应追加到 SKILL_ROOT/mistakes.md。
development
Run local code quality checks covering a subset of OpenHarmony gate CI (copyright, CodeArts C/C++) plus additional local checks (pylint/flake8, shellcheck/bashate, gn format). Use before committing to reduce gate failures. Triggers on: /oh-precommit-codecheck, "门禁检查", "门禁预检", "检查代码", "run codecheck", "check code quality", "lint my code", "代码检查", or after completing code implementation. WHEN to use: before git commit, before creating PR, after modifying C/C++/Python/Shell/GN files, when gate CI fails with codecheck defects, or when you want to preview what gate will flag.
development
OpenHarmony PR full lifecycle workflow. Five modes: - Commit: standardized commit with DCO sign-off and Issue linking - Create PR: commit + push to fork + create Issue + create PR on upstream - Fix Codecheck: fetch gate CI codecheck defects from a PR and auto-fix them - Review PR: fetch a PR's changes to local for code review - Fix Review: fetch unresolved review comments from a PR and auto-fix them Triggers on: /oh-pr-workflow, "提交代码", "创建PR", "提个PR", "commit", "修复告警", "修复门禁", "修复codecheck", "fix codecheck", "review pr", "review这个pr", "看下这个pr", "检视pr", "修复review", "修复检视意见", "fix review", or a GitCode PR URL with fix/review intent.
testing
分析 HM Desktop PRD 文档,提取需求信息、验证完整性、检查章节顺序(需求来源→需求背景→需求价值分析→竞品分析→需求描述)、检查 KEP 定义、检测需求冲突并生成结构化分析报告。适用于用户请求:(1) 分析或审查 PRD 文档, (2) 从需求中提取 KEP 列表, (3) 检查 PRD 完整性或一致性, (4) 将需求映射到模块架构, (5) 验证 PRD 格式合规性, (6) 验证竞品分析章节完整性。关键词:PRD分析, requirement extraction, KEP验证, completeness check, chapter order validation, 竞品分析检查, analyze PRD, 需求提取, 完整性检查, 章节顺序验证
development
基于 PRD 文档自动生成鸿蒙系统设计文档,包括架构设计文档和功能设计文档。生成前会分析 OpenHarmony 存量代码结构,确保与现有架构兼容。架构设计文档第2章必须为竞品方案分析,位于需求背景之后。适用于用户请求:(1) 生成架构设计文档, (2) 生成功能设计文档, (3) 从 PRD 生成设计文档, (4) 创建系统架构设计, (5) 编写功能规格说明, (6) 分析 OH 代码结构。关键词:architecture design, functional design, design doc, 竞品方案分析, OpenHarmony code analysis, 架构设计, 功能设计, 设计文档生成, OH代码分析, analyze codebase, competitor analysis