CommunityImagegithub.com

erlingerwu0925/paper-illustration-image2

Générez des illustrations académiques de qualité publication via un pont local Codex app-server utilisant la génération native d'images de Codex. Il s'agit d'une alternative expérimentale distincte de `paper-illustration`, destinée aux utilisateurs de Claude Code qui souhaitent un rendu de style GPT-image sans modifier la compétence d'origine.

Qu'est-ce que paper-illustration-image2 ?

Cette compétence permet de créer des figures de recherche de haute qualité (schémas d'architecture, diagrammes conceptuels, organigrammes de flux de travail) prêtes pour des conférences comme CVPR, ICLR ou NeurIPS. Elle utilise un flux de travail itératif multi-étapes où Claude agit en tant que planificateur et réviseur, et un pont local Codex app-server MCP agit comme moteur de rendu raster natif. Le processus comprend la vérification préalable, la planification détaillée, l'optimisation de la mise en page, la vérification du style académique (polices, couleurs, flèches, espacement), la génération via le pont, une revue stricte avec notation (de 1 à 10, score cible >= 9), et des itérations de raffinement jusqu'à l'obtention d'une figure de qualité publication. La compétence impose des normes strictes (fonds blancs, palettes de couleurs sobres, flèches épaisses et étiquetées, hiérarchie claire) et évite tout effet décoratif (dégradés arc-en-ciel, ombres, 3D, icônes clip-art). Elle nécessite le résolveur d'image `paper_illustration_image2.py` et repose sur un pont natif `codex-image2`.

Compatible avec✓Claude Code✓Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/erlingerwu0925/Skills/tree/HEAD/collections/02-autonomous-research/ARIS/skills/paper-illustration-image2

Installed? Explore more Image skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Paper Illustration Image2

Avant chaque créneau de relecture, suivez Relecteurs sélectionnables : résolution d'invocation → .aris/reviewer.json → Claude Code par défaut (Codex MCP) avec reviewer_route.py via le résolveur d'assistance canonique, en préservant le niveau de ce créneau, les contextes frais, les entrées source/image et les portes déterministes. Les exemples/pins Codex ci-dessous s'appliquent uniquement à backend=codex ; les autres routes utilisent leur propre contrat premier appel/réponse. Enregistrez la route et l'identité réelle retournée ; les sélections indisponibles sont REVIEW_UNAVAILABLE. Classez l'acceptation à partir des familles/achèvement/portée réelles. Transmettez les remplacements d'invocation relecteur/modèle/effort aux enfants porteurs de relecture. Les workers de génération sont inchangés.

Générez des figures de recherche de qualité publication en utilisant Claude comme planificateur/relecteur et un pont local Codex app-server MCP comme moteur de rendu raster.

Philosophie de conception fondamentale

┌──────────────────────────────────────────────────────────────────────────┐
│                FLUX DE TRAVAIL ITÉRATIF MULTI-ÉTAPES                     │
├──────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│   Demande utilisateur                                                    │
│       │                                                                  │
│       ▼                                                                  │
│   ┌─────────────┐                                                        │
│   │   Claude    │ ◄─── Étape 1 : Analyser la demande, créer l'invite    │
│   │(Planificateur)│      - Extraire les composants, étiquettes et flux   │
│   │             │      - Rédiger un brief de figure prêt pour publication│
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   ┌─────────────┐                                                        │
│   │Claude/Codex │ ◄─── Étape 2 : Optimiser la description de la mise en  │
│   │   Mise en   │      page                                              │
│   │   page      │      - Affiner le positionnement des composants        │
│   │   Relecture │      - Optimiser l'espacement et le regroupement       │
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   ┌─────────────┐                                                        │
│   │Claude/Codex │ ◄─── Étape 3 : Vérification du style CVPR/NeurIPS      │
│   │   Style     │      - Vérifier la palette, les flèches et les normes  │
│   │   Vérification│      d'étiquetage                                    │
│   │             │      - Renforcer l'invite avant le rendu               │
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   ┌─────────────┐                                                        │
│   │ codex-image2│ ◄─── Étape 4 : Génération d'image native via pont      │
│   │ Pont MCP    │      - Appeler generate_start / generate_status        │
│   │ + app-server│      - Accepter uniquement la sortie native imageGeneration│
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   ┌─────────────┐                                                        │
│   │   Claude    │ ◄─── Étape 5 : Relecture visuelle STRICTE + NOTE (1-10)│
│   │(Relecteur) │      - Vérifier la logique, les étiquettes, les flèches │
│   │   STRICTE! │      et l'esthétique                                    │
│   │             │      - Rejeter les figures peu claires ou non prêtes   │
│   │             │      à la publication                                  │
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   Note ≥ 9 ? ──OUI──► Accepter et Sortir                                 │
│          │                                                               │
│          NON                                                             │
│          │                                                               │
│          ▼                                                               │
│   Générer un retour d'amélioration SPÉCIFIQUE ──► Retour à l'Étape 2    │
│                                                                          │
└──────────────────────────────────────────────────────────────────────────┘

Constantes

  • RENDERER = codex-image2 — Pont de génération d'image native exposé via le serveur d'application Codex local

  • OPTIONAL_TEXT_CRITIC = mcp__codex__codex — Second avis textuel optionnel pour les vérifications de mise en page/style

  • MAX_ITERATIONS = 5 — Nombre maximal de cycles d'amélioration

  • TARGET_SCORE = 9 — Note minimale acceptable (1-10)

  • OUTPUT_DIR = figures/ai_generated/ — Répertoire de sortie

  • TEXT_LANGUAGE = English — Langue du texte par défaut de la figure, sauf demande contraire

  • NATIVE_IMAGE_REQUIREMENT = strict — Accepter uniquement la sortie native imageGeneration ; rejeter les solutions de repli shell/Python

  • IMAGE2_HELPER — nom canonique paper_illustration_image2.py, résolu selon shared-references/integration-contract.md §2 (Politique A — porte locale de la compétence). La phase 3.2 (Arch C) a déplacé l'implémentation canonique dans skills/paper-illustration-image2/scripts/ ; tools/paper_illustration_image2.py reste un shim os.execv pour que les couches de résolveur héritées continuent de fonctionner sans réinstallation. Résoudre via :

    # Couche 0 : autonome (CC 1.0+ expose $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
    # Couches 1-4 : chaîne d'exécution partagée via le shim à 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 "ERREUR : paper_illustration_image2.py non résolu (couche 0 : \$CLAUDE_SKILL_DIR/scripts/ ; couches 1-4 : .aris/tools/, tools/, \$ARIS_REPO/tools/, \$ARIS_REPO/tools/ via ~/.aris/repo)." >&2
      echo "       /paper-illustration-image2 ne peut pas continuer. Correctif : réexécutez bash tools/install_aris.sh ou smart_update.sh (rafraîchit ~/.aris/repo), ou copiez le script canonique depuis \$ARIS_REPO/skills/paper-illustration-image2/scripts/." >&2
      exit 1
    }
    

    Toutes les invocations ci-dessous utilisent python3 "$IMAGE2_HELPER" <sous-commande>.

