TL;DR Con Fable 5.2 activo, ejecuta
/doctor prompt-audity aplica lo que proponga sobre las líneas que piden pensar menos, las que mandan delegar siempre, los límites duros de estilo y los presupuestos de tokens; los "nunca" sin motivo los reescribes tú. Si el repo es tuyo, añade alCLAUDE.mddel proyecto "This codebase is yours: what it's for and how it's built are your call, and you'll keep building on it." y revisa el diff, no solo el resumen.
Fable 5.2 sigue muy de cerca lo que pones en tu CLAUDE.md, y eso cambia qué líneas valen. La guía de prompting de Anthropic dedica una sección a las instrucciones escritas para modelos anteriores: en sus pruebas, unas subían el coste, otras tenían efectos secundarios y otras ya no hacían nada. Y trae una frase nueva, sobre quién es dueño del código, que cambia cómo trata tu repo.
Con Fable 5.1, seis secciones de su guía ya iban dentro del binario. Este es el mismo reparto para Fable 5.2, comprobado en la v2.1.322: qué envía Claude Code por su cuenta, qué sobra en tu CLAUDE.md y qué falta.
Lo que Claude Code ya envía con Fable 5.2
La entrada de Fable 5.2 en el catálogo de modelos del binario trae la capacidad fable_5_2_prompt_bundle. Con ella, Claude Code activa por defecto una sección # Finishing work, otra # Memory, notes and feedback, un aviso cuando Claude lleva un minuto llamando a herramientas sin escribirte nada y una guía sobre juegos originales. Se ve preguntándoselo al modelo con siete preguntas de sí o no: las dos secciones, cuatro frases de la guía que podrían estar (la de propiedad del código, "Write for an intelligent but low-context reader", "Before you start, say in a line" y "Every few tool calls, give the user a one-line update") y la sección "Writing for the user" que Claude Code envía con Fable 5.1:
$ claude -p --setting-sources project --model claude-fable-5-2 "$(cat preguntas.txt)"
1. YES — under the heading "# Finishing work": "Ending your turn means your work stops there until asked to continue, and you should not stop unless needed."
2. YES — under the heading "# Memory, notes and feedback": "This adds to the Memory section and takes precedence over it."
3. NO
4. NO
5. NO
6. NO
7. NO
Con --model claude-fable-5-1 en el mismo binario, las respuestas 5 y 7 son YES: al pasar a Fable 5.2, Claude Code deja de enviar la frase de "Before you start" y la sección "Writing for the user". Sección por sección de la guía:
| Sección de la guía | Con Fable 5.2 en Claude Code |
|---|---|
| Finish the whole task | Su propia sección # Finishing work; no la pegues otra vez |
| Keep caution from piling up | # Memory, notes and feedback, solo para las notas de su memoria automática |
| Keep users informed during long turns | Un aviso del harness tras 60 segundos de llamadas a herramientas sin texto |
| Make reports easy to follow | No se envía |
| Say who owns the code | No se envía |
| Calibrate effort | No es texto: /effort, y Fable 5.2 arranca en medium |
La sección de memoria le pide que, si sus notas contienen "some caution or limitation, question whether the reason still holds and drop it if not". Habla de las notas que escribe Claude. Tu CLAUDE.md no entra: esa sección no lo menciona, y limpiarlo te toca a ti.
Qué borrar de tu CLAUDE.md
1. Pásale la auditoría con Fable 5.2 activo
/doctor prompt-audit
Revisa tus CLAUDE.md, CLAUDE.local.md, AGENTS.md y lo que hay en .claude/ y ~/.claude/ (reglas, skills, comandos, subagentes y estilos de salida), y te entrega un informe con un diff propuesto. No toca ningún archivo hasta que se lo pidas (requiere la v2.1.283 o superior; aquí está en detalle). En un repo de prueba con un CLAUDE.md de cinco líneas típicas de modelos anteriores, en la v2.1.322 con Fable 5.2:
Línea en CLAUDE.md |
Veredicto | Propuesta |
|---|---|---|
| "Answer directly without deliberating. Do not think before answering." | High, remove |
Borrarla |
| "You have a budget of 20,000 tokens for each task; say how many are left at the end." | High, remove |
Borrarla |
| "Use subagents for every search and every code review, in parallel." | Medium, rewrite |
"Use subagents for searches or reviews that span many files. Do small lookups directly." |
| "Writing style: one instruction per sentence, in 20 words or fewer." | Medium, rewrite |
"Write short, plain sentences." |
| "Never retry a failed command." | Low, flag |
Solo si no tiene motivo: "When a command fails, read the error and fix the cause before running it again." |
El presupuesto, la delegación y el estilo los marcó como patrones que la guía de Fable 5.2 pide volver a probar. El porqué de cada una:
2. Las líneas que piden pensar menos. En medium y por encima no frenan el razonamiento de Fable 5.2. En la prueba de abajo, con esa línea en el CLAUDE.md, la transcripción de las dos ejecuciones sigue teniendo un bloque de thinking, y gastaron 1.563 y 2.644 tokens de salida, frente a 1.896 y 1.517 sin ella. Si lo que querías era rapidez, baja el esfuerzo: /effort, elige low y pulsa s para esta sesión, o fíjalo por modelo.
3. Las que mandan delegar siempre. Según la guía, cuando los prompts invitan a delegar, Fable 5.2 delega con facilidad, y los subagentes pueden ser buena parte del coste de una sesión.
4. Los límites duros de estilo. Sigue las reglas de estilo muy de cerca, y un tope como "one instruction per sentence, in 20 words or fewer" le deja la prosa entrecortada.
5. Los "nunca" sin motivo. En las pruebas de Anthropic, con una docena de notas de sesiones anteriores en contexto, una de ellas para no reintentar nunca, y nada en el prompt que permitiera reintentar, el modelo reintentó tras una herramienta ocupada en unas cuatro de cada diez veces, frente a casi siempre sin esas notas. Reescribe la regla con su alcance y su motivo:
- Never retry a failed command.
+ Don't rerun ./deploy.sh after a failure: it isn't idempotent. Commands that are safe to repeat can be retried.
6. Los presupuestos de tokens escritos en el prompt. En las pruebas de Anthropic con tareas de programación en high y xhigh, quitar un presupuesto grande bajó el coste con un rendimiento equivalente.
La línea que sí añadir
Ni la auditoría ni el binario la ponen por ti:
This codebase is yours: what it's for and how it's built are your call, and you'll keep building on it.
Sin ella, Fable 5.2 tiende a añadir encima de la estructura que ya existe, aunque repita código, y a avisarte de los problemas cercanos en vez de arreglarlos. Con ella, en las pruebas de Anthropic fusionó el código repetido en cerca de la mitad de los intentos, frente a menos de uno de cada diez.
La prueba aquí: un repo de Python con la misma validación de email copiada en users.py, invites.py y billing.py, y la petición de añadir subscribe(email) en un app/newsletter.py nuevo que rechace los emails inválidos como el resto de la app, con su test. Claude Code v2.1.322, claude -p --model claude-fable-5-2 --effort medium, con --setting-sources project y permisos solo para editar archivos y lanzar los tests, una ejecución por fila:
CLAUDE.md |
Copias de la validación al acabar | Archivos cambiados | Tokens de salida | Tests |
|---|---|---|---|---|
| Sin la frase | 4 | 2 | 1.896 | 7 en verde |
| Sin la frase | 4 | 2 | 1.517 | 6 en verde |
| Con la frase | 1, en app/emails.py |
7 | 4.796 | 9 en verde |
| Con la frase | 1, en app/emails.py |
6 | 3.799 | 7 en verde |
Sin la frase, se dio cuenta y te lo dejó como pregunta:
- **Copied validation:** I copied the validation block rather than extracting it, so it now lives in four files. Pulling it into a shared helper is a small refactor of the three existing modules — say if you want it.
Con ella, lo hizo:
- **Shared validation:** the email check was copy-pasted in `users.py`, `invites.py` and `billing.py`. Rather than add a fourth copy, I moved it into `normalize_email()` in a new `app/emails.py`, and all four modules now call it. Behaviour is unchanged: same trimming and lowercasing, same pattern, same 254-character limit, same `ValueError` messages.
El precio está en la tabla: unas 2,5 veces los tokens de salida y archivos que no pediste tocar, uno con un test nuevo que nadie pidió. La guía mide unas 1,5 veces los tokens de salida y avisa de que, sin contar los arreglos de bugs, en uno de cada seis a diez intentos cambió cómo se comporta una funcionalidad existente (más a mayor esfuerzo), y de que el resumen final nombra los cambios grandes pero a menudo omite los pequeños. Por eso:
- Ponla en el
CLAUDE.mddel proyecto, nunca en~/.claude/CLAUDE.md. En el repo de un cliente o en un PR a un proyecto open source quieres el cambio mínimo, y una regla de alcance en otra parte no la anula: en las pruebas de Anthropic, con "No drive-by refactors, renames or cleanups" en el mismo prompt, siguió fusionando código en cerca de un tercio de los intentos. Si tu equipo no la quiere en el repo, ponla en tuCLAUDE.local.md. - Lee el diff, no solo el resumen, empezando por
git diff --stat.
Documentación oficial: Prompting Claude Fable 5.2 · Audit your instruction files
Requisitos
- Claude Code v2.1.321 o superior con Fable 5.2 (
/model fable). Comprobado en la v2.1.322.