TrendShift 딥다이브 · 2026-08-13 · Daily #10

gathered-scenes-zine-skill 딥다이브
— 코드 0줄로 3천 별을 모은 사진→종이 작품 스킬

Zeejay0/gathered-scenes-zine-skill(중문명 拾景zine)은 사진 한 장을 종이 질감의 편집 디자인 한 페이지로 바꾸는 Codex 스킬 두 벌이다. 놀라운 건 구현이 아니라 구성이다 — 저장소 전체에 실행 가능한 코드가 한 줄도 없다. 파이썬도 자바스크립트도 CI도 테스트도 없고, 38KB·30KB짜리 지시문 두 개가 제품의 전부다. 그런데도 공개 12일 만에 별 3천 개를 넘겼다. (저장소: Zeejay0/gathered-scenes-zine-skill · 유형: OpenAI Codex 스킬 2종 · 별 3,167 · 포크 355 2026-08-13 조회 · 생성 2026-08-01 · 최종 코드 변경 2026-08-11 · 라이선스 자체 작성 개인 비상업 v1.0 · 파일 36개 중 코드 0개 · 이슈 11건 전부 중국어)
목차
  1. 프로젝트 한 줄 요약
  2. 왜 지금 주목받는가
  3. 기술 스택 전체 지도
  4. 아키텍처 심화 분석
  5. 디렉토리 구조 해부
  6. 학습 포인트
  7. 실행 환경 / 시스템 요구사항
  8. 직접 해볼 수 있는 실습 과제
  9. 관련 기술 심화 학습 로드맵
  10. 핵심 키워드 사전
  11. 참고 링크

1프로젝트 한 줄 요약

"그림 그리는 프로그램이 아니라, 사진을 어떻게 읽고 무엇을 버릴지 정해 둔 규칙집"

사진을 한 장 올리고 두 갈래 중 하나를 고르면, 종이를 손으로 찢어 붙인 듯한 편집 디자인 한 페이지가 나온다. 저장소 이름의 zine(진)은 소규모 자가 출판물을 뜻하는 말로, 저자는 태그라인을 A SMALL PRESS FOR EVERYDAY SCENES.(평범한 장면을 위한 작은 출판사)라고 붙였다.

한 문장으로

사진 보정 필터가 아니라, 아트디렉터의 판단 절차를 문서로 옮긴 것이다.

보통의 이미지 도구는 "이 필터를 씌워라"라고 말한다. 이 스킬은 "이 사진에서 무엇이 이 장면을 이 장면이게 하는가"를 먼저 찾고, 그 관계만 남기고 나머지를 60~90% 지우라고 말한다. 어떤 모델을 쓸지는 아예 지정하지 않는다.

두 갈래 경로

实景拼贴 · Gathered Scenes影像蒸馏 · Scene Distillation
호출명$scenes-gathered-zine-v1-3$scene-distillation-zine-v1-3
사진의 역할최종 결과물 안에 실제로 남는 시각적 앵커의미·정서의 출처로만 쓰이고 완성본에는 픽셀이 남지 않음
적합한 때현장의 정체성을 보존하고 싶을 때독립적으로 성립하는 창작 일러스트를 원할 때
결과절제된 종이 질감 콜라주 포스터표현 우선의 미니멀 에디토리얼 일러스트
용어
Codex 스킬
OpenAI Codex에 기능을 더하는 확장 단위. 폴더 하나에 지시문(SKILL.md)과 인터페이스 정의(agents/openai.yaml)를 넣어 두면 Codex가 읽어 들여 $스킬이름으로 부를 수 있다. 설치가 곧 파일 복사이고 빌드 과정이 없다.

2왜 지금 주목받는가

공개 12일 만에 별 3천 — 그런데 그 사이에 한 번 내려갔다 올라왔다

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개에 사본이 남는다는 지적이었다.

3기술 스택 전체 지도

스택이랄 게 없다 — 그게 이 저장소의 특징이다

파일 트리를 전수로 세면 blob 22개 + 디렉토리 14개 = 36개다. 구성은 이렇다.

종류개수내용
마크다운8README 2종(중문·영문), SKILL.md 2개, examples README 5개
JPG10예시 4쌍(원본·결과) 8장 + 브랜드 이미지 2장
YAML2agents/openai.yaml — 각 396B·326B
LICENSE1자체 작성 비상업 라이선스
실행 코드0.py·.js·.sh·CI 워크플로·테스트 전부 없음

저장소 용량 4,398KB 가운데 98%가 JPG다. 실제 제품에 해당하는 두 스킬은 합쳐 약 69KB에 불과하다.

비유

요리 도구를 파는 가게가 아니라 레시피만 파는 가게다. 불도 냄비도 손님이 이미 갖고 있다고 전제하고(= Codex와 이미지 생성 모델), 이 가게는 "무엇을 넣고 무엇을 빼는가"만 판다.

인터페이스 정의는 3줄이 전부

agents/openai.yamlinterface: 아래 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."

4아키텍처 심화 분석

