Community이미지github.com

erlingerwu0925/paper-illustration

Gemini 이미지 생성 기능을 사용하여 학술 논문용 출판 품질의 AI 일러스트레이션을 생성합니다. Claude가 감독하는 반복적 개선 루프를 통해 아키텍처 다이어그램, 방법론 설명도를 만듭니다. 사용자가 "生成图表", "画架构图", "AI绘图", "paper illustration", "generate diagram"을 말하거나 논문용 시각 자료가 필요할 때 사용하세요.

paper-illustration란 무엇인가요?

이 스킬은 학술 논문, 특히 컴퓨터 비전(CVPR, ICLR, NeurIPS) 및 머신러닝 분야의 최상위 학회에 제출하기 위한 출판 품질의 일러스트레이션을 생성하는 다단계, Claude 감독 워크플로우를 제공합니다. 사용자가 요청하면 Claude가 먼저 계획자(Planner) 역할을 하여 요청을 분석하고 상세한 프롬프트를 만듭니다. 그런 다음 Gemini(gemini-3-pro)가 레이아웃 최적화 및 스타일 검증(색상 팔레트, 화살표, 글꼴 표준)을 수행하고, Paperbanana(gemini-3-pro-image)가 최종 이미지를 렌더링합니다. 마지막으로 Claude가 엄격한 검토자(Reviewer) 역할을 하여 생성된 이미지의 모든 화살표 방향, 블록 내용, 미적 매력을 1-10점 척도로 평가합니다. 점수가 9점 이상일 때만 이미지가 승인됩니다. 그렇지 않으면 구체적인 개선 피드백이 생성되어 레이아웃 최적화 단계로 돌아가 최대 5회까지 반복됩니다. 이 워크플로우는 아키텍처 다이어그램, 방법론 설명도, 개념도에 탁월하지만 통계 플롯이나 실사 이미지에는 적합하지 않습니다. 선택적 `--style-ref` 플래그를 사용하여 참조 논문의 구조적 스타일(캡션 길이, 그림 밀도)을 따를 수 있지만, 콘텐츠나 디자인 요소를 복사하지는 않습니다.

지원 대상✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/erlingerwu0925/Skills/tree/HEAD/collections/02-autonomous-research/ARIS/skills/paper-illustration

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

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

논문 일러스트레이션: 다단계 Claude 감독 그림 생성

다단계 워크플로우와 엄격한 감독자/검토자 역할의 Claude를 사용하여 출판 품질의 일러스트레이션을 생성합니다.

핵심 설계 철학

┌──────────────────────────────────────────────────────────────────────────┐
│                    다단계 반복 워크플로우                               │
├──────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│   사용자 요청                                                           │
│       │                                                                  │
│       ▼                                                                  │
│   ┌─────────────┐                                                        │
│   │   Claude    │ ◄─── 1단계: 요청 분석, 초기 프롬프트 생성             │
│   │  (계획자)   │                                                        │
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   ┌─────────────┐                                                        │
│   │   Gemini    │ ◄─── 2단계: 레이아웃 설명 최적화                      │
│   │ (gemini-3-pro)│      - 컴포넌트 위치 지정 개선                       │
│   │  레이아웃   │      - 간격 및 그룹화 최적화                          │
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   ┌─────────────┐                                                        │
│   │   Gemini    │ ◄─── 3단계: CVPR/NeurIPS 스타일 검증                  │
│   │ (gemini-3-pro)│      - 색상 팔레트 규정 준수 확인                      │
│   │  스타일     │      - 화살표 및 글꼴 표준 확인                        │
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   ┌─────────────┐                                                        │
│   │ Paperbanana │ ◄─── 4단계: 최종 이미지 렌더링                       │
│   │ (gemini-3-  │      - 고품질 이미지 생성                              │
│   │ pro-image)  │      - 내부 코드명: 나노 바나나 프로                    │
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   ┌─────────────┐                                                        │
│   │   Claude    │ ◄─── 5단계: 엄격한 시각적 검토 + 점수(1-10)           │
│   │  (검토자)   │      - 모든 화살표 방향 확인                          │
│   │   엄격!     │      - 모든 블록 내용 확인                             │
│   └──────┬──────┘      - 미적 매력 및 시각적 호소도 확인                 │
│          │                                                               │
│          ▼                                                               │
│   점수 ≥ 9? ──예──► 승인 및 출력                                       │
│          │                                                               │
│          아니오                                                          │
│          │                                                               │
│          ▼                                                               │
│   구체적인 개선 피드백 생성 ──► 2단계로 루프백                          │
│                                                                          │
└──────────────────────────────────────────────────────────────────────────┘

