skills/code-checker/SKILL.md
Scan C/C++ codebases for code quality issues including extra large files/functions and circular dependencies. Use when the user asks to check file sizes, find oversized functions, detect circular dependencies, analyze code complexity, find code smells, or identify maintainability issues in C/C++ code. Supports scanning individual files or entire directories with configurable thresholds.
npx skillsauth add openharmonyinsight/openharmony-skills code-checkerInstall 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.
Analyzes C/C++ code for maintainability issues: extra large files/functions and circular dependencies between modules.
Scan for extra large files and functions:
scripts/scan_cpp_size.py <path> [options]
Options:
-o, --output <file> - Write report to file-f, --file-threshold <n> - Large file threshold (default: 2000 effective lines)-F, --function-threshold <n> - Large function threshold (default: 50 effective lines)Example:
scripts/scan_cpp_size.py ./src --file-threshold 1500 --function-threshold 40 -o size_report.md
Detect circular dependencies between directory modules:
scripts/circular_header_check.py <path> [options]
Options:
-o, --output <file> - Write report to file-v, --verbose - Verbose output--no-gn - Skip GN build file parsingExample:
scripts/circular_header_check.py ./src -o circular_report.md
The circular dependency checker:
BUILD.gn, *.gni) for include pathssrc/ and include/ as one component)When issues are found:
| Issue Type | Reference | |------------|-----------| | Large functions | references/refactoring.md | | Circular dependencies | See references/circular-deps.md |
| Category | Default Threshold | Rationale | |----------|-------------------|-----------| | Files | 2000 effective lines | Hard to navigate, understand | | Functions | 50 effective lines | Beyond cognitive fit, hard to test |
Effective lines exclude blank lines, comments, and preprocessor directives.
.c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++, .inl, .inc
testing
--- name: ohos-req-value-decision description: Use after review meeting to record decision and route to next step. Triggers: 评审决策纪要, 评审结论回流, value decision, 评审接纳, 评审不接纳, 评审退回, 下次重新上会. Do NOT use for feature baseline (ohos-req-feature-baseline), review gate checks (ohos-req-review-gate), or IR generation (ohos-req-feature-to-ir). metadata: author: openharmony scope: common stage: requirements capability: value-decision version: 0.3.0 status: draft tags: - sdd - requirements
development
Use when converting an OpenHarmony requirement document, spec, or design proposal into an OpenHarmony review slide deck (需求评审 / 需求变更评审 / 设计评审 PPTX) — produces the fixed OpenHarmony-branded review-deck structure (OH logo on every page) with architecture/flow diagrams and field tables. Triggers on "需求评审PPT", "需求变更评审", "把需求文档转成评审PPT", "spec转评审PPT", "requirement/spec to review deck". NOT for arbitrary or generic slide decks unrelated to OpenHarmony requirement/design review.
testing
Use when performing the Phase 0 Step 0.5 Review Ready Gate on a 04-feature.md, especially when the user says "evaluate gate", "review readiness", "feature ready?", "should we generate IR", or when the ohos-req-intake-orchestration main session needs a structured Ready / Conditional Ready / Not Ready judgment instead of doing the check inline. Reads 01-04, runs seven fixed checks plus a conditional-items check, and returns a machine-readable JSON summary plus a human-readable table that the main session can route on. Do NOT use for feature baseline generation (ohos-req-feature-baseline), value decision recording (ohos-req-value-decision), or IR generation (ohos-req-feature-to-ir).
testing
--- name: ohos-req-requirement-intake description: Use when importing an OHOS requirement into Phase 0.1, especially for 01-requirement.md, requirement intake, background, user value, scenarios, scope, FR/NFR, affected modules, or priority. Triggers: 需求导入, 01-requirement, 需求基线, RR单号. Do NOT use for feasibility analysis (ohos-req-feasibility-analysis), architecture decision (ohos-req-arch-decision), or feature baseline (ohos-req-feature-baseline). metadata: author: openharmony scope: common