이 레포가 무엇을 하는 물건인가.
huashu-design은 Claude Code·Cursor·Codex 같은 코딩 에이전트에 끼워 넣는 디자인 전문가 매뉴얼입니다. 설치하면 에이전트가 "프로그래머"가 아니라 "HTML로 일하는 디자이너"로 변신해서, 한 문장 요청을 받아 프로토타입·PPT·애니메이션·인포그래픽을 만들어 줍니다.
먼저 Agent Skill (에이전트 스킬)이라는 개념부터 잡고 가야 합니다. 스킬은 한마디로 AI 에이전트에게 읽히는 업무 매뉴얼 폴더입니다. 폴더 안에 "이런 요청이 오면 이렇게 일해라"라고 적힌 마크다운 문서(SKILL.md), 깊이 들어갈 때 펼쳐 보는 참고 문서들(references/), 그리고 재사용 부품(assets/)과 도구 스크립트(scripts/)가 들어 있습니다. 에이전트는 작업을 시작할 때 이 매뉴얼을 읽고, 거기 적힌 절차·금지사항·품질 기준대로 움직입니다.
npx skills add alchaincyf/huashu-design 한 줄로 설치됩니다.그래서 이 레포의 정체는 "디자인 툴 소프트웨어"가 아니라 잘 짜인 디자인 프로세스 그 자체를 글로 박제한 것입니다. 좋은 디자이너가 일하는 방식 — 요구사항을 캐묻고, 가정을 먼저 보여주고, 변형안 여러 개를 내놓고, 브랜드 자산을 확인하고, 납품 전 검수하는 — 그 절차를 에이전트가 강제로 따르게 만든 631줄의 지시문이 본체입니다. 산출물은 전부 HTML이고, 거기서 MP4·GIF·PPTX·PDF로 변환하는 스크립트가 따라붙습니다.
트렌딩 이유 · 경쟁 대비 장점.
출발 스토리부터 화제성이 있습니다. 제작자 화수는 Anthropic이 디자인 도구 "Claude Design"을 발표한 날 새벽 4시까지 써 봤는데, 며칠 뒤 깨달았답니다 — "제품이 나빠서가 아니라, 나는 GUI를 열기 싫은 사람이구나." 그래서 에이전트를 시켜 Claude Design 자체(커뮤니티에 유출된 시스템 프롬프트 포함)를 분석·증류해서, 터미널 안에서 돌아가는 스킬로 다시 빚어냈습니다. README에서 이를 "오픈소스 문화의 AI 시대 신형태인 2차 창작"이라고 당당히 밝히는 점도 흥미롭습니다.
2026년 4월 19일에 만들어진 레포가 두 달도 안 돼 별 16,000개를 넘긴 데에는 몇 가지 뚜렷한 이유가 있습니다. ① 5월 14일 라이선스를 "개인 무료·상업 유료"에서 MIT(완전 자유)로 전환하면서 진입 장벽이 사라졌고, ② Claude Code 전용이 아니라 agent-agnostic (에이전트 불문) — Cursor, Codex, Gemini CLI 등 어디서나 돌아가며, ③ 제작자가 전 플랫폼 팔로워 30만의 인플루언서라 확산이 빨랐습니다. 그리고 무엇보다 ④ README의 모든 데모 영상이 이 스킬 스스로 만든 것이라는 점이 강력한 증명이 됐습니다.
| 비교 항목 | Claude Design (Anthropic) | huashu-design |
|---|---|---|
| 형태 | 브라우저 GUI 제품 | 에이전트에 설치하는 스킬 |
| 조작 방식 | 클릭·드래그 | 채팅 한 문장 |
| 과금 | 구독 쿼터 소모 | API 토큰만 (병렬 에이전트 무제한) |
| 산출물 | 캔버스 + Figma 내보내기 | HTML · MP4 · GIF · 편집형 PPTX · PDF |
| 지원 환경 | Claude.ai 전용 | 스킬 호환 에이전트 전부 |
기술적으로 가장 차별화된 부분은 "AI가 만든 티 나는 디자인"과의 전쟁입니다. 스킬 곳곳에 그 흔한 보라색 그라데이션, 아이콘 도배, 둥근 모서리+왼쪽 색 띠 카드 같은 패턴을 명시적으로 금지하는 규칙이 박혀 있습니다.
LLM에게 그냥 "예쁘게 만들어줘"라고 하면 훈련 데이터에서 가장 흔한 패턴 — 보라 그라데이션, Inter 폰트, 의미 없는 아이콘과 통계 장식 — 으로 수렴합니다. 한눈에 "아, AI가 만들었구나" 싶은 결과물이 나오는 이유죠. 게다가 모델은 매번 "안전한 미니멀"만 고르는 보수적 편향도 있습니다.
slop 패턴을 조목조목 금지하는 체크리스트를 두고, 스타일 선택엔 현재 시각의 "초(秒)"로 주사위를 굴려(20가지 중 1개 강제 선택) 모델의 안전 편향을 물리적으로 깨며, 실존하는 수상작 웹사이트를 검색·분석해 기준점으로 삼게 합니다. "취향"을 운에 맡기지 않고 시스템으로 만든 겁니다.
또 하나의 신뢰 포인트: 제작자는 브랜드 자산 프로토콜을 넣기 전후로 에이전트 6개씩 돌리는 A/B 테스트를 했고, 규칙 도입 후 결과물 품질의 들쭉날쭉함(분산)이 5배 줄었다고 공개했습니다. 스킬을 감(感)이 아니라 측정으로 다듬는다는 거죠.
"코드 없는 레포"의 스택은 어떻게 생겼나.
보통 레포라면 여기서 프론트엔드 프레임워크와 백엔드 서버를 나열하겠지만, huashu-design은 구조가 다릅니다. 본체는 마크다운 문서이고, 실행 코드는 전부 "산출물을 다른 포맷으로 바꿔주는 변환 도구"입니다. 층을 나눠 보면 이렇게 됩니다.
| 레이어 | 구성물 | 역할 |
|---|---|---|
| 두뇌 (지시문) | SKILL.md 631줄 + references/ 24개 문서 약 7,300줄 | 에이전트의 행동 규칙·워크플로우·디자인 철학. 이 레포의 진짜 "소스코드". |
| 산출물 런타임 | HTML + CSS + React 18(인라인 Babel) | 모든 디자인 결과물의 형태. 단일 HTML 파일에 React를 CDN으로 끼워 더블클릭만으로 열리게. |
| 부품 (assets/) | JSX 컴포넌트 9종 · BGM 6곡 · 효과음 37개 · 예시 갤러리 24종 | iPhone 베젤, 애니메이션 엔진(Stage+Sprite), 슬라이드 외형 등 복붙해 쓰는 기성 부품. |
| 변환 도구 (scripts/) | Playwright · pptxgenjs · pdf-lib · sharp · ffmpeg | HTML → 스크린샷/MP4/GIF/PPTX/PDF 내보내기, 이미지 수집, 음성 합성 파이프라인. |
| 외부 서비스 | Wikimedia·Unsplash 등 (무료 이미지) · 두바오 TTS (음성) | 진짜 사진과 해설 음성을 가져오는 출처. "가짜 placeholder 대신 진짜 소재" 원칙의 손발. |
package.json을 열어 보면 의존성이 딱 4개뿐입니다 — playwright, pptxgenjs, pdf-lib, sharp. 나머지는 전부 문서와 미디어 에셋이라, 레포 용량의 대부분은 BGM mp3와 데모 파일이 차지합니다. "로직은 자연어로, 코드는 변환기만"이라는 분업이 스택 표에 그대로 드러나는 셈입니다.
한 문장 요청이 완성된 디자인이 되기까지.
먼저 독수리 시점에서 전체 그림을 봅시다. 이 시스템의 "실행 엔진"은 에이전트(예: Claude Code) 자신이고, huashu-design은 그 위에 얹히는 절차서입니다. 요청이 들어오면 SKILL.md가 교통정리(라우팅)를 하고, 상황에 따라 두 갈래 길 중 하나로 보냅니다.
이제 흐름 한 줄기를 끝까지 따라가 봅시다. "AI 심리학 발표 PPT 만들어줘"라고 입력했다고 치면:
① SKILL.md의 원칙 #0이 먼저 발동합니다 — "AI 심리학"에 구체적 제품·버전 정보가 얽혀 있으면 기억으로 단정하지 말고 웹검색으로 사실부터 확인하라는 규칙입니다. ② 스타일 참조를 안 줬으므로 어드바이저 경로로 빠져, 요구사항을 200자 이상으로 되새김(리스테이트)하고 500자 이상의 디자인 명세서(spec)를 만듭니다. ③ 내용에 이미지가 필수인지 판단해 필요하면 scripts/fetch_images.py로 무료 이미지를 먼저 확보합니다 — "소재 다 모은 뒤 디자인 시작"이 철칙입니다. ④ 서브에이전트 3개가 같은 spec을 받아 서로를 못 보는 상태로 각자 시안을 만듭니다(닮은꼴 방지). ⑤ 사용자가 시안을 고르면 페이지마다 독립 HTML로 슬라이드를 만들고 deck_index.html 외형(키보드 넘김+3D 전체보기)에 끼웁니다. ⑥ 끝나면 자동으로 PDF를 뽑고, 원하면 html2pptx.js로 PPTX까지 변환합니다.
서브에이전트 3개 병렬 구조는 인테리어 시공사 세 곳에 같은 도면을 주고 견적·시안을 따로 받는 것과 같습니다. 세 업체가 서로의 시안을 보면 비슷해지니 일부러 차단하고, 고객은 말로 된 설명이 아니라 완성된 3D 시안을 보고 고릅니다. 스킬 문서에는 이게 "선택 무효의 철칙"으로 적혀 있어요 — 시각물 없이 글로만 고르게 하면 그 선택은 무효라는 뜻입니다.
마지막으로 html2pptx.js(약 1,300줄, 이 레포에서 가장 큰 실행 코드)의 원리도 짚어 둘 만합니다. HTML을 이미지로 찍어 PPT에 붙이는 꼼수가 아니라, Playwright로 페이지를 연 뒤 요소 하나하나의 계산된 스타일(computedStyle)을 읽어 PowerPoint 객체로 번역합니다. 그래서 나온 PPTX는 텍스트 상자를 더블클릭해 글자를 고칠 수 있는 "진짜" 파워포인트 파일입니다.
어떤 폴더가 무슨 일을 하나.
| 폴더/파일 | 읽는 순서 추천 이유 |
|---|---|
SKILL.md | 1순위. 전체 시스템의 헌법. 이것만 읽어도 레포의 80%를 이해합니다. |
references/ | SKILL.md가 "필요할 때 이 문서를 펼쳐라"라고 가리키는 심화 매뉴얼. 작업 유형별로 골라 읽기. |
scripts/html2pptx.js | 실행 코드를 보고 싶다면 여기. DOM → PowerPoint 번역 로직이 다 들어 있습니다. |
demos/ | 결과물이 실제로 어떻게 생겼는지 브라우저로 열어 확인. |
구조에서 눈여겨볼 점: SKILL.md는 얇게 유지하고 디테일은 references/로 밀어내는 Progressive Disclosure (점진적 공개) 패턴입니다. 에이전트의 컨텍스트 창(한 번에 읽을 수 있는 분량)은 유한한 자원이라, 매번 7,300줄을 다 읽히는 대신 목차만 항상 읽히고 본문은 작업 유형에 맞는 것만 펼치게 한 거죠. 스킬을 직접 만들 때 가장 먼저 배워갈 설계입니다.
이 레포에서 배울 만한 것 + 어디를 보면 되는지.
이 레포의 본체는 코드가 아니라 영리하게 구조화된 지시문입니다. 우선순위가 명시된 원칙(원칙 #0이 모든 것에 우선), 강제 멈춤(체크포인트), 예외 상황 대응표, 금지 문장 목록("'아마 아직 미출시일 거예요'라고 말하려는 순간 멈추고 검색하라") 같은 장치들이 흐름 제어문 없는 프로그램처럼 동작합니다. SKILL.md를 "코드 리뷰하듯" 읽어 보세요.
문서 곳곳에 "2026-04-20 실제로 밟은 함정: DJI Pocket 4가 4일 전 출시됐는데 기억만 믿고 '미출시'로 단정해 2시간 재작업"처럼 날짜·비용까지 적힌 실패 사례가 박혀 있습니다. 추상적 규칙("사실 확인해라")보다 구체적 사고 기록이 LLM의 행동을 훨씬 잘 교정합니다. references/animation-pitfalls.md의 17개 함정이 전부 이런 식입니다.
HTML 디자인을 스크린샷 찍고(시안 비교), 클릭해 보고(프로토타입 검수), 프레임 단위로 촬영하고(MP4), 페이지를 PDF로 인쇄하는 네 가지 용법이 scripts/ 안에 다 있습니다. 특히 render-video-seek.js는 애니메이션 시계를 한 프레임씩 수동으로 감으면서 찍는 방식이라, 끊김 없는 진짜 60fps 영상이 나옵니다.
assets/animations.jsx는 After Effects의 사고방식을 React로 옮긴 미니 엔진입니다. 무대(Stage)가 시계를 돌리고, 배우(Sprite)는 "몇 초부터 몇 초까지 무엇을 한다"로 선언됩니다. useTime·interpolate·Easing 네 가지 API만으로 어떤 모션이든 조립하는 절제된 설계를 배울 수 있습니다.
코드 한 조각만 감을 잡아 봅시다. 무료 이미지 수집기를 쓰는 명령인데, 따옴표 안 검색어만 바꾸면 그대로 재사용할 수 있습니다 (복사만 하면 OK):
# "커피"와 "라떼아트" 사진을 1600px 폭으로 2장씩 받아 assets/img에 저장
python3 scripts/fetch_images.py \
--query "coffee beans" "latte art" \
--out my-project/assets/img --count 2 --width 1600
이 한 줄 뒤에는 "장식용 가짜 이미지 말고, 그 이미지를 빼면 정보가 사라지는 진짜 소재만 쓰라"는 철학이 붙어 있습니다. 스크립트조차 디자인 원칙의 집행 도구인 셈입니다.
돌리려면 무엇이 필요한가.
| 항목 | 요구사항 |
|---|---|
| AI 에이전트 | Claude Code · Cursor · Codex · Gemini CLI 등 스킬 지원 에이전트 (필수 — 이게 실행 엔진) |
| 런타임 | Node.js 18+ (내보내기 스크립트), Python 3 (이미지 수집·검증) |
| npm 의존성 | playwright · pptxgenjs · pdf-lib · sharp — 4개뿐 |
| 추가 도구 | ffmpeg (영상·음성 합성 시) · 두바오 TTS API 키 (해설 음성 영상 시, 선택) |
| 디스크/OS | 레포 약 200MB 이상 (BGM·데모·showcases 포함, 지속 증가 중) · macOS/Linux/Windows 모두 가능 |
중요한 건 GPU도 디자인 소프트웨어도 필요 없다는 점입니다. 비용은 에이전트가 쓰는 LLM API 토큰이 전부고, 무거운 작업(영상 인코딩)은 ffmpeg가 CPU로 처리합니다. 서브에이전트 3개를 병렬로 돌리는 어드바이저 모드에서는 토큰 소모가 3배가 되니, 데모 한두 번은 가볍게, 본격 사용은 비용을 보며 조절하는 게 좋습니다.
난이도별로 손에 익히는 단계.
Claude Code에서 npx skills add alchaincyf/huashu-design으로 설치한 뒤, "내가 마시는 커피 종류 비교 인포그래픽 만들어줘"처럼 가벼운 요청을 던져 보세요. 에이전트가 어떤 질문을 먼저 하는지, 어느 시점에 멈추고 확인을 받는지 — 결과물보다 과정을 관찰하는 게 첫 실습의 핵심입니다.
"좋아 보이는 페이지 하나 만들어줘"처럼 참조 없이 모호하게 요청해 디자인 방향 어드바이저를 깨워 보세요. 시안 3벌이 정말 다른 논리(룰렛/수상작 참조/거장 철학)로 나오는지, 서로 닮지 않았는지 비교해 보면 "병렬 + 격리" 설계의 효과를 체감할 수 있습니다.
5페이지짜리 발표자료를 만들게 한 뒤 scripts/export_deck_pptx.mjs로 PPTX를 뽑아 PowerPoint에서 열어 보세요. 텍스트 상자를 더블클릭해 글자가 실제로 수정되는지 확인하고, 어떤 시각 효과는 변환에서 깨지는지(그라데이션·복잡한 레이아웃) 한계도 함께 기록해 보면 좋습니다.
"이 개념을 30초 애니메이션으로 만들어 MP4로 내보내줘"를 시키고, render-video.js → convert-formats.sh → add-music.sh로 이어지는 파이프라인의 중간 산출물(무음 MP4, GIF, 최종본)을 각 단계에서 직접 열어 보세요. ffmpeg가 어느 단계에서 무슨 일을 하는지 손에 잡힙니다.
SKILL.md의 뼈대(원칙 → 워크플로우 → 체크포인트 → 예외 대응표 → references 라우팅)를 본떠, 자기 업무 하나(예: 주간보고 작성, 코드 리뷰)를 위한 100줄짜리 SKILL.md를 써 보세요. huashu-design에서 훔칠 것은 디자인이 아니라 스킬을 쓰는 법 그 자체입니다.
한 주씩 따라가는 계획.
| 주차 | 주제 | 학습 자료 |
|---|---|---|
| 1주차 | Agent Skill 개념 + 설치·첫 산출물 | README · 실습 1~2 · skills.sh 문서 |
| 2주차 | SKILL.md 정독 — 프롬프트 아키텍처 분석 | SKILL.md · references/workflow.md · brand-asset-protocol.md |
| 3주차 | 내보내기 파이프라인 — Playwright·ffmpeg | scripts/ 정독 · 실습 3~4 · Playwright 공식 문서 |
| 4주차 | 나만의 스킬 제작 + 반-slop 디자인 원칙 내재화 | 실습 5 · references/design-styles.md · content-guidelines.md |
본문에 나온 용어 빠른 참조.
| 용어 | 의미 |
|---|---|
| Agent Skill | AI 에이전트에 설치하는 지시문+자료 묶음. "AI에게 주는 업무 매뉴얼 바인더". |
| AI slop | AI가 만든 티가 확 나는 흔해 빠진 결과물. 보라 그라데이션·아이콘 도배·가짜 통계 장식 등. |
| agent-agnostic | 특정 에이전트 전용이 아니라 Claude Code·Cursor·Codex 등 어디서나 동작한다는 뜻. |
| 디자인 방향 어드바이저 | 요구가 모호할 때 서로 격리된 서브에이전트 3개가 다른 논리로 시안 3벌을 만들어 주는 폴백 모드. |
| 초(秒) 룰렛 | 현재 시각의 초로 20가지 스타일 중 하나를 강제 선택해, 모델이 늘 "안전한 미니멀"만 고르는 편향을 깨는 장치. |
| 브랜드 자산 프로토콜 | 실존 브랜드가 등장하면 로고·제품 이미지·색상값을 공식 출처에서 받아 확정하고 시작하는 5단계 강제 절차. |
| 주니어 디자이너 모드 | 가정과 placeholder를 먼저 보여주고 확인받은 뒤 본작업에 들어가는 기본 작업 방식. |
| 체크포인트(🛑) | 워크플로우 중간의 강제 멈춤 지점. 사용자 확인 없이는 다음 단계로 못 넘어감. |
| html2pptx | HTML 요소의 계산된 스타일을 읽어 PowerPoint 객체로 번역하는 스크립트. 결과물은 편집 가능한 진짜 PPTX. |
| Stage + Sprite | 무대가 시계를 돌리고 배우가 시간 구간별 동작을 선언하는 타임라인 애니메이션 모델. |
| Progressive Disclosure | 핵심 문서는 얇게, 디테일은 참고 문서로 밀어내 필요할 때만 읽히는 컨텍스트 절약 패턴. |
| Playwright | 브라우저를 자동 조종하는 도구. 이 레포에선 검수·스크린샷·영상 촬영·PDF 인쇄 카메라로 활용. |