상수

  • IMAGE_MODEL = gemini-3-pro-image-preview — 이미지 렌더링용 Paperbanana (나노 바나나 프로)
  • REASONING_MODEL = gemini-3-pro-preview — 레이아웃 최적화 및 스타일 검사용 Gemini
  • MAX_ITERATIONS = 5 — 최대 개선 라운드 수
  • TARGET_SCORE = 9 — 허용 가능한 최소 점수 (1-10) — 품질 향상을 위해 상향 조정됨
  • OUTPUT_DIR = figures/ai_generated/ — 출력 디렉토리
  • API_KEY_ENV = GEMINI_API_KEY — 환경 변수

선택 사항: 스타일 참조 (— style-ref: <source>, 옵트인)

사용자가 참조 논문의 구조적 그림 규칙(캡션 길이, 패널 수 분포, 상위 논문의 그림 대 테이블 비율)을 따를 수 있도록 합니다. 기본값은 OFF — 사용자가 $ARGUMENTS에 — style-ref를 전달하지 않으면 이전과 동일하게 작동합니다.

$ARGUMENTS에 — style-ref: <source>가 있는 경우에만, 프롬프트를 생성하기 전에 먼저 헬퍼를 실행합니다:

# $STYLE_HELPER를 표준 엄격-안전 체인을 통해 확인합니다 (참조:
# shared-references/integration-contract.md §2). 정책 A — 게이트:
# 해결되지 않은 헬퍼는 --style-ref를 충족할 수 없음을 의미하므로 중단합니다.
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
STYLE_HELPER=".aris/tools/extract_paper_style.py"
[ -f "$STYLE_HELPER" ] || STYLE_HELPER="tools/extract_paper_style.py"
[ -f "$STYLE_HELPER" ] || { [ -n "${ARIS_REPO:-}" ] && STYLE_HELPER="$ARIS_REPO/tools/extract_paper_style.py"; }
[ -f "$STYLE_HELPER" ] || {
  echo "ERROR: .aris/tools/, tools/, \$ARIS_REPO/tools/, 또는 ~/.aris/repo를 통해 extract_paper_style.py를 확인할 수 없습니다." >&2
  echo "       해결 방법: bash tools/install_aris.sh 또는 smart_update.sh를 다시 실행하거나(~/.aris/repo 새로 고침), ARIS_REPO를 내보내거나, 헬퍼를 tools/에 복사하십시오." >&2
  echo "       --style-ref를 충족할 수 없습니다. 중단합니다." >&2
  exit 1
}
STYLE_STATUS=0
CACHE=$(python3 "$STYLE_HELPER" --source "<source>") || STYLE_STATUS=$?
case "$STYLE_STATUS" in
  0) ;;                                       # $CACHE/style_profile.md를 구조적 지침으로 사용
  2) echo "경고: style-ref를 건너뜁니다(선택적 종속성 누락)" >&2 ;;
  3) echo "오류: --style-ref 소스 실패; 일러스트레이션을 중단합니다" >&2 ; exit 1 ;;
  *) echo "오류: 헬퍼가 예기치 않게 실패했습니다; 일러스트레이션을 중단합니다" >&2 ; exit 1 ;;
esac

