plugins/muna-document-designer/skills/using-document-designer/SKILL.md
Use when creating professional documents, PDF reports, Typst templates, Pandoc conversions, or any task where document visual design quality matters
npx skillsauth add tachyon-beep/skillpacks using-document-designerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill routes you to professional document design capabilities using Pandoc and Typst. Use it when the task requires more than content — when the document needs to look professional, with intentional typography, layout, and visual hierarchy.
Core Principle: Documents are communication artifacts. Content determines what you say; design determines whether anyone reads it.
Load this skill when:
Don't use for: Plain text content writing (use muna-technical-writer), web page design (use lyra-ux-designer), or data visualization.
This pack provides a document-designer agent — a specialist subagent that combines graphic design sensibility with typesetting engineering. The agent handles:
| Capability | Details | |------------|---------| | Typst templates | Page layout, fonts, colors, headers/footers, cover pages, callouts | | Pandoc pipelines | Format conversion, custom templates, Lua filters, citation processing | | Document types | Reports, proposals, specs, resumes, brochures, slide decks | | Design patterns | Accent bars, sidebars, pull quotes, data cards, section dividers | | Quality assurance | Typography, table verification, font checks, accessibility |
This pack targets:
image(alt:), pdf.artifact, fixed CMYK image export). Several reference sheets and the agent assume 0.14+ semantics. Older 0.11–0.13 docs work for most examples but lose accessibility features and need manual context syntax checks.--pdf-engine=typst pipeline. Earlier versions have rougher Typst output and inconsistent admonition handling.Pin these at the top of any new template, e.g. // Requires Typst >= 0.14.0 in a comment, so future readers know what they're compiling against.
The Typst package registry at https://typst.app/universe is the modern way to add non-trivial functionality. Use #import "@preview/<name>:<version>" with a pinned version — naked names break when packages drift. Verify the latest version on Universe before pinning.
Canonical packages by use case:
| Package | Use case | Notes |
|---------|----------|-------|
| @preview/cetz | Drawing, plots, charts, geometry | TikZ-inspired API; the workhorse for diagrams in Typst |
| @preview/fletcher | Node-and-arrow diagrams, commutative diagrams, flowcharts | Built on cetz |
| @preview/touying | Modern presentation slides — themes, animations, speaker notes, PDF export | Active and recommended for slides |
| @preview/polylux | Slides — older, still maintained, simpler model | Use touying for new decks |
| @preview/valkyrie | Type-safe argument validation for template authors | Useful when shipping a parameterised template |
| @preview/glossarium | Glossaries and acronym lists | |
| @preview/physica / @preview/mitex | Physics math notation; LaTeX-math passthrough | |
Discovery pattern: when the user asks for a capability that isn't a built-in (graph diagrams, citation styles, CV templates, slide themes), search Universe first. typst init @preview/<template-name> scaffolds a full project from a template package.
Note on tablex: Typst 0.11+ absorbed most tablex functionality into native table(). Prefer the built-in unless you specifically need tablex's fit-spans or arbitrary line extension.
Reference sheets are located in the same directory as this SKILL.md file. Load them when the user's task matches:
| Reference | When to Load | |-----------|-------------| | academic-papers.md | Journal papers, conference submissions, theses — citations, author blocks, two-column layouts, theorem environments | | accessible-documents.md | Any public-facing document — tagged PDF, screen readers, contrast, alt text, PDF/UA compliance | | data-heavy-documents.md | Documents dominated by tables, charts, metrics — dashboard layouts, landscape pages, large table handling | | multilingual-documents.md | RTL scripts, CJK typography, bilingual layouts, mixed-script font fallback chains | | print-production.md | Documents for commercial printing — bleed, crop marks, binding margins, CMYK, image DPI | | standards-and-specifications.md | ISO/NIST/RFC-style specs, compliance docs, classification markings, conformance clauses |
To load: Read the reference sheet from this skill's directory and include its guidance when dispatching the document-designer agent. Multiple sheets can be combined (e.g., accessible + print-production for a printed public document).
Ask for what you need — the document-designer agent will be dispatched:
"Create a professional PDF report template for our quarterly reviews"
"I need a Typst template with our brand colors (#1a365d, #e53e3e) and Inter font"
"Convert this markdown spec to a polished PDF with table of contents"
# List candidate templates on https://typst.app/universe and pick one
typst init @preview/charged-ieee # IEEE conference template
typst init @preview/modern-cv # CV/resume template
# Then customise — most template packages expose a #show: <template-fn>.with(...) entrypoint
From scratch (Pure Typst): Best when you need fine control over every layout element. The agent designs the template, populates content, and compiles to PDF.
From existing content (Pandoc → Typst): Best when you have Markdown/DOCX content that needs professional formatting. The agent creates a custom Pandoc template and conversion pipeline.
Reusable template design: Best when you need a template for repeated use. The agent designs a parameterized Typst template with metadata-driven customization.
| Need | Use |
|------|-----|
| Writing content (ADRs, runbooks, READMs) | muna-technical-writer |
| Document set governance and consistency | muna-wiki-management |
| Audience-testing a document suite | muna-panel-review |
| Making documents look professional | muna-document-designer (this pack) |
The typical flow: write content with muna-technical-writer, then format it with muna-document-designer.
development
Use when **managing the delivery of work** rather than building it — running a project or a program, not writing its code. Use when a team is busy but outcomes are not landing, when "when will it be done" has no defensible answer, when status is green every week until it is suddenly red, when dependencies surprise you, when a RAID log is a graveyard, or when several projects must be coordinated toward one outcome (a program). Lean/agile-leaning, honest about where program scale needs predictive structure. Pairs with `/axiom-planning` (turning one workstream into an implementation plan) and `/axiom-sdlc-engineering` (process maturity, requirements traceability, formal governance). Do not load for writing code, picking an architecture, or designing a single feature.
tools
--- name: using-product-management description: Use when a Claude is taking **standing ownership** of a software product and driving it end-to-end across many sessions — discovery, strategy, specs, delivery orchestration, and value validation — deciding *what to build, why, for whom,* and *whether it worked*, with continuity, decision provenance, and an authority boundary that escalates anything irreversible or outward-facing to the human owner. Owns the product disciplines: opportunity assessme
tools
Use when designing, implementing, or auditing an MCP (Model Context Protocol) server — tool API design, idempotency under agent retry, structured error envelopes agents can recover from, schema versioning across model drift, transport reliability (stdio / HTTP), output-shape and pagination discipline, and choosing between tools / resources / prompts / sampling. Also use when an MCP server's tools confuse agents, return unstructured errors, deadlock under concurrent calls, double-execute under retry, or lose state across reconnects. Do not use for general REST/GraphQL API design (use `/web-backend`), for client-side prompt engineering or tool-loop design (use `/llm-specialist`), for general in-process plugin architecture (use `/system-architect`), or for cryptographic-provenance audit trails (use `/audit-pipelines`).
development
Use when running **SQLite or DuckDB inside an application process** as the durable store — not as a development convenience but as the production database. Use when scaling an SQLite layer that worked at low concurrency and is now hitting SQLITE_BUSY, WAL bloat, lock contention, schema-migration ceremony, or correctness gaps under multi-process writers. Use when introducing DuckDB as an OLAP complement to an OLTP SQLite store, or when picking between the two for a new component. Pairs with `/web-backend` (the API surface above the DB) and `/audit-pipelines` (when the DB is also the audit trail). Do not load for server databases (Postgres, MySQL), key-value stores, or ORM choice in isolation.