Skills · Claude Code · Agent Skills

C++ esistente senza new/delete grezzo né UB — senza negoziazione.

Uno standard difensivo per mantenere codice C++ esistente: RAII, sanitizer in CI, clang-tidy e tempi di vita sotto controllo. I nuovi componenti nascono in Rust o Zig; C++ entra solo con ADR di eccezione.

v0.4.0Disciplina · C++ defensivogithub.com/schematizeme/skill-cpp

Gestito da Lucas Andrade

schematize-cpp · v0.4.0bash
$ schematize install cpp
GitHub →scarica la skill (.zip)/cpp-help · github.com/schematizeme/schematize-cli

Standard minimi non negoziabili

Mai disattivati "per andare più veloci". L'elenco completo è nella skill.

Il nuovo componente nasce in Rust o Zig

C++ entra solo con ADR di eccezione, mai per fit.

RAII è il meccanismo

new/delete grezzo è vietato nel codice nuovo; unique_ptr come default e shared_ptr solo con proprietà davvero condivisa.

Regola dello zero o dei cinque

Scrivere solo il distruttore è la strada classica verso il double-free nella copia implicita.

Tempi di vita sotto controllo

Uno string_view, span o riferimento che sopravvive al proprietario è UB; una lambda [&] in codice asincrono è lo stesso bug.

Suite con sanitizer e build rigorosa

ASan, UBSan e TSan in CI con -fno-sanitize-recover=all, più -Werror, -Wconversion, -Wold-style-cast e _GLIBCXX_ASSERTIONS.

Eccezioni, lock e thread

catch per riferimento const, mai un catch (...) vuoto; il distruttore non lancia; lock_guard invece del lock manuale; std::jthread invece di un thread isolato.

Comandi

Installati in .claude/commands/. Esegui /cpp-help quando vuoi.

/cpp-ccContext compact: scrive l'handoff (contesto + checklist) nell'archive ed esegue /compact.
/cpp-claudeCrea o unisce il CLAUDE.md sempre attivo di schematize-cpp nella radice del repo, senza sovrascrivere i blocchi di altre skill.
/cpp-handoffScrive l'handoff di contesto nell'archive senza compattare: fine sessione o cambio attività.
/cpp-helpElenca tutti i comandi della skill.
/cpp-loadCarica forzatamente l'intero corpo normativo di schematize-cpp e lo applica nella sessione.
/cpp-reviewRivede i .cpp/.hpp e la build rispetto allo standard: esegue il gate (codice + build) e legge ciò che la macchina non legge (RAII, tempo di vita, UB, ambito).

Per gli agenti IA

Installa senza umano nel ciclo. Metadati in llms.txt.

  • Esegui: git clone https://github.com/schematizeme/skill-cpp.git && ./skill-cpp/install.sh
  • Oppure scarica https://github.com/schematizeme/skill-cpp/releases/latest/download/skill-cpp.zip e decomprimi in .claude/skills/.
  • Copia assets/CLAUDE.md nella radice del repo (regola sempre attiva).
  • Conferma con /cpp-help.

Non vuoi installare?

Leggi le norme complete e copiale direttamente nel tuo progetto — oppure installa la skill perché l'agente le applichi da solo.