Communitygithub.com

gan-style-harness

Arnés de agente Generador-Evaluador inspirado en GAN para construir aplicaciones de alta calidad de forma autónoma. Basado en Anthropic.

¿Qué es gan-style-harness?

El arnés GAN-Style es una arquitectura multiagente que separa la generación de código de su evaluación, creando un ciclo de retroalimentación adversarial que mejora drásticamente la calidad del resultado, superando lo que un solo agente puede lograr. Está diseñado para tareas complejas como construir aplicaciones completas a partir de una sola línea de prompt, proyectos full-stack o diseño frontend de alta calidad visual, donde el 'estilo IA' es inaceptable. El flujo involucra tres agentes: un Planificador que expande el prompt en una especificación detallada, un Generador que implementa las funcionalidades y un Evaluador que prueba la aplicación en vivo (usando Playwright MCP) y la puntúa según criterios como calidad de diseño, originalidad y funcionalidad. Está configurable mediante variables de entorno (modelos, umbral de aprobación, criterios de evaluación) y soporta modos de evaluación con navegador, captura de pantalla o solo código. Su principal ventaja es el salto cualitativo de pasar de un resultado 'apenas funcional' a uno 'listo para producción', a costa de mayor tiempo y costo computacional.

Compatible con✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/affaan-m/everything-claude-code/tree/main/skills/gan-style-harness

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Habilidad de Arnés Estilo GAN

Inspirado en el Diseño de Arnés de Anthropic para Desarrollo de Aplicaciones de Larga Duración (24 de marzo de 2026)

Un arnés multiagente que separa la generación de la evaluación, creando un bucle de retroalimentación adversarial que impulsa la calidad mucho más allá de lo que un solo agente puede lograr.

Idea Central

Cuando se les pide evaluar su propio trabajo, los agentes son optimistas patológicos: elogian resultados mediocres y se convencen a sí mismos de que los problemas legítimos no lo son. Pero entrenar a un evaluador separado para que sea implacablemente estricto es mucho más factible que enseñar a un generador a autocríticarse.

Esta es la misma dinámica que las GAN (Redes Generativas Adversarias): el Generador produce, el Evaluador critica, y esa retroalimentación impulsa la siguiente iteración.

Cuándo Usarlo

  • Construir aplicaciones completas a partir de un prompt de una sola línea
  • Tareas de diseño frontend que requieren alta calidad visual
  • Proyectos full-stack que necesitan funcionalidades funcionales, no solo código
  • Cualquier tarea donde la estética de "AI slop" sea inaceptable
  • Proyectos donde estés dispuesto a invertir $50-200 por un resultado de calidad de producción

Cuándo NO Usarlo

  • Correcciones rápidas de un solo archivo (usa claude -p estándar)
  • Tareas con restricciones presupuestarias ajustadas (<$10)
  • Refactorización simple (usa el patrón de-sloppify en su lugar)
  • Tareas que ya están bien especificadas con tests (usa el flujo de TDD)

Arquitectura

                    ┌─────────────┐
                    │  PLANIFICADOR │
                    │  (Sonnet)   │
                    └──────┬──────┘
                           │ Especificación del Producto
                           │ (características, sprints, dirección de diseño)
                           ▼
              ┌────────────────────────┐
              │                        │
              │   GENERADOR-EVALUADOR  │
              │   BUCLE DE RETROALIM.  │
              │                        │
              │  ┌──────────┐          │
              │  │GENERADOR │--construir-->│──┐
              │  │ (Sonnet) │          │  │
              │  └────▲─────┘          │  │
              │       │                │  │ app en vivo
              │   retroalimentación    │  │
              │       │                │  │
              │  ┌────┴─────┐          │  │
              │  │EVALUADOR │<-probar----│──┘
              │  │ (Sonnet) │          │
              │  │+Playwright│         │
              │  └──────────┘          │
              │                        │
              │   5-15 iteraciones     │
              └────────────────────────┘

Los Tres Agentes

1. Agente Planificador

Rol: Product manager — expande un prompt breve en una especificación completa del producto.

Comportamientos clave:

  • Toma un prompt de una línea y produce una especificación de 16 características y múltiples sprints
  • Define historias de usuario, requisitos técnicos y dirección de diseño visual
  • Es deliberadamente ambicioso — la planificación conservadora lleva a resultados decepcionantes
  • Produce criterios de evaluación que el Evaluador usará más tarde

Modelo: Sonnet por defecto; mejora con GAN_PLANNER_MODEL=opus para una expansión de especificación más profunda

2. Agente Generador

Rol: Desarrollador — implementa funcionalidades según la especificación.

