🌱 Empieza aquí · Vigía de Estilo al Escribir
Esta semilla le pone a tu asistente un vigilante de estilo: cada vez que está por
escribir o editar uno de tus documentos, revisa el texto y, si se le coló un tic de
redacción que tú marcaste como no deseado, te lo avisa en el momento. De fábrica vigila
el "guion largo de inciso" (ese — que se mete a la mitad de la frase y suena a robot),
pero puedes cambiarle la lista por los tics que a ti te molesten.
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; no te preocupes, él te guía.
¿Otras formas de pedírselo? "instala esta semilla", "pon a funcionar el vigía de estilo", "haz el setup de esto". Te entiende igual.
Para el asistente que siembra 🤖
Instala este hook (gancho de automatización) del evento PreToolUse (justo antes de
que el asistente use una herramienta de escritura). Sigue estos pasos y no inventes
rutas: usa $HOME siempre.
1. Copia el script del kernel (el corazón de la semilla)
Copia kernel/forbidden-terms-blocker.sh a la carpeta de hooks del usuario y dale
permiso de ejecución.
Claude Code / Cowork (macOS o Linux):
mkdir -p "$HOME/.claude/hooks"
cp kernel/forbidden-terms-blocker.sh "$HOME/.claude/hooks/forbidden-terms-blocker.sh"
chmod +x "$HOME/.claude/hooks/forbidden-terms-blocker.sh"
Windows (Git Bash / WSL): misma ruta ~/.claude/hooks/. El script usa bash,
jq y grep. jq no viene por defecto en Windows: si no está, instálalo (por ejemplo
con winget install jqlang.jq) o avísale al usuario. En macOS puede instalarse con
brew install jq; en Linux con el gestor de paquetes de su distribución.
2. Registra el hook en settings.json
Abre $HOME/.claude/settings.json (créalo si no existe) y agrega esta entrada dentro de
hooks.PreToolUse. Si ya hay hooks de PreToolUse, suma este objeto al arreglo
existente en lugar de reemplazarlo. El matcher limita el hook a las herramientas de
escritura, para que no corra de más:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Write|Edit|MultiEdit",
"hooks": [
{
"type": "command",
"command": "bash $HOME/.claude/hooks/forbidden-terms-blocker.sh",
"timeout": 5
}
]
}
]
}
}
3. (Opcional) Personaliza los patrones y las exenciones
De fábrica el hook solo vigila el guion largo de inciso, y avisa sin bloquear. Para adaptarlo al usuario tienes dos vías:
a) Dale su propia lista de tics. Copia la plantilla de patrones a la ruta que el
hook lee por defecto y edítala con el usuario (una línea por patrón, tres campos
separados por TAB: etiqueta <TAB> regex <TAB> sugerencia):
cp kernel/forbidden-terms-blocker.patterns.ejemplo.txt "$HOME/.claude/forbidden-terms-blocker.patterns.txt"
Cada patrón usa una expresión regular (ERE, la de grep -E). Atajo: una línea sin
TAB se toma completa como la regex, ideal para vetar una palabra de una sola vez.
b) Ajusta el comportamiento con variables de entorno (todas opcionales):
STYLE_NUDGE_EXTENSIONS— qué extensiones vigilar, separadas por espacio o coma (por defecto.md).STYLE_NUDGE_PATTERNS_FILE— ruta al archivo de patrones (por defecto$HOME/.claude/forbidden-terms-blocker.patterns.txt).STYLE_NUDGE_EXEMPT_FILE— ruta a un archivo con fragmentos de ruta a exentar, uno por línea (por defecto$HOME/.claude/forbidden-terms-blocker.exempt.txt). Si la ruta del archivo contiene alguno de esos fragmentos, no se revisa (útil para documentos que sí usan el patrón a propósito).STYLE_NUDGE_BLOCK— pon1para modo estricto: si hay coincidencia, bloquea la escritura (exit 2) en vez de solo avisar. Por defecto es0(solo avisa).
4. Verificación post-siembra (obligatoria)
Comprueba que el vigía se dispara con un texto que trae el patrón vetado, y que deja pasar un texto limpio.
a) Caso con tic (espera un aviso y EXIT=0):
printf '%s' '{"tool_name":"Write","tool_input":{"file_path":"/tmp/x.md","content":"texto — con inciso"}}' \
| bash "$HOME/.claude/hooks/forbidden-terms-blocker.sh"; echo "EXIT=$?"
Salida esperada: un bloque ⚠️ Aviso de estilo · forbidden-terms-blocker y EXIT=0.
b) Caso limpio (espera SIN aviso y EXIT=0):
printf '%s' '{"tool_name":"Write","tool_input":{"file_path":"/tmp/x.md","content":"texto limpio y natural."}}' \
| bash "$HOME/.claude/hooks/forbidden-terms-blocker.sh"; echo "EXIT=$?"
Salida esperada: sin avisos y EXIT=0.
c) Confirma que el hook quedó registrado en settings.json:
grep -q 'forbidden-terms-blocker' "$HOME/.claude/settings.json" && echo 'REGISTRADO'
Salida esperada: REGISTRADO.
Cuando las tres pruebas den lo esperado, avísale al usuario que ya quedó y explícale en una línea qué gana con esto.
✅ ¿Cómo sé que funcionó?
De ahora en adelante, cuando tu asistente escriba o edite tus documentos, si se le escapa uno de tus tics de redacción, aparecerá un aviso señalándolo con una sugerencia para corregirlo. No detiene el trabajo (a menos que actives el modo estricto): solo te avisa para que tu texto quede como a ti te gusta.
No tienes que hacer nada especial en el día a día. Si algún día te cansa un tic nuevo, solo dile a tu asistente "agrégalo a mi lista de estilo" y él edita la plantilla por ti. Eso es todo. 🌱
