AI

36.921 estrellas y un 85% de markdown: auditoría del repositorio de agentes financieros de Anthropic

El repositorio financial-services de Anthropic alcanzó el número 1 en GitHub Trending el 23 de septiembre de 2026 con 36.921 estrellas, 665 de ellas ganadas ese mismo día. Clonarlo cuenta otra historia: el 85,3% de sus 1,98 MB es markdown, su propia comprobación previa a la fusión (scripts/check.py) sale con código 1 en un clon limpio de main, el archivo .mcp.json que conecta los 12 proveedores de datos no es JSON válido y el README sigue enlazando a un directorio borrado seis días después de su lanzamiento. Esta auditoría repasa el inventario de archivos, los tres defectos, los siete días de vida del plugin de asesores, el recalc.py desaparecido desde marzo y lo que dicen los benchmarks independientes — las 537 tareas expertas del Finance Agent Benchmark, los estudios de alucinación confiada y las exigencias de riesgo de modelo tipo SR 11-7 — para quien piense ejecutar estos agentes sobre dinero real.

36.921 estrellas y un 85% de markdown: auditoría del repositorio de agentes financieros de Anthropic

El 23 de septiembre de 2026, anthropics/financial-services ocupaba el número 1 de GitHub Trending con 36.921 estrellas, 665 de ellas ganadas ese mismo día, por delante de Univer (16.310 estrellas, 1.140 ganadas) y de una docena de proyectos en plena subida. La propuesta es atractiva: agentes con nombre propio para banca de inversión, análisis de renta variable, capital privado, administración de fondos y KYC (conocimiento del cliente), instalables como plugins de Claude Cowork o desplegables como Claude Managed Agents detrás de tu propio motor de flujos de trabajo.

Lo cloné, lo leí, ejecuté sus propias comprobaciones y reuní datos de benchmarks independientes sobre lo que un modelo de lenguaje puede hacer de verdad con análisis financiero. El resultado no es una demolición. Es una descripción precisa de lo que es este repositorio: una base de conocimiento sectorial muy bien investigada vestida con el traje de una plataforma de software, y esa diferencia importa mucho si piensas apuntarla a un modelo en producción.

Qué contiene realmente el repositorio

Cada cifra sale de un clon independiente de main (commit 574ed36), de la API REST de GitHub y de una lectura de la página del repositorio con navegador headless el 2026-09-23.

MétricaValor
Estrellas / forks36.921 / 5.374
Issues abiertas / pull requests abiertos92 / 127
LicenciaApache-2.0 (creado el 2026-02-23, último push el 2026-09-21)
Archivos rastreados (árbol de git)363
Archivos markdown241 (112 SKILL.md, 41 archivos de comandos con barra)
Archivos Python17 — el mayor, validate_dcf.py, tiene 292 líneas
Porcentaje de bytes en markdown85,3% (1.690.780 de 1.981.631 bytes)
Líneas totales de markdown40.189
Plugins de agente con nombre10
Paquetes verticales6, más 2 de socios (LSEG, S&P Global)
Conectores MCP de datos12, todos endpoints SaaS de proveedores
Cookbooks de Managed Agents11

Para ponerlo en escala: ese mismo día openai/openai-agents-python tenía 29.661 estrellas con 60 MB de código, y langchain-ai/langchain 146.941 estrellas con 588,9 MB. Este repositorio ocupa 0,9 MB y supera al primero en más de 7.000 estrellas.

El 85% de los bytes son texto, y ese es el producto

El artefacto más grande del repositorio no es código. Es plugins/vertical-plugins/financial-analysis/skills/dcf-model/SKILL.md: 49.508 bytes, 1.264 líneas y 68 encabezados, de los cuales unos 40 son secciones de prevención de errores — WRONG: Formula Row References Off, WRONG: Operating Expenses Based on Gross Profit, TOP 5 ERRORS SUMMARY, WACC Calculation Errors, Terminal Value Mistakes.

Lee esos títulos como una lista de síntomas. Alguien en Anthropic vio a un modelo de lenguaje construir modelos DCF mal, una y otra vez, y escribió cada modo de fallo en prosa. Los prompts de sistema de los agentes son minúsculos en comparación: los diez agentes ocupan entre 204 y 482 palabras cada uno, mientras que las skills que agrupan suman cientos de kilobytes.

