El C que ya existe no debe volverse vulnerabilidad — sin negociación.
Piso defensivo para mantener código C existente: sanitizers en CI, -Werror, ownership escrito y fuzzing de parsers. Los componentes nuevos nacen en Rust o Zig; C solo entra por ADR de excepción.
$ schematize install cPisos 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, o para el código que ya existe.
Suite con sanitizers en CI
ASan, UBSan y TSan donde hay hilos; UBSan con -fno-sanitize-recover=all para que el CI no quede verde con el defecto en el log.
Build que lee los avisos
-Wall -Wextra -Werror -Wconversion; _FORTIFY_SOURCE exige -O1 o más, si no, no hace nada.
Ownership y retorno verificado
Todo malloc tiene dueño escrito, free(p); p = NULL; y todo retorno se verifica, incluidos write parcial y snprintf.
Funciones vetadas
gets, strcpy/strcat/sprintf sin límite, scanf("%s") sin ancho, alloca de tamaño variable y system() están prohibidos.
Fuzzing y atómicos correctos
Todo parser tiene fuzzing en CI con corpus versionado; se usa stdatomic.h, nunca volatile.
Comandos
Instalados en .claude/commands/. Ejecuta /c-help cuando quieras.
/c-ccContext compact: guarda el handoff (contexto + checklist) en el archive y ejecuta /compact./c-claudeCrea o fusiona el CLAUDE.md siempre activo de schematize-c en la raíz del repo, sin sobrescribir bloques de otras skills./c-handoffGenera el handoff de contexto en el archive sin compactar: fin de sesión o cambio de tarea./c-helpLista todos los comandos de la skill./c-loadCarga a la fuerza todo el cuerpo normativo de schematize-c y lo aplica en la sesión./c-reviewRevisa .c/.h y el build contra el piso: ejecuta el gate (código + build) y lee lo que la máquina no lee (sanitizers, memoria, entrada externa, alcance).Para agentes de IA
Instala sin humano en el bucle. Metadatos en llms.txt.
- Ejecuta: git clone https://github.com/schematizeme/skill-c.git && ./skill-c/install.sh
- O descarga https://github.com/schematizeme/skill-c/releases/latest/download/skill-c.zip y descomprime en .claude/skills/.
- Copia assets/CLAUDE.md a la raíz del repo (regla siempre activa).
- Confirma con /c-help.
Discusión
Cargando…