Agent Skills: OpenHarmony C++ Coding Skills

Expert coding guide for OpenHarmony C++ development. Use this skill when writing, refactoring, or reviewing C++ code for OpenHarmony projects. It enforces strict project-specific conventions (naming, formatting, headers) and critical security requirements (input validation, memory safety).

UncategorizedID: openharmonyinsight/openharmony-skills/openharmony-cpp

Install this agent skill to your local

pnpm dlx add-skill https://github.com/openharmonyinsight/openharmony-skills/tree/HEAD/skills/openharmony-cpp

Skill Files

Browse the full folder contents for openharmony-cpp.

Download Skill

Loading file tree…

skills/openharmony-cpp/SKILL.md

Skill Metadata

Name
openharmony-cpp
Description
Expert coding guide for OpenHarmony C++ development. Use this skill when writing, refactoring, or reviewing C++ code for OpenHarmony projects. It enforces strict project-specific conventions (naming, formatting, headers) and critical security requirements (input validation, memory safety).

OpenHarmony C++ Coding Skills

Core Mandates (Common Pitfalls)

These rules are strictly enforced in OpenHarmony and often differ from general C++ projects.

1. Strict Naming & Formatting

  • Extensions: Always use .cpp and .h.
  • Files: Filenames must match class names (Unix-like, e.g., my_class.cpp).
  • Variables: Global vars must start with g_ (e.g., g_config). Class members must end with _ (e.g., value_).
  • Braces: K&R Style is mandatory (opening brace on the same line).
  • Details: See naming_formatting.md.

2. Header Management

  • Guards: Use #ifndef guards. #pragma once is FORBIDDEN.
  • Includes: Prefer #include over forward declarations to prevent hidden dependencies.
  • Details: See headers_scopes.md.

3. Critical Security Requirements

  • Input Validation: All external data must be validated before use (indices, sizes, loops).
  • Memory Safety: Pointers must be set to nullptr immediately after deletion.
  • Bitwise: Only on unsigned types.
  • Details: See secure_coding.md.

Usage Guide

When to use

  • New Code: Generating new classes or modules.
  • Refactoring: Cleaning up legacy code.
  • Review: Checking code against OpenHarmony standards.

Reference Map