Guide de style des conférences de haut niveau CVPR/ICLR/NeurIPS

Ce que signifie réellement « Style CVPR » :

Normes visuelles

  • Fond blanc propre — Pas de motifs décoratifs ou de dégradés sauf très subtils
  • Polices sans empattement — Arial, Helvetica, ou typographie propre similaire adaptée aux publications
  • Palette de couleurs subtile — Utilisez 3 à 5 couleurs coordonnées, pas de couleurs arc-en-ciel
  • Prêt pour l'impression — Doit rester compréhensible en niveaux de gris
  • Bordures professionnelles — Fines à moyennes, propres et cohérentes

Normes de mise en page

  • Flux horizontal — Gauche à droite est la valeur par défaut pour les pipelines
  • Regroupement clair — Utilisez l'espacement ou des boîtes de regroupement subtiles pour les modules connexes
  • Taille cohérente — Les composants similaires doivent avoir des tailles similaires
  • Espace blanc équilibré — Évitez les mises en page à la fois serrées et trop clairsemées

Normes de flèches (LES PLUS CRITIQUES)

  • Traits épais — Les flèches doivent rester visibles après la mise à l'échelle du document
  • Pointes de flèches claires — Pointes de flèches grandes et sans ambiguïté
  • Couleurs foncées — Préférez les flèches noires ou gris foncé
  • Étiquetées — Les flèches importantes doivent montrer ce qui les traverse
  • Pas de croisements — Réorganisez la figure pour éviter les croisements si possible
  • DIRECTION CORRECTE — Les flèches doivent pointer vers la bonne cible