No hay nada malo en publicar prosa. Las convenciones de un sector son la parte difícil de un modelo financiero, y codificarlas como instrucciones es rápido, revisable y fácil de bifurcar. Pero cambia lo que significa una estrella. Aquí no hay artefacto compilado, ni runtime, ni motor de cálculo. Solo se distribuyen 17 archivos de Python, y los dos mayores aparecen duplicados tres y dos veces respectivamente porque el script de sincronización del repositorio copia cada skill origen en todos los paquetes de agente que la usan.

Tres defectos en los primeros veinte minutos

Las quejas obvias sobre un repositorio de prompts son estéticas: «esto solo es markdown». Estos tres son distintos: son defectos reproducibles en el estado publicado de un repositorio con 36.921 estrellas.

#HallazgoCómo se verificó
1plugins/vertical-plugins/financial-analysis/.mcp.json — el archivo que conecta los 12 proveedores de datos — no es JSON válido: falta una coma tras el bloque egnyte, antes de boxjson.load() sobre un clon nuevo lanza JSONDecodeError: Expecting ',' delimiter: line 47 column 5
2La propia comprobación previa a la fusión falla en main: scripts/check.py termina con código 1 por tres errores bundled-skill de meeting-prep-agent (client-report, client-review, investment-proposal sin origen vertical)uv run --with pyyaml python3 scripts/check.py sobre un clon limpio → FAIL — 3 issue(s) across 82 file(s)
3La línea 113 del README.md sigue enlazando a ./claude-for-financial-advisors, un directorio borrado en el commit 574ed36 y ya eliminado de .claude-plugin/marketplace.jsonls sobre el clon; grep del README y del manifiesto

