Fixie, un zorro de dibujos animados guiñando un ojo, sobre fondo morado

Resumen

Idea, arquitectura e implementación mías en FameUp: OpenClaw orquesta subagentes de Claude Code, junto a un servidor MCP de solo lectura que responde con datos en vivo.

Contexto

En FameUp, los bugs llegan a los desarrolladores por Slack, desde soporte, ventas y producto. Cada aviso le costaba a un desarrollador la misma rutina antes del trabajo de verdad: leerlo, reproducirlo, decidir si de verdad es un bug, buscar un ticket existente y crear uno. Fixie se encarga de esa rutina, y también del arreglo. Los desarrolladores revisan y hacen merge.

Fixie fue idea mía: diseñé la arquitectura y lo construí de principio a fin.

Cómo funciona

  • Una app de Slack por WebSockets. Fixie funciona en el Socket Mode de Slack: mantiene abierta una conexión WebSocket, así que no necesita un endpoint público, y se pone a trabajar cuando alguien reporta un bug o lo menciona.
  • Siempre sobre el código actual. Tiene sus propios clones de los repositorios y los actualiza (fetch) cada hora, para que cada análisis parta del código tal como está.
  • Un pipeline de decisiones antes de escribir código. Primero decide si el aviso es de verdad un bug, o un comportamiento esperado, un dato erróneo o una pregunta. Después comprueba en Jira si ya existe un ticket, para no registrar nunca dos veces el mismo bug. Solo entonces abre un ticket con su herramienta de Jira y empieza con el arreglo.
  • Arreglo, tests y revisión. El arreglo llega con tests y pasa por la misma CI que cualquier otro cambio, con PHPStan al nivel máximo y una revisión de código con IA. Termina en una pull request que un desarrollador revisa y hace merge.
  • Orquestación. OpenClaw orquesta varios subagentes de Claude Code. Todo funciona con una suscripción de Claude Code en lugar de pagar la API por token, así que el coste es fijo.

#ask-fixie

Producto, soporte y ventas también le preguntan a Fixie por el código en el canal #ask-fixie: cómo funciona una parte del producto, de dónde sale un valor, por qué algo se comporta así. Fixie responde a partir del código actual, sin sacar a ningún desarrollador de su trabajo.

Datos en vivo con MCP

Algunas preguntas necesitan cifras reales, no código. Para ellas construí un servidor MCP que permite a Fixie consultar la base de datos de producción, con protección por capas:

  • La conexión usa un usuario de base de datos de solo lectura.
  • Encima, unos filtros en el código solo dejan pasar sentencias SELECT y DESCRIBE.
  • Los datos sensibles quedan protegidos, y las consultas pesadas no pueden cargar la producción.
  • El acceso va por OAuth 2.0, el flujo que Claude Code espera de un servidor MCP remoto.

Cuando alguien pide un dato, Fixie consulta la base y responde con la cifra real.