Skills · Claude Code · Agent Skills

C++ existente sin new/delete crudo ni UB — sin negociación.

Piso defensivo para mantener código C++ existente: RAII, sanitizers en CI, clang-tidy y tiempos de vida bajo control. Los componentes nuevos nacen en Rust o Zig; C++ solo entra por ADR de excepción.

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

Mantenido por Lucas Andrade

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

Pisos innegociables

Nunca se desactivan "para ir más rápido". La lista completa está en la skill.

Componente nuevo nace en Rust o Zig

C++ entra solo por ADR de excepción, no por fit.

RAII es el mecanismo

new/delete crudo está vetado en código nuevo; unique_ptr por defecto y shared_ptr solo con propiedad realmente compartida.

Regla del cero o de los cinco

Escribir solo el destructor es el camino clásico al double-free en la copia implícita.

Tiempo de vida bajo control

Un string_view, span o referencia que sobrevive a su dueño es UB; una lambda [&] en código asíncrono es el mismo error.

Suite con sanitizers y build estricto

ASan, UBSan y TSan en CI con -fno-sanitize-recover=all, más -Werror, -Wconversion, -Wold-style-cast y _GLIBCXX_ASSERTIONS.

Excepciones, locks e hilos

catch por referencia const, nunca catch (...) vacío; el destructor no lanza; lock_guard en vez de lock manual; std::jthread en vez de hilo suelto.

Comandos

Instalados en .claude/commands/. Ejecuta /cpp-help cuando quieras.

/cpp-ccContext compact: guarda el handoff (contexto + checklist) en el archive y ejecuta /compact.
/cpp-claudeCrea o fusiona el CLAUDE.md siempre activo de schematize-cpp en la raíz del repo, sin sobrescribir bloques de otras skills.
/cpp-handoffGenera el handoff de contexto en el archive sin compactar: fin de sesión o cambio de tarea.
/cpp-helpLista todos los comandos de la skill.
/cpp-loadCarga a la fuerza todo el cuerpo normativo de schematize-cpp y lo aplica en la sesión.
/cpp-reviewRevisa .cpp/.hpp y el build contra el piso: ejecuta el gate (código + build) y lee lo que la máquina no lee (RAII, tiempo de vida, UB, alcance).

Para agentes de IA

Instala sin humano en el bucle. Metadatos en llms.txt.

  • Ejecuta: git clone https://github.com/schematizeme/skill-cpp.git && ./skill-cpp/install.sh
  • O descarga https://github.com/schematizeme/skill-cpp/releases/latest/download/skill-cpp.zip y descomprime en .claude/skills/.
  • Copia assets/CLAUDE.md a la raíz del repo (regla siempre activa).
  • Confirma con /cpp-help.

¿No quieres instalar?

Lee las normas completas y cópialas directo a tu proyecto — o instala la skill para que el agente las aplique solo.