Kami: 말 한 줄로 이력서·원페이저·슬라이드를 PDF로 조판하는 스킬
일본의 한 회사가 이 스킬로 A4 제안서 한 장을 4분 반 만에 PDF로 뽑은 과정을 글로 남겼어요
- 누가
- Mole과 Kaku를 만든 Tw93이 미국 주식 리포트를 다듬다 시작했어요. 이력서, 제안서, 발표 자료를 자주 내보내는 사람을 위한 스킬이에요.
- 언제
- 2026년 4월 공개, 최신 V1.20.0(2026-10-29). 10월 15일 V1.18.0에서 한국어 PDF가 비거나 단어 중간에서 줄이 바뀌던 문제를 고쳤어요.
- 어디서
- Claude Code, Codex, Cursor 등에서 쓰고, Claude Desktop에는 ZIP으로 올려요. 렌더링은 내 컴퓨터의 WeasyPrint로 하고, Windows는 WSL에서 써요.
이게 불편했어요
에이전트에게 리포트나 이력서를 부탁하면 회색에 밋밋한 기본 문서가 나오고, 세션마다 레이아웃이 달라졌어요. 내용은 괜찮아도 계속 읽고 싶은 페이지는 아니었어요.
그래서 이렇게 풀어요
Kami는 에이전트에게 정해진 템플릿과 조판 규칙을 쥐여 줘요. 요청을 받으면 문서 종류와 쪽수를 먼저 정하고, 내용을 JSON으로 정리해 검사한 뒤 템플릿에 채워 넣어요. 마지막엔 명령 하나로 빈칸과 쪽수, 실제로 쓰인 글꼴까지 확인한 PDF가 나와요. 한국어 문서는 본명조(Source Han Serif K)로 짜요.




이걸로 만든 사람들

가상의 가구 회사 정비 서비스 제안서를 Kami로 A4 한 장 PDF로 만들어 보고, 큰 숫자 넷과 요금표가 든 결과와 걸린 시간을 스킬 없을 때와 비교했어요.
所要は約4分半
이력서 도구 YAMLResume가 Kami에서 영감을 받은 HTML 이력서 템플릿을 새 버전에 넣고, 강조색을 바꾼 예시까지 올렸어요.
We've added a new kami html template which is inspired by https://github.com/tw93/kami project.
Kami의 종이 색감을 VS Code, Neovim, Ghostty 등 터미널과 에디터 19곳의 테마로 옮겨 kami-theme로 공개했어요.
Adapted the palette for 19 targets (VS Code, Neovim, Warp, Ghostty, omp, etc.), anti-glare and low-saturation.
안에서는 이렇게 돌아가요
- 1
사용자 → Claude Code
「이력서를 만들어줘」슬래시 명령 없이 말로 부탁하면 스킬이 켜지고, 언어·템플릿·형식·쪽수를 한 줄로 정해 알려 줘요.skills/kami/SKILL.md - 2
Claude Code → content.json
brief와 내용을 JSON으로누구에게 무엇을 보여 줄지와 꼭 들어갈 사실을 적고, 문서 종류별 스키마로 구조를 먼저 검사해요.skills/kami/references/schemas/resume.json - 3
content.json → resume-ko.html 템플릿
한국어 템플릿에 채우기HTML을 새로 쓰지 않고 템플릿을 복사해 채워요. CSS는 건드리지 않아요.skills/kami/assets/templates/resume-ko.html - 4
resume-ko.html 템플릿 → build.py --deliver
python3 scripts/build.py --deliver남은 빈칸, 마크다운 찌꺼기, 내용 누락을 보고 ERROR가 없을 때까지 다시 돌려요.skills/kami/scripts/build.py - 5
build.py --deliver → PDF와 페이지 이미지
WeasyPrint로 PDF, 페이지 PNGPDF를 만든 뒤 쪽수와 실제로 쓰인 한글 글꼴을 확인하고, 에이전트가 페이지 이미지를 열어 봐요.skills/kami/scripts/render.py
넣으면 이렇게 나와요
나한테 맞을까요
이럴 때 좋아요
- 이력서, 제안서, 발표 자료를 PDF로 자주 내보낼 때
- 에이전트가 만든 문서의 모양이 매번 달라 불편할 때
- 한국어 문서를 명조체로 단정하게 뽑고 싶을 때
- 숫자 데이터로 차트가 들어간 리포트가 필요할 때
이건 안 돼요
- Windows에서는 WSL(Ubuntu) 안에서 써야 해요. 헬퍼 스크립트가 Bash예요.
- README 기준, 한국어와 일본어는 영어·중국어보다 지원 단계가 낮아 페이지 이미지로 한 번 더 확인해요.
- 코드와 템플릿은 MIT지만, 중국어 기본 글꼴 TsangerJinKai02는 개인 용도만 무료예요.
- Fyve의 글에서는 스킬 없이 46초 걸린 일이 약 4분 반 걸렸어요. 검사를 거치는 만큼 느려요.
발행 전에 Devalley 편집자가 검토했어요. 칼럼은 어떻게 만드나요
Kami: a skill that typesets resumes, one-pagers and slides as PDFs
A Japanese company wrote up making a one-page A4 proposal PDF with it in about four and a half minutes
- Who
- Made by Tw93 (Mole, Kaku) while polishing US equity research reports. For anyone who ships resumes, proposals or decks.
- When
- Released April 2026; latest V1.20.0 on 2026-10-29. V1.18.0 (Oct 15) fixed blank Korean text and mid-word line breaks in PDFs.
- Where
- Claude Code, Codex, Cursor and others; a ZIP upload for Claude Desktop. Renders locally with WeasyPrint; on Windows, inside WSL.
What was hard
Ask an agent for a report or a resume and you got the same gray default document, laid out differently every session. The content was fine; the page was not one you wanted to keep reading.
What it does about it
Kami hands the agent fixed templates and typesetting rules. It settles the document type and length first, writes the content as JSON and checks it, then fills a template. One command finishes with a PDF whose gaps, page count and actual fonts have been checked. Korean documents are set in Source Han Serif K.




