Kami gives AI agents templates and layout rules for documents and landing pages. Create PDFs and PNGs, or export slides as editable PowerPoint files.
Kami (紙, かみ) means paper in Japanese. It includes eight document templates, a landing-page system, and checks for content and layout.
Part of a trilogy: Kaku (書く) writes code, Waza (技) drills habits, Kami (紙) delivers documents.
Sample PDFs in several formats and languages. Click any preview to open it.
Claude Code, Codex, Cursor, and other agents
npx skills add tw93/kami -a claude-code codex cursor -g -yOne copy lands in ~/.agents/skills, the shared skills directory. Claude Code is symlinked in; Codex, Cursor, and every other agent that reads that directory picks Kami up as /kami. Update with npx skills update -g -y.
Host plugin, if you prefer the host's own update command (namespaced as /kami:kami; Claude Code v2.1.142 or newer)
# Claude Code (update: claude plugin update kami)
/plugin marketplace add tw93/kami
/plugin install kami@kami
# Codex (update: codex plugin marketplace upgrade kami, then codex plugin add kami@kami)
codex plugin marketplace add tw93/kami
codex plugin add kami@kamiClaude Desktop: download the release asset kami.zip, not GitHub's source ZIP, open Customize > Skills > "+" > Create skill, and upload it. To update, click "..." on the skill card, choose Replace, and upload the latest ZIP.
Large CJK fonts stay out of every package: scripts/ensure-fonts.sh recovers missing Chinese or Korean fonts into the user font directory, and in a repository checkout it copies the tracked fonts into the skill so templates load them locally before falling back to the jsDelivr CDN.
Kami also runs a quiet version check at most once a day and tells you in chat when a newer published release is out. It writes a marker in the local XDG cache directory, then resolves GitHub's latest public release; it uploads no user document or task content and fails silently when offline or when no cache home is available.
The skill auto-triggers from natural requests, no slash command needed. Optimized for English and Chinese; Japanese and Korean are supported via language-specific font fallbacks and layout adjustments, with output checked individually.
Example prompts by language:
- English:
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 uses these settings where the current request leaves a choice open; explicit instructions always take priority. Use it to avoid repeating your preferences for each document.
The defaults are a warm parchment background (#f5f4ed), ink-blue accents (#1B365D), and serif fonts. Templates use type size and spacing to separate titles, body text, and notes. You can adjust the defaults for your brand.
- Templates. Eight document templates: One-Pager, Long Doc, Letter, Portfolio, Resume, Slides, Equity Report, and Changelog, plus a Landing Page system, in EN, CN, and KO.
- Diagrams. Eighteen inline SVG types, including a report-scale architecture board. Sequence, class, and ER can be authored from Mermaid text: beautiful-mermaid renders the SVG and
scripts/mermaid_normalize.pyre-themes it to the Kami palette and makes it WeasyPrint-safe, no Node bundled. - Slides. Three rendering paths: WeasyPrint HTML to PDF by default, python-pptx for editable PPTX on request, and a Marp variant in
assets/templates/marp/for Markdown-first decks. - Code. Pygments-based syntax highlighting when
Pygmentsis installed; without it, PDFs still render and code stays monochrome. - Verification. Content schemas check structure before layout; coverage checks look for content missing from the filled page. A structured brief records the audience and requirements, and page images support the final visual review.
- MCP. A zero-dependency MCP server (
skills/kami/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. - Print. Parchment is the default canvas; an opt-in white-paper variant flips any document to a white background for home or office printers, keeping warm backgrounds in cards and tables. The one-page Kami intro (Chinese) is rendered with this variant; recipe in production.md.
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.
The same layout rules also work for landing pages and prompts for AI image tools.
Kami · landing page Design system homepage |
Mole · landing page macOS system utility |
Architecture redraw · English SpatialVLA Figure 1, schematic |
Evidence layout · 中文 Tesla Optimus 专利图一览 |
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 collected the templates and rules into Kami.
- The most direct way to support me is getting Mole for Mac, my paid Mac cleanup app.
- If Kami helped you, give it a star, share it, or open an issue or PR.
- I have two cats, TangYuan and Coke. If Kami has been useful, you can feed them canned food 🥩.
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.











