Kirklin Typst
Create polished, compile-tested Typst documents from curated kirklin templates and build them to PDF with per-page PNG previews. Use when the user wants to write, typeset, or compi…
Kirk Lin
@kirklin
Install
$ openclaw skills install @kirklin/skills-typstkirklin-typst
Curated Typst templates plus a one-command build. Each template is a complete,
compile-tested document you copy and fill in; scripts/compile.sh turns it into a
PDF with page previews. Paths below are relative to this skill's directory.
When to use
- Writing a research / academic paper (NeurIPS / arXiv style) →
neurips-paper. - Compiling any
.typto PDF and showing previews. - More document types will arrive as templates — always check
references/templates.mdbefore assuming a type isn't covered.
Why Typst
Typst compiles in a single fast pass — no multi-run latexmk dance. It resolves
cross-references, citations, and the outline incrementally, and ships one engine,
so the build is just typst compile. Templates are plain .typ with an ordinary
module system (#import, #include), so styling lives in readable functions instead
of macros.
Workflow
- Pick a template. Match the user's document type to a template using the catalog in references/templates.md.
- Copy it out. Copy the whole template directory to the user's working area
(default
./outputs/). Templates are self-contained — the style function, figures, and section files travel with them. - Customize. Edit the main
.typ(title, authors, sections). Each template's ownREADME.mddocuments its file map and exactly what to replace. - Compile.
Runsbash scripts/compile.sh <path>/paper.typ --previewtypst compile(single pass — references, citations, and outline resolved automatically), writes the PDF, and renders one PNG per page. - Deliver. Read the PNG previews to confirm the result, show them to the user, and hand over the PDF.
Templates
| Template | Produces | Build file |
|---|---|---|
neurips-paper | Single-column NeurIPS/arXiv-style research paper (sample: Attention Is All You Need) | templates/neurips-paper/paper.typ |
Full details, variants, and "when to use each" → references/templates.md.
Compiling
bash scripts/compile.sh FILE.typ [--preview] [--preview-dir DIR] [--dpi N] \
[--root DIR] [--font-path DIR]
Typst has a single engine, so there's no engine flag and no multi-pass build.
--root sets the project root Typst may read files from (default: the file's
directory); --font-path adds a directory of custom fonts. Requires the typst
CLI, plus poppler-utils (pdftoppm) for previews. Run scripts/compile.sh --help
for the full list.
Adding a template
This skill is a framework — new document types are added as template directories, not by editing a monolith. The contract (required layout, quality rules, how to register) is in references/adding-templates.md.
Conventions
- Write generated documents into
./outputs/for user visibility; never edit a template in place — copy it first. - Always render and view PNG previews after compiling, then show the user.
- Prefer self-contained templates: vendor the style as a local
.typfunction rather than depending on a@previewpackage that needs a network fetch. - Escape Typst specials in user-supplied prose with a backslash:
#$@*_`<>[]and\itself (e.g.C\#,20\% off… note%is not special in Typst — only//starts a comment). Inside math ($…$),_ ^ & #are structural — enter literals as\_,\^,\&,\#.
Top skills in this category
Multi Search Engine
@gpyangyoujunMulti search engine integration with 16 engines (7 CN + 9 Global). Supports advanced search operators, time filters, site search, privacy engines, and Wolfra...
Agent Browser
@matrixyHeadless browser automation CLI optimized for AI agents with accessibility tree snapshots and ref-based element selection
Openai Whisper
@steipeteLocal speech-to-text with the Whisper CLI (no API key).
Tavily 搜索
@jacky1n7Web search via Tavily API (alternative to Brave). Use when the user asks to search the web / look up sources / find links and Brave web_search is unavailable...
Baidu web search
@ide-reaSearch the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.