
Kami
Typeset polished resumes, one-pagers, white papers, letters, portfolios, and slide decks with a consistent parchment-and-serif design system inside your coding agent.
Install
npx skills add https://github.com/tw93/kami --skill kamiWhat is this skill?
- Typesets resumes, one-pagers, white papers, letters, portfolios, and slide decks
- Warm parchment palette with ink-blue accent and serif-led hierarchy
- Python build pipeline with template lint, token sync check, and packaged skill zip
- CI jobs: lint-and-test plus WeasyPrint render-and-verify with CJK fallback fonts
- Document-typesetting skill aimed at Claude Code workflows
Adoption & trust: 5.5k installs on skills.sh; 7.4k GitHub stars; 3/3 security scanners passed (skills.sh audits).
Recommended Skills
Journey fit
Kami’s core output is professional documents produced during product work—specs, resumes, decks—so Build docs is the primary shelf even though those artifacts ship in Validate and Launch too. Docs subphase matches template-driven document generation, token-synced builds, and render verification rather than app runtime code.
Common Questions / FAQ
Is Kami safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Kami
{ "name": "kami", "description": "Document typesetting skill for Claude Code.", "owner": { "name": "Tw93", "email": "hitw93@gmail.com" }, "plugins": [ { "name": "kami", "description": "Typeset professional documents: resumes, one-pagers, white papers, letters, portfolios, slide decks. Warm parchment, ink-blue accent, serif-led hierarchy.", "category": "documents", "source": "./", "homepage": "https://github.com/tw93/kami" } ] } name: check on: push: branches: [main] pull_request: workflow_dispatch: jobs: lint-and-test: name: lint and test runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.12' - name: Install test extras run: python3 -m pip install Pygments - name: Lint templates and check token sync run: python3 scripts/build.py --check - name: Run test suite run: python3 scripts/tests/test_build.py - name: Build and audit skill package run: bash scripts/package-skill.sh /tmp/kami-ci.zip verify-render: name: render and verify runs-on: ubuntu-latest needs: lint-and-test steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.12' - name: Install WeasyPrint system libs and CJK fallback fonts # libcairo2 / libpango / libharfbuzz are required by WeasyPrint at # runtime; fonts-noto-cjk provides a serif CJK fallback so the Chinese # templates render with embedded glyphs even though TsangerJinKai02 is # commercial and not shipped in CI. The verify step accepts Noto as a # recognized fallback (see scripts/build.py fallback_present). run: | sudo apt-get update sudo apt-get install -y --no-install-recommends \ libcairo2 libpango-1.0-0 libpangoft2-1.0-0 libharfbuzz0b \ fonts-noto-cjk fonts-noto-cjk-extra - name: Install Python deps run: python3 -m pip install weasyprint pypdf Pygments - name: Verify strict page-count targets # Only the six hard-invariant templates (resume == 2, one-pager == 1 # across CN/EN/KO) run in CI. The KO pair also exercises the Korean # render path on Linux (fonts-noto-cjk supplies the glyphs). The # long-doc / portfolio / slides ceilings are soft and rely on the # stabilizer; the next step exercises that path. # KAMI_ALLOW_FALLBACK_ONLY=1: CI does not ship commercial fonts # (TsangerJinKai02, Charter). Treat fallback-only embedding as a # warning instead of a failure so CI can still gate page counts. env: KAMI_ALLOW_FALLBACK_ONLY: '1' run: | python3 scripts/build.py --verify one-pager python3 scripts/build.py --verify one-pager-en python3 scripts/build.py --verify one-pager-ko python3 scripts/build.py --verify resume python3 scripts/build.py --verify resume-en python3 scripts/build.py --verify resume-ko - name: Stabilize end-to-end (smoke) # Runs the solver across every stabilize_max > 0 target. Non-strict # because CI uses Noto CJK fallback (not TsangerJinKai02) and Noto's # different glyph widths can change page count by +/- 1, which the # solver should handle but should not gate CI on. A solver crash # still fails the build. run: python3 scripts/stabilize.py all --report # Kami Agent Guide > Personal/global agent rules may live outside this repository. This file records Kami-specific repository maps, Working Rules, Current Risk Areas, Verification, Release Flow, and Fonts. ## Project Kami is a document-generation skill and template system. It ships editorial HTML templates, reference guides, demo assets, and a