Community이미지github.com

Ewen2015/collage

주제, 브리프 또는 텍스트 구절을 완성된 콜라주 아트워크로 변환합니다. 사용자가 콜라주 아트, 콜라주 포스터, 종이 오리기 작품, 혼합 매체 / 파피에 콜레 / 포토몽타주 / 데콜라주 스타일링을 요청하거나 글쓰기에서 파생된 시각적 이미지를 원할 때 사용하세요.

collage란 무엇인가요?

이 스킬은 에이전트가 주어진 텍스트나 주제를 분석하여 완전한 콜라주 아트워크를 종단간(end-to-end)으로 생성할 수 있게 해줍니다. 사용자가 콜라주, 포스터, 혼합 매체 또는 포토몽타주 스타일의 시각적 결과물을 요청할 때 자율적으로 작업합니다. 주요 워크플로우는 텍스트에서 긴장감이나 움직임을 추출하고, 시각적 모티프를 정의하며, Wikimedia Commons에서 이미지를 자율적으로 검색 및 다운로드하고, 콘텐츠 기반으로 이미지를 정밀하게 잘라내어 포토샵 없이도 실제 조각난 종이 조각 같은 결과물을 만들어냅니다. 렌더링은 종이 질감, 하프톤, 찢어진 가장자리, 그림자, 테이프, 연필 자국 등을 적용하여 현실감 있는 물리적 콜라주 효과를 냅니다. 이 스킬은 Claude Code, Cursor 등 SKILL.md를 지원하는 모든 에이전트 플랫폼에서 사용할 수 있으며, 설치 스크립트가 완료된 후에는 완전히 오프라인으로 작동합니다. Python 3와 Pillow, NumPy 라이브러리만 필요로 하며, 모든 에셋과 스크립트가 하나의 폴더에 번들로 제공됩니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Ewen2015/collage/tree/HEAD

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

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

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

문서

콜라주

당신에게 주제 또는 텍스트 본문이 주어집니다. 당신의 임무는 콜라주 아트워크를 생성하는 것이지, 그것에 대한 설명을 하는 것이 아닙니다. 처음부터 끝까지 작업하세요: 읽기 → 추출 → 이미지 찾기 → 구성 → 렌더링 → 확인 → 설명.

이 스킬은 폴더입니다. 단일 파일이 아닙니다.

SKILL.md, references/, scripts/, requirements.txt, install.sh, install.ps1 및 scripts/check_setup.py가 모두 같은 디렉토리에 있어야만 설치가 완료된 것입니다. 이 중 하나라도 누락되면 SKILL.md 단독으로 복사하지 말고 전체 패키지를 다시 설치하십시오.

0단계 — 설치 확인 (한 번만 수행)

python3 scripts/check_setup.py

이 스크립트는 Python 버전, 모든 번들 파일, Pillow, NumPy, 글꼴 해상도, 렌더러 스모크 테스트 및 콘텐츠 컷 스모크 테스트를 확인합니다. 누락된 것이 있으면:

bash install.sh          # macOS / Linux: requirements.txt 설치 후 확인 재실행
# Windows: powershell -ExecutionPolicy Bypass -File install.ps1

설치 프로그램은 Python 패키지에 대해서만 네트워크 연결이 필요합니다. 스킬의 다른 모든 부분은 오프라인에서 작동합니다.

기본 아이디어는 references/의 참고 자료에서 비롯됩니다: 콜라주는 이미 역사를 가진 재료들의 집합체이며(Rise Art, Artsy), 그 시각적 논리는 断裂 / 重组 / 融合 — 분열, 재조립, 융합(UISDC)입니다. 따라서 결과물은 잘라서 붙이고 다시 스캔한 종이 조각처럼 보여야 하며, 서로 다른 두 가지를 결합하여 형성된 아이디어를 담고 있어야 합니다.

사용자에게 예술적 결정을 묻지 마십시오

추론할 수 있는 모든 것을 추론하십시오: 전략, 팔레트, 형식, 헤드라인, 모티프. 브리프가 문맥 없이 모호한 단어 하나인 경우나 사용자의 자체 에셋이 명확히 필요한 경우에만 질문하십시오. 기본값은 1200×1500 포스터, 아래 여섯 가지 전략 중 하나, 그리고 자율적인 이미지 소싱입니다.

