Paper Illustration Image2
Antes de cada espacio de revisor, siga Revisores Seleccionables: resolver invocación →
.aris/reviewer.json→ Claude Code predeterminado (Codex MCP) conreviewer_route.pya través del resolvedor auxiliar canónico, preservando el nivel de este espacio, contextos frescos, entradas de fuente/imagen y compuertas deterministas. Los ejemplos/restricciones de Codex a continuación se aplican solo abackend=codex; otras rutas usan su propio contrato de primera llamada/respuesta. Guarde la ruta y la identidad devuelta real; las selecciones no disponibles sonREVIEW_UNAVAILABLE. Clasifique la aceptación a partir de las familias/alcance/reales. Reenvíe las anulaciones de invocación/revisor/modelo/esfuerzo a los hijos que portan revisor. Los trabajadores de generación no se modifican.
Genere figuras académicas de calidad de publicación utilizando Claude como planificador/revisor y un puente MCP local de app-server Codex como renderizador rasterizado.
Filosofía de Diseño Central
┌──────────────────────────────────────────────────────────────────────────┐
│ FLUJO DE TRABAJO ITERATIVO MULTIETAPA │
├──────────────────────────────────────────────────────────────────────────┤
│ │
│ Solicitud del Usuario │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ Claude │ ◄─── Paso 1: Analizar solicitud, crear prompt inicial │
│ │ (Planificador)│ - Extraer componentes, etiquetas y flujo de datos│
│ │ │ - Escribir un resumen de figura listo para artículo │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │Claude/Codex │ ◄─── Paso 2: Optimizar descripción del diseño │
│ │ Diseño │ - Refinar posicionamiento de componentes │
│ │ Revisión │ - Optimizar espaciado y agrupación │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │Claude/Codex │ ◄─── Paso 3: Verificación de estilo CVPR/NeurIPS │
│ │ Estilo │ - Verificar paleta, flechas y estándares de etiquetas│
│ │ Verificación│ - Ajustar el prompt antes del renderizado │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ codex-image2│ ◄─── Paso 4: Generación de imagen nativa vía puente │
│ │ Puente MCP │ - Llamar generate_start / generate_status │
│ │ + app-server│ - Aceptar solo salida nativa de imageGeneration │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ Claude │ ◄─── Paso 5: Revisión visual ESTRICTA + PUNTUACIÓN (1-10)│
│ │ (Revisor) │ - Verificar lógica, etiquetas, flechas y estética │
│ │ ESTRICTO! │ - Rechazar figuras confusas o no listas para artículo│
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ¿Puntuación ≥ 9? ──SÍ──► Aceptar y Salida │
│ │ │
│ NO │
│ │ │
│ ▼ │
│ Generar comentarios de mejora ESPECÍFICOS ──► Volver al Paso 2 │
│ │
└──────────────────────────────────────────────────────────────────────────┘
Constantes
-
RENDERER =
codex-image2— Puente de generación de imágenes nativa expuesto a través del app-server local de Codex -
OPTIONAL_TEXT_CRITIC =
mcp__codex__codex— Segunda opinión opcional solo texto para verificaciones de diseño/estilo -
MAX_ITERATIONS = 5 — Rondas máximas de refinamiento
-
TARGET_SCORE = 9 — Puntuación mínima aceptable (1-10)
-
OUTPUT_DIR =
figures/ai_generated/— Directorio de salida -
TEXT_LANGUAGE =
English— Idioma predeterminado del texto de la figura a menos que el usuario solicite lo contrario -
NATIVE_IMAGE_REQUIREMENT =
strict— Aceptar solo salida nativa deimageGeneration; rechazar fallbacks de shell/Python -
IMAGE2_HELPER — nombre canónico
paper_illustration_image2.py, resuelto segúnshared-references/integration-contract.md§2 (Política A — compuerta local de la habilidad). La Fase 3.2 (Arquitectura C) movió la implementación canónica askills/paper-illustration-image2/scripts/;tools/paper_illustration_image2.pypermanece como un shim deos.execvpara que las capas de resolución heredadas sigan funcionando sin necesidad de reinstalación. Resolver mediante:# Capa 0: autocontenido (CC 1.0+ expone $CLAUDE_SKILL_DIR). IMAGE2_HELPER="" if [ -n "${CLAUDE_SKILL_DIR:-}" ] && [ -f "$CLAUDE_SKILL_DIR/scripts/paper_illustration_image2.py" ]; then IMAGE2_HELPER="$CLAUDE_SKILL_DIR/scripts/paper_illustration_image2.py" fi # Capas 1-4: cadena de tiempo de ejecución compartida mediante shim en tools/paper_illustration_image2.py. if [ -z "$IMAGE2_HELPER" ]; then cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1 if [ -z "${ARIS_REPO:-}" ] && [ -f .aris/installed-skills.txt ]; then ARIS_REPO=$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null) || true fi if [ -z "${ARIS_REPO:-}" ] && [ -f "$HOME/.aris/repo" ]; then ARIS_REPO=$(cat "$HOME/.aris/repo" 2>/dev/null) || true fi IMAGE2_HELPER=".aris/tools/paper_illustration_image2.py" [ -f "$IMAGE2_HELPER" ] || IMAGE2_HELPER="tools/paper_illustration_image2.py" [ -f "$IMAGE2_HELPER" ] || { [ -n "${ARIS_REPO:-}" ] && IMAGE2_HELPER="$ARIS_REPO/tools/paper_illustration_image2.py"; } [ -f "$IMAGE2_HELPER" ] || IMAGE2_HELPER="" fi [ -z "$IMAGE2_HELPER" ] && { echo "ERROR: paper_illustration_image2.py no resuelto (capa 0: \$CLAUDE_SKILL_DIR/scripts/; capas 1-4: .aris/tools/, tools/, \$ARIS_REPO/tools/, \$ARIS_REPO/tools/ mediante ~/.aris/repo)." >&2 echo " /paper-illustration-image2 no puede continuar. Solución: ejecute nuevamente bash tools/install_aris.sh o smart_update.sh (actualiza ~/.aris/repo), o copie el script canónico desde \$ARIS_REPO/skills/paper-illustration-image2/scripts/." >&2 exit 1 }Todas las invocaciones a continuación usan
python3 "$IMAGE2_HELPER" <subcomando>.
Guía de Estilo para Conferencias de Primer Nivel CVPR/ICLR/NeurIPS
Lo que realmente significa "Estilo CVPR":
Estándares Visuales
- Fondo blanco limpio — Sin patrones decorativos ni degradados a menos que sean extremadamente sutiles
- Fuentes sans-serif — Arial, Helvetica o tipografía igualmente limpia y amigable para artículos
- Paleta de colores sutil — Usar 3-5 colores coordinados, no colores arcoíris
- Amigable para impresión — Debe seguir siendo comprensible en escala de grises
- Bordes profesionales — Delgados a medianos, limpios y consistentes
Estándares de Diseño
- Flujo horizontal — De izquierda a derecha es el predeterminado para tuberías
- Agrupación clara — Usar espaciado o cuadros de agrupación sutiles para módulos relacionados
- Tamaño consistente — Componentes similares deben tener tamaños similares
- Espacio en blanco equilibrado — Evitar diseños tanto apretados como excesivamente dispersos
Estándares de Flechas (MÁS CRÍTICOS)
- Trazos gruesos — Las flechas deben permanecer visibles después del escalado del artículo
- Puntas de flecha claras — Puntas grandes e inequívocas
- Colores oscuros — Preferir flechas negras o grises oscuras
- Etiquetadas — Las flechas importantes deben mostrar qué fluye a través de ellas
- Sin cruces — Reorganizar la figura para evitar cruces cuando sea posible
- DIRECCIÓN CORRECTA — Las flechas deben apuntar al objetivo correcto
Atractivo Visual (Estilo Profesional Académico)
Objetivo: ni conservador ni llamativo, encontrar el equilibrio
✅ Debe tener
- Degradados sutiles — Los degradados suaves de la misma familia son aceptables
- Esquinas redondeadas — Bloques redondeados modernos pero moderados
- Jerarquía clara — Módulos principales más grandes, módulos secundarios más pequeños
- Codificación de colores consistente — Mapeo estable entre tipos de módulo y colores
- Tipografía profesional — Etiquetas limpias con jerarquía de tamaño legible
❌ Evitar
- ❌ Degradados arcoíris
- ❌ Sombras paralelas pesadas
- ❌ Efectos de perspectiva 3D
- ❌ Efectos de brillo
- ❌ Iconos decorativos de clip-art
- ❌ Estilo de presentación de diapositivas que se siente llamativo en lugar de listo para artículo
✓ Efecto ideal
- Parece intencional, profesional e inmediatamente legible
- Tiene atractivo visual moderado sin volverse decorativo
- Se siente apropiado para una figura de artículo de conferencia de primer nivel
- Sobrevive al escalado de PDF y la impresión en escala de grises
Qué EVITAR (CRÍTICO)
- ❌ Flechas delgadas como líneas finas
- ❌ Conexiones no etiquetadas o ambiguas
- ❌ Texto pequeño e ilegible
- ❌ Sopa de cuadros plana y aburrida sin jerarquía
- ❌ Figuras demasiado decoradas con sombras/brillos/iconos
- ❌ Direcciones de flecha incorrectas
Alcance
| Tipo de Figura | Calidad | Ejemplos |
|---|---|---|
| Diagramas de arquitectura | Excelente | Arquitectura de modelo, tubería, codificador-decodificador |
| Ilustraciones de método | Excelente | Diagramas conceptuales, diagramas de flujo de algoritmo |
| Figuras conceptuales | Buena | Diagramas de comparación, árboles de taxonomía |
No para: Gráficos estadísticos (use /paper-figure), figuras de topología vectorial determinista (prefiera /figure-spec), escenas fotorrealistas
Flujo de Trabajo: DEBE EJECUTAR TODOS LOS PASOS
Paso 0: Verificación Previa al Vuelo
Renderizar esta lista de verificación explícitamente antes de comenzar:
📋 Lista de verificación de integración de paper-illustration-image2:
[ ] 1. python3 "$IMAGE2_HELPER" preflight --workspace <cwd> --json-out figures/ai_generated/preflight.json
[ ] 2. Confirmar que el JSON de preflight dice ok=true antes de renderizar
[ ] 3. Renderizar mediante mcp__codex-image2__generate_start + generate_status
[ ] 4. Finalizar mediante python3 "$IMAGE2_HELPER" finalize --workspace <cwd> --best-image <mejor_png>
[ ] 5. Verificar artefactos mediante python3 "$IMAGE2_HELPER" verify --workspace <cwd> --json-out figures/ai_generated/verify.json
- Crear
figures/ai_generated/si no existe. - Confirmar que la solicitud es adecuada para una ilustración rasterizada:
- diagrama de arquitectura
- figura conceptual de método
- ilustración de flujo de trabajo
- Preferir texto de figura en inglés a menos que el usuario solicite lo contrario.
- Ejecutar:
python3 "$IMAGE2_HELPER" preflight \
--workspace <cwd> \
--json-out figures/ai_generated/preflight.json
- Si el preflight no es
ok=true, detenerse y decirlo claramente.
Paso 1: Claude Planifica la Figura
Convertir la solicitud del usuario en un prompt de imagen completamente especificado. Incluir:
- tipo de figura
- módulos/etapas exactos
- dirección del flujo
- etiquetas a mostrar
- flechas de flujo de datos
- restricciones de estilo
- qué evitar
Cuando la entrada sea una nota de método o una sección de artículo, primero resumirla en un resumen de figura limpio antes de escribir el prompt de imagen final.
Paso 2: Optimización del Diseño
Este paso es obligatorio. Antes de renderizar, refinar el prompt en un plan de diseño concreto:
- orden exacto de los módulos
- espaciado y agrupación
- prominencia relativa de los módulos
- enrutamiento de flechas y posibles puntos de colisión
Si la ruta de revisión de texto seleccionada está disponible, puede solicitar una breve segunda opinión sobre el diseño aquí, pero el ejecutor aún debe completar este paso sin un crítico externo.
Usar la crítica de diseño de Codex para:
- componentes faltantes
- diseño confuso
- jerarquía de flujo débil
- posible ambigüedad en la dirección de las flechas o desorden
Paso 3: Verificación de Estilo
Este paso también es obligatorio. Verificar el prompt según el estilo de artículo previsto antes de renderizar:
- la paleta es moderada y académica
- las flechas son gruesas, oscuras y legibles
- las etiquetas son concisas y en inglés a menos que se solicite lo contrario
- la figura se leerá claramente en escala de grises / impresión
- no se cuelan brillos, degradados arcoíris ni decoraciones de presentación
Si la ruta de revisión de texto seleccionada está disponible, puede solicitar una breve auditoría de estilo solo texto, pero no bloquearse por ello.
Paso 4: Generar a Través del Puente
Llamar a mcp__codex-image2__generate_start con:
prompt: el prompt de imagen finalcwd: raíz del proyecto actual o espacio de trabajo del artículooutputPath:figures/ai_generated/figure_v1.pngsystem: una instrucción corta comoFigura académica. Preferir etiquetas en inglés nítidas.timeoutSeconds: un tiempo de espera de renderizado acotado como180
Luego llamar a mcp__codex-image2__generate_status con esperas acotadas hasta que:
done=trueystatus=completed, odone=trueystatus=failed
Si la generación falla, informar el error del puente directamente en lugar de ocultarlo.
Paso 5: Revisar la Salida
Revisar la imagen generada con una lista de verificación estricta:
- ¿están presentes todos los componentes principales?
- ¿es obvio el flujo lógico?
- ¿son legibles las etiquetas?
- ¿apuntan las flechas en la dirección correcta?
- ¿la figura parece lista para artículo en lugar de una diapositiva?
Puntuarla del 1 al 10.
Paso 6: Refinar si es Necesario
Si la puntuación < 9, escribir un prompt de refinamiento específico:
- decir exactamente qué estaba mal
- pedir un cambio específico
- mantener el resto del prompt igual
Regenerar y repasar. Hasta 5 iteraciones totales.
Paso 7: Guardar y Salida
La figura final aceptada se encuentra en figures/ai_generated/figure_v{FINAL_ITERACION}.png. Después de la aceptación:
- Copiar la mejor imagen a
figures/ai_generated/{nombre_del_proyecto}_figure.pngpara facilitar su localización. - Ejecutar:
python3 "$IMAGE2_HELPER" finalize \
--workspace <cwd> \
--best-image figures/ai_generated/figure_v{FINAL_ITERACION}.png
- Ejecutar:
python3 "$IMAGE2_HELPER" verify \
--workspace <cwd> \
--json-out figures/ai_generated/verify.json
- Si verify falla, detenerse y mencionar los artefactos no verificados.
Ejemplo de Invocación
# 1. Ejecutar preflight
python3 "$IMAGE2_HELPER" preflight \
--workspace /path/to/paper/project \
--json-out figures/ai_generated/preflight.json
# 2. Renderizar figura (llamada MCP — no Python)
# Nombre de la herramienta: mcp__codex-image2__generate_start
# {
# "prompt": "Arquitectura de transformer...",
# "cwd": "/path/to/paper/project",
# "outputPath": "figures/ai_generated/figure_v1.png",
# "system": "Figura académica. Preferir etiquetas en inglés nítidas.",
# "timeoutSeconds": 180
# }
# 3. Finalizar
python3 "$IMAGE2_HELPER" finalize \
--workspace /path/to/paper/project \
--best-image figures/ai_generated/figure_v3.png
# 4. Verificar
python3 "$IMAGE2_HELPER" verify \
--workspace /path/to/paper/project \
--json-out figures/ai_generated/verify.json
Preguntas Frecuentes
P: ¿Por qué necesito un app-server de Codex en ejecución?
R: codex-image2 expone la generación de imágenes nativa de Codex a través de un puente MCP local. Sin él, no hay rasterizador. Si ya usa Codex, simplemente ejecute su app-server local como de costumbre.
P: ¿Puedo usar esto sin Codex? R: No. Este skill está diseñado específicamente para el renderizador de imágenes nativo del app-server de Codex. No hay plan de soportar backends alternativos.
P: ¿En qué se diferencia esto de paper-illustration?
R: paper-illustration usa un mecanismo de renderizado diferente (imagen generada por Claude). Este es experimental y usa directamente el motor de imágenes nativo de Codex. Es una alternativa para usuarios que desean el estilo de salida de GPT-image sin modificar la habilidad original.
P: ¿Qué versiones de Python? R: Python 3.10+.