Typst Test Slide - Isolate and Render a Single Slide

SkillFiles & storage

This skill should be used when the user asks to 'test a slide', 'isolate a slide', 'debug a slide', 'preview a single slide', 'test this slide', 'render one slide', or when you need to visually verify a single Typst slide from a presentation in isolation. Provides the exact file setup pattern to avoid access-denied and import errors.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Typst Test Slide - Isolate and Render a Single Slide skill

What this skill tells your AI

The instructions your AI receives, as published by edwinhu/workflows in skills/tinymist/typst-test-slide/SKILL.md and read by ahel’s review.

What this skill carries — grep references/ for any subject the names below miss: !d=${CLAUDE_SKILL_DIR}; command -v skill-toc >/dev/null 2>&1 && exec skill-toc "$d"; s=$HOME/.claude/skills/plugin-utils/bin/skill-toc; [ -x "$s" ] && exec "$s" "$d"; echo "(skill-toc unavailable: references and scripts are NOT listed here — install the plugin-utils plugin, or start a new session so its bin/ reaches PATH)"

Renders a single Typst slide in isolation for debugging or visual verification. This is a recipe, not a workflow.

Why This Exists

Typst cannot access files outside its project root. Creating test files in /tmp/ causes "access denied" on every #import and #image() call. This skill provides the correct pattern.

Common Errors This Prevents

ErrorCauseFix
access denied on #import "../templates/theme.typ"Test file is in /tmp/ (outside project root)Put test file in output/ inside the project
access denied on #image(...)Image path resolves outside project rootUse ../assets/ from output/ directory
file not found on #import "../../templates/theme.typ"Wrong relative depth (used sub-slide depth instead of output/ depth)output/ is one level deep: use ../templates/, not ../../templates/
Slides don't render (just text)Missing #show: university-theme.with(...) preambleInclude the full preamble (see template below)

The Pattern

1. Create the test file in output/

cat > output/test-slide.typ << 'EOF'
#import "../templates/theme.typ": *
#show: university-theme.with(
  aspect-ratio: "16-9",
  config-info(
    title: [Test],
    author: [Test],
    date: datetime.today(),
    institution: [UVA],
    logo: image("../assets/LawP_horizontal_short_4c_RGB.png"),
  ),
)

#slide[
// paste slide content here
]
EOF

2. Compile with --root . from project root

tinymist compile --root . output/test-slide.typ /tmp/test-slide.png --ppi 144

The --root . flag tells Typst that the project root is the current directory, so ../templates/ from output/ resolves correctly.

3. Clean up

rm -f output/test-slide.typ

Key Rules

  • Always create in output/, never /tmp/ or any directory outside the project root.
  • Always compile with --root . from the project root directory.
  • Paths from output/ go up one level: ../templates/, ../assets/.
  • Paths from slides/XX-topic/ go up two levels: ../../templates/, ../../assets/ -- do not confuse these depths.
  • Delete the test file when done. output/ is gitignored but keeping test files around causes confusion.

Signals

GitHub stars
21
Forks
4
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
typst-test-slide
Source
github.com/edwinhu/workflows