К основному содержанию
скилл CX Codex

typst — скилл для Claude Code: что делает и как установить

Помогает писать и компилировать документы в Typst, создавать шаблоны и конвертировать разметку из Markdown или LaTeX. Пригодится при вёрстке отчётов, статей и пакетов.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add lucifer1004/claude-skill-typst --skill typst -a claude-code
Открыть на GitHub

Что делает typst

Скилл обучает агента работать с файлами .typ, разметкой Typst 0.15+ и манифестом typst.toml. Внутри собраны справочники по синтаксису и правилам оформления set и show. Для поиска пакетов по экосистеме Typst Universe предусмотрен скрипт scripts/search-packages.py.

Агент умеет проверять вёрстку несколькими путями. Для структуры и заголовков запускается экспорт в HTML через --features html. Для проверки шрифтов и отступов рендерится PNG, а для текста отдельных страниц вызывается pdftotext.

Скилл написан строго под Typst 0.15+. Если в проекте осталась ветка 0.14.2, код из свежих рекомендаций сломается, поэтому для старых версий автор оставил отдельный тег typst-0.14.2.

Какие задачи решает

  • скомпилировать документ .typ в PDF или PNG
  • сконвертировать разметку из LaTeX или Markdown в Typst
  • оформить научную статью с формулами и списком литературы
  • создать переиспользуемый шаблон отчёта с правилами оформления

Примеры запросов агенту

  • Сконвертируй этот отчёт из Markdown в Typst и настрой поля страницы A4
  • Скомпилируй document.typ в PNG и проверь выравнивание заголовков
  • Найди в Typst Universe подходящий пакет для графиков через scripts/search-packages.py

Как установить typst

1Через Skills CLI (Vercel)

npx skills add lucifer1004/claude-skill-typst --skill typst -a claude-code

2Вручную: положить файлы

~/.claude/skills/typst/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/typst/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о typst

Как установить typst в Claude Code?

Выполните в терминале команду npx skills add lucifer1004/claude-skill-typst --skill typst -a claude-code.

Что делает скилл typst?

Он учит агента создавать документы Typst, компилировать их через CLI, переносить код из LaTeX и проверять результат рендеринга.

С какими версиями Typst работает скилл?

Набор инструкций рассчитан на Typst 0.15 и выше. Для поддержки Typst 0.14.2 автор рекомендует переключиться на тег репозитория typst-0.14.2.

Исходный текст

SKILL.md · MIT
---
name: typst
description: 'Typst document creation and package development. Use when: (1) Working with .typ files, (2) User mentions typst, typst.toml, or typst-cli, (3) Creating or using Typst packages, (4) Developing document templates, (5) Converting Markdown/LaTeX to Typst'
---

# Typst

This skill targets Typst 0.15+. For Typst 0.14.2, use the `typst-0.14.2`
repository tag for the previous skill snapshot.

## Compilation

```bash
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

```typst
#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) |
| Upgrade older Typst code, 0.15 breaking changes    | [migration.md](migration.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):

```bash
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 eval` in shell scripts

## API Reference Search

Search the embedded index of Typst API functions, methods, and constructors:

```bash
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 --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).

© lucifer1004 · MIT · lucifer1004/claude-skill-typst

Похожие скиллы

Всё по теме «Тексты и документация» →
typst-paper bahayonghang Скилл для работы с готовыми рукописями Typst. Диагностирует сборку, проверяет библиографию, чистит грамматику и AI-следы в английских и китайских статьях. CX Codex +1 1 500установок typst-author jihe520 Скилл помогает писать, править и форматировать документы Typst. Он направляет агента сверять синтаксис со справочниками и запускать проверки разметки. CX Codex +1 1 800установок kami tw93 Скилл вёрстки документов по шаблонам Kami: резюме, одностраничники, письма, портфолио, слайды и лендинги. Пригодится, когда нужен аккуратный PDF из готового макета. CX Codex +1 13 300установок rendercv rendercv Скилл учит агента собирать резюме и CV из YAML-файла и рендерить их в PDF, PNG, HTML и Markdown через Typst. Пригодится, когда нужно быстро переверстать резюме под конкретную вакансию. CX Codex +1 2 400установок latex-document-skill ndpvt-web Скилл верстает резюме, научные статьи, презентации и формы в LaTeX, собирает их в PDF через скрипты и отдаёт превью страниц в PNG. CX Codex +1 561установок cv-creator curiositech Собирает резюме под проверку ATS в форматах PDF, DOCX, LaTeX, Markdown и JSON. Пригодится для откликов на вакансии без лишнего визуального шума. CX Codex +1 774установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой