0줄로 3천 별을 모은 사진→종이 작품 스킬사진을 한 장 올리고 두 갈래 중 하나를 고르면, 종이를 손으로 찢어 붙인 듯한 편집 디자인 한 페이지가 나온다. 저장소 이름의 zine(진)은 소규모 자가 출판물을 뜻하는 말로, 저자는 태그라인을 A SMALL PRESS FOR EVERYDAY SCENES.(평범한 장면을 위한 작은 출판사)라고 붙였다.
보통의 이미지 도구는 "이 필터를 씌워라"라고 말한다. 이 스킬은 "이 사진에서 무엇이 이 장면을 이 장면이게 하는가"를 먼저 찾고, 그 관계만 남기고 나머지를 60~90% 지우라고 말한다. 어떤 모델을 쓸지는 아예 지정하지 않는다.
| 축 | 实景拼贴 · Gathered Scenes | 影像蒸馏 · Scene Distillation |
|---|---|---|
| 호출명 | $scenes-gathered-zine-v1-3 | $scene-distillation-zine-v1-3 |
| 사진의 역할 | 최종 결과물 안에 실제로 남는 시각적 앵커 | 의미·정서의 출처로만 쓰이고 완성본에는 픽셀이 남지 않음 |
| 적합한 때 | 현장의 정체성을 보존하고 싶을 때 | 독립적으로 성립하는 창작 일러스트를 원할 때 |
| 결과 | 절제된 종이 질감 콜라주 포스터 | 표현 우선의 미니멀 에디토리얼 일러스트 |
SKILL.md)과 인터페이스 정의(agents/openai.yaml)를 넣어 두면 Codex가 읽어 들여 $스킬이름으로 부를 수 있다. 설치가 곧 파일 복사이고 빌드 과정이 없다.2026년 8월 1일에 만들어진 저장소가 8월 13일 기준 별 3,167개·포크 355개다. TrendShift 전체 언어 일간 순위 10위(8월 9일)에도 올랐다. 주목 이유는 세 가지로 갈린다.
벤치마크 점수나 아키텍처 도표가 아니라 완성된 그림 한 장이 결과물이다. 저장소의 examples/에 원본 사진과 최종 작품이 짝으로 들어 있어, 코드를 몰라도 무엇을 해 주는 물건인지 3초에 파악된다.
비슷한 성격의 LiamGvchi/gc-minimal-zine-poster가 한 달 앞선 7월 12일에 나와 별 5,777개를 모은 상태였다. 이 저장소는 "사진을 입력으로 받는다"는 축으로 차별화해 같은 수요를 받았다.
커밋 기록에 Add current non-commercial license after history cleanup(8월 9일)이 남아 있다. 이력이 재작성됐다는 뜻이다. 실제로 8월 9~10일에 이슈가 몰렸다 — 已经安装不了了(설치가 안 됨), 求大佬快快回来!!!(빨리 돌아와 주세요). 8월 11일 Republish zine skills with website notice 커밋으로 복귀했다.
라이선스가 MIT나 아파치가 아니라 저자가 직접 쓴 개인 비상업 라이선스 v1.0(2026-08-08)이다. GitHub도 표준 라이선스로 인식하지 못해 NOASSERTION으로 표시한다.
회사 업무에 쓰는 것 자체가 금지되고, 만들어진 결과물을 유료 납품물·클라이언트 작업·수익 활동에 쓰는 것도 막는다. 무료로 쓰더라도 "법인을 위해 또는 대신해" 사용하면 위반이다.
한 이슈는 이 대목을 정확히 짚었다 — 提醒作者还是先学学git吧(작가님 git부터 배우시죠). 파일만 지워도 포크 355개에 사본이 남는다는 지적이었다.
파일 트리를 전수로 세면 blob 22개 + 디렉토리 14개 = 36개다. 구성은 이렇다.
| 종류 | 개수 | 내용 |
|---|---|---|
| 마크다운 | 8 | README 2종(중문·영문), SKILL.md 2개, examples README 5개 |
| JPG | 10 | 예시 4쌍(원본·결과) 8장 + 브랜드 이미지 2장 |
| YAML | 2 | agents/openai.yaml — 각 396B·326B |
| LICENSE | 1 | 자체 작성 비상업 라이선스 |
| 실행 코드 | 0 | .py·.js·.sh·CI 워크플로·테스트 전부 없음 |
저장소 용량 4,398KB 가운데 98%가 JPG다. 실제 제품에 해당하는 두 스킬은 합쳐 약 69KB에 불과하다.
요리 도구를 파는 가게가 아니라 레시피만 파는 가게다. 불도 냄비도 손님이 이미 갖고 있다고 전제하고(= Codex와 이미지 생성 모델), 이 가게는 "무엇을 넣고 무엇을 빼는가"만 판다.
agents/openai.yaml은 interface: 아래 display_name·short_description·default_prompt 세 키만 쓴다. 아이콘·브랜드 색·권한·의존성 같은 규격 필드는 하나도 채우지 않았다.
display_name: "实景拼贴 · Gathered Scenes v1.3"
default_prompt: "Use $scenes-gathered-zine-v1-3 to transform this photo
into a source-faithful paper poster with simplified abstract forms,
integrated chromatic structure, and a visible hand-torn fibrous edge."
두 지시문은 겉보기에 쌍둥이지만 우선순위 1항이 정반대다. 콜라주 쪽은 "장면을 지켜라"로 시작하고, 증류 쪽은 "명제를 세워라"로 시작하며 원본 보존을 4순위로 내린다. 증류 문서는 아예 이렇게 못 박는다.
Do not treat this as photo filtering, style transfer,
rotoscoping, or a literal illustrated copy.
더 흥미로운 건 자가 검사의 유무다. 콜라주 쪽에는 물음표로 끝나는 35개 항목의 Quality Gate가 붙어 있는데, 증류 쪽은 이를 명시적으로 끈다 — deliver directly without visual inspection, quality-gate review, or automatic regeneration. 창작 자유도가 높은 쪽에서 검사를 빼는 설계다.
"단순하게 만들어라" 같은 말 대신 디테일 제거 60~80%, 추가 색 면적 2~6%처럼 범위를 준다. 모델이 매번 달리 해석할 여지를 좁히는 방식인데, 코드 없이 프롬프트만으로 일관성을 확보하는 전형적인 수법이다.
두 SKILL.md 모두에 저자의 유료 사이트 주소가 각 2회, 크레딧 문구 Visual Skill by @Zeejay0가 각 3회 들어 있다. 노출 규칙까지 정해져 있다.
| 항목 | 노출 회차 | 이후 |
|---|---|---|
| 크레딧 표기 권유 | 같은 대화 1·2회차 생성 후 | 3회차부터 생략 |
| 저자 사이트 공지 | 1·2·3회차 | 4회차부터 생략 |
그리고 콜라주 쪽 Quality Gate에는 이 홍보 규칙을 지켰는지 스스로 확인하는 문항까지 들어 있다. 오픈된 스킬이 유료 서비스의 유입 통로로 설계돼 있다는 뜻이다.
README가 내세우는 观察 → 取舍 → 转译 → 编排 → 成页(관찰·선별·번역·편집·페이지 완성) 5단계는 읽기 좋지만, 두 SKILL.md 전문을 검색하면 이 단어들의 등장 횟수가 0회다. 에이전트가 실제로 밟는 절차는 각 문서의 Generation Workflow(15단계·18단계)다. README는 개념 소개이고 실행 명세가 아니다.
콜라주 쪽이 바이트는 더 크지만(38KB > 30KB) 줄 수는 더 적다(438 < 440). 한쪽 지표만 인용하면 "어느 문서가 더 크냐"에서 정반대 결론이 나온다.
각 예시 폴더에는 원본 사진·결과물과 함께 기록 문서가 있다. 콜라주 쪽은 观察记录(핵심 주체 / 보존 / 압축 / 전환 / 시선 경로), 증류 쪽은 蒸馏记录(의미의 핵 / 정서적 긴장 / 버린 것 / 시각적 은유 / 재료 선택)로 항목이 다르다. 증류 예시의 기록에는 舍弃:…和全部摄影像素退出最终画面(버림: … 그리고 모든 사진 픽셀이 최종 화면에서 퇴장)처럼 무엇을 버렸는지가 명문화돼 있다.
지시문 하나가 38KB라는 건 보통의 프롬프트와 차원이 다르다. 구조를 보면 우선순위 → 입력 해석 → 변환 규칙 → 구성 규칙 → 출력 형식 → 자가 검사 순으로, 사실상 소프트웨어의 계층 구조를 자연어로 옮긴 것이다. 프롬프트 엔지니어링을 문서 설계로 확장한 사례로 읽을 만하다.
"적당히 단순하게"가 아니라 60~80%, "색을 절제해서"가 아니라 면적 2~6%. 정성적 지시를 정량 범위로 바꾸면 같은 입력에서 결과 분산이 줄어든다. 자기 프롬프트를 손볼 때 바로 적용할 수 있는 기법이다.
두 스킬은 구조가 거의 같은데 우선순위 1항만 바꿔 완전히 다른 산출물을 만든다. 분기를 코드가 아니라 우선순위 선언으로 처리한 셈이다.
타인의 상업적 이용은 전면 차단하면서 저자 본인은 같은 스킬로 유료 크레딧 서비스를 운영한다. 좋고 나쁨을 떠나, 공개 저장소를 유입 통로로 쓰는 구조가 어떻게 짜이는지 실물로 볼 수 있다.
| 항목 | 요구 |
|---|---|
| 디스크 | 스킬 2개 약 69KB (저장소 전체 clone은 4.4MB, 대부분 예시 JPG) |
| 런타임·의존성 | 없음 — 설치가 파일 복사다 |
| GPU·메모리 | 요구 조항이 문서 어디에도 없다 (코드가 없으니 당연) |
| 필수 전제 | OpenAI Codex + 이미지 생성 기능 |
mkdir -p ~/.codex/skills
cp -R gathered-scenes-zine-skill/skills/scenes-gathered-zine-v1-3 ~/.codex/skills/
cp -R gathered-scenes-zine-skill/skills/scene-distillation-zine-v1-3 ~/.codex/skills/
# 목록에 안 뜨면 Codex 재시작
두 문서 모두 Send only the final prompt and required reference image(s) to the image-generation service.라고만 쓴다. 즉 어떤 모델로 그릴지는 실행 환경에 달려 있고, 이미지 생성 기능이 없는 환경에서의 대체 동작은 문서에 규정돼 있지 않다.
스킬 탐색 경로도 README는 ~/.codex/skills를 쓰는데 Codex 문서의 현행 경로와 다를 수 있다. "설치했는데 안 뜬다"의 대부분이 여기서 갈리므로 본인 Codex 버전의 공식 문서로 경로를 확인하는 편이 빠르다.
사진 한 장을 콜라주와 증류에 차례로 넣고 결과를 나란히 둔다. "원본이 남는다 / 남지 않는다"가 실제로 무엇을 뜻하는지 눈으로 확인하는 게 목적이다.
콜라주 지시문의 디테일 제거 범위(60~80%)를 30~50%로 낮춘 사본을 만들어 같은 사진을 돌린다. 정량 범위 한 줄이 결과를 얼마나 바꾸는지가 이 스킬의 핵심 설계이므로, 그 감각을 얻는 게 목표다.
콜라주에만 있는 35문항 체크리스트를 증류 지시문에 붙여 본다. 자유도가 높은 작업에 검사를 걸면 결과가 안정되는지, 아니면 밋밋해지는지 직접 판단할 수 있는 실험이다.
이 저장소의 뼈대(우선순위 → 입력 해석 → 변환 규칙 → 출력 형식 → 자가 검사)를 가져와 다른 주제로 지시문을 써 본다. 예: 회의록을 한 장 요약 카드로, 통계표를 설명 그림으로. 숫자 범위를 몇 개나 넣을 수 있는지가 완성도를 가른다.
| 주차 | 주제 | 할 것 |
|---|---|---|
| 1주 | Codex 스킬 규격 | 공식 문서로 폴더 구조·SKILL.md 프론트매터·agents/openai.yaml 스키마를 익히고, 아무 기능이나 하나 만들어 설치까지 해 본다 |
| 2주 | 긴 지시문 설계 | 이 저장소의 두 SKILL.md를 나란히 놓고 diff를 떠 본다. 같은 뼈대에서 무엇이 갈리는지가 한눈에 보인다 |
| 3주 | 정량화와 자가 검사 | 정성 지시를 숫자 범위로 바꾸는 연습 + Quality Gate 문항 설계. 문항이 너무 많으면 오히려 결과가 굳는다는 것도 체감해 볼 것 |
| 4주 | 비교 대상 읽기 | MIT 라이선스인 LiamGvchi/gc-minimal-zine-poster를 읽고 비교한다. 그쪽은 references/를 5개로 분리하고 evals/까지 갖춰 구조가 정반대다 |
skills/scenes-gathered-zine-v1-3/SKILL.md · skills/scene-distillation-zine-v1-3/SKILL.mdLICENSE — Personal Non-Commercial License v1.0 (2026-08-08)examples/ — 원본·결과·기록 4쌍