El defecto 1 es el interesante por cómo sobrevivió. scripts/check.py — que el propio CLAUDE.md del repositorio pide ejecutar antes de cada commit — solo analiza marketplace.json, plugins/**/.claude-plugin/plugin.json y managed-agent-cookbooks/*/steering-examples.json. Nunca analiza .mcp.json. El único archivo de configuración que toca endpoints de producción es justo el que el linter se salta, y el hueco de cobertura se ve a simple vista en el código del linter.

El defecto 2 no es solo mío. Dos colaboradores independientes llegaron a la misma conclusión: el PR #365 (abierto el 2026-09-22, aún sin fusionar) afirma que scripts/check.py «falló en main con tres errores bundled-skill del agente meeting-prep», y el PR #358 menciona «los mismos 3 fallos preexistentes de meeting-prep-agent tanto en tu rama como en upstream/main limpio». Yo lo reproduje en un clon sin ninguna modificación.

Un plugin que vivió siete días

La historia reciente del repositorio explica la rotura, y muestra a qué velocidad cambia su estructura.

FechaAcontecimiento
2026-09-11Se fusiona el PR #349: se elimina el plugin wealth-management, sin motivo publicado
2026-09-14Se fusiona el PR #350: «Launch of Claude for Financial Advisors»
2026-09-14Ese mismo día se fusiona el PR #351: se retira su entrada del marketplace
2026-09-21Se fusiona el PR #354: se borra el directorio claude-for-financial-advisors, siete días después del lanzamiento
2026-09-22El PR #365 (abierto) propone que el linter tolere las skills huérfanas que dejaron los borrados
2026-09-23La issue #367 (abierta) pide a los responsables que restauren wealth-management o expliquen su retirada

Los usuarios se dieron cuenta antes de que los mantenedores documentaran nada. Eso es una señal de gobernanza, no de código: un repositorio público con 5.374 forks cambió tres veces su superficie de producto en once días sin una entrada en el changelog, y el daño acabó en el linter y en el README. Es exactamente el tipo de rotación sin versionar ni documentar que las funciones de riesgo de modelo existen para detectar.

El recalc.py desaparecido desde marzo

Aquí está el hallazgo que debería interesar a cualquiera que piense en uso productivo. La skill estrella de DCF indica al agente, en una sección titulada Formula Recalculation (MANDATORY):

python recalc.py [path_to_excel_file] [timeout_seconds]

La skill incluso nombra una ruta: /mnt/skills/public/xlsx/recalc.py. Ese script no está en el repositorio, ni en ninguno de los 363 archivos rastreados.

La issue #25, «recalc.py missing», se abrió el 2026-03-09 y sigue abierta. El 2026-09-20, el PR #358 propuso añadirlo: un paso de recálculo con LibreOffice en modo headless que detecta #DIV/0! y #NAME? e informa de la hoja y la celda exactas. Ese PR sigue abierto.

Por qué merece atención más allá de un bug de seguimiento: un modelo de lenguaje que escribe una hoja de cálculo escribe las fórmulas como texto. Si nada las recalcula, el .xlsx entregado puede contener celdas con fórmula y sin valor en caché, y quien lo lea después — o el siguiente agente de la cadena — verá un resultado vacío o desactualizado. El repositorio incluye un validador, validate_dcf.py, pero no recalcula nada: aplica tres heurísticas (el crecimiento terminal debe ser menor que el WACC, el WACC debe estar en un rango plausible, el valor terminal debe representar una proporción razonable del valor de empresa). Eso detecta descuidos al construir el modelo. No te dice si la aritmética resuelve.

Así que el paso obligatorio de la skill más importante apunta a un archivo ausente desde hace seis meses, y el parche de la comunidad que lo arregla lleva esperando revisión desde el 20 de septiembre.

Qué dicen realmente los benchmarks independientes

El repositorio de Anthropic se apoya en un aviso legal que conviene citar entero, porque es el núcleo honesto de todo el proyecto: nada de lo que hay aquí constituye asesoramiento de inversión, legal, fiscal o contable; estos agentes redactan trabajo de analista para que lo revise un profesional cualificado; no hacen recomendaciones, no ejecutan transacciones, no comprometen riesgo, no contabilizan asientos ni aprueban altas de clientes; cada salida queda a la espera de una firma humana.

Los datos independientes explican por qué ese aviso está ahí. El Finance Agent Benchmark (arXiv 2508.00828) evalúa agentes autónomos en 537 tareas reales de investigación financiera redactadas y revisadas por expertos del sector en nueve categorías, con corrección por rúbrica y detección explícita de contradicciones. En la tabla publicada, ningún modelo supera el 50% de acierto:

Modelo (según lo publicado)PrecisiónTiempo medioCoste por tarea
OpenAI o346,8%3,1 min$3,79
Claude 3.7 Sonnet (thinking)45,9%2,5 min$1,02
Claude 3.7 Sonnet (estándar)44,3%2,0 min$0,99
OpenAI o4-mini37,3%2,7 min$0,29
GPT-4.126,7%——
GPT-4o (2024-08-06)20,0%——
Claude 3.5 Haiku13,1%——
Analistas humanos (referencia)alta precisión16,8 min$25,66

Fíjate en la generación: son modelos de 2025, no la clase Claude Opus 5.5 o GPT-6 que se distribuye hoy. No encontré ningún benchmark sucesor de agentes financieros publicado junto a este repositorio, y eso ya es un dato: el marketing avanzó, la evidencia pública no.

Dos hallazgos más acompañan a esa tabla:

  • Alucinación confiada. Sobre 6.105 preguntas FinQA y 1.138 de TAT-QA basadas en informes reales, entre el 15% y el 23% de las respuestas coherentes al 100% en ocho ejecuciones independientes eran factualmente falsas. Las señales de incertidumbre a nivel de salida (log-probabilidades de tokens, confianza autoinformada) caen hasta rozar el azar — 0,55–0,63 de AUROC —, de modo que un sistema construido sobre «el modelo suena inseguro» no las detectará.
  • Dónde los agentes no son fiables. Recuperar una cifra explícita de un informe es trabajo de alta fiabilidad. El análisis de «beat or miss» frente a las previsiones, el puente de GAAP a non-GAAP, el seguimiento de tendencias plurianuales con estructuras de reporting cambiantes y la modelización con proyecciones se clasifican como no fiables o de alta tasa de fallo. No es casualidad: es justo el terreno que prometen automatizar los nombres de estos agentes — conciliación contable, revisión de valoraciones, auditoría de estados financieros, construcción de modelos.
  • El ajuste de dominio puede empeorar las cosas. En estudios controlados sobre modelos financieros abiertos, el fine-tuning de dominio elevó la alucinación numérica abierta del 5,4% (modelo base instruido) al 82,5%, y hasta el 96,7% con anclaje numérico débil, con plantillas memorizadas como «operating cash flow of USD…» apareciendo en hasta el 97% de las salidas. Es investigación sobre modelos abiertos, no sobre Claude, y debe leerse como una advertencia sobre la técnica, no como una acusación a este repositorio.

La ventaja competitiva son las suscripciones de datos, no los prompts

Las skills del repositorio son gratis. Los datos, no. Los 12 conectores MCP apuntan a endpoints de proveedores — Daloopa, Morningstar, S&P Global (Kensho), FactSet, Moody’s, MT Newswires, Aiera, LSEG, PitchBook, Chronograph, Egnyte y Box — y el README lo dice sin rodeos: «el acceso MCP puede requerir una suscripción o una clave de API del proveedor».

Ahí está la ventaja real. Cualquier competidor puede bifurcar hoy 241 archivos markdown y tener los mismos prompts mañana. Nadie puede bifurcar una licencia de FactSet. Es decir, la función real del repositorio es la distribución: reduce la energía de activación para firmas que ya pagan datos institucionales y resulta casi inerte para el resto. Los 5.374 forks se leen mejor como gente extrayendo convenciones del sector que como 5.374 despliegues.

Qué exigiría de verdad un despliegue regulado

Si un agente produce algo que una entidad publica o negocia, entra en juego la gestión del riesgo de modelo: SR 11-7 de la Reserva Federal / OCC 2011-12 en Estados Unidos, PRA SS1/23 en Reino Unido, OSFI E-23 en Canadá y las obligaciones de alto riesgo del Reglamento Europeo de IA. La interpretación moderna considera modelo al sistema completo, no a los pesos:

Dimensión de gobernanzaEnfoque con skills markdownLo que pide una validación de riesgo de modelo
Frontera del modeloArchivos de prompt y texto de skillPipeline completo: prompt + índice de recuperación + pesos + esquemas de herramientas + guardarraíles, versionados en conjunto
EvidenciaRespuesta final o nota en un benchmark públicoAuditoría de traza en caja gris/blanca: selección de herramientas, validez de parámetros, anclaje de la recuperación, recuperación ante errores
Gestión de cambiosEditar markdown en el sitioHashes de versión inmutables, pruebas de regresión, vigilancia de la deriva del proveedor (OCC 2013-29)
Control de alucinacionesConfianza autoinformada por el modeloSondas sobre activaciones internas (0,68–0,77 de AUROC) más motores de reglas deterministas
Control operativoAgente libreEspacio de acción acotado con firma humana en decisiones de alto nivel

Frente a esa lista, los bump de versión en plugin.json y las comprobaciones de deriva de sync-agent-skills.py son un comienzo real: son el único control mecánico de cambios del repositorio y existen porque la versión de un plugin decide si los usuarios ya instalados reciben la actualización. Pero markdown que se edita a mano, un linter en rojo sobre main y un archivo de configuración que ninguna comprobación analiza son lo contrario de un paquete de evidencia. El propio aviso legal de Anthropic concede el punto: la firma humana es el control.

Un plan práctico

Úsalo si ya tienes suscripciones de datos institucionales, buscas andamiaje bien investigado para trabajo de analista —no un sistema autónomo de decisión— y una persona cualificada revisa cada salida. Las convenciones sectoriales de estas skills, sobre todo las secciones WRONG:, valen bastante más de lo que sugiere el número de estrellas.

Antes de desplegar, corrige esto:

  1. Arregla .mcp.json (añade la coma que falta tras el bloque egnyte) y añade todos los *.json del repositorio a tu propio lint de esquema, no solo a los tres patrones que cubre check.py.
  2. Fija versiones por hash, no por etiqueta. Copia a tu repositorio los directorios de skills que uses y registra su SHA-256 en el historial de cambios, para que una instrucción editada en silencio salte en la revisión.
  3. Conecta un recálculo determinista para todo lo que tenga forma de hoja de cálculo. Hasta que aterrice el PR #358, ejecuta LibreOffice headless por tu cuenta y exige cero celdas #DIV/0!, #NAME? o #REF! antes de que una salida abandone tu pipeline.
  4. Prueba con anclaje débil. Entrega al agente informes a los que les hayas quitado las cifras y comprueba que se abstiene en lugar de inventar datos plausibles. Los modelos ajustados al dominio fallan este test de forma catastrófica; los generales también, solo que menos ruidosamente.
  5. Deja la firma humana en el código, no en la prosa. Convierte el relevo en una aprobación obligatoria dentro de tu motor de flujos. Un aviso en un README no es un control.
  6. Presupuesta el registro de trazas desde el primer día. Llamadas a herramientas, parámetros, fragmentos recuperados y versiones de prompt: es el artefacto que pedirá un auditor y es casi imposible reconstruirlo a posteriori.

Preguntas frecuentes

¿Es este repositorio solo markdown? Literalmente, no: sus 363 archivos rastreados incluyen 40 YAML, 39 JSON y 17 scripts de Python. Pero el markdown representa el 85,3% de los bytes y 40.189 líneas, y la superficie ejecutable —un validador de DCF, un extractor de cifras, un comprobador de presentaciones— es delgada. Trátalo como una base de conocimiento sectorial con un mecanismo de entrega en forma de plugin.

¿Que el .mcp.json esté roto significa que los conectores no funcionan? No. Significa que el archivo no se puede interpretar como JSON. Según cómo cargue tu cliente la configuración MCP, verás un error duro al arrancar o una lista de servidores vacía. En ambos casos falla de forma visible, y por eso conviene arreglarlo antes de razonar sobre cualquier otra cosa.

¿Por qué siguen subiendo las estrellas si las comprobaciones fallan? Porque las estrellas miden distribución e interés, no verificación. El repositorio es genuinamente útil, oportuno y de un proveedor conocido. Nada de eso exige que su linter esté en verde, y casi nadie ejecuta la comprobación previa al commit de un repositorio antes de darle una estrella.

¿Es seguro para trabajo financiero real? Para redactar trabajo de analista que revisa un profesional cualificado, ese es exactamente el uso diseñado, y el aviso legal lo dice. Para cualquier cosa que requiera cifras exactas sin verificación independiente —reporting, aprobación de valoraciones, conciliación contable— la evidencia de los benchmarks no lo respalda. El modo de fallo más peligroso son cifras de aspecto plausible que pasan una lectura rápida.

¿Puedo usar las skills con un modelo que no sea Claude? En principio son markdown portátil, pero asumen las convenciones de plugins y comandos basadas en archivos de Claude, y los cookbooks de Managed Agents asumen esa API concreta, incluida una capacidad en vista previa (callable_agents) para delegar en subagentes. Portarlo es trabajo real, no un buscar y reemplazar.

¿Cómo sigo si el repositorio se ha estabilizado? Vigila tres cosas: que scripts/check.py termine con código 0 sobre main, que el linter empiece a analizar .mcp.json y que se cierre la issue #25 (recalc.py missing). Es un buen indicador de si el proyecto se mantiene como software o se publica como contenido.

Conclusión

El repositorio de servicios financieros de Anthropic se gana sus estrellas en la parte difícil: 40.189 líneas de convenciones sectoriales, taxonomía de errores y disciplina de proceso que a alguien le llevaron meses escribir, empaquetadas para que una firma las adapte en una tarde. Eso es valor real, y por eso la primera posición en Trending está merecida.

Lo que no hace es trasladar la carga de la prueba. No hay motor de cálculo, el paso de recálculo obligatorio apunta a un script ausente desde marzo, el linter que filtra las contribuciones está fallando hoy en main y el único archivo de configuración que sale hacia endpoints de datos de producción nunca ha sido analizado por ninguna comprobación del proyecto. Mientras tanto, la mejor evidencia pública disponible sitúa a los agentes punteros en un 46,8% de acierto en tareas expertas de investigación financiera, con un 15–23% de sus respuestas más seguras siendo falsas.

Así que aprovecha la prosa, mantén al revisor, añade las comprobaciones que el repositorio no incluye y mide a los agentes con tus propias tareas antes de aceptar que un número de estrellas sustituya a la validación.