Existing C++ without raw new/delete or UB — no negotiation.
A defensive floor for maintaining existing C++ code: RAII, sanitizers in CI, clang-tidy and lifetimes under control. New components are born in Rust or Zig; C++ only enters through an exception ADR.
$ schematize install cppNon-negotiable floors
Never switched off "to go faster". Full list in the skill.
New components are born in Rust or Zig
C++ enters only through an exception ADR, never by fit.
RAII is the mechanism
Raw new/delete is banned in new code; unique_ptr by default and shared_ptr only for truly shared ownership.
Rule of zero or five
Writing only the destructor is the classic road to a double-free on implicit copy.
Lifetimes under control
A string_view, span or reference that outlives its owner is UB; a [&] lambda in async code is the same bug.
Sanitized suite and strict build
ASan, UBSan and TSan in CI with -fno-sanitize-recover=all, plus -Werror, -Wconversion, -Wold-style-cast and _GLIBCXX_ASSERTIONS.
Exceptions, locks and threads
Catch by const reference, never an empty catch (...); destructors do not throw; lock_guard instead of manual lock; std::jthread instead of a loose thread.
Commands
Installed in .claude/commands/. Run /cpp-help anytime.
/cpp-ccContext compact: writes the handoff (context + checklist) to the archive and runs /compact./cpp-claudeCreates or merges the always-on schematize-cpp CLAUDE.md at the repo root, without overwriting other skills' blocks./cpp-handoffWrites the context handoff to the archive without compacting: session end or task switch./cpp-helpLists every command./cpp-loadForce-loads the whole schematize-cpp normative body and applies it for the session./cpp-reviewReviews .cpp/.hpp and the build against the floor: runs the gate (code + build) and reads what the machine cannot (RAII, lifetimes, UB, scope).For AI agents
Install with no human in the loop. Metadata in llms.txt.
- Run: git clone https://github.com/schematizeme/skill-cpp.git && ./skill-cpp/install.sh
- Or download https://github.com/schematizeme/skill-cpp/releases/latest/download/skill-cpp.zip and unzip into .claude/skills/.
- Copy assets/CLAUDE.md to the repo root (always-on rule).
- Confirm with /cpp-help.
আলোচনা
লোড হচ্ছে…