ohos-dev-graphics-stability-code-review について
Markdown 形式のルール文書を用いて、C/C++ コードベースの安定性リスクを確認する拡張可能なフレームワークです。全体・ルール指定・分類別のスキャンに対応し、リスク経路と影響分析を含む中国語レポートを作成します。
主な機能
- 01ルールに基づく C/C++ 安定性レビュー
- 02全体・ルール指定・分類別スキャン
- 03ホワイトリストによる除外要件
- 04Markdown と CSV の構造化レポート
- 05リスク経路と影響分析の要件
活用シーン
- 01コード提出前のコードベース監査
- 02リソースリークや並行処理リスクの検出
- 03指定したルール ID や分類だけの確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ openharmonyinsight/ openharmony-skills --skill ohos-dev-graphics-stability-code-reviewインストール後、Claude Code で/ohos-dev-graphics-stability-code-reviewを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdconfig/rules.yamlwhitelist.yamlevals/evals.jsonREADME.mdreferences/BoundaryCondition/StabilityCodeReview_BoundaryCondition_001.mdStabilityCodeReview_BoundaryCondition_002.mdStabilityCodeReview_BoundaryCondition_003.mdStabilityCodeReview_BoundaryCondition_004.mdStabilityCodeReview_BoundaryCondition_005.mdStabilityCodeReview_BoundaryCondition_006.mdStabilityCodeReview_BoundaryCondition_007.mdStabilityCodeReview_BoundaryCondition_008.mdStabilityCodeReview_BoundaryCondition_009.mdStabilityCodeReview_BoundaryCondition_010.mdStabilityCodeReview_BoundaryCondition_011.mdStabilityCodeReview_BoundaryCondition_012.mdStabilityCodeReview_BoundaryCondition_013.mdStabilityCodeReview_BoundaryCondition_014.mdreferences/ConcurrencyStability/StabilityCodeReview_ConcurrencyStability_001.mdreferences/ExceptionHandling/StabilityCodeReview_ExceptionHandling_001.mdStabilityCodeReview_ExceptionHandling_002.mdreferences/GraphicsStability/StabilityCodeReview_GraphicsStability_001.mdStabilityCodeReview_GraphicsStability_002.mdStabilityCodeReview_GraphicsStability_003.mdStabilityCodeReview_GraphicsStability_004.mdStabilityCodeReview_GraphicsStability_005.mdStabilityCodeReview_GraphicsStability_006.mdStabilityCodeReview_GraphicsStability_007.mdStabilityCodeReview_GraphicsStability_008.md詳細
OpenHarmony 安定性コードレビュー
拡張可能な安定性ルール検査フレームワークです。C/C++ コードベースに対して安定性リスクを検査し、構造化レポートを生成します。ルールは references/ ディレクトリに Markdown ドキュメントとして保存されています。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/
絶対に行わないこと
- スキャン対象のソースコードを変更しないでください — 作業はコードの検査と安定性リスクの特定のみです。ソースコードファイルに対する変更操作は禁止されています
- 不要な中間生成物を出力しないでください — 出力対象の中国語の検査レポート以外に、不要な中間ファイルや一時ファイルを出力しないでください
- 再現可能な 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 # 规则脚手架工具