두 지시문의 구조와, 그 안에 숨어 있는 세 번째 기능
사진 1장 │ ├─ $scenes-gathered-zine-v1-3 (38,490B · 438줄 · ## 17개) │ Decision Priority 9항 │ 1위 "장면의 정체성과 핵심 공간 관계를 보존하라" │ → Photo-Specific Prompt Compiler (12필드) │ → Minimal Abstraction Engine 디테일 60~80% 제거 │ (식생은 85~95%) │ → Chromatic Structure Engine 추가 색 정확히 1개 │ → Micro-Text System 중문 8자 / 영문 5단어 이하 │ → Generation Workflow 15단계 │ → Quality Gate 35문항 ← 자가 검사 O │ └─ $scene-distillation-zine-v1-3 (30,116B · 440줄 · ## 16개) Decision Priority 10항 1위 "하나의 구체적인 예술적 명제를 세워라" (원본 보존은 4위로 밀림) → Expression Engine → Composition Director / Transition Edge Director → Color Mode Policy 표준 강조 0.8~3% | 단색 블록 3~12% → Typography Director 프리셋 강요 "금지" → Generation Workflow 18단계 → Quality Gate 없음 ← 자가 검사 X (명시적으로 끔)

같은 뼈대, 반대 방향의 두 문서

두 지시문은 겉보기에 쌍둥이지만 우선순위 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단계는 실제로는 실행되지 않는다

README가 내세우는 观察 → 取舍 → 转译 → 编排 → 成页(관찰·선별·번역·편집·페이지 완성) 5단계는 읽기 좋지만, 두 SKILL.md 전문을 검색하면 이 단어들의 등장 횟수가 0회다. 에이전트가 실제로 밟는 절차는 각 문서의 Generation Workflow(15단계·18단계)다. README는 개념 소개이고 실행 명세가 아니다.

5디렉토리 구조 해부

36개 엔트리 전부
gathered-scenes-zine-skill/ ├── LICENSE 4,749B 자체 비상업 라이선스 v1.0 ├── README.md 8,848B 중문 정본 — 첫 H1이 유료 사이트 광고 ├── README.en.md 7,663B 영문 축약본 — 광고 H1 없음 ├── assets/brand/ 커버·매니페스토 이미지 2장 ├── examples/ │ ├── README.md 작품 아카이브 목차 4건 │ ├── real-scene-collage/ │ │ ├── 01-where-stone-meets-sky/ source.jpg · result.jpg · README.md │ │ └── 02-winter-crossing/ (관찰 기록 = 观察记录) │ └── image-distillation/ │ ├── 01-time-waves-back/ (증류 기록 = 蒸馏记录) │ └── 02-snow-falls-lightly/ └── skills/ ├── scenes-gathered-zine-v1-3/ │ ├── SKILL.md 38,490B 438줄 │ └── agents/openai.yaml 396B 4줄 └── scene-distillation-zine-v1-3/ ├── SKILL.md 30,116B 440줄 └── agents/openai.yaml 326B 4줄
읽을 때 주의
바이트와 줄 수의 대소가 반대다

콜라주 쪽이 바이트는 더 크지만(38KB > 30KB) 줄 수는 더 적다(438 < 440). 한쪽 지표만 인용하면 "어느 문서가 더 크냐"에서 정반대 결론이 나온다.

예시 4건이 진짜 볼거리다

각 예시 폴더에는 원본 사진·결과물과 함께 기록 문서가 있다. 콜라주 쪽은 观察记录(핵심 주체 / 보존 / 압축 / 전환 / 시선 경로), 증류 쪽은 蒸馏记录(의미의 핵 / 정서적 긴장 / 버린 것 / 시각적 은유 / 재료 선택)로 항목이 다르다. 증류 예시의 기록에는 舍弃:…和全部摄影像素退出最终画面(버림: … 그리고 모든 사진 픽셀이 최종 화면에서 퇴장)처럼 무엇을 버렸는지가 명문화돼 있다.

6학습 포인트

코드가 없는 저장소에서 배울 것

① 프롬프트를 "제품"으로 만드는 법

지시문 하나가 38KB라는 건 보통의 프롬프트와 차원이 다르다. 구조를 보면 우선순위 → 입력 해석 → 변환 규칙 → 구성 규칙 → 출력 형식 → 자가 검사 순으로, 사실상 소프트웨어의 계층 구조를 자연어로 옮긴 것이다. 프롬프트 엔지니어링을 문서 설계로 확장한 사례로 읽을 만하다.

② 재현성을 숫자로 만드는 법

"적당히 단순하게"가 아니라 60~80%, "색을 절제해서"가 아니라 면적 2~6%. 정성적 지시를 정량 범위로 바꾸면 같은 입력에서 결과 분산이 줄어든다. 자기 프롬프트를 손볼 때 바로 적용할 수 있는 기법이다.

③ 같은 재료로 정반대 결과를 만드는 설계

두 스킬은 구조가 거의 같은데 우선순위 1항만 바꿔 완전히 다른 산출물을 만든다. 분기를 코드가 아니라 우선순위 선언으로 처리한 셈이다.

용어
Quality Gate
결과물을 내보내기 전에 스스로 점검하는 체크리스트. 여기서는 35개 문항이 전부 물음표로 끝나며, 모델이 자기 출력에 답을 매기게 한다. 검사를 켜면 안정적이고, 끄면 자유롭다 — 두 스킬이 정확히 그 선택을 나눠 가졌다.

④ 라이선스가 제품 전략의 일부일 수 있다

타인의 상업적 이용은 전면 차단하면서 저자 본인은 같은 스킬로 유료 크레딧 서비스를 운영한다. 좋고 나쁨을 떠나, 공개 저장소를 유입 통로로 쓰는 구조가 어떻게 짜이는지 실물로 볼 수 있다.

7실행 환경 / 시스템 요구사항

GPU도 런타임도 필요 없다 — 대신 다른 게 필요하다
항목요구
디스크스킬 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 버전의 공식 문서로 경로를 확인하는 편이 빠르다.

8직접 해볼 수 있는 실습 과제

라이선스상 개인 학습 범위로만 설계했다 — 업무·수익 활동에 쓰면 위반이다
난이도 ★

같은 사진을 두 스킬에 각각 넣어 보기

사진 한 장을 콜라주와 증류에 차례로 넣고 결과를 나란히 둔다. "원본이 남는다 / 남지 않는다"가 실제로 무엇을 뜻하는지 눈으로 확인하는 게 목적이다.

난이도 ★★

제거율 숫자를 바꿔 보기

콜라주 지시문의 디테일 제거 범위(60~80%)를 30~50%로 낮춘 사본을 만들어 같은 사진을 돌린다. 정량 범위 한 줄이 결과를 얼마나 바꾸는지가 이 스킬의 핵심 설계이므로, 그 감각을 얻는 게 목표다.

난이도 ★★★

Quality Gate를 증류 쪽에 이식해 보기

콜라주에만 있는 35문항 체크리스트를 증류 지시문에 붙여 본다. 자유도가 높은 작업에 검사를 걸면 결과가 안정되는지, 아니면 밋밋해지는지 직접 판단할 수 있는 실험이다.

난이도 ★★★★

내 도메인용 지시문 한 벌 쓰기

이 저장소의 뼈대(우선순위 → 입력 해석 → 변환 규칙 → 출력 형식 → 자가 검사)를 가져와 다른 주제로 지시문을 써 본다. 예: 회의록을 한 장 요약 카드로, 통계표를 설명 그림으로. 숫자 범위를 몇 개나 넣을 수 있는지가 완성도를 가른다.

9관련 기술 심화 학습 로드맵

4주 구성
주차주제할 것
1주Codex 스킬 규격공식 문서로 폴더 구조·SKILL.md 프론트매터·agents/openai.yaml 스키마를 익히고, 아무 기능이나 하나 만들어 설치까지 해 본다
2주긴 지시문 설계이 저장소의 두 SKILL.md를 나란히 놓고 diff를 떠 본다. 같은 뼈대에서 무엇이 갈리는지가 한눈에 보인다
3주정량화와 자가 검사정성 지시를 숫자 범위로 바꾸는 연습 + Quality Gate 문항 설계. 문항이 너무 많으면 오히려 결과가 굳는다는 것도 체감해 볼 것
4주비교 대상 읽기MIT 라이선스인 LiamGvchi/gc-minimal-zine-poster를 읽고 비교한다. 그쪽은 references/를 5개로 분리하고 evals/까지 갖춰 구조가 정반대

10핵심 키워드 사전

이 저장소를 읽을 때 걸리는 말들
용어
zine (진)
소량으로 직접 만들어 돌리는 자가 출판물. 인쇄 오차·거친 종이·수작업 흔적이 미감의 일부다. 이 스킬이 "손으로 찢은 섬유질 가장자리"를 규정하는 이유.
용어
影像蒸馏 (영상 증류)
사진에서 의미와 정서만 뽑아내고 원본 픽셀은 전부 버리는 방식. 증류주를 내릴 때 원재료가 남지 않는 것에서 온 비유다.
용어
Decision Priority
지시가 서로 충돌할 때 무엇을 먼저 지킬지 정한 순위표. 콜라주는 9항, 증류는 10항이며 1항이 서로 반대라 두 스킬의 성격이 갈린다.
용어
Chromatic Structure
색을 장식이 아니라 구조로 쓴다는 원칙. 균형·방향·시각적 무게중심을 색이 담당하므로, 추가 색을 정확히 하나로 제한하고 면적까지 퍼센트로 정해 둔다.
용어
NOASSERTION
GitHub이 라이선스를 표준 목록에서 식별하지 못했을 때 붙이는 표시. 여기서는 저자가 직접 쓴 라이선스라서 이 값이 나온다 — 표준 오픈소스 라이선스가 아니라는 신호다.

11참고 링크

1차 출처 중심