🌱 Empieza aquí · Recordatorio de escribir para tu lector externo
¿Te ha pasado que le pides a tu asistente un reporte, una landing o un post para redes, y te lo entrega escrito con la misma jerga densa de tus notas de trabajo? Para ti se entiende, pero cualquier persona de fuera que lo abre se pierde: acrónimos sin explicar, frases larguísimas, cero hilo. Esta semilla le pone un reflejo: cada vez que le pides algo que va a leer un tercero, le recuerda cambiar el chip a lenguaje claro, con hilo narrativo y tono amigable, antes de entregarte nada. Documentos que cualquiera entiende a la primera.
Para instalarla
Abre esta carpeta con Claude Code o Cowork y dile a tu asistente:
"Siembra esta semilla 🌱"
Con eso basta de tu parte. Tu asistente hace todo lo técnico y al final te dice cómo comprobar que quedó funcionando. Vas a ver algunas palabras en inglés en la pantalla; ni caso, él te guía.
¿Otras formas de pedírselo? "instala esta semilla", "pon a funcionar el recordatorio de escribir para lector externo", "haz el setup de esto". Te entiende igual.
Para el asistente que siembra 🤖
Instala este hook (gancho de automatización) del evento UserPromptSubmit (cada vez
que la persona envía un mensaje). Su trabajo es leer el mensaje, decidir si pide un
entregable con audiencia externa (reporte, landing, post de redes, email de marketing,
propuesta, contrato, guion, presentación, curso) y, si es así, inyectar un recordatorio
suave (no bloqueante) para que escribas en lenguaje plano para un lector desconocido.
No inventes rutas: usa $HOME siempre.
1. Copia el script del kernel
mkdir -p "$HOME/.claude/hooks"
cp kernel/output-style-validator.sh "$HOME/.claude/hooks/output-style-validator.sh"
chmod +x "$HOME/.claude/hooks/output-style-validator.sh"
Windows (Git Bash / WSL): misma ruta
~/.claude/hooks/. El script usabash,sedy (si está)python, todos disponibles en Git Bash o WSL. Trae detección de Python real multiplataforma y un fallback ensedpuro, así que funciona con o sin Python.
2. Registra el hook en settings.json
Abre $HOME/.claude/settings.json (créalo si no existe) y agrega esta entrada dentro de
hooks.UserPromptSubmit. Si ya hay hooks de UserPromptSubmit, suma este objeto al
arreglo hooks existente en lugar de reemplazarlo (fusiona, no sobrescribas):
{
"hooks": {
"UserPromptSubmit": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "bash $HOME/.claude/hooks/output-style-validator.sh",
"timeout": 10
}
]
}
]
}
}
El
"timeout": 10es de sobra: el hook solo lee el mensaje y hace unas comparaciones de texto. Nunca bloquea el mensaje; en el peor caso simplemente no inyecta nada.
3. (Opcional) Personaliza por variables de entorno
Todo tiene un default sano, así que este paso es opcional. Si la persona quiere ajustar
algo, agrega un bloque env en settings.json o define las variables en su shell:
| Variable | Qué controla | Default |
|---|---|---|
| OUTPUTSTYLE_DISABLE | Con cualquier valor, apaga el recordatorio | (vacío = activo) |
| OUTPUTSTYLE_MINLEN | Largo mínimo del mensaje para evaluarlo (caracteres) | 30 |
| OUTPUTSTYLE_MSG | Reemplaza por completo el texto del recordatorio | auto |
El truco fino: si la persona trabaja en un rubro con vocabulario propio (médico, legal, técnico), puede usar
OUTPUTSTYLE_MSGpara agregar al recordatorio un ejemplo de esos acrónimos que siempre se le olvida explicar. Pero el default ya funciona tal cual.
4. Verificación post-siembra (obligatoria · hazla y muestra el resultado)
a) El script existe y es ejecutable:
ls -l "$HOME/.claude/hooks/output-style-validator.sh"
Salida esperada: una línea con permisos -rwxr-xr-x (la x = ejecutable).
b) Prueba en caliente — caso "entregable externo": aliméntale al hook un evento de mentira que simula a la persona pidiendo un reporte para un cliente. Copia y pega este bloque completo:
printf '{"prompt":"armame un reporte en HTML del proyecto para presentarlo al cliente"}' \
| bash "$HOME/.claude/hooks/output-style-validator.sh"; echo "EXIT=$?"
Salida esperada: el texto del recordatorio que empieza con [LECTOR-EXTERNO] y lista los
5 tests de audiencia, terminado en EXIT=0. Eso confirma que detecta el entregable externo
e inyecta.
c) Prueba del "no molesta" — caso mensaje interno que NO es entregable externo: con un mensaje normal de trabajo interno, el hook debe salir limpio SIN inyectar nada:
printf '{"prompt":"corre los tests y dime si el build pasa, por favor"}' \
| bash "$HOME/.claude/hooks/output-style-validator.sh"; echo "EXIT=$?"
Salida esperada: ninguna línea de recordatorio, solo EXIT=0. Así confirmas que no se
mete donde no lo llaman.
d) El hook quedó registrado:
grep -q 'output-style-validator' "$HOME/.claude/settings.json" && echo 'REGISTRADO'
Salida esperada: REGISTRADO.
Cuando las cuatro pruebas den lo esperado, avísale a la persona que ya quedó y explícale en una línea qué gana con esto.
✅ ¿Cómo sé que funcionó?
De ahora en adelante, cuando le pidas a tu asistente algo que va a leer alguien de fuera —un reporte para un cliente, una landing, un post, un email de marketing, una propuesta—, va a recordar solo que eso NO se escribe con tu jerga interna. Te lo va a entregar en lenguaje claro, con hilo (primero por qué importa, luego qué es, luego cómo funciona), frases que respiran y tono amigable. Documentos que un tercero entiende a la primera, sin que tú tengas que pedírselo cada vez.
No tienes que hacer nada especial en el día a día. Y para tus mensajes de trabajo interno (corre esto, revisa aquello) el hook ni se asoma: solo actúa cuando lo que pides es para ojos ajenos. Eso es todo. 🌱