1단계 — 읽고 추출하기 (이것이 창의적 단계입니다. 당신이 수행하십시오)

사용자의 주제나 구절을 읽고 작은 개념 JSON을 작성하십시오. 텍스트에서 명사만 나열하는 것이 아닙니다. 다음과 같이 하십시오:

  1. 텍스트에서 긴장감이나 움직임을 식별하십시오 (무엇이 변하고, 무엇이 대립하며, 무엇이 돌아오고, 무엇이 상실되는가). 콜라주에는 서로 다른 두 가지가 필요합니다.
  2. 하나의 짝짓기 문장을 작성하십시오: "X와 Y가 만나 Z를 암시한다." 이것이 작품의 주장입니다. 작성할 수 없다면 텍스트를 이해하지 못한 것입니다.
  3. 그 주장을 전달할 수 있는 2~4개의 시각적 모티프를 추출하십시오. 각각에 대해 구체적인 이미지 검색 쿼리(Commons에서는 영어가 가장 잘 작동함)와 무엇에 기여하는지 설명하는 why를 작성하십시오. 추상 명사보다는 사진으로 찍을 수 있는 대상과 질감을 선호하십시오. "기억"은 모티프가 아닙니다. "바랜 티켓 꼬리표", "부서지는 파도", "밤의 스카이라인"은 모티프입니다.
  4. 감정적 레지스터와 일치하는 전략을 references/movements.md에서 선택하고, 2~4가지 잉크로 구성된 팔레트를 선택하십시오.
  5. 헤드라인(잡지에서 오려낸 짧은 문구, 사용자 언어 또는 영어)과 선택적으로 킥커(작은 모노라인)를 선택하십시오.

<work>/concept.json에 작성하십시오:

{
  "theme": "조수와 도시",
  "headline": "TIDE / CITY",
  "kicker": "A NOTE ON DISTANCE",
  "statement": "돌아오는 조수가 잠든 도시와 만나, 계속해서 돌아오는 기억을 암시한다.",
  "strategy": "surrealism",
  "palette": ["#16283a", "#d94f36", "#4a86a8", "#f0c94b"],
  "motifs": [
    {"id": "tide", "query": "breaking ocean wave water", "role": "hero",
     "why": "돌아오는 조수, 계속해서 돌아오는 것"},
    {"id": "city", "query": "city skyline night silhouette", "role": "ground",
     "why": "잠든 도시, 고정된 것"},
    {"id": "moon", "query": "moon crater lunar surface", "role": "satellite",
     "why": "먼 목격자, 아치 안의 불가능한 물체 하나"}
  ]
}

strategy는 cubism, dada, surrealism, pop, decollage, editorial 중 하나입니다. role은 hero(하나), ground 또는 satellite입니다. 전체 스키마: references/concept-schema.md.

사용자가 자신의 이미지를 제공하는 경우 2단계를 건너뛰고 해당 파일을 가리키는 SOURCES.json 매니페스트를 license: "user-provided"와 함께 작성하십시오.

2단계 — 소스 이미지 자율적으로 찾기

python3 scripts/source_assets.py --concept <job>/concept.json \
    --out-dir <job>/assets --per-motif 1

이것은 Wikimedia Commons를 검색하고, CC BY / BY-SA / CC0 / 퍼블릭 도메인 결과만 유지하며, 인격권 경고가 있는 파일은 건너뛰고, 썸네일을 다운로드하며, 모든 이미지에 대해 저자, 라이선스 및 소스 페이지가 포함된 <job>/assets/SOURCES.json을 작성합니다. 이 매니페스트를 건너뛰지 마십시오 — 완성된 작품은 출처를 밝힐 수 있어야 합니다. 모티프가 저조한 결과를 반환할 경우 --query-only "..."를 사용하여 검색어를 테스트한 다음 개념을 편집하고 다시 실행하십시오.

좋은 쿼리 규칙: 구체적인 명사, 미적 형용사 없음("아름다운", "빈티지"), 2~4단어, 사람을 반환하는 쿼리 피하기. 다운로드한 이미지가 초상화나 다이어그램으로 판명되면 교체하십시오 — 파일명을 신뢰하지 말고 5단계에서 렌더링된 결과를 확인하십시오.

