Skills · Claude Code · Agent Skills

C++ que já existe sem new/delete cru nem UB — sem negociação.

Piso defensivo para manter código C++ existente: RAII, sanitizers no CI, clang-tidy e tempo de vida sob controle. Componente novo nasce em Rust ou Zig; C++ só entra por ADR de exceção.

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

Mantido por Lucas Andrade

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

Pisos inegociáveis

Nunca desligados "para ir mais rápido". A lista completa está na skill.

Componente novo nasce em Rust ou Zig

C++ entra só por ADR de exceção, não por fit.

RAII é o mecanismo

new/delete cru é vetado em código novo; unique_ptr por padrão e shared_ptr só com posse realmente compartilhada.

Regra do zero ou dos cinco

Escrever só o destrutor é o caminho clássico para double-free na cópia implícita.

Tempo de vida sob controle

string_view, span ou referência que sobrevive ao dono é UB; lambda [&] em código assíncrono é o mesmo bug.

Suíte sanitizada e build estrito

ASan, UBSan e TSan no CI com -fno-sanitize-recover=all, mais -Werror, -Wconversion, -Wold-style-cast e _GLIBCXX_ASSERTIONS.

Exceções, locks e threads

catch por referência const, nunca catch (...) vazio; destrutor não lança; lock_guard em vez de lock manual; std::jthread em vez de thread solta.

Comandos

Instalados em .claude/commands/. Rode /cpp-help quando quiser.

/cpp-ccContext compact: grava o handoff (contexto + checklist) no archive e roda /compact.
/cpp-claudeCria ou mescla o CLAUDE.md sempre-on de schematize-cpp na raiz do repo, sem sobrescrever blocos de outras skills.
/cpp-handoffGera o handoff de contexto no archive, sem compactar: fim de sessão ou troca de tarefa.
/cpp-helpLista todos os comandos da skill.
/cpp-loadCarrega à força todo o corpo normativo de schematize-cpp e passa a aplicá-lo na sessão.
/cpp-reviewRevisa .cpp/.hpp e o build contra o piso: roda o gate (código + build) e lê o que a máquina não lê (RAII, tempo de vida, UB, escopo).

Para agentes de IA

Instale sem humano no loop. Metadados em llms.txt.

  • Execute: git clone https://github.com/schematizeme/skill-cpp.git && ./skill-cpp/install.sh
  • Ou baixe https://github.com/schematizeme/skill-cpp/releases/latest/download/skill-cpp.zip e descompacte em .claude/skills/.
  • Copie assets/CLAUDE.md para a raiz do repo (regra sempre ativa).
  • Confirme com /cpp-help.

Não quer instalar?

Leia as normativas completas e copie direto pro seu projeto — ou instale a skill para o agente aplicar sozinho.