Método Fable: skills de agente para cualquier modelo
Descubre qué contiene fable-method, qué hábitos de Claude Fable 5 pueden transferirse y cómo comparar con y sin skills el coste y las llamadas en un VPS.
Qué afirma realmente el método Fable
El método Fable es un conjunto pequeño de skills de agente que documenta los hábitos de trabajo de un modelo como un procedimiento ordenado, para que otro modelo pueda ejecutar el mismo procedimiento. El repositorio es Sahir619/fable-method, tiene licencia MIT y su propia descripción de una línea es «how Claude Fable 5 worked, distilled into skills any model can run, with the eval that keeps it honest». La parte que merece comprobarse es la segunda mitad de esa frase.
Nadie fuera de Anthropic puede comprobar si un archivo de texto refleja realmente cómo razonó un modelo concreto. En cambio, puedes comprobar por tu cuenta, en un solo VPS y durante una tarde, si un modelo más barato se comporta de otra forma cuando lee ese archivo. Esa medición es el objetivo de todo lo que sigue: ejecutar la misma tarea dos veces, con el método y sin él, y contar las llamadas a herramientas y el coste.
Si el término skill es nuevo para ti, empieza por qué es realmente un skill de agente: una carpeta que contiene un archivo SKILL.md cuya descripción del frontmatter indica al agente cuándo debe cargar el contenido. El modelo que da nombre al repositorio se explica en cuánto cuesta Claude Fable 5 y para qué sirve.
Instale las skills y fije la versión que prueba
Hay dos métodos de instalación. En Claude Code, el método del plugin requiere dos comandos:
/plugin marketplace add Sahir619/fable-method
/plugin install fable@fable-methodEn un VPS, donde necesita una copia fijada en el disco, clone el repositorio y cambie primero a un tag:
git clone https://github.com/Sahir619/fable-method ~/fable-method
cd ~/fable-method
git checkout v1.4.0
bash install.sh
ls ~/.claude/skillsinstall.sh no necesita sudo porque sólo escribe en $HOME/.claude/skills. Cuando termina, ls ~/.claude/skills muestra fable-judge, fable-loop y fable-method. Compruebe qué elemento no aparece. El repositorio incluye cuatro skills y el instalador de shell copia tres, por lo que un usuario independiente no obtiene fable-domain a menos que lo copie manualmente:
cp -r ~/fable-method/skills/fable-domain ~/.claude/skills/Fije el tag y anótelo junto a los resultados que obtenga. Este repositorio publicó cinco releases entre 2026-07-06 y 2026-07-15, de v1.0.0 a v1.4.0, y v1.4.0 modificó el propio método al añadir una nueva puerta de enrutamiento. En agosto de 2026, v1.4.0 sigue siendo el tag más reciente. Si la ejecución de control lee una versión de las reglas y la ejecución de prueba lee otra, no ha medido nada.
Qué indica cada una de las cuatro skills al modelo
El archivo principal es skills/fable-method/SKILL.md. Contiene dos filtros y siete pasos numerados. Sus reglas son lo bastante específicas como para poder discutirlas.
El filtro de trivialidad aparece primero: actúe directamente, sin formalidades, cuando el cambio afecte a un solo archivo, se ejecute en unas 10 líneas o menos, no añada comportamiento nuevo y ya sepa exactamente qué debe cambiar. Hay una skill independiente basada únicamente en esa idea, Ponytail, que orienta al agente hacia el cambio mínimo que funciona, y su regla principal es lo bastante breve como para copiarla en sus propias instrucciones sin instalar nada. Después viene el filtro de adecuación, que dirige la solicitud según dónde se encuentre la respuesta: fuentes que pueda abrir, una técnica que deba investigar primero o una inferencia propia, que debe marcarse con baja confianza en lugar de presentarse como un hecho. Esa rama intermedia sólo funciona si el agente puede acceder realmente a la web. En un VPS restringido, eso implica proporcionarle su propio backend de búsqueda, como una instancia de SearXNG autohospedada expuesta como herramienta de búsqueda JSON.
Después viene el ciclo: clasificar la solicitud, definir el estado final, recopilar evidencias, decidir, actuar, verificar e informar. El paso 2 indica que primero hay que orientarse listando el directorio antes de elegir archivos, dar preferencia a las fuentes primarias frente al recuerdo y detenerse después de dos búsquedas consecutivas que no devuelvan nada nuevo. El paso 4 indica que se debe escribir una línea INTENT: antes de cualquier edición. Esa línea debe indicar qué hace el código, qué espera la comprobación fallida y qué establece la especificación. Si esos tres elementos no coinciden, no se debe editar nada, porque la discrepancia es el hallazgo real. El paso 5 limita los reintentos: después de tres ciclos fallidos de corrección y verificación sobre el mismo problema, hay que detenerse y devolver el resultado con la salida real.
La parte más comprobable del archivo son sus cuatro tokens de informe. Un cambio de comportamiento requiere una línea INTENT:. Una acción externa requiere AUTH: user said "<exact words>" y debe citar al usuario, porque el repositorio establece claramente que la documentación no constituye autorización. Una acción prescrita pero no ejecutada requiere una línea PENDING:. Un defecto corregido requiere TWINS: searched <pattern> - found <N> other sites. No es necesario confiar en ningún aspecto del método para comprobar si esas cuatro cadenas aparecen cuando corresponde. Esto hace que todo sea medible y no dependa de impresiones subjetivas.
fable-loop aplica el mismo método como una orquestación en cuatro etapas: planificar con subagentes de evidencias en paralelo, ejecutar en el hilo principal, verificar con entre uno y tres subagentes atacantes que adopten perspectivas diferentes y, por último, auditar e informar. Da por hecho que se usarán modelos económicos en los roles de evidencias y atacantes, y un modelo más potente para las decisiones y las ediciones.
fable-judge es el componente que merece la pena instalar aunque descarte el resto. Su premisa es que "un informe es un conjunto de afirmaciones, no una evidencia". Recopila las afirmaciones de un informe terminado, establece la verdad de referencia a partir de git diff y git status, vuelve a ejecutar todas las verificaciones que el informe afirma haber ejecutado y busca una lista de fraudes identificados: comprobaciones debilitadas, finalización falsa, ampliación del alcance, acciones no autorizadas, incumplimiento de la especificación y residuos sin eliminar. Devuelve VERIFIED, VERIFIED WITH CAVEATS o REFUTED, y marca como UNVERIFIABLE cualquier elemento que no pueda reproducir, en lugar de suponer que se ha superado. La propia línea final del instalador apunta a ello: "Pruébelo: abra Claude Code y escriba /fable-judge después de que cualquier agente afirme que el trabajo ha terminado." Si prefiere integrar esa comprobación en el trabajo en lugar de ejecutarla después, la skill Old Coder hace que el agente produzca una SPEC que usted aprueba y un informe EVIDENCE que puede volver a ejecutar, con las pruebas de mutación en lugar de la cobertura como demostración de que una prueba detectaría realmente una regresión.
fable-domain genera paquetes de adaptación por dominio con fixtures de casos límite y smoke evals. Incluye ocho adaptadores: marketing, investigación, análisis de datos, negocio y operaciones, finanzas, legal y cumplimiento, diseño y UX, y devops. El trabajo médico y clínico se deja deliberadamente sin adaptador.
Qué partes se pueden trasladar a otro modelo y cuáles no
El repositorio responde directamente a esto con AGENTS.md, que comienza así: "Versión portable para cualquier agente o arnés de programación (Codex, Cursor, aider, un prompt de sistema sin más). Método idéntico al de SKILL.md; pegue este archivo en las instrucciones de su agente o colóquelo en la raíz del repositorio como AGENTS.md." Tiene unas 2,600 palabras y contiene las mismas comprobaciones, pasos y modos. Si ya mantiene archivos de instrucciones en la raíz del repositorio, la convención AGENTS.md y HUMAN.md indica dónde colocar ese archivo y quién lo lee.
Dos partes se trasladan sin cambios importantes. El texto del método es un prompt ordenado que no contiene código específico de ningún modelo, por lo que cualquier modelo que siga instrucciones puede ejecutarlo, y la tesis declarada del repositorio es que el esfuerzo necesario es inversamente proporcional al nivel del modelo. El juez también se puede trasladar, siempre que el agente tenga un shell y un repositorio, porque todo lo que hace es git diff y volver a ejecutar comandos que el lector también puede ejecutar.
Una parte no se traslada bien. fable-loop supone que el arnés puede iniciar subagentes en paralelo y asignarlos a distintos modelos. Un agente sin subagentes ejecuta esas etapas en serie con un solo modelo, lo que elimina el paralelismo y el ahorro de costes que justificaba el diseño. Lo que queda es fable-method con vocabulario adicional.
Hay otras dos cuestiones menores específicas del arnés que es fácil pasar por alto. El activador /fable-method es un comando slash de Claude Code, por lo que en otro arnés debe invocar el método describiéndolo. La descripción de metadatos de SKILL.md permite que un agente cargue el contenido sólo cuando coincide con la tarea, de modo que una skill instalada apenas consume recursos hasta que se activa. Si pega AGENTS.md en un prompt de sistema, esas 2,600 palabras estarán presentes en cada petición que envíe, tanto si la tarea consiste en corregir un error tipográfico de una línea como en refactorizar código. Es una diferencia de coste real y constituye la mayor parte del motivo por el que existe el empaquetado como skill.
Cómo hacer una prueba A/B en un VPS: la misma tarea, dos veces
Configure dos copias de trabajo idénticas para que ninguna ejecución pueda ver las modificaciones de la otra. Sustituya YOUR_ORG/YOUR_REPO por el repositorio que quiera probar; los dos clones deben proceder del mismo commit.
sudo apt update && sudo apt install -y git jq
git clone https://github.com/YOUR_ORG/YOUR_REPO ~/ab/control
git clone https://github.com/YOUR_ORG/YOUR_REPO ~/ab/methodElija una tarea cuyo resultado se pueda observar sin interpretaciones: una prueba que falla y debe pasar, o un script que debe terminar con código 0. Una tarea imprecisa produce una comparación imprecisa, porque terminará evaluando el texto en lugar de los resultados.
Ejecute el grupo de control con --bare, que omite el descubrimiento automático de hooks, skills, plugins y CLAUDE.md. Esa opción convierte la ejecución en un control: las skills instaladas anteriormente no pueden filtrarse. El modo bare no usa el inicio de sesión de su suscripción, así que configure primero una API key desde Claude Console.
export ANTHROPIC_API_KEY=sk-ant-...
task="Make tests/test_parser.py pass without editing the test file."
cd ~/ab/control
claude --bare -p "$task" \
--allowedTools "Read,Edit,Bash" \
--output-format stream-json --verbose > ~/ab/control.jsonlEl grupo del método usa el mismo comando con una opción adicional, que carga el método portable como una adición al system prompt:
cd ~/ab/method
claude --bare -p "$task" \
--append-system-prompt-file ~/fable-method/AGENTS.md \
--allowedTools "Read,Edit,Bash" \
--output-format stream-json --verbose > ~/ab/method.jsonlMismo binario, mismo modelo, mismas herramientas y mismo árbol inicial. Sólo cambia una opción, que es la única forma de que la comparación tenga sentido.
Este diseño mide el texto del método. No mide el empaquetado de la skill, que es una cuestión independiente. Para medir el empaquetado, elimine --bare, instale las skills como se indicó antes e incluya el nombre de la skill dentro de la cadena del prompt, porque las skills invocadas por el usuario se expanden en modo print: claude -p "/fable-method $task". Espere un perfil de costes diferente del grupo que usa el system prompt, aunque el comportamiento visible parezca el mismo.
Contar los pasos y el coste
Las dos ejecuciones escribieron un flujo de eventos JSON. La última línea es un mensaje result que contiene el texto final, el coste y los metadatos de la sesión. Imprímalo una vez y léalo antes de crear scripts que dependan de él, porque los nombres de los campos cambian entre versiones de Claude Code.
tail -1 ~/ab/control.jsonl | jq .El coste de cada ejecución se obtiene de esa línea. Ese es el valor que debe comparar:
for f in ~/ab/control.jsonl ~/ab/method.jsonl; do
printf '%s ' "$f"
jq -r 'select(.type=="result") | .total_cost_usd' "$f"
doneLos pasos realizados se obtienen contando las llamadas a herramientas en el mismo archivo:
jq -r 'select(.type=="assistant") | .message.content[]? | select(.type=="tool_use") | .name' \
~/ab/control.jsonl | sort | uniq -c | sort -rnHágalo para los dos archivos. La forma de la diferencia aporta más información que los totales. Una ejecución con un método que lee más archivos y hace menos cambios está siguiendo lo que exige el método, y esa es la compensación que está aceptando. Una ejecución con un método que hace los mismos cambios y cuesta un cuarenta por ciento más no aportó ningún beneficio en esa tarea.
Tenga en cuenta dos aspectos sobre estas cifras. Primero, no sume output_tokens de las transcripciones de sesión incluidas en ~/.claude/projects/ y lo considere el total: esos bloques de uso por mensaje son instantáneas tomadas durante la transmisión y existen informes que indican que pueden quedar por debajo del valor real. La línea result es la cifra que debe tomar como referencia. Segundo, una ejecución por cada variante es sólo una observación aislada. Ejecute cada variante tres o cuatro veces con la misma tarea antes de considerar fiable una diferencia, porque dos ejecuciones del mismo agente con la misma tarea ya pueden diferir entre sí. Para analizar el gasto a más largo plazo, las herramientas que registran el gasto de Claude Code y cómo cuenta Claude Code los tokens explican por qué las líneas de caché dominan los recuentos sin procesar.
Asegúrese de que el agente no pueda acceder a nada importante para usted mientras se ejecuta sin supervisión. ejecutar Claude Code de forma segura en un VPS explica la cuenta de usuario y los indicadores de permisos.
El eval propio del repositorio, leído con criterio
El titular del README dice: «Quince rondas de eval, más de 260 ejecuciones de agentes y jueces LLM ciegos que verifican mediante comparación de diferencias y ejecución». Es más evidencia que la que ofrece casi cualquier repositorio de skills, y eval/RESULTS.md está documentado ronda por ronda, con los fallos incluidos. Aun así, resulta menos sólido de lo que sugiere la cifra del titular cuando se examinan las celdas individuales que hay detrás de esas filas.
The data behind this chart
[
{
"label": "Haiku, spec-vs-test conflict trap",
"runs": 4,
"notes": "bare 0 of 4, with method 4 of 4"
},
{
"label": "Sonnet, same conflict trap",
"runs": 2,
"notes": "bare flags it then sides with the wrong test, with method ideal action both runs"
},
{
"label": "Haiku, planted-fraud report, fable-judge",
"runs": 2,
"notes": "bare 4 and 3 of 5 frauds caught, with method 5 of 5 both runs"
},
{
"label": "Haiku, marketing brand-rules trap",
"runs": 2,
"notes": "bare 1 of 2 runs, with method 2 of 2"
}
]La mayor de esas 4 filas se basa en 4 ejecuciones. Cada una de las otras tres se basa en 2 ejecuciones. El propio repositorio lo indica, en las limitaciones permanentes que aparecen al principio del registro: «n pequeño en todo el conjunto (1-4 ejecuciones por celda), jueces LLM (ciegos cuando se comparan varias salidas, pero basados en el mismo modelo de frontera que aparece como referencia), fixtures sintéticos y una verdad de referencia de investigación tan actual como la fecha de su ejecución». Y lo dice de forma aún más directa: «Este registro existe para probar cambios en el método, no para que nadie lo confunda con un benchmark».
Hay que reconocerlo. Un autor que publica su propio n y señala que su juez se basa en el mismo modelo que sirve como referencia está siendo más honesto que la norma en esta categoría. Interprete las cifras como evidencia de que el autor ejecutó realmente las pruebas y conservó los fallos. Su propia comparación A/B es la que le indica qué ocurre en su base de código.
El README también deja claro dónde el método no aporta nada, y ese es su párrafo más útil. No registra ninguna mejora en tareas pequeñas normales con modelos capaces. Afirma que «el método no puede actualizar los hechos de un modelo; los modelos de frontera sin instrucciones adicionales ganan en investigación con mucha carga de conocimiento». Y sitúa el valor en «las situaciones problemáticas (conflictos de autoridad, afirmaciones falsas de finalización, ejecutores débiles y ejecuciones sin supervisión), no en todas partes». Si el trabajo de su agente consiste en cambios pequeños sobre un modelo potente y usted lo supervisa, no espere medir ninguna diferencia. Si utiliza un modelo más económico sin supervisión, ahí debería aparecer una diferencia. Esto también convierte la elección entre Opus, Sonnet y Haiku en parte de la misma decisión.
Cuando el empaquetado es cargo cult
Conviene formular cuatro críticas, y ninguna justifica omitir el repositorio.
El planteamiento va más allá de las pruebas disponibles. «Cómo funcionaba Claude Fable 5» es una afirmación sobre el funcionamiento interno de un modelo que nadie fuera de Anthropic puede verificar, y la propia frase central del repositorio lo contradice: «La calidad está en la estructura, las pruebas y la honestidad, no en el modelo». Si la calidad está en la estructura, la historia sobre la procedencia es decorativa. El procedimiento se sostiene por sí mismo y no necesita un mito de origen.
Cuatro skills ofrecen más superficie de la que necesita el contenido. fable-loop repite gran parte de fable-method, con una capa de orquestación, y en un harness sin subagents se reduce de nuevo a fable-method. Lea los dos archivos uno junto al otro antes de instalar ambos.
Ocho adaptadores de dominio ofrecen una amplitud que la evaluación no cubre. Sólo dos de los ocho aparecen en algún punto del registro: marketing en la ronda 9 y devops en la ronda 12. Los adaptadores de finance, legal, design y data se incluyen sin ninguna ronda asociada. El adaptador para su área puede seguir siendo bueno. Sin embargo, es un borrador del autor, no algo que haya superado una fixture de prueba diseñada para detectar errores.
Además, el instalador no coincide con el repositorio sobre lo que distribuye: copia tres de cuatro skills en ~/.claude/skills. Es un detalle menor. También es el tipo de diferencia que indica que el empaquetado avanzó más rápido de lo que nadie pudo revisar. Conviene recordarlo al decidir cuánto adoptar de una vez.
Qué conservar si no conserva nada más
Elimine la marca y quedarán cuatro reglas independientes, sin importar qué agente ejecute.
- La cita de autorización. Una acción irreversible o expuesta externamente necesita las palabras del usuario, escritas en una línea
AUTH:. Si un agente no encuentra una cita, no actúa. - La comprobación doble. Después de corregir un defecto, busque en todo el proyecto la misma construcción incorrecta e informe del recuento, incluso cuando sea cero.
- Verificación mediante observación. Una comprobación específica correcta sobre una compilación rota es una verificación fallida, no una aprobación.
- Informes centrados en el resultado, indicando como salvedad todo lo que se omitió o quedó sin verificar, en lugar de descartarlo silenciosamente.
Estas cuatro reglas no cuestan nada y puede comprobar su cumplimiento con grep. Empiece por ahí, mida con el arnés anterior y decida después si el resto del repositorio merece su parte del presupuesto de contexto. Si quiere proporcionar a un agente un contexto permanente del proyecto en lugar de un método de trabajo, un DESIGN.md que los agentes lean antes de editar es la medida complementaria.
FAQ
¿Funciona el método Fable con modelos distintos de Claude?
El texto del método sí. Es un prompt ordenado que no contiene código específico de ningún modelo, y el repositorio incluye AGENTS.md como copia portable para Codex, Cursor, aider o un prompt de sistema sin más. Hay dos elementos que no se trasladan. /fable-method y /fable-judge son comandos slash de Claude Code, por lo que en otros entornos se invoca el método describiéndolo. Además, fable-loop presupone un harness que pueda iniciar subagentes en paralelo con modelos distintos. Sin él, se ejecuta en serie y proporciona fable-method con pasos adicionales.
¿Ejecutar estas skills consume más tokens?
Sí, y la cantidad depende de cómo se carguen. Si se instalan como skills, el cuerpo sólo se carga cuando la descripción coincide con la tarea, por lo que una solicitud no relacionada consume prácticamente nada. Si se pegan en un prompt de sistema, las aproximadamente 2,600 palabras de AGENTS.md se incluyen en cada solicitud. La ejecución también consume más, porque el método solicita orientación antes de editar, evidencias antes de decidir y una verificación real después. Mídalo: ejecute la misma tarea con --output-format json en ambos brazos y compare el campo total_cost_usd.
¿Qué versión de fable-method debo instalar y por qué debo fijarla?
Ejecute git checkout v1.4.0 antes de instalarla. Esa etiqueta tiene fecha de 2026-07-15 y seguía siendo la más reciente en agosto de 2026. El repositorio publicó cinco releases en los nueve días anteriores, y v1.4.0 modificó las propias reglas de enrutamiento. Si sigue main mientras realiza las mediciones, la ejecución de control y la ejecución de prueba pueden leer instrucciones distintas, lo que invalida la comparación. Registre la etiqueta junto con los resultados.
¿La evaluación del repositorio es un benchmark fiable?
Trátela como un registro de cambios del método, que es como la denomina su autor: "Este registro existe para probar las modificaciones del método, no para que nadie lo confunda con un benchmark". Las limitaciones se indican al principio del archivo: entre 1 y 4 ejecuciones por celda, fixtures sintéticos y evaluadores LLM basados en el mismo modelo de frontera que también se utiliza como línea base. Las rondas son reales y se conservan los experimentos fallidos, algo que la mayoría de los repositorios no publica. Aun así, no mide lo que ocurrirá en su base de código, por lo que debe ejecutar usted mismo la comparación en dos brazos.