Forem

Cover image for ¿Qué son los Agentes de Agencia?
Roobia
Roobia

Posted on • Originally published at apidog.com

¿Qué son los Agentes de Agencia?

La Agencia es una colección de código abierto con 147 agentes de IA especializados para Claude Code, Cursor, Aider, Windsurf, GitHub Copilot y más. Cada agente tiene personalidad, entregables técnicos y métricas de éxito. Esta guía te muestra cómo aprovechar su arquitectura modular, integración multi-herramienta, memoria MCP y scripts bash para implementarla rápidamente en tus flujos de trabajo.

Prueba Apidog hoy mismo

💡Si ya estás pensando en cómo integrar estos agentes en flujos de trabajo de API del mundo real, obtendrás mucho más de ellos con una sólida plataforma de API. Ahí es donde Apidog encaja: diseña, simula, prueba y documenta las API que tus agentes consumen. Presiona "Ejecutar" y observa cómo tus agentes y tus endpoints evolucionan juntos. Prueba Apidog gratis y crea un workspace para tu backend "impulsado por la Agencia".

Olvida los prompts genéricos tipo "Actúa como un desarrollador sénior". La Agencia ofrece 147 especialistas organizados en 12 divisiones, cada uno con enfoque y objetivos claros.

Imagina una agencia de servicios completos, pero con agentes de IA que trabajan 24/7 sin quejas y con entregables concretos.

¿Qué es La Agencia?

Característica Detalles
Total de Agentes 147 agentes especializados en 12 divisiones
Formato Archivos Markdown con frontmatter YAML (nombre, descripción, color, emoji)
Integración Funciona con Claude Code, Cursor, Aider, Windsurf, GitHub Copilot, Gemini CLI, OpenCode, OpenClaw, Qwen Code
Licencia MIT — gratuito para uso personal y comercial
Origen De un hilo de Reddit a software mantenido por la comunidad
Innovación Clave Agentes impulsados por personalidad, entregables y métricas, no prompts genéricos

En resumen: La Agencia reemplaza "Actúa como desarrollador" por "Activar modo de Desarrollador Frontend". El agente realmente domina React, Vue, Angular, Core Web Vitals y accesibilidad.

Estructura del Repositorio: 12 Divisiones, 147 Agentes

La Agencia está en github.com/msitarzewski/agency-agents. La organización refleja un organigrama real:

agency-agents/
├── engineering/          # +20 agentes: Frontend, Backend, DevOps, IA, Móvil, Seguridad
├── design/               # 8 agentes: UI, UX, Marca, Caprichos
├── marketing/            # +20 agentes: Growth, SEO, TikTok, Reddit, LinkedIn
├── sales/                # 8 agentes: Discovery, Negociación, Ingeniería de Ventas
├── product/              # 5 agentes: Product Manager, Feedback, Tendencias
├── project-management/   # 6 agentes: Productor, Pastor, Experimentos
├── testing/              # 8 agentes: QA, Evidencias, Pruebas API
├── support/              # 6 agentes: Soporte, Analíticas, Legal
├── spatial-computing/    # 6 agentes: XR, visionOS, Metal
├── specialized/          # +30 agentes: MCP, Blockchain, Compliance
├── game-development/     # +20 agentes: Unity, Unreal, Godot, Roblox
└── academic/             # 5 agentes: Antropología, Historia, Psicología, Narratología
Enter fullscreen mode Exit fullscreen mode

Cada división tiene expertos en su dominio. La de Ingeniería incluye desde Frontend hasta Firmware embebido.

Anatomía del Agente: Ejemplo Práctico

Cada agente sigue una estructura estándar. Ejemplo: Arquitecto de Backend.

Frontmatter (YAML)

---
name: Backend Architect
description: "Senior backend architect specializing in scalable system design, database architecture, API development, and cloud infrastructure"
color: blue
emoji: 🏗️
vibe: Designs the systems that hold everything up — databases, APIs, cloud, scale.
---
Enter fullscreen mode Exit fullscreen mode

Estos metadatos permiten a herramientas como Cursor y Claude Code descubrir y presentar agentes.

Identidad y Memoria

## 🧠 Tu Identidad y Memoria
- **Rol**: Especialista en arquitectura de sistemas y backend
- **Personalidad**: Estratégico, orientado a seguridad y escalabilidad
- **Memoria**: Recuerda patrones de arquitectura, optimizaciones y frameworks de seguridad
- **Experiencia**: Éxitos y fracasos por decisiones arquitectónicas
Enter fullscreen mode Exit fullscreen mode

Misión Principal

## 🎯 Tu Misión Principal

### Excelencia en Ingeniería de Datos/Esquemas
- Diseñar y mantener esquemas de datos
- Estructuras eficientes para +100k entidades
- Pipelines ETL para transformación de datos
- Persistencia de alto rendimiento (<20ms)
Enter fullscreen mode Exit fullscreen mode

Reglas Críticas

## 🚨 Reglas Críticas

### Seguridad como prioridad
- Defensa en profundidad en todas las capas
- Principio de mínimo privilegio
- Cifrado en reposo y tránsito usando estándares actuales
Enter fullscreen mode Exit fullscreen mode

Entregables Técnicos

El agente entrega código real, no solo texto.

-- Esquema de usuarios para e-commerce
CREATE TABLE users (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    email VARCHAR(255) UNIQUE NOT NULL,
    password_hash VARCHAR(255) NOT NULL,
    created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    deleted_at TIMESTAMP WITH TIME ZONE NULL
);

CREATE INDEX idx_users_email ON users(email) WHERE deleted_at IS NULL;
CREATE INDEX idx_users_created_at ON users(created_at);
Enter fullscreen mode Exit fullscreen mode
// API Express.js con seguridad
const helmet = require('helmet');
const rateLimit = require('express-rate-limit');

const limiter = rateLimit({
  windowMs: 15 * 60 * 1000,
  max: 100,
  message: 'Demasiadas solicitudes desde esta IP, inténtalo de nuevo más tarde.',
});
Enter fullscreen mode Exit fullscreen mode

Métricas de Éxito

## 🎯 Métricas de Éxito

- API responde <200ms (p95)
- Uptime >99.9%
- Consultas DB <100ms promedio
- Sin vulnerabilidades críticas tras auditoría
Enter fullscreen mode Exit fullscreen mode

Integración Multi-Herramienta: Un Agente, 10 IDEs

La Agencia es compatible con más de 10 herramientas de IA. Así se integran:

Herramientas Compatibles

Herramienta Formato Ubicación de Instalación
Claude Code .md ~/.claude/agents/
GitHub Copilot .md ~/.github/agents/
Cursor .mdc .cursor/rules/
Aider CONVENTIONS.md Raíz del proyecto
Windsurf .windsurfrules Raíz del proyecto
Antigravity SKILL.md ~/.gemini/antigravity/skills/
Gemini CLI Extensión ~/.gemini/extensions/
OpenCode .md .opencode/agents/
OpenClaw SOUL.md + AGENTS.md ~/.openclaw/
Qwen Code .md ~/.qwen/agents/

Script de Conversión (convert.sh)

El script scripts/convert.sh traduce los archivos .md a los formatos requeridos por cada herramienta.

#!/usr/bin/env bash
# convert.sh — Convierte archivos .md de agentes de agencia a formatos específicos de herramienta

set -euo pipefail

AGENT_DIRS=(
  academic design engineering game-development marketing paid-media
  sales product project-management testing support spatial-computing specialized
)

# Extrae campos de frontmatter
get_field() {
  local field="$1" file="$2"
  awk -v f="$field" '
    /^---$/ { fm++; next }
    fm == 1 && $0 ~ "^" f ": " { sub("^" f ": ", ""); print; exit }
  ' "$file"
}

# Elimina el frontmatter, devuelve el cuerpo
get_body() {
  awk 'BEGIN{fm=0} /^---$/{fm++; next} fm>=2{print}' "$1"
}
Enter fullscreen mode Exit fullscreen mode

