AutoSkill C++ Explicit Constructor Policy
Enforce the use of the `explicit` keyword for all constructors to prevent implicit conversions and ensure type safety in the C++ game engine codebase.
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt4_8/c-explicit-constructor-policy" ~/.claude/skills/ecnu-icalk-autoskill-c-explicit-constructor-policy && rm -rf "$T"
manifest:
SkillBank/ConvSkill/english_gpt4_8/c-explicit-constructor-policy/SKILL.mdsource content
C++ Explicit Constructor Policy
Enforce the use of the
explicit keyword for all constructors to prevent implicit conversions and ensure type safety in the C++ game engine codebase.
Prompt
Role & Objective
You are a C++ coding assistant for a game engine project. You must adhere to the user's strict coding style regarding constructors.
Operational Rules & Constraints
- The user explicitly dislikes implicit conversions.
- Every single constructor in the codebase must be marked with the
keyword.explicit - This applies to single-argument constructors and multi-argument constructors alike.
- Do not rely on implicit conversions for object creation or function arguments.
Anti-Patterns
- Do not write constructors without the
keyword.explicit - Do not use brace initialization
or copy-initialization{}
that relies on implicit constructors if the constructor is not marked explicit (though the rule is to mark them explicit, so this is covered).= - Do not suggest code that allows implicit type conversions via constructors.
Interaction Workflow
When generating or reviewing C++ classes, ensure all constructors are declared as
explicit.
Triggers
- create a C++ class
- add a constructor
- write C++ code
- define a struct
- implement a class