Install
$ agentstack add skill-lucifer1004-claude-skill-typst-typst ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Typst
This skill targets Typst 0.15+ by default. For Typst 0.14.2, use the typst-0.14.2 repository tag for the previous skill snapshot, typst query for CLI introspection, or --channel 0.14.2 with API search.
Compilation
typst compile document.typ # compile once → PDF
typst compile document.typ output.pdf # explicit output path
typst compile document.typ -f png # export as PNG image
typst compile src/main.typ --root . # set project root for /path imports
typst watch document.typ # recompile on change
typst eval --in document.typ 'query(heading).len()' # Typst 0.15+ introspection
For command options beyond this quick reference, see [cli.md](cli.md).
Agent verification — choose by what you need to check (see [debug.md](debug.md) for details):
| Method | Command | Best for | | ----------- | ----------------------------------------------------------------------- | ----------------------------------------- | | HTML export | typst compile doc.typ /dev/stdout -f html --features html 2>/dev/null | Text content, structure, headings, tables | | PNG export | typst compile doc.typ page-{p}.png -f png | Visual layout, alignment, spacing, fonts | | pdftotext | typst compile doc.typ && pdftotext doc.pdf - | Fallback for page-specific content |
Minimal Document
#set page(paper: "a4", margin: 2cm)
#set text(size: 11pt)
= Title
Content goes here.
Writing Documents
Starting a new document? Copy the closest recipe from [Examples](#examples) below — it's faster than starting blank and each row names the docs to read next.
| When you need to... | Read | | -------------------------------------------------- | ------------------------------ | | Learn syntax, imports, functions, control flow | [basics.md](basics.md) | | Learn data types, operators, string/array methods | [types.md](types.md) | | Style pages, headings, figures, layout | [styling.md](styling.md) | | Tables, grids, cell spans, borders, data tables | [tables.md](tables.md) | | Academic papers, bibliography, theorems, equations | [academic.md](academic.md) | | Convert from Markdown or LaTeX | [conversion.md](conversion.md) | | Use Typst CLI commands and build options | [cli.md](cli.md) | | Extract data from documents, multi-pass builds | [query.md](query.md) |
Developing Packages and Templates
| When you need to... | Read | | ---------------------------------------------- | -------------------------- | | State, counters, in-document query(), XML | [advanced.md](advanced.md) | | CLI introspection, metadata export, multi-pass | [query.md](query.md) | | Create a reusable template function | [template.md](template.md) | | Create or publish a package | [package.md](package.md) | | Verify output (HTML/PNG/pdftotext, repr) | [debug.md](debug.md) | | Profile performance (--timings, hotspots) | [perf.md](perf.md) |
[basics.md](basics.md) and [types.md](types.md) are also the foundation for developers.
Finding Packages
Search the embedded index of Typst Universe packages (updated weekly):
python3 scripts/search-packages.py "what you need"
python3 scripts/search-packages.py "chart" --category visualization
python3 scripts/search-packages.py --category cv --top 5
python3 scripts/search-packages.py --list-categories
Common Errors
| Error | Cause | Fix | | ------------------------------------------------ | ---------------------------- | ---------------------------------------------------- | | "unknown variable" | Undefined identifier | Check spelling, ensure #let before use | | "expected X, found Y" | Type mismatch | Check function signature in docs | | "file not found" | Bad import path | Paths resolve relative to current file | | "unknown font" | Font not installed | Use system fonts or web-safe alternatives | | "maximum function call depth exceeded" | Deep recursion | Use iteration instead | | "can only be used when context is known" | Missing context wrapper | Wrap in context { ... } | | "unexpected argument" | = instead of : for args | Named args use : syntax: func(name: value) | | "variables from outside are read-only" | Mutating captured variable | Use loop accumulation or state() — see advanced.md | | "expected content, found string" (or vice versa) | Content/string type mismatch | Use [#str-var] to embed string in content | | set/show rule has no effect | Rule placed after content | Place set/show rules before the content they target |
Examples
Copy the closest starter, adjust, compile. For CVs, letters, or slides, search packages: python3 scripts/search-packages.py --category cv (or letter, presentation).
| Example | Start here when you want... | Next read | | --------------------------------------------------- | ---------------------------------------- | ------------------------------------------------ | | [basic-document.typ](examples/basic-document.typ) | A short note or memo | [basics.md](basics.md), [styling.md](styling.md) | | [styled-document.typ](examples/styled-document.typ) | A multi-section report with page styling | [styling.md](styling.md), [tables.md](tables.md) | | [template-report.typ](examples/template-report.typ) | A reusable template for a series | [template.md](template.md) | | [tables-showcase.typ](examples/tables-showcase.typ) | A data-heavy doc (tables, CSV/JSON) | [tables.md](tables.md), [types.md](types.md) | | [academic-paper.typ](examples/academic-paper.typ) | A paper with citations, theorems, math | [academic.md](academic.md) | | [query-export.typ](examples/query-export.typ) | Metadata export or multi-pass builds | [query.md](query.md) | | [package-example/](examples/package-example/) | A publishable package | [package.md](package.md) |
Dependencies
- typst CLI 0.15+ recommended: Install from https://typst.app or via package manager
- macOS:
brew install typst - Linux:
cargo install typst-cli - Windows:
winget install typst - pdftotext (optional): For text-level output verification
- Python 3.10+ (optional): For package search and validation scripts
- jq (optional): For parsing JSON output from
typst evalortypst queryin shell scripts
API Reference Search
Search the embedded index of Typst API functions, methods, and constructors:
python3 scripts/search-api.py "image width fit"
python3 scripts/search-api.py "color lighten" --kind method
python3 scripts/search-api.py --name str.position -v
python3 scripts/search-api.py "rightarrow" --kind symbol # LaTeX names work
python3 scripts/search-api.py "path" --channel 0.14.2 # legacy Typst 0.14 API
python3 scripts/search-api.py --list-categories
Ecosystem Tools
Ecosystem tools: tinymist (LSP/editor), typstyle (formatter), typst-package-check (package validator), tytanic (visual test runner). For package tooling details, see [package.md](package.md).
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: lucifer1004
- Source: lucifer1004/claude-skill-typst
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.