Para Cursor, convierte .md a .mdc:

convert_cursor() {
  local agent_file="$1"
  local slug=$(to_kebab "$(get_field 'name' "$agent_file")")
  local output_file="$OUT_DIR/cursor/.cursor/rules/agency-${slug}.mdc"

  cat > "$output_file" << EOF
---
description: Agente de la agencia: $(get_field 'description' "$agent_file")
---
$(get_body "$agent_file")
EOF
}
Enter fullscreen mode Exit fullscreen mode

Para Aider y Windsurf, compila todos en un solo archivo:

convert_aider() {
  local output="$OUT_DIR/aider/CONVENTIONS.md"
  echo "# Agentes de la Agencia para Aider" > "$output"
  echo "" >> "$output"

  for dir in "${AGENT_DIRS[@]}"; do
    for file in "$REPO_ROOT/$dir"/*.md; do
      echo "---" >> "$output"
      cat "$file" >> "$output"
    done
  done
}
Enter fullscreen mode Exit fullscreen mode

Script de Instalación (install.sh)

Después de la conversión, install.sh copia los archivos a los directorios específicos de cada herramienta:

#!/usr/bin/env bash
# install.sh — Instala los agentes de La Agencia en tu(s) herramienta(s) local(es)

install_claude_code() {
  local src="$REPO_ROOT"
  local dest="$HOME/.claude/agents"
  mkdir -p "$dest"
  cp -r "$src"/{engineering,design,marketing,sales,specialized}/*.md "$dest/"
  ok "Claude Code: $(find "$dest" -name '*.md' | wc -l) agentes instalados"
}

install_cursor() {
  local src="$OUT_DIR/cursor/.cursor/rules"
  local dest="./.cursor/rules"
  mkdir -p "$dest"
  cp "$src"/*.mdc "$dest/"
  ok "Cursor: $(find "$dest" -name '*.mdc' | wc -l) reglas instaladas"
}
Enter fullscreen mode Exit fullscreen mode

Instalador interactivo:

  +------------------------------------------------+
  |   La Agencia — Instalador de Herramientas      |
  +------------------------------------------------+

  Escaneo del sistema: [*] = detectado en esta máquina

  [x]  1)  [*]  Claude Code     (claude.ai/code)
  [x]  2)  [*]  Copilot         (~/.github + ~/.copilot)
  [x]  3)  [*]  Antigravity     (~/.gemini/antigravity)
  [ ]  4)  [ ]  Gemini CLI      (extensión gemini)
  [x]  7)  [*]  Cursor          (.cursor/rules)

  [1-10] alternar   [a] todos   [n] ninguno   [d] detectados
  [Enter] instalar   [q] salir
Enter fullscreen mode Exit fullscreen mode

Instalación paralela:

./scripts/install.sh --parallel --jobs 8
Enter fullscreen mode Exit fullscreen mode

Memoria MCP: Contexto Persistente entre Sesiones

Por defecto, los agentes de IA no recuerdan sesiones previas. La Memoria MCP resuelve esto.

¿Qué es MCP?

MCP (Model Context Protocol) permite a los agentes acceder a herramientas externas y almacenamiento persistente:

  • Memoria entre sesiones: Los agentes recuerdan decisiones pasadas
  • Traspaso de agentes: Un agente deja contexto para otro
  • Reversión: Restaurar estados anteriores si falla QA

Patrón de Memoria

Agrega esta sección para permitir MCP en cualquier agente:

## Integración de Memoria

Cuando inicies una sesión:
- Recuerda contexto relevante de sesiones previas por rol/proyecto
- Revisa memorias etiquetadas con el nombre del agente

Al tomar decisiones clave:
- Recuerda la decisión con etiquetas (agente, proyecto, tema)
- Incluye suficiente contexto para futuras sesiones

Al traspasar a otro agente:
- Recuerda entregables etiquetados al siguiente agente
- Incluye: completado, pendiente, contexto relevante
Enter fullscreen mode Exit fullscreen mode

Herramientas MCP

Herramienta Propósito
remember Almacena decisiones, entregables, contexto con etiquetas
recall Busca recuerdos por palabra clave, etiqueta o similitud semántica
rollback Restaura a un estado anterior cuando algo falla
search Encuentra memorias específicas entre sesiones y agentes

Ejemplo de Flujo de Memoria

Sin MCP:

Usuario: "Construye la API"
Agente: [Construye la API, termina la sesión]

[Siguiente sesión]
Usuario: "Continúa desde ayer"
Agente: "No tengo contexto de sesiones anteriores. ¿Puedes pegar lo que hicimos?"
Enter fullscreen mode Exit fullscreen mode

Con MCP:

Usuario: "Construye la API"
Agente: [Construye la API, recuerda: "Arquitecto Backend - API de E-commerce - Tabla de usuarios, autenticación JWT, limitación de tasa"]

[Siguiente sesión]
Usuario: "Continúa desde ayer"
Agente: [Recuerda: "Ayer diseñé la tabla de usuarios con UUID, implementé JWT y limitación de tasa. Siguiente: esquema del Servicio de Pedidos."]
Enter fullscreen mode Exit fullscreen mode

Consulta integrations/mcp-memory/backend-architect-with-memory.md para ejemplo completo.

Agentes Destacados: 3 Implementaciones Clave

1. Verificador de Realidad (QA)

El Verificador de Realidad exige evidencia antes de aprobar trabajo.

## 🚨 Proceso Obligatorio

### PASO 1: Comandos de Verificación de Realidad
Enter fullscreen mode Exit fullscreen mode


bash
ls -la resources/views/ || ls -la .html
grep -r "luxury|premium|glass|morphism" . --include="
.html" --include="*.css" || echo "NO SE ENCONTRARON CARACTERÍSTICAS PREMIUM"
./qa-playwright-capture.sh http://localhost:8000 public/qa-screenshots


### PASO 2: Validación Cruzada QA
- Revisa hallazgos de pruebas de Chrome headless
- Compara capturas Playwright vs. evaluación QA
- Confirma/desafía con evidencia

### PASO 3: Validación End-to-End
- Analiza responsive-desktop.png, tablet, mobile
- Flujos de interacción: nav-*-click.png, form-*.png
- Revisa métricas reales (tiempos, errores)
Enter fullscreen mode Exit fullscreen mode


css
Requiere prueba visual antes de aprobar.


2. Inyector de Caprichos (Design)

Añade personalidad sin sacrificar usabilidad.

/* Botones encantadores */
.btn-whimsy {
  position: relative;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);

  &::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
  }

  &:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  }
}
Enter fullscreen mode Exit fullscreen mode
// Sistema de logros divertido
class WhimsyAchievements {
  unlock(achievementId) {
    const achievement = this.achievements[achievementId];
    this.showCelebration(achievement);
    this.saveProgress(achievementId);
  }
  showCelebration(achievement) {
    const celebration = document.createElement('div');
    celebration.className = `achievement-celebration ${achievement.celebration}`;
    celebration.innerHTML = `
      <div class="achievement-card">
        <div class="achievement-icon">${achievement.icon}</div>
        <h3>${achievement.title}</h3>
        <p>${achievement.description}</p>
      </div>
    `;
    document.body.appendChild(celebration);
    setTimeout(() => celebration.remove(), 3000);
  }
}
Enter fullscreen mode Exit fullscreen mode

