Document Generation
Use this skill when the user asks for a printable document or PDF artifact.
Workflow
- Read all source material and identify:
- required content
- information users must fill in
- approvals or signatures required
- operational sequence or sections
- Choose a layout based on how the document will actually be used.
- Start from the closest known-good reference in
references/ rather than inventing Typst structure from scratch.
- Write the Typst source to
/home/user/output/<document-name>/main.typ.
- Compile using the function documented in
/home/user/functions/typst.md.
- If compilation fails, fix the Typst error and recompile until successful.
- Return the PDF only after successful compilation.
References
Choose the closest reference and adapt it:
references/operational-form.typ — forms, checklists, task lists, sign-offs, handwritten fields.
references/professional-report.typ — reports with title, summary, sections, findings, tables, and recommendations.
references/comparison-recommendation.typ — side-by-side option or vendor comparisons with criteria and a recommendation.
Use references as working Typst patterns, not as fixed visual designs. Preserve their known-good structure where practical and change content, labels, sections, and layout to fit the task.
Design Principles
Treat the document as an operational artifact, not just formatted text.
- Preserve all required source content.
- Infer useful fields from the workflow when they are clearly implied, such as date, location, prepared by, check time, assigned employee, initials, notes, or verification.
- Use clear visual hierarchy: title, metadata, sections, task groups, verification, final approval.
- Prefer tables for repeated tasks and structured data entry.
- Give handwriting fields enough physical space.
- Make task descriptions the widest column.
- Keep initials and signature fields narrow but usable.
- Use page breaks deliberately when a section is easier to use on its own page.
- Keep final manager approval at the end when requested.
- Use concise completion-standard wording where appropriate without changing the underlying requirement.
- Add small workflow aids when they clearly improve usability, such as task IDs, section labels, or instructions.
- Do not add unsupported policies, business rules, names, dates, or requirements.
Source Fidelity
When the task is based on attached material:
- Treat the source as authoritative for required content and terminology unless the user asks for rewriting.
- Do not omit required source items to make the document shorter or prettier.
- You may improve grouping, labels, typography, field design, and concise task wording without changing the underlying requirement.
Typst Guidance
Typst is not Markdown.
Use Typst headings:
= Document Title
== Section Heading
For documents that resemble one of the references, adapt that reference instead of inventing layout primitives.
Avoid unsupported or untested Typst constructs. Prefer primitives already demonstrated in the references.
Compilation
Read /home/user/functions/typst.md for the current compilation API.
Call the provided function directly with run_python; do not import it as a Python module.
Example:
print(typst_compiledocument(**{
'file_paths': ['/home/user/output/<document-name>/main.typ']
}))
Repair Loop
If compilation fails:
- Read the first compiler error carefully.
- Fix the relevant Typst syntax or layout issue in
main.typ.
- Compile again.
- Repeat until successful.
Do not switch to Markdown after a Typst error. Do not hide or ignore compilation failures.
Quality Check
Before completing the task, verify:
- every required source item is present
- writable fields are large enough to use
- signatures and approvals are in the correct place
- the layout is practical when printed
- sections are not awkwardly orphaned across pages
- the PDF compiled successfully
1---2name: document-generation3description: Create polished printable documents and PDFs, including forms, checklists, reports, briefs, comparisons, worksheets, task lists, and other operational documents. Use Typst and compile to PDF.4---5# Document Generation67Use this skill when the user asks for a printable document or PDF artifact.89## Workflow10111. Read all source material and identify:12 - required content13 - information users must fill in14 - approvals or signatures required15 - operational sequence or sections162. Choose a layout based on how the document will actually be used.173. Start from the closest known-good reference in `references/` rather than inventing Typst structure from scratch.184. Write the Typst source to `/home/user/output/<document-name>/main.typ`.195. Compile using the function documented in `/home/user/functions/typst.md`.206. If compilation fails, fix the Typst error and recompile until successful.217. Return the PDF only after successful compilation.2223## References2425Choose the closest reference and adapt it:2627- `references/operational-form.typ` — forms, checklists, task lists, sign-offs, handwritten fields.28- `references/professional-report.typ` — reports with title, summary, sections, findings, tables, and recommendations.29- `references/comparison-recommendation.typ` — side-by-side option or vendor comparisons with criteria and a recommendation.3031Use references as working Typst patterns, not as fixed visual designs. Preserve their known-good structure where practical and change content, labels, sections, and layout to fit the task.3233## Design Principles3435Treat the document as an operational artifact, not just formatted text.3637- Preserve all required source content.38- Infer useful fields from the workflow when they are clearly implied, such as date, location, prepared by, check time, assigned employee, initials, notes, or verification.39- Use clear visual hierarchy: title, metadata, sections, task groups, verification, final approval.40- Prefer tables for repeated tasks and structured data entry.41- Give handwriting fields enough physical space.42- Make task descriptions the widest column.43- Keep initials and signature fields narrow but usable.44- Use page breaks deliberately when a section is easier to use on its own page.45- Keep final manager approval at the end when requested.46- Use concise completion-standard wording where appropriate without changing the underlying requirement.47- Add small workflow aids when they clearly improve usability, such as task IDs, section labels, or instructions.48- Do not add unsupported policies, business rules, names, dates, or requirements.4950## Source Fidelity5152When the task is based on attached material:5354- Treat the source as authoritative for required content and terminology unless the user asks for rewriting.55- Do not omit required source items to make the document shorter or prettier.56- You may improve grouping, labels, typography, field design, and concise task wording without changing the underlying requirement.5758## Typst Guidance5960Typst is not Markdown.6162Use Typst headings:6364```typst65= Document Title66== Section Heading67```6869For documents that resemble one of the references, adapt that reference instead of inventing layout primitives.7071Avoid unsupported or untested Typst constructs. Prefer primitives already demonstrated in the references.7273## Compilation7475Read `/home/user/functions/typst.md` for the current compilation API.7677Call the provided function directly with `run_python`; do not import it as a Python module.7879Example:8081```python82print(typst_compiledocument(**{83 'file_paths': ['/home/user/output/<document-name>/main.typ']84}))85```8687## Repair Loop8889If compilation fails:90911. Read the first compiler error carefully.922. Fix the relevant Typst syntax or layout issue in `main.typ`.933. Compile again.944. Repeat until successful.9596Do not switch to Markdown after a Typst error. Do not hide or ignore compilation failures.9798## Quality Check99100Before completing the task, verify:101102- every required source item is present103- writable fields are large enough to use104- signatures and approvals are in the correct place105- the layout is practical when printed106- sections are not awkwardly orphaned across pages107- the PDF compiled successfully