OpenHarmony Stability Code Review
SkillDev toolsC/C++ stability code review framework covering 5 stability categories (exception handling, concurrency stability, resource management, boundary conditions, graphics stability) with 34 rules in total. Trigger scenarios: stability-focused full-repo scans, local pre-commit code inspection, stability au
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the OpenHarmony Stability Code Review skill
What this skill tells your AI
The instructions your AI receives, as published by openharmonyinsight/openharmony-skills in skills/ohos-dev-graphics-stability-code-review/SKILL.md and read by ahel’s review.
可扩展的稳定性规则检视框架,对 C/C++ 代码库执行稳定性风险检视并生成结构化报告。规则以 Markdown 文档存放在 references/ 目录,AI 模型直接读取规则文档进行检视,输出中文检视报告到 ./report/ 目录。详细工作流、核心概念和操作细节请参考 references/WORKFLOW_GUIDE.md。
触发场景
- 稳定性专项全仓扫描:对 C/C++ 代码库执行稳定性审计或风险检视
- 指定规则扫描:用户明确指定规则 ID、级别或分类进行针对性检视
- 代码上库前本地检视:在代码提交前进行稳定性检视
- 检测稳定性风险(异常处理不当、并发死锁、性能退化、资源泄漏等)
- 审查生命周期管理(对象生命周期、异步任务管理)
- 用户明确要求检查代码稳定性时
触发示例:
# 全量扫描
稳定性全量扫描 ./rosen/
代码稳定性检视 ./src/
# 指定规则扫描
用 ExceptionHandling_001 规则检视 ./src/
用 ExceptionHandling_001,ExceptionHandling_002,BoundaryCondition_001 规则检视 ./rosen/
# 按级别过滤扫描
对 ./rosen/ 做稳定性扫描,只检视 HIGH 级别的规则
# 指定分类扫描
对 ./src/ 做稳定性扫描,只检视异常处理分类的规则
用BoundaryCondition和GraphicsStability分类的规则检视 ./rosen/
NEVER
- 永远不要修改被扫描的源代码 — 你的工作只是检视代码,识别稳定性风险,禁止对源代码文件进行任何修改操作
- 不要输出非必要的过程中间件 — 除了目标输出的中文检视报告之外,不要输出其它非必要的过程中间文件或临时文件
- 永远不要报告没有可复现 RiskFlow 和 ImpactAnalysis 的检出 — 缺少风险流和影响分析的检出是无效的,必须说明来源、传播和后果
- 永远不要在应用白名单之前标记 test、mock、generated、build 或 protobuf 文件 — 必须先执行白名单过滤再进行规则检视
- 永远不要将崩溃、内存损坏、资源耗尽或 GPU 资源泄漏降级为风格问题 — 严重程度由后果决定,不由代码外观决定
- 永远不要静默跳过用户请求的规则 ID — 无效或不存在的规则必须在开始检视前报告给用户
- 永远不要合并底层风险路径或规则 ID 不同的检出 — 同位置但不同规则或不同风险传播路径的问题应分别保留
渐进式加载触发器
根据扫描场景精确控制加载内容,避免过度加载或不足加载:
全量扫描
必须加载:config/rules.yaml、config/whitelist.yaml、references/RULE_INDEX.md、所有启用的规则文档、references/PROBLEM_TEMPLATE.md、references/REPORT_TEMPLATE.md、references/REPORT_TEMPLATE.csv
不要加载:references/RULE_DEVELOPMENT_GUIDE.md、references/RULE_TEMPLATE.md、references/WORKFLOW_GUIDE.md(除非你对流程有疑问)
指定规则扫描
必须加载:config/rules.yaml、config/whitelist.yaml、用户指定的规则文档、references/PROBLEM_TEMPLATE.md、references/REPORT_TEMPLATE.md、references/REPORT_TEMPLATE.csv
不要加载:未指定的规则文档、references/RULE_DEVELOPMENT_GUIDE.md、references/RULE_TEMPLATE.md
分类扫描
必须加载:references/RULE_INDEX.md、config/whitelist.yaml、该分类下的规则文档、references/PROBLEM_TEMPLATE.md、references/REPORT_TEMPLATE.md、references/REPORT_TEMPLATE.csv
不要加载:其他分类的规则文档、references/RULE_DEVELOPMENT_GUIDE.md、references/RULE_TEMPLATE.md
新增/修改规则
必须加载:references/RULE_DEVELOPMENT_GUIDE.md、references/RULE_TEMPLATE.md、config/rules.yaml
不要加载:规则检视文档和报告模板(除非同时进行检视)
工作流决策树
用户输入
│
├─ 指定规则 ID? ──→ 解析 ID 列表,验证有效性 → 加载对应规则文档
├─ 指定级别? ──→ 从 rules.yaml 筛选匹配级别 → 加载对应规则文档
├─ 指定分类? ──→ 从 RULE_INDEX.md 筛选匹配分类 → 加载对应规则文档
└─ 未指定? ──→ 加载 rules.yaml 所有启用规则 → 加载全部规则文档
│
▼
加载 config/whitelist.yaml,初始化白名单过滤
│
▼
按稳定性分类启动 5 个 Subagent 并行检视
每个 Subagent:白名单过滤 → 遍历规则 → RISK_PATTERN → CONTEXT → IMPACT → 安全写法排除 → 按 PROBLEM_TEMPLATE.md 格式输出
│
▼
主 Agent 汇总:收集 → 格式验证 → 去重合并 → 按严重程度分组排序(CRITICAL→HIGH→MEDIUM→LOW)
│
▼
输出报告到 ./report/ 目录
├── report_{target}_{timestamp}.md (按 REPORT_TEMPLATE.md)
└── report_{target}_{timestamp}.csv (按 REPORT_TEMPLATE.csv)
详细工作流图示、核心概念定义和操作细节请参考 references/WORKFLOW_GUIDE.md。
输出合约
| 项目 | 要求 |
|---|---|
| 问题格式 | 严格遵循 references/PROBLEM_TEMPLATE.md,必须包含:标题、分类、规则、位置、函数、严重程度、关键源码、问题描述、RiskFlow、ImpactAnalysis、修复建议 |
| 报告格式 | Markdown 报告遵循 references/REPORT_TEMPLATE.md,CSV 报告遵循 references/REPORT_TEMPLATE.csv |
| 输出路径 | 默认 ./report/,用户可指定其他路径;若目录不存在则先创建 |
| 去重规则 | 同位置同规则问题合并;不同规则或不同风险路径的问题保留 |
| 规则覆盖 | 必须遍历所有指定或启用的规则,不得遗漏;无效规则 ID 必须在检视前报告 |
项目结构
├── SKILL.md # 技能说明(本文件,紧凑路由)
├── README.md # 项目说明
├── config/
│ ├── rules.yaml # 规则配置
│ └── whitelist.yaml # 白名单配置
├── references/
│ ├── RULE_INDEX.md # 规则总索引
│ ├── WORKFLOW_GUIDE.md # 工作流详细指南
│ ├── RULE_DEVELOPMENT_GUIDE.md # 规则开发指南(仅规则开发时加载)
│ ├── RULE_TEMPLATE.md # 规则文档模板(仅规则开发时加载)
│ ├── PROBLEM_TEMPLATE.md # 检出问题格式模板
│ ├── REPORT_TEMPLATE.md # 报告格式模板(Markdown)
│ ├── REPORT_TEMPLATE.csv # 报告格式模板(CSV)
│ ├── ExceptionHandling/ # 异常处理(2条)
│ ├── ConcurrencyStability/ # 并发稳定性(1条)
│ ├── ResourceManagement/ # 资源管理(5条)
│ ├── BoundaryCondition/ # 边界条件(14条)
│ └── GraphicsStability/ # 图形稳定性(12条)
└── scripts/
└── add-rule.py # 规则脚手架工具
Signals
- GitHub stars
- 34
- Forks
- 7
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
ohos-dev-graphics-stability-code-review- Source
- github.com/openharmonyinsight/openharmony-skills