Comportamientos clave:

  • Trabaja en sprints estructurados (o modo continuo con modelos más nuevos)
  • Negocia un "contrato de sprint" con el Evaluador antes de escribir código
  • Utiliza herramientas full-stack: React, FastAPI/Express, bases de datos, CSS
  • Gestiona git para control de versiones entre iteraciones
  • Lee la retroalimentación del Evaluador y la incorpora en la siguiente iteración

Modelo: Sonnet por defecto; mejora con GAN_GENERATOR_MODEL=opus para máxima capacidad de codificación

3. Agente Evaluador

Rol: Ingeniero de QA — prueba la aplicación en vivo, no solo el código.

Comportamientos clave:

  • Usa Playwright MCP para interactuar con la aplicación en vivo
  • Navega por las funcionalidades, rellena formularios, prueba endpoints de API
  • Puntúa según cuatro criterios (configurables):
    1. Calidad de Diseño — ¿Se siente como un todo coherente?
    2. Originalidad — ¿Decisiones personalizadas vs. patrones de plantilla/IA?
    3. Artesanía — ¿Tipografía, espaciado, animaciones, microinteracciones?
    4. Funcionalidad — ¿Todas las funcionalidades funcionan realmente?
  • Devuelve retroalimentación estructurada con puntuaciones y problemas específicos
  • Está diseñado para ser implacablemente estricto — nunca elogia trabajo mediocre

Modelo: Sonnet por defecto; mejora con GAN_EVALUATOR_MODEL=opus para un juicio más fuerte + uso de herramientas

Criterios de Evaluación

Los cuatro criterios predeterminados, cada uno puntuado del 1 al 10:

## Rúbrica de Evaluación

### Calidad de Diseño (peso: 0.3)
- 1-3: Genérico, tipo plantilla, estética "AI slop"
- 4-6: Competente pero sin interés, sigue convenciones
- 7-8: Identidad visual distintiva y coherente
- 9-10: Podría pasar por el trabajo de un diseñador profesional

### Originalidad (peso: 0.2)
- 1-3: Colores por defecto, diseños estándar, sin personalidad
- 4-6: Algunas elecciones personalizadas, mayormente patrones estándar
- 7-8: Visión creativa clara, enfoque único
- 9-10: Sorprendente, encantador, genuinamente novedoso

### Artesanía (peso: 0.3)
- 1-3: Diseños rotos, estados faltantes, sin animaciones
- 4-6: Funciona pero se siente tosco, espaciado inconsistente
- 7-8: Pulido, transiciones suaves, responsive
- 9-10: Perfecto al píxel, microinteracciones encantadoras

### Funcionalidad (peso: 0.2)
- 1-3: Funcionalidades principales rotas o ausentes
- 4-6: El camino feliz funciona, los casos límite fallan
- 7-8: Todas las funcionalidades funcionan, buen manejo de errores
- 9-10: A prueba de balas, maneja cada caso límite

Puntuación

  • Puntuación ponderada = suma de (puntuación del criterio * peso)
  • Umbral de aprobación = 7.0 (configurable)
  • Iteraciones máximas = 15 (configurable, normalmente 5-15 suficientes)

Uso

Mediante Comando

# Arnés completo de tres agentes
/project:gan-build "Construye una aplicación de gestión de proyectos con tableros Kanban, colaboración en equipo y modo oscuro"

# Con configuración personalizada
/project:gan-build "Construye una plataforma para compartir recetas" --max-iterations 10 --pass-threshold 7.5

# Modo de diseño frontend (solo generador + evaluador, sin planificador)
/project:gan-design "Crea una página de aterrizaje para un rastreador de cartera de criptomonedas"

Mediante Script de Shell

# Uso básico
./scripts/gan-harness.sh "Construye un panel de control para streaming de música"

# Con opciones
GAN_MAX_ITERATIONS=10 \
GAN_PASS_THRESHOLD=7.5 \
GAN_EVAL_CRITERIA="functionality,performance,security" \
./scripts/gan-harness.sh "Construye una API REST para gestión de tareas"

Mediante Claude Code (Manual)

# Paso 1: Planificar
claude -p --model sonnet "Eres un Planificador de Producto. Lee PLANNER_PROMPT.md. Expande este breve resumen en una especificación completa del producto: 'Construye una aplicación de tablero Kanban'. Escribe la especificación en spec.md"

# Paso 2: Generar (iteración 1)
claude -p --model sonnet "Eres un Generador. Lee spec.md. Implementa el Sprint 1. Inicia el servidor de desarrollo en el puerto 3000."

# Paso 3: Evaluar (iteración 1)
claude -p --model sonnet --allowedTools "Read,Bash,mcp__playwright__*" "Eres un Evaluador. Lee EVALUATOR_PROMPT.md. Prueba la aplicación en vivo en http://localhost:3000. Puntúa según la rúbrica. Escribe la retroalimentación en feedback-001.md"