Attrait visuel (style académique professionnel)

Objectif : ni conservateur ni tape-à-l'œil, trouver l'équilibre

✅ Devrait avoir

  • Dégradés subtils — Les dégradés doux de la même famille sont acceptables
  • Coins arrondis — Blocs arrondis modernes mais discrets
  • Hiérarchie claire — Modules principaux plus grands, modules secondaires plus petits
  • Codage couleur cohérent — Correspondance stable entre les types de modules et les couleurs
  • Typographie professionnelle — Étiquettes propres avec une hiérarchie de taille lisible

❌ À éviter

  • ❌ Dégradés arc-en-ciel
  • ❌ Ombres portées lourdes
  • ❌ Effets de perspective 3D
  • ❌ Effets lumineux
  • ❌ Icônes clip-art décoratives
  • ❌ Style de présentation qui semble tape-à-l'œil plutôt que prêt pour la publication

✓ Effet idéal

  • Semble intentionnel, professionnel et immédiatement lisible
  • A un attrait visuel modéré sans devenir décoratif
  • Convient à une figure d'article de conférence de haut niveau
  • Survit à la mise à l'échelle PDF et à l'impression en niveaux de gris

Ce qu'il faut ÉVITER (CRITIQUE)

  • ❌ Flèches fines comme des cheveux
  • ❌ Connexions non étiquetées ou ambiguës
  • ❌ Texte minuscule illisible
  • ❌ Soupe de boîtes plates et ennuyeuses sans hiérarchie
  • ❌ Figures trop décorées avec ombres/lueurs/icônes
  • ❌ Mauvaises directions de flèches

Périmètre

Type de figureQualitéExemples
Schémas d'architectureExcellentArchitecture de modèle, pipeline, encodeur-décodeur
Illustrations de méthodeExcellentDiagrammes conceptuels, organigrammes d'algorithme
Figures conceptuellesBonDiagrammes de comparaison, arbres taxonomiques

Pas pour : Graphiques statistiques (utilisez /paper-figure), figures topologiques vectorielles déterministes (préférez /figure-spec), scènes photoréalistes

Flux de travail : EXÉCUTEZ OBLIGATOIREMENT TOUTES LES ÉTAPES

Étape 0 : Vérification préalable

Affichez cette liste de contrôle explicitement avant de commencer :

📋 Liste de contrôle d'intégration paper-illustration-image2 :
   [ ] 1. python3 "$IMAGE2_HELPER" preflight --workspace <cwd> --json-out figures/ai_generated/preflight.json
   [ ] 2. Confirmer que le JSON preflight indique ok=true avant de rendre
   [ ] 3. Rendre via mcp__codex-image2__generate_start + generate_status
   [ ] 4. Finaliser via python3 "$IMAGE2_HELPER" finalize --workspace <cwd> --best-image <best_png>
   [ ] 5. Vérifier les artefacts via python3 "$IMAGE2_HELPER" verify --workspace <cwd> --json-out figures/ai_generated/verify.json
  1. Créez figures/ai_generated/ s'il n'existe pas.
  2. Confirmez que la demande est adaptée à une illustration raster :
    • schéma d'architecture
    • figure de méthode conceptuelle
    • illustration de flux de travail
  3. Préférez le texte de figure en anglais sauf si l'utilisateur a demandé autre chose.
  4. Exécutez :
