typst-author
Generate idiomatic Typst (.typ) code, edit and troubleshoot Typst documents and projects, and answer Typst syntax/reference questions.
Skill by miaodemimi
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/miaodemimi-typst-author
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
typst-author- Description
- Generate idiomatic Typst (.typ) code, edit and troubleshoot Typst documents and projects, and answer Typst syntax/reference questions. Use when working with .typ files or when the user explicitly asks for Typst document creation, editing, debugging, compilation, formatting, template work, or package usage.
- License
- MIT
- Instructions
- 160 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- name: missing
Files (199)
- SKILL.md
- 0.1.0.md · docs/changelog/
- 0.10.0.md · docs/changelog/
- 0.11.0.md · docs/changelog/
- 0.11.1.md · docs/changelog/
- 0.12.0.md · docs/changelog/
- 0.13.0.md · docs/changelog/
- 0.13.1.md · docs/changelog/
- 0.14.0.md · docs/changelog/
- 0.14.1.md · docs/changelog/
- 0.14.2.md · docs/changelog/
- 0.2.0.md · docs/changelog/
- 0.3.0.md · docs/changelog/
- 0.4.0.md · docs/changelog/
- 0.5.0.md · docs/changelog/
- 0.6.0.md · docs/changelog/
- 0.7.0.md · docs/changelog/
- 0.8.0.md · docs/changelog/
- 0.9.0.md · docs/changelog/
- earlier.md · docs/changelog/
- index.md · docs/changelog/
- accessibility.md · docs/guides/
- for-latex-users.md · docs/guides/
- index.md · docs/guides/
- page-setup.md · docs/guides/
- tables.md · docs/guides/
- index.md · docs/
- context.md · docs/reference/
- cbor.md · docs/reference/data-loading/
- csv.md · docs/reference/data-loading/
- index.md · docs/reference/data-loading/
- json.md · docs/reference/data-loading/
- read.md · docs/reference/data-loading/
- toml.md · docs/reference/data-loading/
- xml.md · docs/reference/data-loading/
- yaml.md · docs/reference/data-loading/
- arguments.md · docs/reference/foundations/
- array.md · docs/reference/foundations/
- assert.md · docs/reference/foundations/
- auto.md · docs/reference/foundations/
- bool.md · docs/reference/foundations/
- bytes.md · docs/reference/foundations/
- calc.md · docs/reference/foundations/
- content.md · docs/reference/foundations/
- datetime.md · docs/reference/foundations/
- decimal.md · docs/reference/foundations/
- dictionary.md · docs/reference/foundations/
- duration.md · docs/reference/foundations/
- eval.md · docs/reference/foundations/
- float.md · docs/reference/foundations/
- function.md · docs/reference/foundations/
- index.md · docs/reference/foundations/
- int.md · docs/reference/foundations/
- label.md · docs/reference/foundations/
- module.md · docs/reference/foundations/
- none.md · docs/reference/foundations/
- panic.md · docs/reference/foundations/
- plugin.md · docs/reference/foundations/
- regex.md · docs/reference/foundations/
- repr.md · docs/reference/foundations/
- …and 139 more
SKILL.md (first lines)
# typst-author skill
## Overview
This skill helps agents generate, edit, and reason about Typst documents. It provides quick‑start examples, detailed workflows, and links to the full Typst documentation (guides, tutorials, reference).
## Minimal document example
```typst
#set document(title: "My Document", author: "Author Name")
#set page(numbering: "1")
#set text(lang: "en")
// Enable paragraph justification and character-level justification
#set par(
justify: true,
justification-limits: (
tracking: (min: -0.012em, max: 0.012em),
spacing: (min: 75%, max: 120%),
)
)
#title[My Document]
= Heading 1
This is a paragraph in Typst.
== Heading 2
#lorem(50)
```
## Workflows
- **Creating a new Typst project**: Use the "Minimal document example" above as a starting point. Skim the tutorial for the basics ([docs/tutorial/writing-in-typst.md](docs/tutorial/writing-in-typst.md)), then create the `.typ` file(s). After each `.typ` edit, follow the post-edit formatting checks below when `typstyle` is available.
- **Editing existing content**: Locate the target text and apply changes; confirm syntax against the reference when needed ([docs/reference/](docs/reference/)). After each modified `.typ` file, follow the post-edit formatting checks below.
- **Formatting & Styling**: Consult the styling guide ([docs/reference/styling.md](docs/reference/styling.md)) for `set rule`, `show rule`, and custom themes.
## Documentation
- **Syntax & foundations**: `docs/reference/syntax.md`
- **Styling & show/set rules**: `docs/reference/styling.md`
- **Scripting & runtime behavior**: `docs/reference/scripting.md`
- **Page setup & tables**: `docs/guides/page-setup.md` and `docs/guides/tables.md`
- **Task-oriented authoring help**: `docs/tutorial/writing-in-typst.md`, `docs/guides/*.md`, and `docs/reference/**/*.md`
## Detailed instructions
1. **PRIORITY: Trust local documentation**. Your internal training data regarding Typst may be outdated or hallucinated. Always verify function names, parameters, and syntax against the local `docs/` folder before generating code.
2. **Read the relevant documentation** using local file search and open tools on the paths above.
3. **Use local docs for syntax and reference questions**. Verify syntax, function names, parameters, and reference behavior from the bundled docs. Run a minimal Typst probe only when runtime or evaluation behavior remains unclear after checking the docs.
4. **Generate or modify the `.typ` source** according to the user's request.
5. **Run the post-edit formatting checks below** for every `.typ` file you created or edited in that pass.
6. **Validate** with `typst compile` after the formatting decision is complete when you created or edited `.typ` files, or when the user explicitly asks for verification (if tool access is allowed).
7. **Summarize touched files and outcomes**. Provide full `.typ` content only when the user requests it or when direct editing is not possible, and optionally include a rendered preview (PDF/HTML).
### Probing uncertain behavior
- Use a probe when the bundled docs do not settle runtime or evaluation behavior.
- Model the case with Typst scripting as described in [docs/reference/scripting.md](docs/reference/scripting.md).
- When a probe is necessary, prefer a fileless probe through stdin instead of creating scratch `.typ` files. Expose the value with `metadata(...) <probe>` and read it with `typst query - "<probe>" --field value --one`. See [docs/reference/introspection/query.md](docs/reference/introspection/query.md) and [docs/reference/introspection/metadata.md](docs/reference/introspection/metadata.md).
- Example: `printf '#metadata(1 + 2) <probe>\n' | typst query - "<probe>" --field value --one`
### Post-edit formatting checks
1. **Check whether `typstyle` is available** with `command -v typstyle`. If it is unavailable, skip the remaining formatting checks.
2. **After each `.typ` file modification, run `typstyle --check <file>`** for the file you just created or edited.
3. **If `typstyle --check` fails, inspect the formatter changes with `typstyle --diff <file>`** before deciding what to do.
4. **Apply formatting with `typstyle -i <file>`** only when the formatter changes are limited to a newly created file or to code you created or edited in the current task.
5. **Stop and ask the user when formatting would change untouched pre-existing code**. If the diff reaches outside your own edits, or if you cannot confidently prove that every formatter change is limited to your edits, ask instead of formatting.
## Quick syntax reference
### Critical distinctions
- **Arrays**: `(item1, item2)` (parentheses). See [docs/reference/foundations/array.md](docs/reference/foundations/array.md).
- **Dictionaries**: `(key: value, key2: value2)` (parentheses with colons). See [docs/reference/foundations/dictionary.md](docs/reference/foundations/dictionary.md).
- **Content blocks**: `[markup content]` (square brackets). See [docs/reference/foundations/content.md](docs/reference/foundations/content.md).
- **NO tuples**: Typst only has arrays.
### Hash usage (markup vs code)
- Use `#` to start a code expression inside markup or content blocks; it disambiguates code from text. This is required for content-producing function calls and field access in markup: `#figure[...]`, `#image("file.png")`, `text(...)[#numbering(...)]`.
- Do not use `#` inside code contexts (argument lists, code blocks, show-rule bodies). Example: `#figure(image("file.png"))` (no `#` before `image`).
- Reference: [docs/reference/scripting.md](docs/reference/scripting.md), [docs/tutorial/writing-in-typst.md](docs/tutorial/writing-in-typst.md)
```typst
// Incorrect (missing # inside content block)
text(...)[(numbering(...))]
// Correct
text(...)[(#numbering(...))]
```
### Styling rules: set vs show
- `set`: Set rule to configure optional parameters on element functions (style defaults scoped to the current block or file).
- `show`: Show rule to target selected elements and apply a set rule or transform/replace the element output.
- Use `set` for common styling; use `show` for selective or structural changes (e.g., `heading.where(level: 1)`, labels, text, regex).
```typst
// Set rule: configure optional parameters for an element type
#set heading(numbering: "I.")
#set text(font: "New Computer Modern")
// Show-set rule: apply a set rule only to selected elements
#show heading: set text(navy)
// Show transform rule: replace/reshape element output
#show heading: it => block[#emph(it.body)]
```
## Common mistakes to avoid
- Calling things "tuples" (Typst only has arrays).
- Using `[]` for arrays (use `()` instead).
- Accessing array elements with `arr[0]` (use `arr.at(0)`).
- Omitting `#` in markup/content blocks (e.g., `text(...)[numbering(...)]` should be `text(...)[#numbering(...)]`).
- Using `#` inside code contexts (e.g., `figure(#image("x.png"))` in an argument list).From miaodemimi/mathmodel-skills, MIT.
More from miaodemimi/mathmodel-skills
- 0.563score
6verity
miaodemimi
数学建模竞赛最终验证和验收阶段,支持 Typst 和 LaTeX 双引擎。用于论文写完后检查章节数量、标题顺序、图表引用、数值一致性、占位符、内部文件泄露、参考文献、代码可复现性、编译和提交就绪状态。
SkillBFreshness: B★ 3Claude Code +9 - 0.563score
7cumcm-submit
miaodemimi
对 CUMCM 2026 论文和支撑材料执行最终合规门禁:核对摘要与页码、无目录、正文页数、匿名、AI 声明与详情、完整源码、文件大小和清单一致性,并构建提交归档。仅用于 CUMCM 提交准备。
SkillBFreshness: B★ 3Claude Code +9 - 0.561score
4drawio
miaodemimi
数学建模非数据型图示绘制阶段。根据 ANALYSIS_MODELING_REPORT.md、RESULTS_REPORT.md 和已有 figures/ 生成技术路线图、子问题求解流程图、模型结构图、数据处理流程图等 DrawIO 图,并导出论文可引用 PDF。
SkillBFreshness: B★ 3Claude Code +9 - 0.561score
5writing
miaodemimi
数学建模竞赛论文撰写阶段,支持 Typst 和 LaTeX 双引擎。根据 ANALYSIS_MODELING_REPORT.md、RESULTS_REPORT.md 和 figures/*.pdf 选择比赛模板、排版引擎、组织章节,并在论文正文中按章节直接插入图表。
SkillBFreshness: B★ 3Claude Code +9 - 0.558score
1start-mathmodel
miaodemimi
启动数学建模竞赛工作流,确认竞赛与排版偏好,初始化计划、待办和阶段产物。识别 CUMCM 2026 时启用人工决策门禁、AI 使用留痕、正式比赛检索限制和提交打包流程。
SkillBFreshness: B★ 3Claude Code +9 - 0.558score
3coding-visual
miaodemimi
将已确认的数学模型实现为可复现代码,运行主模型与 baseline,独立验证约束和关键结果,保存中间产物并生成论文可用的数据图。CUMCM 2026 模式下记录 AI 使用并执行核心结果人工核验门禁。
SkillBFreshness: B★ 3Claude Code +9 - 0.558score
2analysis-modeling
miaodemimi
分析数学建模赛题与附件,澄清歧义,设计并比较候选模型,通过快速实验和独立审查形成可实现方案。CUMCM 2026 模式下执行题意与核心建模人工门禁并记录 AI 使用。
SkillBFreshness: B★ 3Claude Code +9 - 0.549score
_references
miaodemimi
共享规范知识库。包含数学建模通用防错知识与 CUMCM 2026 官方规则基线,供其他 skills 按需读取,不单独触发。
SkillBFreshness: B★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 28, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/miaodemimi/mathmodel-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
- 0.813score
typst-author
Optima-CityU
Generate idiomatic Typst (.typ) code, edit and troubleshoot Typst documents and projects, and answer Typst syntax/reference questions.
SkillAFreshness: A★ 677Claude Code +9 - 0.325score
typst-author
Icyw-git
Generate idiomatic Typst (.typ) code, edit and troubleshoot Typst documents and projects, and answer Typst syntax/reference questions.
SkillBFreshness: B★ 1Claude Code +9 - 0.295score
typst-author
PeterPan0914
Generate idiomatic Typst (.typ) code, edit and troubleshoot Typst documents and projects, and answer Typst syntax/reference questions.
SkillCFreshness: C★ 1Claude Code +9
More from miaodemimi
- 0.563score
6verity
miaodemimi
数学建模竞赛最终验证和验收阶段,支持 Typst 和 LaTeX 双引擎。用于论文写完后检查章节数量、标题顺序、图表引用、数值一致性、占位符、内部文件泄露、参考文献、代码可复现性、编译和提交就绪状态。
SkillBFreshness: B★ 3Claude Code +9 - 0.563score
7cumcm-submit
miaodemimi
对 CUMCM 2026 论文和支撑材料执行最终合规门禁:核对摘要与页码、无目录、正文页数、匿名、AI 声明与详情、完整源码、文件大小和清单一致性,并构建提交归档。仅用于 CUMCM 提交准备。
SkillBFreshness: B★ 3Claude Code +9 - 0.561score
4drawio
miaodemimi
数学建模非数据型图示绘制阶段。根据 ANALYSIS_MODELING_REPORT.md、RESULTS_REPORT.md 和已有 figures/ 生成技术路线图、子问题求解流程图、模型结构图、数据处理流程图等 DrawIO 图,并导出论文可引用 PDF。
SkillBFreshness: B★ 3Claude Code +9 - 0.561score
5writing
miaodemimi
数学建模竞赛论文撰写阶段,支持 Typst 和 LaTeX 双引擎。根据 ANALYSIS_MODELING_REPORT.md、RESULTS_REPORT.md 和 figures/*.pdf 选择比赛模板、排版引擎、组织章节,并在论文正文中按章节直接插入图表。
SkillBFreshness: B★ 3Claude Code +9 - 0.558score
1start-mathmodel
miaodemimi
启动数学建模竞赛工作流,确认竞赛与排版偏好,初始化计划、待办和阶段产物。识别 CUMCM 2026 时启用人工决策门禁、AI 使用留痕、正式比赛检索限制和提交打包流程。
SkillBFreshness: B★ 3Claude Code +9 - 0.558score
3coding-visual
miaodemimi
将已确认的数学模型实现为可复现代码,运行主模型与 baseline,独立验证约束和关键结果,保存中间产物并生成论文可用的数据图。CUMCM 2026 模式下记录 AI 使用并执行核心结果人工核验门禁。
SkillBFreshness: B★ 3Claude Code +9
Cite this page
typst-author skill. Agent Mart. https://agentmart.dev/skills/miaodemimi-typst-author (last updated 2026-10-24)