Experimental, y solo Claude Code (los hooks son una función de Claude Code). Apagado por defecto.
Cómo funciona
Dos interruptores, por diseño
El hook está instalado localmente pero controlado de forma remota:- Instalado por
driftless install-skillen el.claude/settings.jsondel repo. Se queda ahí, inerte. - Activado por un admin del workspace en Settings → Automations, un solo toggle (
settings.auto_pull_context). El pegamento lo lee en cada corrida (cacheado ~60s), así que apagarlo vuelve al hook un no-op para todo el workspace, sin que nadie toque un archivo local.
driftless hooks disable.
hook y hooks son dos comandos distintos, no un error de tipeo. driftless hook es el pegamento en runtime que Claude Code invoca (pre-edit, post-edit, stop, sync); nunca lo corres a mano. driftless hooks es el comando de gestión (enable / disable) que instala o quita las entradas del hook en .claude/settings.json.Por qué es la recompensa de la gobernanza
Solo los topics que son Knowledge (reviewed) se auto-inyectan. Una Nota es una pista, no la verdad del equipo, así que nunca llega al agente de forma automática. Por eso agregar una nota a Knowledge es, literalmente, lo que hace que tus agentes empiecen a programar con ella. La decisión del owner/admin y el hook son el mismo loop: revisar → fusionar (por un owner/admin, o un agente al que le piden) → el hook lo entrega → el agente lo hace bien.
Costo y seguridad
Hecho para que no se te vaya en tokens ni te bloquee el editor:- Solo Reviewed + System. Los drafts y las notas en etapa temprana nunca se inyectan.
- Deduplicado por sesión. Edita la misma área cinco veces → su contexto se inyecta una vez, no cinco.
- Con tope de tamaño. Un resumen que prioriza la señal bajo un presupuesto fijo de ~2k tokens: los invariantes y los gotchas de cada topic matcheado van antes que las decisiones de cualquiera, tomados en round-robin para que un topic muy verboso no ahogue al resto. Nunca el topic entero.
- No-op si no hay match o hay lentitud. Ningún topic reviewed que matchee, o una API lenta → no se inyecta nada.
- Nunca bloquea. El hook siempre sale limpio; una falla no puede detener tu edición.