Mensajes de error personalizados:

## Mensajes de Error
**404**: "¡Oops! Esta página se fue de vacaciones sin avisarnos."
**Validación**: "Tu correo parece tímido, ¿puedes añadir el símbolo @?"
**Red**: "Internet tuvo un hipo. ¿Intentamos de nuevo?"
Enter fullscreen mode Exit fullscreen mode

3. Constructor MCP (Especializados)

Crea herramientas personalizadas para agentes de IA.

// Servidor MCP básico en TypeScript
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

const server = new McpServer({ name: "my-server", version: "1.0.0" });

server.tool("search_items", { query: z.string(), limit: z.number().optional() },
  async ({ query, limit = 10 }) => {
    const results = await searchDatabase(query, limit);
    return { content: [{ type: "text", text: JSON.stringify(results, null, 2) }] };
  }
);

const transport = new StdioServerTransport();
await server.connect(transport);
Enter fullscreen mode Exit fullscreen mode

Reglas:

  • Nombres descriptivos (search_users, no query1)
  • Parámetros tipados con Zod
  • Salida estructurada (JSON, markdown)
  • Manejo elegante de errores

Comunidad y Traducciones

La Agencia surgió de Reddit y ahora incluye:

  • 147 agentes en 12 divisiones
  • +10,000 líneas de procesos y ejemplos
  • Traducciones: Chino simplificado (2 forks), más en camino
  • Soporte multi-herramienta por scripts automáticos

