Typst Test Slide - Isolate and Render a Single Slide
SkillFiles & storageThis 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.
Use Typst Test Slide - Isolate and Render a Single Slide in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Typst Test Slide - Isolate and Render a Single Slide and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Typst Test Slide - Isolate and Render a Single Slide skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
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
| Error | Cause | Fix |
|---|---|---|
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 root | Use ../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(...) preamble | Include 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
- Oct 2026
Advanced
- Item type
- skill
- Key
typst-test-slide- Source
- github.com/edwinhu/workflows