환경에 네트워크가 없으면 그렇게 말하고 절차적 종이 소스(photo, newsprint, grid, wood, halftone)로 계속 진행하십시오. 다운로드가 필요 없습니다. 렌더러는 에셋 경로가 누락된 경우에도 정상적으로 저하됩니다.

3단계 — 보이는 내용에 따라 이미지 자르기

이것은 선택 사항이 아닙니다. 완성된 콜라주는 장식용 찢어진 가장자리가 있는 직사각형 사진 더미여서는 안 됩니다. 각 소스 이미지를 보고 의미를 전달하는 것을 잘라내십시오: 실루엣, 손, 키보드, 입, 다리 판자, 어두운 대각선, 푸른 들판, 좌석 열, 칠판, 풀 사이의 통로. 그 이미지 모양의 조각들을 재결합하여 이음새가 하나의 주장이 되게 하십시오. Lydia Rink의 초보자 가이드는 이 물리적 버전을 강화합니다: 메스/공예용 칼은 요소 주변을 정밀하게 자르기 위한 것입니다. 풀로 붙이기 전에 느슨하게 배열하십시오. 여백을 남기십시오. 크기를 다양화하십시오. 레이어를 사용하여 깊이를 만드십시오.

scripts/visual_cutout.py는 의도적으로 작은 디지털 메스입니다. Pillow와 NumPy만 사용합니다. 주요 모드는 shape입니다: 소스 사진을 보고 보이는 물체 또는 구조적 영역을 정규화된 다각형으로 설명합니다. 두 번째 silhouette 모드는 색상 거리를 기준으로 평범한 테두리/배경을 제거합니다. 무거운 이미지 분할 종속성은 없습니다. 또한 컴파일러는 cuts/contact-sheet.jpg를 작성합니다. 구성을 시작하기 전에 이를 검사하고 컷이 대상을 놓친 경우 다각형을 조정하십시오.

컴파일러는 컷을 실행하고 결과 투명 PNG를 mask: "alpha"로 레시피에 바인딩합니다:

python3 scripts/theme_to_recipe.py --concept <job>/concept.json \
    --assets <job>/assets --recipe <job>/recipe.json \
    --cutouts <job>/cuts --seed 11 --format poster

각 모티프의 cut 또는 모티프 ID를 키로 하는 cuts 맵에서 개념 내의 컷을 설명하십시오. 모티프는 하나의 명령어 또는 명령어 목록을 제공할 수 있으며, 이는 하나의 사진에서 여러 조각을 생성합니다:

"cut": [
  {"mode": "shape", "shape": "0.00,0.00;1.00,0.00;1.00,0.46;0.00,1.00"},
  {"mode": "shape", "shape": "0.00,0.79;0.34,0.60;1.00,0.73;1.00,1.00;0.00,1.00"}
]

사진에서 볼 수 있는 의미적 윤곽선에는 shape를 사용하십시오. 좌표는 정규화된 x,y;x,y;...입니다. 물체가 평범한 종이 같은 배경 위에 있을 때만 silhouette를 사용하십시오. 대위법으로 기하학적이거나 찢어진 종이 조각 하나 또는 두 개를 유지하되, 발견된 사진은 먼저 내용별로 잘라야 합니다. 절단 방법은 references/composition.md, alpha 소스와 마스크는 references/materials.md를 참조하십시오.

4단계 — 렌더링

python3 scripts/collage.py --recipe <job>/recipe.json --out <job>/final.png

렌더러는 종이 섬유, 하프톤 스크리닝, 찢어진 가장자리, 인쇄 등록, 드롭 섀도우, 테이프, 연필 자국, 입자 및 통일된 따뜻한 워시를 적용합니다. 결정적입니다: 동일한 레시피 + 동일한 시드는 동일한 이미지를 생성합니다. 두세 개의 시드를 렌더링하고 가장 좋은 것을 선택하십시오 — 찢어진 가장자리와 패싯 필드는 다양합니다.

5단계 — 확인하고 설명하기

