Skills · Claude Code · Agent Skills

Il C esistente non deve diventare una vulnerabilità — senza negoziazione.

Uno standard difensivo per mantenere codice C esistente: sanitizer in CI, -Werror, ownership scritto e fuzzing dei parser. I nuovi componenti nascono in Rust o Zig; C entra solo con ADR di eccezione.

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

Gestito da Lucas Andrade

schematize-c · v0.4.0bash
$ schematize install c
GitHub →scarica la skill (.zip)/c-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, o per codice già esistente.

Suite con sanitizer in CI

ASan, UBSan e TSan dove ci sono thread; UBSan con -fno-sanitize-recover=all perché la CI non resti verde con il difetto nel log.

Una build che legge gli avvisi

-Wall -Wextra -Werror -Wconversion; _FORTIFY_SOURCE richiede -O1 o superiore, altrimenti non fa nulla.

Ownership e ritorni verificati

Ogni malloc ha un proprietario scritto, free(p); p = NULL; e ogni ritorno è verificato, inclusi write parziale e snprintf.

Funzioni vietate

gets, strcpy/strcat/sprintf senza limite, scanf("%s") senza larghezza, alloca di dimensione variabile e system() sono vietati.

Fuzzing e atomici corretti

Ogni parser ha fuzzing in CI con corpus versionato; si usa stdatomic.h, mai volatile.

Comandi

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

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

Per gli agenti IA

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

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