python3 "$IMAGE2_HELPER" preflight \
  --workspace <cwd> \
  --json-out figures/ai_generated/preflight.json
  1. Si le preflight n'est pas ok=true, arrêtez-vous et dites-le clairement.

Étape 1 : Claude planifie la figure

Transformez la demande utilisateur en une invite d'image entièrement spécifiée. Incluez :

  • type de figure
  • modules / étapes exacts
  • direction du flux
  • étiquettes à afficher
  • flèches de flux de données
  • contraintes de style
  • ce qu'il faut éviter

Lorsque l'entrée est une note de méthode ou une section d'article, résumez-la d'abord en un brief de figure propre avant d'écrire l'invite d'image finale.

Étape 2 : Optimisation de la mise en page

Cette étape est obligatoire. Avant le rendu, affinez l'invite en un plan de mise en page concret :

  • ordre exact des modules
  • espacement et regroupement
  • importance relative des modules
  • routage des flèches et points de collision probables

Si la route de relecture textuelle sélectionnée est disponible, vous pouvez lui demander une brève critique de mise en page de second avis ici, mais l'exécuteur doit toujours terminer cette étape sans critique externe.

Utilisez la critique de mise en page Codex pour :

  • composants manquants
  • mise en page confuse
  • hiérarchie de flux faible
  • ambiguïté probable dans la direction des flèches ou encombrement

Étape 3 : Vérification du style

Cette étape est également obligatoire. Vérifiez l'invite par rapport au style d'article prévu avant le rendu :

  • la palette est sobre et académique
  • les flèches sont épaisses, sombres et lisibles
  • les étiquettes sont concises et en anglais sauf demande contraire
  • la figure sera claire en niveaux de gris / à l'impression
  • aucune lueur, dégradé arc-en-ciel ou décoration de présentation ne s'infiltre

Si la route de relecture textuelle sélectionnée est disponible, vous pouvez lui demander un bref audit de style textuel, mais ne la bloquez pas.

Étape 4 : Générer via le pont

Appelez mcp__codex-image2__generate_start avec :

  • prompt : l'invite d'image finale
  • cwd : racine du projet actuel ou espace de travail de l'article
  • outputPath : figures/ai_generated/figure_v1.png
  • system : une courte instruction comme Figure d'article académique. Préférez les étiquettes claires en anglais.
  • timeoutSeconds : un délai d'attente de rendu limité comme 180

Appelez ensuite mcp__codex-image2__generate_status avec des attentes limitées jusqu'à ce que :

  • done=true et status=completed, ou
  • done=true et status=failed

Si la génération échoue, signalez l'erreur du pont directement sans la cacher.

Étape 5 : Réviser la sortie

Révisez l'image générée avec une liste de contrôle stricte :

  • tous les composants majeurs sont-ils présents ?
  • le flux logique est-il évident ?
  • les étiquettes sont-elles lisibles ?
  • les flèches pointent-elles dans la bonne direction ?
  • la figure semble-t-elle prête pour la publication plutôt que comme une diapositive ?

Notez-la de 1 à 10.

Étape 6 : Améliorer si nécessaire

Si la note < 9, rédigez une invite d'amélioration ciblée :

  • dites exactement ce qui n'allait pas
  • gardez les parties correctes
  • réexécutez les étapes 2 à 5
  • n'augmentez pas le compteur d'itérations de plus de 1 par cycle

Règle stricte : Si la note < 9 après 5 cycles, arrêtez-vous et signalez la figure comme non améliorable.

Notes

  • Préférez toujours la génération d'image native ; si le pont échoue, rapportez-le comme un échec de la compétence
  • Le second avis textuel (mcp__codex__codex) est optionnel — ne pas bloquer si indisponible
  • Les décisions de style suivent les directives de style des conférences de haut niveau ci-dessus

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills associés