REFERENCIA
Reglas y hooks
Dos capas silenciosas dan forma al comportamiento de tu equipo. Las reglas son guía siempre activa que sigue cada agente. Los hooks son scripts pequeños que la harness ejecuta automáticamente ante ciertos eventos — una nueva sesión, un git push. Juntos son el estilo de la casa del kit y sus reflejos.
Rara vez tocas ninguno de los dos directamente. Esta página es el mapa de lo que hay.
Reglas
Un perfil instala un conjunto de reglas en .claude/rules/. Son guía, no código — leídas por el equipo en cada tarea.
| Regla | Lo que da forma |
|---|---|
communication-style | Cómo te habla el equipo — tono, brevedad, cuándo preguntar y cuándo avanzar. |
task-management | El flujo issue → branch → PR → merge → close a través de GitHub. |
plan-output-format | Cómo se escriben los planes y dónde viven (markdown, mdx o desactivado). |
design-routing | Envía cualquier decisión visual / UX al designer en lugar de resolverla sobre la marcha. |
mempalace | Cuándo guardar y recordar memoria; escribe un resumen curado al cerrar. (perfiles con memoria) |
skill-gaps | Pregunta por una capacidad ausente una vez, solo cuando no es obvia, y luego la recuerda. |
react-annotate | El ciclo anotar → localizar → arreglar → resolver para feedback de UI. (cuando annotate está conectado) |
Qué reglas obtienes depende de tu perfil y de las opciones que hayas activado. Consulta Perfiles y configuración.
Hooks
Los hooks se disparan ante eventos, no a petición. El kit instala un conjunto pequeño y fácil de adoptar de forma opcional.
| Hook | Se dispara en | Qué hace |
|---|---|---|
| Update check | SessionStart | Anota discretamente "update available" si el proyecto va por detrás del plugin instalado. En caso contrario, no hace nada. |
| Memory recall | SessionStart | Recuerda el wing de memoria del proyecto al inicio de una sesión. (memoria activada) |
| Memory save | Stop | Registra decisiones y escribe el resumen de cierre. (memoria activada) |
| Memory preserve | PreCompact | Guarda el contexto antes de que se compacte una conversación larga. (memoria activada) |
| Pre-push gate | PreToolUse(Bash) | Ejecuta tu comando antes de git push, bloqueando el push si falla. (opcional) |
Los hooks ligados a opciones que no habilitaste sencillamente no se instalan — nada se dispara por una función que no estás usando.
Skills condicionadas por el stack
Las convenciones de construcción no son reglas impuestas — son skills que se activan por sí solas únicamente cuando su tecnología está presente en tu package.json:
| Skill | Se activa cuando | Cubre |
|---|---|---|
feature-build-refine | @refinedev/* está presente | Arquitectura de feature/form/page con Next.js + Supabase + RefineDev |
supabase-patterns | @supabase/supabase-js está presente | Modelo de tres clientes, guardia de auth en server actions, acceso RLS-first |
Si la tecnología no está en tu stack, la skill simplemente no aplica. Añade más de la misma manera — una skill autocondicionada por tecnología. Y karpathy-guidelines (salvaguardas frente a errores comunes al programar con LLM) viaja con todos los perfiles.
La barrera previa al push (opcional)
Habilítala con --prepush "<command>" en el init — p. ej. --prepush "pnpm -w build". Instala un hook PreToolUse(Bash) que ejecuta <command> antes de cada git push y bloquea el push si el comando falla. Es autopermisiva: solo actúa sobre git push, y los proyectos que no la activaron (o tienen un comando vacío) nunca se bloquean. Ajústala después mediante .prePush en kit.config.json.
Desarrollo guiado por especificaciones (opcional)
Habilítalo con --speckit on (o en el prompt de /kit-init). La skill speckit instala o identifica Spec Kit, realiza una Stack Interview y conduce el ciclo de vida specify → clarify → plan → tasks → analyze → implement con barreras de revisión. Cualquier skill de stack coincidente se convierte automáticamente en la sobrescritura feature-module.md de Spec Kit.
Cómo funciona por dentro
- Resolución en el init.
init.shresuelve los bloques condicionales en las plantillas —IF:MEMORY,IF:PROJECTS_V2,IF:PLANS,IF:DESIGN— de modo que solo se escriben las reglas y hooks que coinciden con tus elecciones. - El hook de comprobación de actualizaciones.
templates/hooks/kit_version_check.sh.tmplse convierte en un hook de SessionStart que llama ascripts/kit-version-check.sh, comparando elkitVersionregistrado del proyecto contra el plugin instalado mediante unsort -Vconsciente de semver. Imprime el aviso solo cuando el proyecto está estrictamente por detrás. - Hooks de memoria. La ruta
IF:MEMORYconecta SessionStart / Stop / PreCompact al MCP de MemPalace. Hasta que el runtime esté presente, son no-ops seguros. - Pre-push. La barrera es un matcher
PreToolUse(Bash)que inspecciona el comando, actúa solo sobregit push, ejecuta.prePushy devuelve un código distinto de cero que bloquea únicamente en caso de fallo.
A dónde ir después
- Perfiles y configuración — qué reglas trae cada perfil.
- Comandos y scripts — los scripts a los que llaman los hooks.
- Memoria — la regla y los hooks de memoria en lenguaje claro.