전달하기 전에 항상 생성한 이미지를 살펴보십시오 (열거나 연락처 시트를 생성하십시오). references/composition.md의 안티 패턴을 확인하십시오: 너무 많은 색상, 모든 레이어의 그림자, 모든 것이 0°, 모두 찢어진 가장자리, 조각보다 작은 글자 크기, 특히 사진이 내용에서 잘라낸 모양 대신 여전히 전체 직사각형 창으로 읽히는 경우. 의미적 컷이 썸네일 크기에서 식별 가능하지 않으면 3단계로 돌아가십시오. 실패하면 레시피나 전략을 조정하고 다시 렌더링하십시오.

그런 다음 PNG와 짝짓기 문장, 전략 및 해당 모티프가 선택된 이유에 대한 간단한 설명을 함께 전달하십시오. SOURCES.json의 크레딧 라인을 포함하십시오. 필요한 경우 라이선스 조건을 재현하십시오 (CC BY-SA는 결합된 저작물이 동일한 조건으로 공유되어야 할 수 있음). 전체 결정 로그는 recipe-rationale.md에 있음을 사용자에게 알리십시오.

빠른 참조

원하는 기능명령어
설치 확인python3 scripts/check_setup.py
Python 종속성 설치bash install.sh
내장된 모든 스타일 보기python3 scripts/collage.py --list
프리셋 렌더링python3 scripts/collage.py --preset dada-montage --out out.png
프리셋을 편집 가능한 레시피로 저장python3 scripts/collage.py --preset cubist-grid --out x.png --dump x.json
레시피 수동 작성python3 scripts/collage.py --recipe x.json --out x.png
수동으로 관찰한 윤곽선 자르기python3 scripts/visual_cutout.py --input photo.jpg --out cut.png --mode shape --shape "0,.1;1,0;.9,1;0,.9" --contact-sheet sheet.jpg
평범한 배경 제거python3 scripts/visual_cutout.py --input object.jpg --out cut.png --mode silhouette
이미지 검색 테스트python3 scripts/source_assets.py --query-only "moon crater"
오프라인에서 개념 테스트python3 scripts/source_assets.py --concept c.json --out-dir a --offline

이 스킬의 파일

requirements.txt는 Pillow와 NumPy를 선언합니다. install.sh (macOS/Linux)와 install.ps1 (Windows)는 이를 설치하고 scripts/check_setup.py를 실행합니다. scripts/check_setup.py는 모든 번들 파일, Python 버전, 글꼴 해상도, 렌더러 스모크 테스트 및 컷아웃 스모크 테스트를 확인합니다. scripts/collage.py는 렌더러입니다 (Pillow + NumPy, 네트워크 불필요). scripts/visual_cutout.py는 수동으로 관찰한 다각형과 단순한 평면 배경 실루엣을 자릅니다 (Pillow + NumPy, 네트워크 불필요). scripts/source_assets.py는 Commons 검색/다운로더입니다 (stdlib만 사용). scripts/theme_to_recipe.py는 개념을 레시피로 컴파일하고 경량 콘텐츠 컷 명령을 실행합니다. references/movements.md는 출처가 포함된 예술사적 결정 맵입니다. references/materials.md는 종이 재고, 소스, 가장자리 및 혼합을 문서화합니다. references/composition.md는 레이아웃 시스템과 안티 패턴을 문서화합니다. references/prompts.md는 텍스트-이미지 모델이 렌더러보다 더 적합할 때의 프롬프트 패턴을 제공합니다. references/concept-schema.md는 개념 JSON 계약입니다. assets/는 사용자가 제공한 소스 이미지를 위한 선택적 위치입니다.

역사적인 작업 예제 (주제 → 개념 → 소싱된 에셋 → 레시피 → 근거 → 최종 PNG)는 저장소의 examples/demo/ 디렉토리에 있습니다. 이전 직사각형 조각 파이프라인을 보여주며 렌더러 예제로 유지되며, 현재 콘텐츠 컷 워크플로우가 아닙니다. 저장소 자체가 설치 가능한 패키지입니다: SKILL.md, references/, scripts/, 설치 프로그램 및 assets/는 루트에 있습니다. dist/collage.skill은 정확히 해당 파일들의 ZIP이며, 아카이브 루트에 동일한 경로를 가집니다.

관련 스킬