waza
🥷 Engineering habits you already know, turned into skills Claude can run.
Designs documents, PDFs, slide decks, and landing pages with CJK typography from Markdown and Mermaid. Activates when generating presentation or document layouts in a project.
> /plugin marketplace add tw93/Kami> /plugin install kami@kami
What's inside
Kami (紙, かみ) means paper in Japanese: the surface where a finished idea lands. AI can produce documents better than most humans do manually. The missing piece is not capability but constraint: without a design system, every session drifts into generic gray and inconsistent layouts.
Kami fills that gap: one constraint language, eight document templates plus a landing-page system, simple enough for agents to run reliably, strict enough that every output is something you actually want to ship.
Part of a trilogy: Kaku (書く) writes code, Waza (技) drills habits, Kami (紙) delivers documents.
Real PDFs from one constraint set, across templates and languages. Click any preview to open it.
Claude Code, v2.1.142 or newer
/plugin marketplace add tw93/kami
/plugin install kami@kami
The marketplace points Claude Code at the generated lightweight plugin bundle, not the whole website and release archive tree.
Codex plugin marketplace
codex plugin marketplace add tw93/kami
codex plugin add kami@kami
This installs Kami as a Codex plugin from the repo marketplace, so future updates can use codex plugin marketplace upgrade kami followed by codex plugin add kami@kami.
Generic agents for tools that read from ~/.agents/
npx skills add tw93/kami/plugins/kami -a universal -g -y
The plugin path exposes the generated lightweight skill bundle. A bare tw93/kami would install only SKILL.md, because the repo root doubles as the website source and the skills CLI treats a root-level skill as a single file.
Claude Desktop
Download the release asset kami.zip, not GitHub's source-code ZIP. Open Customize > Skills > "+" > Create skill, and upload the ZIP directly, no need to unzip.
The ZIP is lightweight and contains a kami/ skill folder. Large CJK fonts are excluded from the package: in a repo checkout they load from local font files first, then jsDelivr CDN; in an installed skill, scripts/ensure-fonts.sh recovers missing Chinese or Korean fonts into the user font directory.
Update
claude plugin update kamicodex plugin marketplace upgrade kami, then codex plugin add kami@kami to refresh the installed snapshotnpx skills add tw93/kami/plugins/kami -a universal -g -y command, which overwrites the existing copy. Avoid npx skills update for now: it can mis-detect repo subpath installs while the repo root also has SKILL.md (vercel-labs/skills#1517).Kami also runs a quiet version check at most once a day and tells you in chat when a newer version is out; it only reads a public version file, sends no data, and is skipped when offline.
The skill auto-triggers from natural requests, no slash command needed. Optimized for English and Chinese; Japanese and Korean are supported via best-effort CJK paths with visual QA before delivery.
Example prompts by language:
make a one-pager for my startup / turn this research into a long doc / write a formal letter / make a portfolio of my projects / build me a resume / design a slide deck for my talk / make this talk as a Marp deck / build a landing page for my app帮我做一份一页纸 / 帮我排版一份长文档 / 帮我写一封正式信件 / 帮我做一份作品集 / 帮我做一份简历 / 帮我做一套演讲幻灯片 / 帮我做一份 Markdown 风格的演示稿 / 帮我做一个产品落地页スタートアップ向けの一枚資料を作って / この調査を長文レポートに整えて / 正式な依頼文を作って / プロジェクト作品集を作って / 履歴書を作って / 登壇用スライドを作って / Marp で登壇スライドを作って / アプリのランディングページを作って스타트업 원페이저를 만들어줘 / 이 리서치를 장문 문서로 정리해줘 / 정식 레터를 작성해줘 / 프로젝트 포트폴리오를 만들어줘 / 이력서를 만들어줘 / 발표용 슬라이드를 만들어줘 / Marp 슬라이드로 만들어줘 / 앱 랜딩 페이지를 만들어줘Brand profile (optional)
Create ~/.config/kami/brand.md to persist identity, brand, defaults, and writing habits. See brand.example.md for a full template.
The file has YAML frontmatter for structured fields like name, role, email, brand color, language, page size, and tone, plus a Markdown body for freeform notes. Kami treats it as the lowest-resolution context: applied only when the current request is ambiguous, and always overridable by what the specific document needs. The goal is to feel familiar across your work without making every output look the same.
Warm parchment canvas #f5f4ed, ink blue #1B365D as the sole accent, serif carries hierarchy, no hard shadows or flashy palettes. Not a UI framework; a constraint system for printed matter. Documents should read as composed pages, not dashboards.
scripts/mermaid_normalize.py re-themes it to the Kami palette and makes it WeasyPrint-safe, no Node bundled.assets/templates/marp/ for Markdown-first decks.Pygments is installed; without it, PDFs still render and code stays monochrome.scripts/mcp_server.py) exposes capability diagnosis, render, structured check, and screenshot tools, so any MCP-capable agent can drive Kami as an engine without loading the full skill prompt. Render only trusted local HTML: referenced file, HTTP, and HTTPS resources load with the MCP process's permissions.Kami picks the right variant based on the language you write in.
Fonts: Each language uses a single serif font for the entire page. Chinese: TsangerJinKai02. Japanese: YuMincho. Korean: Source Han Serif K. English: Charter. See License for font terms.
Full spec: design.md. Cheatsheet: CHEATSHEET.md.
One constraint set, applied past the page: it lays out deployable websites and briefs AI image renderers, so both come back in the Kami look.
Landing pages ship as deployable multilingual sites. Illustrations use the host's own image generation when that capability is available; otherwise Kami outputs the same complete brief for use in an image model.
Redraw this as a clean editorial diagram. Background: warm parchment (#f5f4ed), never pure white. One accent only, ink blue (#1B365D); everything else in warm gray with a yellow-brown undertone, no other colors. Thin single-line geometric strokes and simple flat icons. No gradients, no drop shadows, no 3D. Labels in a serif typeface. Generous whitespace, calm and composed, like a figure in a well-typeset report.
Rendered by ChatGPT Images in a single pass with no manual touch-up. Kami specifies, the renderer draws.
I like investing in US equities and ask Claude to write research reports all the time. Every output landed in the same default-doc look: gray, flat, a different layout each session. The structure was hard to scan, the formatting felt dated, and nothing about the page made me want to keep reading. So I started fixing the typography, the palette, the spacing, one rule at a time, until the report became a page I actually enjoyed.
Later I needed to present "The Agent You Don't Know: Principles, Architecture and Engineering Practice." I already had the document and didn't want to build slides from scratch, so I used Claude Design to lay it out in my own style, tweaked it round after round, and eventually got it to a place I was happy with. That process added inline SVG charts, a unified warm palette, and a tighter editorial rhythm. It kept growing until it covered every document I regularly ship, so I kept abstracting the process, and it became kami: one quiet design system I can hand to any agent and trust the output.
MIT License for kami code and templates. Feel free to use and contribute.
Fonts: TsangerJinKai02 is free for personal use only; commercial use requires a license from tsanger.cn. Charter, YuMincho, Source Han Serif K under OFL, and CJK fallbacks are system-bundled or open-licensed.
.agents/
plugins/
marketplace.json
.claude/
.claude-plugin/
marketplace.json
launch.json
.github/
FUNDING.yml
workflows/
check.yml
release.yml
.gitignore
.well-known/
agent-skills/
index.json
mcp/
server-card.json
about.html
about.md
AGENTS.md
assets/
demos/
demo-agent-slides.html
demo-agent-slides.pdf
demo-agent-slides.png
demo-changelog.html
demo-changelog.pdf
demo-changelog.png
demo-kaku.html
demo-kaku.pdf
demo-kaku.png
demo-kami-print.html
demo-kami-print.pdf
demo-kami-print.png
demo-letter.html
demo-letter.pdf
demo-letter.png
demo-mole-clean.jpg
demo-mole.html
demo-mole.pdf
demo-mole.png
demo-musk-resume.html
demo-musk-resume.pdf
demo-musk-resume.png
demo-resume-ko.html
demo-resume-ko.pdf
demo-resume-ko.png
demo-tesla.html
demo-tesla.pdf
demo-tesla.png
demo-waza.html
demo-waza.pdf
demo-waza.png
images/
kaku-action.jpg
kaku-hero.jpg
diagrams/
architecture-board.html
architecture.html
bar-chart.html
candlestick.html
class.html
donut-chart.html
er.html
flowchart.html
layer-stack.html
line-chart.html
quadrant.html
sequence.html
src/
class.mmd
er.mmd
sequence.mmd
state-machine.html
swimlane.html
timeline.html
tree.html
venn.html
waterfall.html
fonts/
JetBrainsMono.woff2
LICENSE-SourceHanSerifK.txt
SourceHanSerifKR-Medium.otf
SourceHanSerifKR-Regular.otf
TsangerJinKai02-W04.ttf
TsangerJinKai02-W05.ttf
illustrations/
travel-3d-representations.png
travel-spatialvla.png
travel-tesla-optimus.png
images/
logo.svg
showcase/
kami-landing.png
kami-reliable-documents-twitter-en.html
kami-reliable-documents-twitter-en.png
kami-v1.10-architecture-twitter.html
kami-v1.10-architecture-twitter.png
luo-landing.png
mole-landing.png
templates/
changelog-en.html
changelog-ko.html
changelog.html
equity-report-en.html
equity-report-ko.html
equity-report.html
landing-page-en.html
landing-page-ko.html
landing-page-llms-full.txt.example
landing-page-llms.txt.example
landing-page-robots.txt.example
landing-page-sitemap.xml.example
landing-page-vercel.json.example
landing-page.html
letter-en.html
letter-ko.html
letter.html
long-doc-en.html
long-doc-ko.html
long-doc.html
marp/
slides-marp-en.css
slides-marp-en.md
slides-marp.css
slides-marp.md
one-pager-en.html
one-pager-ko.html
one-pager.html
portfolio-en.html
portfolio-ko.html
portfolio.html
resume-en.html
resume-ko.html
resume.html
slides-en.py
slides-weasy-en.html
slides-weasy-ko.html
slides-weasy.html
slides.py
CHEATSHEET.md
CLAUDE.md
contact.html
contact.md
developers/
developers.html
developers.md
llms.txt
dist/
kami.zip
docs/
release.md
feeds/
catalog.jsonld
index-en.html
index-ja.html
index-ko.html
index-tw.html
index-zh.html
index.html
index.md
LICENSE
llms.txt
plugins/
kami/
.claude-plugin/
plugin.json
.codex-plugin/
plugin.json
skills/
kami/
assets/
diagrams/
architecture-board.html
architecture.html
bar-chart.html
candlestick.html
class.html
donut-chart.html
er.html
flowchart.html
layer-stack.html
line-chart.html
quadrant.html
sequence.html
src/
class.mmd
er.mmd
sequence.mmd
state-machine.html
swimlane.html
timeline.html
tree.html
venn.html
waterfall.html
fonts/
JetBrainsMono.woff2
LICENSE-SourceHanSerifK.txt
images/
logo.svg
templates/
changelog-en.html
changelog-ko.html
changelog.html
equity-report-en.html
equity-report-ko.html
equity-report.html
landing-page-en.html
landing-page-ko.html
landing-page-llms-full.txt.example
landing-page-llms.txt.example
landing-page-robots.txt.example
landing-page-sitemap.xml.example
landing-page-vercel.json.example
landing-page.html
letter-en.html
letter-ko.html
letter.html
long-doc-en.html
long-doc-ko.html
long-doc.html
marp/
slides-marp-en.css
slides-marp-en.md
slides-marp.css
slides-marp.md
one-pager-en.html
one-pager-ko.html
one-pager.html
portfolio-en.html
portfolio-ko.html
portfolio.html
resume-en.html
resume-ko.html
resume.html
slides-en.py
slides-weasy-en.html
slides-weasy-ko.html
slides-weasy.html
slides.py
CHEATSHEET.md
LICENSE
references/
anti-patterns.md
brand-profile.md
brand.example.md
checks_thresholds.json
deck-preflight.md
design.md
diagrams.md
mermaid-theme.json
mermaid.md
production.md
resume-writing.md
schemas/
changelog.json
equity-report.json
landing-page.json
letter.json
long-doc.json
one-pager.json
portfolio.json
resume.json
slides.json
tokens.json
writing.md
scripts/
build_metadata.py
build.py
check-update.sh
checks.py
content.py
draft-release-notes.py
ensure-fonts.sh
highlight.py
lint.py
mcp_server.py
mermaid_normalize.py
optional_deps.py
package-skill.sh
release_gate.py
render.py
shared.py
site_facts.py
tests/
test_build.py
tokens.py
verify.py
visual.py
SKILL.md
VERSION
privacy.html
privacy.md
README.md
references/
anti-patterns.md
brand-profile.md
brand.example.md
checks_thresholds.json
deck-preflight.md
design.md
diagrams.md
mermaid-theme.json
mermaid.md
production.md
resume-writing.md
schemas/
changelog.json
equity-report.json
landing-page.json
letter.json
long-doc.json
one-pager.json
portfolio.json
resume.json
slides.json
tokens.json
writing.md
robots.txt
schemamap.xml
scripts/
build_metadata.py
build.py
check-update.sh
checks.py
content.py
draft-release-notes.py
ensure-fonts.sh
highlight.py
lint.py
mcp_server.py
mermaid_normalize.py
optional_deps.py
package-skill.sh
release_gate.py
render.py
shared.py
site_facts.py
tests/
test_build.py
tokens.py
verify.py
visual.py
sitemap.xml
SKILL.md
styles.css
vercel.json
VERSION🥷 Engineering habits you already know, turned into skills Claude can run.
FAQ
kami is a Claude Code plugin with 1 hand-picked skill for content work, indexed on Flowy. Install it with the command on its page. It includes kami. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.