Skip to content

Releases: ChanMeng666/chanmeng-typst

v0.6.0 — CJK typesetting fixes and Typst 0.15 audit

Choose a tag to compare

@ChanMeng666 ChanMeng666 released this 01 Nov 07:15
05a139c

Audited against the full Typst 0.15.0 and 0.15.1 release notes, the commits after 0.15.1, and the official accessibility guide.

Fixed

  • CJK template and example: SimSun, SimHei and KaiTi have no bold or italic face, so bold and headings looked like body text. Bold, headings and emphasis now map to fonts that show a difference.
  • CJK template and example: first-line-indent: 2em skipped the first paragraph after a heading. They now use (amount: 2em, all: true).
  • Packages: updated cetz to 0.5.3 and modern-cv to 0.10.0, and replaced the unmaintained tablex with the native table.
  • CLI reference: added typst eval --target, the typst update options, the bundle feature, and combined PDF standards.

Added

  • references/typst-pitfalls.md gains a CJK text section, covering fonts with no bold, source line breaks that add a space, first-paragraph indents, 一、 numbering, and Latin fonts taking Chinese punctuation.
  • scripts/check-pdf.py warns about line breaks between CJK characters and about bold in a font with no bold face, lists the fonts used, and matches --require text across wrapped CJK lines.
  • references/typst-design-patterns.md gains sections on accessible PDFs and experimental bundle export.
  • references/typst-language-reference.md gains a section on features added in 0.15, including renamed citation styles.
  • CI compiles the ATS example as PDF/UA-1.
  • evals/ gains a Chinese report test case.

v0.5.1 — v() leading pitfall

Choose a tag to compare

@ChanMeng666 ChanMeng666 released this 01 Nov 05:12
b852fca

Added

  • references/typst-pitfalls.md covers how v() replaces the leading between two lines and how a weak v() at the end of a block disappears, with measured gaps from Typst 0.14.2 and 0.15.1.

v0.5.0 — verified output and fixed templates

Choose a tag to compare

@ChanMeng666 ChanMeng666 released this 01 Nov 05:04
11890b7

Added

  • scripts/check-pdf.py checks a compiled PDF for page count, font embedding, text extraction, lost hyphens and bare ~. Its --ats mode adds resume-specific checks.
  • references/typst-pitfalls.md covers bugs the compiler does not report. Each entry was reproduced on Typst 0.15.1.
  • references/ats-resume.md and examples/resume-ats.typ cover resumes read by job-portal parsers.
  • references/typst-design-patterns.md gains a section on long-lived document projects.
  • SKILL.md gains a verification step: render the pages, run the checker, and re-check after layout changes.
  • CI compiles every template in the references and runs check-pdf.py on the ATS example.
  • evals/ holds three test cases for comparing versions of the skill.

Fixed

  • Letter template: the code block was never closed, so copying it included the next section's heading and failed to compile.
  • Two-column resume template: theme: () was an array, not a dictionary, which failed to compile. v(1fr) also spread sections across the page with large gaps. Education details are now optional, and degree titles keep their capitalisation.
  • Replaced the nonexistent Linux Libertine font with Libertinus Serif.
  • target() examples now use context, which they require.
  • Language reference: corrected angle.l to chevron.l and a join example that failed on integers.
  • CLI reference: updated to 0.15.1, moved typst query to its replacement typst eval --in, and removed the nonexistent typst packages.
  • Trigger terms in Chinese moved from the SKILL.md body to description, where they can affect triggering.

v0.4.0 — renamed to chanmeng-typst

Choose a tag to compare

@ChanMeng666 ChanMeng666 released this 01 Nov 04:38
e3c033f

Changed (breaking)

  • Renamed to chanmeng-typst: the repository, plugin, marketplace, and skill directory (skills/chanmeng-typst/) now share one name. Install with /plugin install chanmeng-typst@chanmeng-typst and invoke with /chanmeng-typst. Old GitHub addresses redirect.

Migration for existing users

  • Plugin installs: the plugin and marketplace were both renamed, so remove the old install and add the new one:
    /plugin uninstall typst@chan-typst
    /plugin marketplace remove chan-typst
    /plugin marketplace add ChanMeng666/chanmeng-typst
    /plugin install chanmeng-typst@chanmeng-typst
    
  • Copied skills: replace ~/.claude/skills/typst/ with ~/.claude/skills/chanmeng-typst/, using the install steps in the README.