# Paso 4: Generar (iteración 2 — lee la retroalimentación)
claude -p --model sonnet "Eres un Generador. Lee spec.md y feedback-001.md. Aborda todos los problemas. Mejora las puntuaciones."

# Repite los pasos 3-4 hasta que se alcance el umbral de aprobación

Evolución a Través de las Capacidades del Modelo

El arnés debería simplificarse a medida que los modelos mejoran. Siguiendo la evolución de Anthropic:

Etapa 1 — Modelos Más Débiles (clase Sonnet)

  • Descomposición completa en sprints requerida
  • Reinicios de contexto entre sprints (evitar ansiedad de contexto)
  • Mínimo de 2 agentes: Inicializador + Agente de Codificación
  • Andamiaje pesado compensa las limitaciones del modelo

Etapa 2 — Modelos Capaces (clase Opus 4.5)

  • Arnés completo de 3 agentes: Planificador + Generador + Evaluador
  • Contratos de sprint antes de cada fase de implementación
  • Descomposición en 10 sprints para aplicaciones complejas
  • Los reinicios de contexto siguen siendo útiles pero menos críticos

Etapa 3 — Modelos Frontera (clase Opus 4.6)

  • Arnés simplificado: una sola pasada de planificación, generación continua
  • Evaluación reducida a una sola pasada final (el modelo es más inteligente)
  • No se necesita estructura de sprint
  • La compactación automática maneja el crecimiento del contexto

Principio clave: Cada componente del arnés codifica una suposición sobre lo que el modelo no puede hacer solo. Cuando los modelos mejoran, vuelve a probar esas suposiciones. Elimina lo que ya no sea necesario.

Configuración

Variables de Entorno

VariableValor por DefectoDescripción
GAN_MAX_ITERATIONS15Ciclos máximo de generador-evaluador
GAN_PASS_THRESHOLD7.0Puntuación ponderada para aprobar (1-10)
GAN_PLANNER_MODELsonnetModelo para el agente planificador
GAN_GENERATOR_MODELsonnetModelo para el agente generador
GAN_EVALUATOR_MODELsonnetModelo para el agente evaluador
GAN_EVAL_CRITERIAdesign,originality,craft,functionalityCriterios separados por comas
GAN_DEV_SERVER_PORT3000Puerto para la aplicación en vivo
GAN_DEV_SERVER_CMDnpm run devComando para iniciar el servidor de desarrollo
GAN_PROJECT_DIR.Directorio de trabajo del proyecto
GAN_SKIP_PLANNERfalseOmitir planificador, usar especificación directamente
GAN_EVAL_MODEplaywrightplaywright, screenshot o code-only

Modos de Evaluación

ModoHerramientasMejor Para
playwrightBrowser MCP + interacción en vivoAplicaciones full-stack con interfaz de usuario
screenshotCaptura de pantalla + análisis visualSitios estáticos, solo diseño
code-onlyTests + linting + compilaciónAPIs, librerías, herramientas CLI

Anti-patrones

  1. Evaluador demasiado indulgente — Si el evaluador aprueba todo en la iteración 1, tu rúbrica es demasiado generosa. Ajusta los criterios de puntuación y añade penalizaciones explícitas por patrones comunes de IA.

  2. Generador ignorando la retroalimentación — Asegúrate de que la retroalimentación se pase como un archivo, no en línea. El generador debe leer feedback-NNN.md al inicio de cada iteración.

  3. Bucles infinitos — Siempre establece GAN_MAX_ITERATIONS. Si el generador no puede mejorar después de 3 iteraciones en una meseta de puntuación, detente y marca para revisión humana.

  4. Evaluador probando superficialmente — El evaluador debe usar Playwright para interactuar con la aplicación en vivo, no solo capturarla. Haz clic en botones, rellena formularios, prueba estados de error.

  5. Evaluador elogiando sus propias correcciones — Nunca permitas que el evaluador sugiera correcciones y luego evalúe esas correcciones. El evaluador solo critica; el generador corrige.

  6. Agotamiento del contexto — Para sesiones largas, usa la compactación automática del Claude Agent SDK o reinicia el contexto entre fases principales.

Resultados: Qué Esperar

Basado en los resultados publicados por Anthropic:

MétricaAgente SoloArnés GANMejora
Tiempo20 min4-6 horas12-18 veces más
Costo$9$125-20014-22 veces más
CalidadApenas funcionalListo para producciónCambio de fase
Funcionalidades principalesRotasTodas funcionandoN/A
DiseñoAI slop genéricoDistintivo, pulidoN/A

La compensación es clara: ~20 veces más tiempo y costo por un salto cualitativo en la calidad del resultado. Esto es para proyectos donde la calidad importa.

Referencias

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

Skills relacionados