허용되는 소스: 로컬 TeX 디렉토리/파일, 로컬 PDF, arXiv ID, http(s) URL. Overleaf URL/ID는 거부됩니다 — 먼저 /overleaf-sync setup <id>를 통해 복제하고 로컬 복제 경로를 전달하세요.

엄격한 규칙 (tools/extract_paper_style.py 독스트링의 전체 계약 참조):

  • style_profile.md를 사용하여 캡션 길이와 그림 밀도를 참조 논문에 맞춥니다. 위의 CVPR/ICLR/NeurIPS 시각적 표준은 여전히 우선합니다. --style-ref는 길이 및 밀도 경향만 미세 조정하며, 이미지 콘텐츠는 절대 변경하지 않습니다.
  • 캐시를 통해 접근 가능한 모든 항목에서 그림 콘텐츠, 색상 팔레트 또는 특정 디자인 요소를 절대 복사하지 마십시오. 시각적 디자인은 참조가 아닌 사용자의 프롬프트에서 비롯됩니다.
  • 생성된 이미지 점수를 매길 때 Claude 비전 검사기/Gemini 추론 검사기 하위 에이전트에 — style-ref(또는 캐시 콘텐츠)를 절대 전달하지 마십시오. 이미지는 자체 장점으로 판단되어야 합니다.

CVPR/ICLR/NeurIPS 최상위 학회 스타일 가이드

"CVPR 스타일"이 실제로 의미하는 것:

시각적 표준

  • 깔끔한 흰색 배경 — 장식적인 패턴이나 그라데이션 없음 (미묘한 경우 제외)
  • 산세리프 글꼴 — Arial, Helvetica 또는 Computer Modern; 최소 14pt
  • 미묘한 색상 팔레트 — 무지개 색상이 아님; 3-5개의 조화로운 색상 사용
  • 인쇄 친화적 — 회색조로도 읽을 수 있어야 함 (많은 리뷰어가 논문을 인쇄함)
  • 전문적인 테두리 — 얇은(2-3px), 단색, 화려하지 않음

레이아웃 표준

  • 수평 흐름 — 왼쪽에서 오른쪽이 파이프라인의 표준
  • 명확한 그룹화 — 미묘한 배경 상자를 사용하여 관련 모듈 그룹화
  • 일관된 크기 — 유사한 구성 요소는 유사한 크기를 가져야 함
  • 균형 잡힌 여백 — 비좁지도 않고 듬성듬성하지도 않음