What people made with it

Made a one-page A4 proposal PDF for a fictional furniture company's maintenance service with Kami, and compared the result and its time with no skill.
所要は約4分半
YAMLResume shipped an HTML resume template inspired by Kami in v0.17, shown with custom accent colours.
We've added a new kami html template which is inspired by https://github.com/tw93/kami project.
Ported Kami's paper palette to themes for 19 terminals and editors, from VS Code to Ghostty, as kami-theme.
Adapted the palette for 19 targets (VS Code, Neovim, Warp, Ghostty, omp, etc.), anti-glare and low-saturation.
How it runs inside
- 1
You → Claude Code
"build me a resume"No slash command: a plain request triggers the skill, which states language, template, formats and length in one line.skills/kami/SKILL.md - 2
Claude Code → content.json
Brief and content as JSONAudience, purpose and required facts go in first, checked against the schema for that document type.skills/kami/references/schemas/resume.json - 3
content.json → resume-ko.html template
Fill the Korean templateThe template is copied and filled, never written from scratch; the CSS stays untouched.skills/kami/assets/templates/resume-ko.html - 4
resume-ko.html template → build.py --deliver
python3 scripts/build.py --deliverChecks leftover placeholders, Markdown residue and missing content, re-run until no ERROR remains.skills/kami/scripts/build.py - 5
build.py --deliver → PDF and page images
PDF via WeasyPrint, page PNGsChecks the page count and the font that actually drew the Korean text; the agent then opens each page image.skills/kami/scripts/render.py
What goes in, what comes out
Is it for you
Good for
- You often ship resumes, proposals or decks as PDFs
- Agent-made documents look different every time
- You want Korean, Chinese or Japanese documents set in a proper serif
- You need reports with charts drawn from real numbers
Not for
- On Windows it has to run inside WSL (Ubuntu); the helper scripts are Bash.
- Per the README, Korean and Japanese have less complete support than English and Chinese and get an extra page-image check.
- Code and templates are MIT, but the Chinese default font TsangerJinKai02 is free for personal use only.
- In Fyve's write-up a job that took 46 seconds without the skill took about four and a half minutes with it.
Reviewed by Devalley’s editor before publishing. How the column is made