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) avecreviewer_route.pyvia 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 sontREVIEW_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 nativeimageGeneration; rejeter les solutions de repli shell/Python -
IMAGE2_HELPER — nom canonique
paper_illustration_image2.py, résolu selonshared-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 dansskills/paper-illustration-image2/scripts/;tools/paper_illustration_image2.pyreste un shimos.execvpour 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 figure | Qualité | Exemples |
|---|---|---|
| Schémas d'architecture | Excellent | Architecture de modèle, pipeline, encodeur-décodeur |
| Illustrations de méthode | Excellent | Diagrammes conceptuels, organigrammes d'algorithme |
| Figures conceptuelles | Bon | Diagrammes 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
- Créez
figures/ai_generated/s'il n'existe pas. - Confirmez que la demande est adaptée à une illustration raster :
- schéma d'architecture
- figure de méthode conceptuelle
- illustration de flux de travail
- Préférez le texte de figure en anglais sauf si l'utilisateur a demandé autre chose.
- Exécutez :
python3 "$IMAGE2_HELPER" preflight \
--workspace <cwd> \
--json-out figures/ai_generated/preflight.json
- 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 finalecwd: racine du projet actuel ou espace de travail de l'articleoutputPath:figures/ai_generated/figure_v1.pngsystem: une courte instruction commeFigure d'article académique. Préférez les étiquettes claires en anglais.timeoutSeconds: un délai d'attente de rendu limité comme180
Appelez ensuite mcp__codex-image2__generate_status avec des attentes limitées jusqu'à ce que :
done=trueetstatus=completed, oudone=trueetstatus=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