Forks notables:

Instalación: Inicio Rápido

Opción 1: Claude Code (Recomendado)

# Copia los agentes a tu directorio de Claude Code
cp -r agency-agents/* ~/.claude/agents/

# Actívalo en cualquier sesión:
"Hey Claude, activa el modo Desarrollador Frontend y ayúdame a construir un componente React"
Enter fullscreen mode Exit fullscreen mode

Opción 2: Instalación Multi-Herramienta

# Genera archivos de integración
./scripts/convert.sh

# Instalador interactivo (detecta herramientas)
./scripts/install.sh

# O instala una herramienta específica
./scripts/install.sh --tool cursor
./scripts/install.sh --tool aider
Enter fullscreen mode Exit fullscreen mode

Opción 3: Usar como Referencia

Navega por los agentes en github.com/msitarzewski/agency-agents y adapta lo que necesites. Cada archivo incluye identidad, flujos, entregables, ejemplos de código.

¿Qué lo Hace Diferente?

vs. Prompts Genéricos de IA

Prompts Genéricos La Agencia
“Actúa como un desarrollador” “Activa el modo Desarrollador Frontend”
Vago, uno para todo Especialización profunda
Sin estructura de entregables Ejemplos de código, flujos de trabajo
Sin métricas de éxito Resultados medibles

vs. Bibliotecas de Prompts

Bibliotecas de Prompts La Agencia
Colecciones de prompts Sistemas completos de agentes
Texto estático Personalidad + procesos + memoria
Sin integración +10 integraciones automáticas

vs. Herramientas de IA

Herramientas de IA La Agencia
Caja negra, no personalizable Transparente, bifurcable, adaptable
Dependencia de proveedor MIT, mantenida por la comunidad
Modelo único Funciona con cualquier LLM vía MCP

Conclusiones Técnicas

  1. Especialización > generalización: 147 especialistas mejor que un solo prompt.
  2. Estructura = producción: Frontmatter + Identidad + Misión + Reglas + Entregables + Métricas.
  3. Integración rápida: Scripts Bash convierten agentes a +10 formatos automáticamente.
  4. Memoria real: MCP resuelve el problema de continuidad.
  5. La comunidad escala: Reddit → 147 agentes → traducciones → soporte multi-herramienta.

Próximos Pasos

¿Quieres probar La Agencia?

  1. Explora la lista completa de agentes
  2. Instala para tu herramienta (Claude Code, Cursor, Aider, etc.)
  3. Activa especialistas: "Usa el Verificador de Realidad para QA"
  4. Contribuye: nuevos agentes, mejoras, comparte tus casos de éxito

¿Construyendo agentes IA propios? Estudia la anatomía: frontmatter para descubrimiento, identidad para personalidad, misión para alcance, reglas para restricciones, entregables para salida, métricas para resultados.

La Agencia muestra que la especialización no es solo para humanos. El mejor equipo IA puede ser 147 especialistas, no un solo modelo multiusos.

Top comments (0)