Fixed

  • CI failed after the rename because validate.yml still asserted the old typst name. It now checks that the skill directory, SKILL.md frontmatter, plugin.json, and marketplace.json agree, so a future rename cannot leave a hard-coded name behind.
  • README: finished the rename in the Windows install paths, the load check, the directory tree, and the troubleshooting table; corrected the plugin path to verify-typst.sh.

CI

  • Pinned Typst to 0.15.1 and derived the cache key from that version (it previously said v0.14 while installing the latest release).
  • Moved to actions/checkout@v7 and actions/cache@v6, which run on Node.js 24.

v0.3.0 — first verified release

Choose a tag to compare

@ChanMeng666 ChanMeng666 released this 29 Apr 11:28

What this skill does

A Claude Code skill that lets Claude Code generate professional PDFs — CVs, cover letters, academic papers, slide decks, invoices, reports — using the Typst typesetting system. Strong CJK (Chinese / Japanese / Korean) support out of the box.

After install, just ask in plain language:

Generate a one-page CV PDF for me with three sample work experiences.
帮我用 Typst 生成一份中文求职信 PDF。

Claude Code consults the bundled SKILL.md (decision tree, 9 templates, recovery recipes) and produces a .typ source plus the compiled PDF.

Install (recommended)

Inside Claude Code, run two slash commands:

/plugin marketplace add ChanMeng666/typst-claude-skill
/plugin install typst@chan-typst

Then /plugin list should show:

typst@chan-typst
  Version: 0.3.0
  Status: ✔ enabled

Three other install paths (git clone, manual ZIP, project-level) are covered in the README.

You also need the Typst CLI binary on your PATH:

winget install --id Typst.Typst   # Windows
brew install typst                # macOS
cargo install --locked typst-cli  # any platform with Rust

Why 0.3.0 is the first release

Tags v0.2.0 and v0.2.1 exist in git history but were never published as releases here. During acceptance testing of v0.2.1, we caught a runtime issue: the plugin manifest used "skills": ["./"] (a pattern documented in the Plugins reference under Path behavior rules) which is rejected at load time by Claude Code 2.1.123 with Error: Path escapes plugin directory: ./ (skills). The plugin would install but fail to load.

v0.3.0 is a structural fix — the actual skill content was moved from the repo root into skills/typst/ so the loader uses canonical auto-discovery — and it's the first version that has been verified end-to-end via the /plugin install path.

Breaking change vs. earlier git tags

If you previously installed via the v0.2.x direct git clone route (git clone … ~/.claude/skills/typst), do not git pull — the v0.3.0 layout would replace SKILL.md at the root with a skills/typst/ subdirectory and break the skill. Instead:

# remove the old direct-clone install
rm -rf ~/.claude/skills/typst
# then use the recommended plugin marketplace path above

Or if you prefer a fresh direct clone, see Method 2 in the README — it's now a clone-and-move pattern.

The plugin marketplace install path was unchanged for direct end-users (same two slash commands), so anyone discovering the skill today can ignore this section.

What's bundled

  • SKILL.md — decision tree (which template?), recovery recipes (stderr first-line → fix), Vercel/serverless gotcha, CJK font fallback recipe, trigger cheat-sheet
  • 9 ready-to-use templates under references/typst-templates.md — General Document, CJK Document, Academic Paper, Simple Resume, Typographic Resume, Letter, Technical Report, Presentation, Invoice
  • 3 self-contained example .typ files under examples/ — hello-world.typ, cjk-document.typ, resume-basic.typ
  • scripts/verify-typst.sh — environment checker (CLI version, write permissions, available CJK fonts)
  • CI that compiles every example, validates SKILL.md frontmatter, and validates plugin/marketplace JSON on every push

Verified install (Claude Code 2.1.123)

/plugin marketplace add ChanMeng666/typst-claude-skill
  ✔ Successfully added marketplace: chan-typst (declared in user settings)

/plugin install typst@chan-typst
  ✔ Successfully installed plugin: typst@chan-typst (scope: user)

/plugin list
  ❯ typst@chan-typst
    Version: 0.3.0
    Status: ✔ enabled

Acknowledgements

Full diff and per-version detail: CHANGELOG.md