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 compile a Typst document — especially an academic or research paper in NeurIPS/arXiv style (the neurips-paper template) — or says "make a Typst paper", "write a conference paper in Typst", "typeset this as a paper", "compile this .typ", or "turn this into a PDF paper". This is a template framework: pick a template under templates/, copy and customize it, then build with scripts/compile.sh (typst compile, per-page PNG previews). New document types are added as templates.
Rank
62
Safety
84
Downloads
2.8k
Updated
Oct 9, 2026
Version
0.1.0
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 2.8K downloads reported by the source. Last updated 10/9/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 9, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 9, 2026
- Adoption signal
- 2.8K downloadsadoption · observed Oct 9, 2026
- Latest release
- 0.1.0release · observed Aug 1, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s17bjj651tmkhdynwm2xvf6fg58becdm:skills-typst- Install using `clawhub skill install s17bjj651tmkhdynwm2xvf6fg58becdm:skills-typst` in an isolated environment before connecting it to live workloads.
- No published capability contract is available yet, so validate auth and request/response behavior manually.
- Review the upstream CLAWHUB listing at https://clawhub.ai/kirklin/skills-typst before using production credentials.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-kirklin-skills-typst/snapshot"
Documentation
CLAWHUB
31,740 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: kirklin-typst
description: >-
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 compile a Typst document — especially an academic or research
paper in NeurIPS/arXiv style (the neurips-paper template) — or says "make a Typst
paper", "write a conference paper in Typst", "typeset this as a paper", "compile
this .typ", or "turn this into a PDF paper". This is a template framework: pick a
template under templates/, copy and customize it, then build with
scripts/compile.sh (typst compile, per-page PNG previews). New document types are
added as templates.
---
# kirklin-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 `.typ` to PDF and showing previews.
- More document types will arrive as templates — always check `references/templates.md`
before 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
1. **Pick a template.** Match the user's document type to a template using the
catalog in [references/templates.md](references/templates.md).
2. **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.
3. **Customize.** Edit the main `.typ` (title, authors, sections). Each template's
own `README.md` documents its file map and exactly what to replace.
4. **Compile.**
```bash
bash scripts/compile.sh <path>/paper.typ --preview
```
Runs `typst compile` (single pass — references, citations, and outline resolved
automatically), writes the PDF, and renders one PNG per page.
5. **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](references/templates.md).
## Compiling
```bash
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-pREADME.md
# skills-typst Kirk Lin's Typst skill for AI agents — curated, compile-tested document templates with a one-command PDF build. Describe a document; get a finished PDF. No typesetting wrangling required. ## Layout | Path | What | |---|---| | [`SKILL.md`](SKILL.md) | Skill entry point (the agent reads this) | | [`templates/`](templates/) | Self-contained document templates — start with `neurips-paper` | | [`scripts/compile.sh`](scripts/compile.sh) | Build a `.typ` to PDF + PNG previews | | [`references/`](references/) | Template catalog and the "add a template" guide | | [`examples/`](examples/) | Rendered previews of each template | ## Build ```bash bash scripts/compile.sh templates/neurips-paper/paper.typ --preview ``` Requires the [`typst`](https://github.com/typst/typst) CLI (`brew install typst`) and `poppler-utils` (`pdftoppm`) for previews. ## Templates - **neurips-paper** — single-column NeurIPS/arXiv-style research paper. Self-contained: the NeurIPS-like styling is a local `neurips.typ` function, so it compiles offline with no `@preview` package fetch. Sample content recreates *Attention Is All You Need*. Adding your own → [`references/adding-templates.md`](references/adding-templates.md). ## Install as an agent skill `SKILL.md` uses the open Agent Skill format, so it isn't tied to any one AI agent. Place (or symlink) this repository wherever your agent loads skills from, as a folder named `kirklin-typst` (matching the `name:` in `SKILL.md`). ## Sibling This is the Typst counterpart to [`skills-latex`](../skills-latex) — same framework shape (templates + one-command build + previews), different engine.
templates/neurips-paper/README.md
# neurips-paper — kirklin Typst 模板
一套单栏、NeurIPS 风格的学术论文模板,**完整复刻** 原论文 **《Attention Is All You
Need》**(Vaswani et al., NeurIPS 2017):带上下横线的标题、4/3/1 多作者块加等贡献脚注
(`*`/`†`/`‡`)、全部编号章节、行内与行间公式、`booktabs` 风格的四张表(含最复杂的 Model
Variations 合并表头/跨行表)、**真实的架构图与注意力可视化图片**(`Figures/`、`vis/`,用
`image()` 嵌入,不是手绘)、数字编号引用(ACM 样式,贴近原文 `plain`)、40 条参考文献,以及附录里的注意力可视化。
## 自成一体,离线可编译
样式全部写在本地的 `neurips.typ` 里(一个 `#neurips(...)` 函数),**不依赖任何
`@preview` 包**,所以无需联网下载、在沙箱里也能编译。为贴近真实 NeurIPS 版式,正文用
**Times New Roman**、公式用 **STIX Two Math**(Times 兼容的数学字体)——都是 Typst
自带字体,`typst fonts` 可查。标题的粗/细双横线、加粗作者名、`*`/`†`/`‡` 页脚脚注、
第一页会议脚注、其后页码,都按 `nips_2017.sty` 的观感复刻。
```bash
# 在仓库根目录
bash scripts/compile.sh templates/neurips-paper/paper.typ --preview
# 或直接用 typst
typst compile templates/neurips-paper/paper.typ
```
产物为 15 页 PDF。Typst 单遍编译即可解析交叉引用、引文与目录——没有 latexmk 多轮那一套。
## 文件结构
```
paper.typ 主文件:标题 / 作者 / 摘要,并 #include 各章节 + 参考文献
neurips.typ 样式函数 #neurips(...)(样式的核心,改这里换版式)
introduction.typ 第 1 节 Introduction
background.typ 第 2 节 Background
model-architecture.typ 第 3 节 Model Architecture(公式 + Figure 1/2 真实图片)
why-self-attention.typ 第 4 节 Why Self-Attention(含复杂度表 Table 1)
training.typ 第 5 节 Training(含学习率公式)
results.typ 第 6 节 Results(WMT / Model Variations / Parsing 三张表)
visualizations.typ 附录 Attention Visualizations(Figure 3/4/5 真实图片)
references.bib BibTeX 参考文献库,40 条(Typst 原生读取 .bib)
Figures/ModalNet-*.png Figure 1 架构图、Figure 2 注意力示意图
vis/*.png 附录注意力可视化(原为 PDF,已转 PNG 供 Typst 嵌入)
```
## 改成你自己的论文
1. **标题与作者**:改 `paper.typ` 里 `neurips.with(...)` 的 `title` 和 `authors`。
`authors` 是字典数组,键为 `name` / `affiliation` / `email`,外加可选的 `note`
(给该作者单独挂一个脚注,符号自动排为 `†`、`‡`…);`affiliation` 留空则不显示那一行。
全体作者共享 `*` 等贡献脚注,正文由 `equal-contribution:` 参数给出。
**作者分行**由 `authors-per-row:` 控制:给整数是等分(如 `4`),给数组是逐行指定
(如 `(4, 3, 1)`——本样张即用它复刻了原论文 4/3/1 的排布)。第一页底部的会议信息由
`venue:` 给出,其后页面自动居中页码。
2. **摘要**:改 `abstract:` 的内容。
3. **章节**:逐个替换 `*.typ` 的正文;不需要的章节,把 `paper.typ` 里对应的 `#include`
删掉即可。用 `= 标题` 建一级节、`==` 二级、`===` 三级。
4. **图**:图都用真实图片,`#figure(image("Figures/…png", width: …))` 嵌入。注意 Typst
的 `image()` 支持 **PNG/JPG/SVG,但不支持 PDF**——PDF 图请先转 PNG/SVG(本模板 `vis/`
即由 `pdftoppm -png` 从原论文 PDF 转来)。换你自己的图:替换 `Figures/`、`vis/` 里的
文件并改 `image()` 路径即可。
5. **表**:`results.typ` 用 `#table(stroke: none)` + `table.hline()` 做三线表;最复杂的
Model Variations 表用 `table.cell(rowspan: …)` 做 (A)–(E) 分组标签、`table.cell(colspan:
…)` 做合并表头,`table.vline()` 加竖分隔线。
6. **参考文献**:往 `references.bib` 加条目,正文用 `@bibkey` 引用。样张用
`style: "association-for-computing-machinery"`(全名 + 数字编号 + 字母序,最接近
LaTeX 的 `plain`);换风格改 `paper.typ` 末尾的 `bibliography(...)`(如 `"ieee"`、
`"apa"`、`"chicago-author-date"`)。
## 出处与署名
本模板的正文、图表与参考文献取自《Attention Is All You Need》(arXiv:1706.03762),
仅作**排版样张**。把它当模板使用时,请替换为你自己的内容。样式函数 `neurips.typ`
是对 NeurIPS 版式的近似复刻,非官方文件。_meta.json
{
"ownerId": "kn70wergfnb9st8463q8hc3s3s8bf57q",
"slug": "skills-typst",
"version": "0.1.0",
"publishedAt": 1785586148551
}references/adding-templates.md
# Adding a Template
kirklin-typst grows by adding templates, not by editing one giant document. A
template is a self-contained directory a user can copy and compile on its own.
## Required layout
```
templates/<name>/
<main>.typ # the document — title, authors, body
<style>.typ # the style function it imports (keep styling out of the body)
README.md # what it produces, its file map, what to replace
<assets…> # any .bib, images, or #include section files it needs
```
## Quality rules
1. **Self-contained.** Bundle every dependency (style function, images, `.bib`,
section files). A user who copies only `templates/<name>/` must be able to
compile it with nothing else. **Prefer a local `.typ` style function over a
`@preview` package** — a package needs a network fetch on first compile, which
breaks offline/sandboxed builds. Vendor it instead.
2. **Compile-tested.** It must build cleanly through `scripts/compile.sh` with
**zero** Typst errors (warnings tolerated, but read them and fix what you can).
3. **Real sample content.** Fill it with realistic content so the output looks like
a finished document — not `#lorem(50)` placeholders or empty sections.
4. **Documented.** `README.md` gives the file map and names exactly what a user
swaps to make it their own.
5. **Previewed.** Commit rendered PNGs (and the sample PDF) under `examples/<name>/`
so the look is visible without compiling.
## Register it
1. Add a row to the `## Templates` table in [../SKILL.md](../SKILL.md).
2. Add a section to [templates.md](templates.md) with the standard shape:
Produces / When to use / Build / Design / Adapt it / Preview.
## Typst notes
- **Fonts:** stick to fonts that ship with Typst (`New Computer Modern`,
`Libertinus Serif`, `Times New Roman`, `STIX Two`) so the template renders the
same everywhere. Check with `typst fonts`. If a template needs a bundled custom
font, ship it in the template dir and document `--font-path`.
- **Bibliography:** Typst reads BibTeX `.bib` **and** Hayagriva `.yml` natively via
`#bibliography(...)`. To match LaTeX's `plain` (full author names, numbered,
alphabetical), `style: "association-for-computing-machinery"` is the closest
bundled style; `"ieee"` gives initials + citation order instead.
- **References:** label with `<key>` and cite/reference with `@key` — resolved in the
same single pass, no BibTeX round-trips.
- **Figures — use real images:** when recreating a real document, embed its actual
figure files with `#figure(image("Figures/…"))` and bundle them in the template
dir. Typst's `image()` takes PNG/JPG/GIF/SVG but **not PDF** — convert first
(`pdftoppm -png in.pdf out`). Reserve native drawing (`rect`/`grid`/`line`) for
genuinely simple schematics with no source image; a hand-drawn stand-in for a real
figure reads as "not the same document".
## Prefer authentic sources
When recreating a known document (a paper, a report format, activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/kirklin/skills/skills-typst",
"sourceUrl": "https://clawhub.ai/kirklin/skills/skills-typst",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T11:39:51.504Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-kirklin-skills-typst/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-kirklin-skills-typst/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T11:39:51.504Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "2.8K downloads",
"href": "https://clawhub.ai/kirklin/skills-typst",
"sourceUrl": "https://clawhub.ai/kirklin/skills-typst",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T11:39:51.504Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "0.1.0",
"href": "https://clawhub.ai/kirklin/skills-typst",
"sourceUrl": "https://clawhub.ai/kirklin/skills-typst",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-08-01T12:09:08.551Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-kirklin-skills-typst/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-kirklin-skills-typst/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 0.1.0",
"description": "Initial release of kirklin-typst: a framework for creating and compiling Typst documents from curated templates. - Provides compile-tested Typst templates (including NeurIPS/arXiv-style \"neurips-paper\"). - One-command build script (`scripts/compile.sh`) compiles .typ files to PDF and generates PNG previews for each page. - Designed for writing, typesetting, or compiling academic and research papers in Typst. - Workflow: pick a template, copy to outputs, customize, build, and deliver PDF/preview. - Framework supports adding new document types as self-contained template directories.",
"href": "https://clawhub.ai/kirklin/skills-typst",
"sourceUrl": "https://clawhub.ai/kirklin/skills-typst",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-08-01T12:09:08.551Z",
"isPublic": true
}
]
}Record generated Oct 9, 2026.