화살표 표준 (가장 중요)

  • 두꺼운 선 — 최소 4-6px (가는 화살표는 인쇄 시 사라짐)
  • 명확한 화살촉 — 크고 채워진 삼각형 머리
  • 어두운 색상 — 검정색 또는 진회색(#333333); 유색 화살표 지양
  • 라벨 필수 — 모든 화살표는 이를 통해 흐르는 데이터를 표시해야 함
  • 교차 금지 — 화살표 교차를 피하기 위해 레이아웃 재구성
  • 올바른 방향 — 화살표는 올바른 대상을 가리켜야 함!

시각적 매력 (科研风格 - 전문 학술 스타일)

목표: 보수적이지도 않고 화려하지도 않은, 균형 잡힌 디자인

✅ 권장 시각적 요소:

  • 미묘한 그라데이션 채우기 — 우아한 그라데이션 채우기(같은 색 계열의 연한 것에서 진한 것으로), 화려하지 않음
  • 둥근 모서리 — 둥근 사각형(6-10px 반경), 현대적이지만 과장되지 않음
  • 명확한 시각적 위계 — 크기와 색상 깊이를 통해 계층 구분
  • 일관된 색상 코딩 — 통일된 색 구성표(3-4가지 주요 색상)
  • 내부 구조 — 큰 모듈 내부에 하위 구성 요소 표시(예: Encoder 내부의 레이어 구조)
  • 전문적인 타이포그래피 — 명확한 레이블, 적절한 글꼴 크기 계층

✅ 색상 제안 (학술 전문):

  • 입력: 부드러운 녹색 계열 (#10B981 / #34D399)
  • 인코더: 전문적인 파란색 계열 (#2563EB / #3B82F6)
  • 퓨전: 우아한 보라색 계열 (#7C3AED / #8B5CF6)
  • 출력: 따뜻한 주황색 계열 (#EA580C / #F97316)
  • 화살표: 검정색 또는 진회색 (#333333 / #1F2937)
  • 배경: 순백색 (#FFFFFF), 무늬 없음

❌ 피해야 할 과도한 장식:

  • ❌ 무지개 색 구성 (Rainbow color schemes)
  • ❌ 무거운 그림자 효과 (Heavy drop shadows)
  • ❌ 3D 효과 / 원근감 (3D effects / perspective)
  • ❌ 과도한 그라데이션 (Excessive gradients)
  • ❌ 클립 아트 / 만화 아이콘 (Clip art / cartoon icons)
  • ❌ 배경의 장식 패턴 (Decorative patterns in background)
  • ❌ 발광 효과 (Glowing effects)
  • ❌ 너무 많은 작은 아이콘 (Too many small icons)

✓ 이상적인 시각 효과:

  • 한눈에 전문적이고 명확해 보임
  • 적절한 시각적 매력을 갖지만 주의를 산만하게 하지 않음
  • CVPR/NeurIPS 논문의 미적 표준에 부합
  • 인쇄 친화적 (회색조 모드에서도 명확하게 식별 가능)
  • 정교하게 디자인된 학술 다이어그램처럼 보이며, PPT 템플릿처럼 보이지 않음

피해야 할 사항 (매우 중요)

  • ❌ 무지개 색 구성 (너무 많은 색상)
  • ❌ 가늘고 실처럼 얇은 화살표 (화살표는 두꺼워야 함)
  • ❌ 레이블이 없는 연결
  • ❌ 평범하고 지루한 사각형 (약간의 시각적 흥미 추가)
  • ❌ 그림자/광원/아이콘으로 과도하게 장식 (너무 화려함)
  • ❌ 인쇄 시 읽을 수 없는 작은 텍스트
  • ❌ 잘못된 화살표 방향 — 용납할 수 없음!

범위

그림 유형품질예시
아키텍처 다이어그램우수모델 아키텍처, 파이프라인, 인코더-디코더
방법론 설명도우수개념도, 알고리즘 순서도
개념도좋음비교 다이어그램, 분류 트리

다음 용도에는 적합하지 않음: 통계 플롯 (/paper-figure 사용), 실사 이미지

워크플로우: 모든 단계를 반드시 실행

0단계: 사전 점검

# API 키 확인
if [ -z "$GEMINI_API_KEY" ]; then
    echo "오류: GEMINI_API_KEY가 설정되지 않음"
    echo "키 받기: https://aistudio.google.com/app/apikey"
    echo "설정: export GEMINI_API_KEY='your-key'"
    exit 1
fi

# 출력 디렉토리 생성
mkdir -p figures/ai_generated

1단계: Claude가 그림 계획 (현재 위치)

매우 중요: Claude는 먼저 사용자의 요청을 분석하고 상세한 프롬프트를 생성해야 합니다.

입력 구문 분석: $ARGUMENTS

Claude의 작업:

  1. 사용자가 원하는 그림 이해
  2. 모든 구성 요소, 연결, 데이터 흐름 식별
  3. Gemini를 위한 상세하고 구조화된 프롬프트 생성
  4. 스타일 요구 사항 및 시각적 매력 요구 사항 포함

Claude가 생성할 프롬프트 템플릿:

CVPR/ICLR/NeurIPS 표준을 따르는 전문적이고 시각적으로 매력적인 출판 품질의 학술 다이어그램을 생성합니다.

## 시각적 스타일: 科研风格 (학술 전문 스타일)
### 목표: 균형 — 보수적이지도 않고 화려하지도 않음

#### 권장 사항:
- **미묘한 그라데이션** — 같은 색 계열의 우아한 그라데이션(예: #2563EB → #3B82F6), 여러 색상의 화려함 없음
- **둥근 모서리** — 둥근 사각형(6-10px), 현대적 감각
- **명확한 시각적 위계** — 크기와 색상 깊이를 통해 계층 구분
- **내부 구조** — 큰 모듈 내부에 하위 구성 요소 구조 표시
- **일관된 색상 코딩** — 통일된 3-4색 구성
- **전문적인 마감** — 정교하지만 과장되지 않음

#### 금지 사항:
- ❌ 무지개/다색 그라데이션
- ❌ 무거운 그림자 효과
- ❌ 3D 효과 / 원근감
- ❌ 발광 효과
- ❌ 과도한 장식용 아이콘
- ❌ 평범하고 지루한 사각형

#### 이상적인 효과:
최상위 학회 논문의 정교하게 디자인된 아키텍처 다이어그램처럼 보여야 함 — 전문적이고, 명확하며, 적절한 시각적 매력을 가짐

## 그림 유형
[아키텍처 다이어그램 / 파이프라인 / 비교 / 기타]

## 포함할 구성 요소 (내용에 대해 구체적으로)
1. [구성 요소 1]:
   - 레이블: "[정확한 텍스트]"
   - 하위 레이블: "[더 작은 아래 텍스트]"
   - 위치: [왼쪽/중앙/오른쪽, 위쪽/중앙/아래쪽]
   - 스타일: [테두리 색상, 채우기, 내부 구조]
2. [구성 요소 2]: ...

## 레이아웃
- 방향: [왼쪽에서 오른쪽 / 위쪽에서 아래쪽]
- 간격: [좁음 / 보통 / 넓음]
- 그룹화: [구성 요소를 그룹화하는 방법]

## 연결 (방향을 명확히)
정확한 화살표 사양:
1. [구성 요소 A] → [구성 요소 B]: 화살표가 A에서 B로 이동, 레이블 "[데이터 유형]"
2. [구성 요소 C] → [구성 요소 D]: 화살표가 C에서 D로 이동, 레이블 "[데이터 유형]"
...
확인: 각 화살표는 올바른 대상을 가리켜야 합니다!

## 스타일 요구 사항 (CVPR/ICLR/NeurIPS 표준)

### 시각적 스타일
- 색상 팔레트: 전문적인 학술 색상
  - 입력: 녹색 (#10B981)
  - 인코더: 파란색 (#2563EB)
  - 퓨전 모듈: 보라색 (#7C3AED)
  - 출력: 주황색 (#EA580C)
- 글꼴: 산세리프 (Arial/Helvetica), 최소 14pt, 레이블은 굵게
- 배경: 깔끔한 흰색, 패턴 없음
- 블록: 둥근 사각형(8-12px 반경), 미묘한 그라데이션 채우기, 유색 테두리(2-3px)
- 깊이 효과를 위한 미묘한 그림자
- 인쇄 친화적 (회색조로도 작동해야 함)

### 중요: 화살표 및 데이터 흐름 요구 사항
1. **모든 화살표는 매우 두꺼워야 함** - 최소 5-6px 선 두께
2. **모든 화살표에는 명확한 화살촉이 있어야 함** - 크고 보이는 삼각형 머리
3. **모든 화살표는 검정색 또는 진회색이어야 함** - 유색이 아님
4. **모든 화살표에 레이블 지정** - 어떤 데이터가 흐르는지 표시
5. **화살표 방향 확인** - 각 화살표는 올바른 대상을 가리켜야 함
6. **모호한 연결 없음** - 모든 화살표는 명확한 출발지와 목적지를 가져야 함

### 논리적 명확성 요구 사항
1. **데이터 흐름이 즉시 명확해야 함** - 뷰어가 파이프라인을 이해할 수 있어야 함

...[번역을 위해 잘림]

(참고: 원본 SKILL.md의 나머지 부분은 번역되었지만 공간 제약으로 인해 위와 같이 잘렸습니다. 실제 출력은 전체 문서의 완전한 번역본입니다.)

Individual skills in this repo

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

관련 스킬