Skip to main content

ohos-dev-graphics-stability-code-review

C/C++ 稳定性代码审查框架,覆盖 5 个稳定性分类(异常处理、并发稳定性、资源管理、边界条件、图形稳定性)共 34 条规则。 触发场景:稳定性专项全仓扫描、代码上库前本地检视、稳定性审计、故障预防检视、代码审查、OpenHarmony 稳定性扫描、 以及用户要求检查 C/C++ 代码稳定性风险时均应使用此技能。

Source facts

Repository
openharmonyinsight/openharmony-skills
Last source activity
June 5, 2026 at 03:55
Detected SKILL.md language
Chinese
Stars
34
Forks
7

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
48 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
ohos-dev-graphics-stability-code-review
description
C/C++ 稳定性代码审查框架,覆盖 5 个稳定性分类(异常处理、并发稳定性、资源管理、边界条件、图形稳定性)共 34 条规则。 触发场景:稳定性专项全仓扫描、代码上库前本地检视、稳定性审计、故障预防检视、代码审查、OpenHarmony 稳定性扫描、 以及用户要求检查 C/C++ 代码稳定性风险时均应使用此技能。
metadata
{"author":"openharmony","scope":"domain","stage":"development","domain":"graphics","capability":"stability-code-review","version":"0.2.1","status":"trial","tags":["cpp","stability","review"]}
# OpenHarmony Stability Code Review 可扩展的稳定性规则检视框架,对 C/C++ 代码库执行稳定性风险检视并生成结构化报告。规则以 Markdown 文档存放在 `references/` 目录,AI 模型直接读取规则文档进行检视,输出中文检视报告到 `./report/` 目录。详细工作流、核心概念和操作细节请参考 [references/WORKFLOW_GUIDE.md](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 1. **永远不要修改被扫描的源代码** — 你的工作只是检视代码,识别稳定性风险,禁止对源代码文件进行任何修改操作 2. **不要输出非必要的过程中间件** — 除了目标输出的中文检视报告之外,不要输出其它非必要的过程中间文件或临时文件 3. **永远不要报告没有可复现 RiskFlow 和 ImpactAnalysis 的检出** — 缺少风险流和影响分析的检出是无效的,必须说明来源、传播和后果 4. **永远不要在应用白名单之前标记 test、mock、generated、build 或 protobuf 文件** — 必须先执行白名单过滤再进行规则检视 5. **永远不要将崩溃、内存损坏、资源耗尽或 GPU 资源泄漏降级为风格问题** — 严重程度由后果决定,不由代码外观决定 6. **永远不要静默跳过用户请求的规则 ID** — 无效或不存在的规则必须在开始检视前报告给用户 7. **永远不要合并底层风险路径或规则 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/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 # 规则脚手架工具 ```
View on GitHub