Método Fable: skills de agente para cualquier modelo
Descubre qué contiene fable-method, qué hábitos pueden transferirse a otros modelos y cómo comparar su efecto en un VPS midiendo herramientas y coste.
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 «cómo trabajaba Claude Fable 5, convertido en skills que cualquier modelo puede ejecutar, con la evaluación que permite comprobarlo». La segunda mitad de esa frase es la afirmación que conviene poner a prueba.
Nadie fuera de Anthropic puede comprobar si un archivo de texto captura realmente cómo razonaba un modelo específico. En cambio, puede comprobar por su cuenta, en un solo VPS y durante una tarde, si un modelo más barato se comporta de otra forma cuando lee ese archivo de texto. 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 usted, empiece por qué es realmente una skill de agente: una carpeta que contiene un archivo SKILL.md cuya descripción en 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 habilidades y fije la versión que prueba
Hay dos métodos de instalación. En Claude Code, el método del complemento requiere dos comandos:
/plugin marketplace add Sahir619/fable-method
/plugin install fable@fable-methodEn un VPS, si necesita una copia fijada en el disco, clone el repositorio y cambie primero a una etiqueta:
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 habilidades 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 la etiqueta y anótela junto a los resultados obtenidos. Este repositorio publicó cinco versiones entre 2026-07-06 y 2026-07-15, de v1.0.0 a v1.4.0, y v1.4.0 modificó el método al añadir una nueva condición de enrutamiento. En agosto de 2026, v1.4.0 sigue siendo la etiqueta 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 habilidades al modelo
El archivo principal es skills/fable-method/SKILL.md. Contiene dos puertas de control y siete pasos numerados. Sus reglas son lo bastante específicas como para poder cuestionarlas.
La puerta de trivialidad aparece primero: actúe directamente, sin formalidades, cuando el cambio afecte a un solo archivo, requiera unas 10 líneas como máximo, no añada comportamiento nuevo y ya sepa exactamente qué debe cambiar. Después viene la puerta de adecuación, que deriva la solicitud según dónde se encuentre la respuesta: en fuentes que pueda abrir, en una técnica que deba investigar primero o en una inferencia propia. Esta última debe marcarse como de baja confianza y no presentarse como un hecho.
Después se ejecuta el ciclo: clasificar la solicitud, definir qué significa terminar, recopilar pruebas, decidir, actuar, verificar e informar. El paso 2 indica orientarse mediante el listado del directorio antes de elegir archivos, dar prioridad a las fuentes primarias frente al recuerdo y detenerse después de dos consultas consecutivas que no aporten nada nuevo. El paso 4 indica escribir una línea INTENT: antes de cualquier edición. Debe indicar qué hace el código, qué espera la comprobación que falla y qué establece la especificación. No se debe editar nada cuando esos tres elementos no coinciden, 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 indicada 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 corresponden. Esto hace que todo sea medible y no dependa de impresiones.
fable-loop aplica el mismo método como una orquestación en cuatro etapas: planificar con subagentes de pruebas en paralelo, ejecutar en el hilo principal, verificar con entre uno y tres subagentes atacantes que adopten perspectivas diferentes, y después auditar e informar. Supone usar modelos económicos para las funciones de recopilación de pruebas y ataque, y un modelo más potente para las decisiones y las ediciones.
fable-judge es el componente que conviene instalar aunque descarte el resto. Su premisa es que «un informe es un conjunto de afirmaciones, no pruebas». 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 definida: 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 todo lo 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».
fable-domain genera paquetes de adaptación por dominio con fixtures de casos límite y evaluaciones rápidas. 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 entorno de ejecución de código (Codex, Cursor, aider, un simple prompt de sistema). Método idéntico al de SKILL.md; pegue este archivo en las instrucciones del agente o colóquelo en la raíz del repositorio como AGENTS.md». Tiene unas 2,600 palabras y conserva las mismas comprobaciones, etapas y modalidades. 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 aplicarlo. Además, la tesis declarada del repositorio es que el esfuerzo necesario es inversamente proporcional al nivel del modelo. El evaluador 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 correctamente. fable-loop presupone que el entorno puede iniciar subagentes en paralelo y asignarlos a distintos modelos. Un agente sin subagentes ejecuta esas etapas de forma secuencial con un solo modelo. Esto elimina el paralelismo y el ahorro de costes que justificaban el diseño. Lo que queda es fable-method con vocabulario adicional.
Hay otras dos cuestiones menores específicas del entorno que se pueden pasar por alto. El activador /fable-method es un comando slash de Claude Code, por lo que en otro entorno debe invocar el método describiéndolo. La descripción de los metadatos SKILL.md permite que un agente cargue el cuerpo sólo cuando coincide con la tarea. Por eso, 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 solicitud que envíe, tanto si la tarea es corregir un error tipográfico de una línea como si es una refactorización. La diferencia de coste es real y constituye la mayor parte del motivo por el que existe el empaquetado como skill.
Cómo hacer una prueba A/B en una 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 con el que quiera hacer la prueba; ambos 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 criterios subjetivos: una prueba que falle y deba pasar, o un script que deba terminar con el código 0. Una tarea imprecisa produce una comparación imprecisa, porque acabará evaluando el texto en lugar de los resultados.
Ejecute el grupo de control con --bare, que omite la detección automática 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 utiliza el inicio de sesión de su suscripción, por lo que primero debe definir 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 de método utiliza 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ó anteriormente y coloque 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 distinto del grupo que usa el system prompt, aunque el comportamiento visible parezca el mismo.
Contar los pasos y el coste
Las dos ejecuciones escribieron una secuencia 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ímala una vez y léala antes de crear scripts que dependan de ella, 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 -rnEjecute esto para los dos archivos. La forma de la diferencia aporta más información que los totales. Una ejecución del método que lee más archivos y hace menos ediciones está siguiendo lo que pide el método, y esa es la compensación que está adquiriendo. Si una ejecución del método hace las mismas ediciones y cuesta un 40 por ciento más, no ha obtenido ninguna ventaja en esa tarea.
Tenga en cuenta dos precauciones sobre estos números. Primero, no sume output_tokens de las transcripciones de sesión en ~/.claude/projects/ y lo considere el total: esos bloques de uso por mensaje son instantáneas tomadas durante la transmisión y hay informes abiertos de que pueden quedar por debajo del valor real. La línea result es el valor que debe utilizar. Segundo, una ejecución por variante es sólo una anécdota. Ejecute cada variante tres o cuatro veces con la misma tarea antes de dar por válida una diferencia, porque dos ejecuciones del mismo agente con la misma tarea ya pueden diferir entre sí. Para consultar el gasto a más largo plazo, las herramientas que hacen seguimiento del 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 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.
La evaluación del propio repositorio, leída con criterio
El encabezado del README dice: «Quince rondas de evaluación, 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 de la que publica casi cualquier repositorio de skills, y eval/RESULTS.md está documentado ronda por ronda, con los fallos incluidos. Sin embargo, resulta menos sólido de lo que sugiere la cifra del encabezado cuando se examinan las celdas individuales que hay detrás de las filas resumidas.
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. Las otras tres se basan en 2 ejecuciones cada una. El propio repositorio lo reconoce en las limitaciones permanentes al principio del registro: «n pequeño en todo el estudio (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 referencia de investigación que sólo está actualizada hasta la fecha de su ejecución». Y lo expresa de forma aún más directa: «Este registro existe para probar las modificaciones del 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 se utiliza como referencia está siendo más honesto que lo habitual en esta categoría. Interprete los números como evidencia de que el autor ejecutó realmente las pruebas y conservó los fallos. Su propia comparación A/B es la que le informa sobre 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 conocimientos de un modelo; los modelos de frontera sin ninguna ayuda 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 pequeñas modificaciones sobre un modelo potente y usted lo supervisa, no espere medir ninguna diferencia. Si se trata de un modelo más económico que se ejecuta sin supervisión, ahí debería aparecer una diferencia, lo que también convierte la elección entre Opus, Sonnet y Haiku en parte de la misma decisión.
Cuando el empaquetado sigue un ritual sin fundamento
Conviene hacer cuatro críticas, y ninguna justifica omitir el repositorio.
El enfoque 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 la 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 de procedencia es decorativa. El procedimiento se sostiene por sí solo 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 subagentes se reduce de nuevo a fable-method. Lea los dos archivos uno junto al otro antes de instalar ambos.
Ocho adaptadores de dominio aportan 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 finanzas, legal, diseño y datos se distribuyen 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 un fixture diseñado para detectar errores.
Además, el instalador no coincide con el repositorio sobre lo que distribuye: copia tres de las cuatro skills en ~/.claude/skills. Es una diferencia pequeña. También es el tipo de desfase que indica que el empaquetado avanzó más rápido de lo que se revisó. 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 que funcionan por sí solas, independientemente del agente que utilice.
- La autorización explícita. Una acción irreversible o expuesta externamente necesita las palabras del usuario, escritas en una línea `
AUTH:`. Un agente que no pueda encontrar 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.
- La verificación mediante observación. Una comprobación específica correcta sobre una compilación rota es una verificación fallida, no aprobada.
- Informes centrados primero en el resultado, indicando como advertencia cualquier elemento omitido o no verificado, en lugar de descartarlo sin decirlo.
Adoptar estas cuatro reglas no cuesta 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 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í funciona. 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 debe invocar el método describiéndolo. Además, fable-loop presupone un entorno que pueda iniciar subagentes en paralelo con distintos modelos; sin esa capacidad, se ejecuta de forma serial y le proporciona fable-method con pasos adicionales.
¿Ejecutar estas habilidades consume más tokens?
Sí, y la cantidad depende de cómo las cargue. Cuando se instalan como habilidades, el cuerpo sólo se carga si la descripción coincide con la tarea, por lo que una solicitud no relacionada apenas consume tokens. Si se pega en un prompt de sistema, las aproximadamente 2,600 palabras de AGENTS.md se incluyen en cada solicitud. La propia 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 grupos 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 versiones 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 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: "This log exists so method edits are tested, not so anyone mistakes it for a benchmark." Las limitaciones aparecen al principio del archivo: de 1 a 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 grupos.