All skills
jihe520 avatar

/typst-author

@4a360cb
by Sanjinjihe520/mathmodelagent6.2k stars
450

Generate idiomatic Typst (.typ) code, edit and troubleshoot Typst documents and projects, and answer Typst syntax/reference questions. Use when working with .typ files or when the user explicitly asks for Typst document creation, editing, debugging, compilation, formatting, template work, or package usage.

Use this Skill: https://skilld.dev/gh/jihe520/mathmodelagent/typst-author

This session only. Nothing lands on disk.

docsreferencedata-loadingjson.md

≈795 tokens on demand. Your agent reads this file only when SKILL.md points to it.

JSON

json

Reads structured data from a JSON file.

The file must contain a valid JSON value, such as object or array. The JSON values will be converted into corresponding Typst values as listed in the table below.

The function returns a dictionary, an array or, depending on the JSON file, another JSON data type.

The JSON files in the example contain objects with the keys temperature, unit, and weather.

Example

#let forecast(day) = block[
  #box(square(
    width: 2cm,
    inset: 8pt,
    fill: if day.weather == "sunny" {
      yellow
    } else {
      aqua
    },
    align(
      bottom + right,
      strong(day.weather),
    ),
  ))
  #h(6pt)
  #set text(22pt, baseline: -8pt)
  #day.temperature °#day.unit
]

#forecast(json("monday.json"))
#forecast(json("tuesday.json"))

Conversion details

JSON value Converted into Typst
null none
bool bool
number float or int
string str
array array
object dictionary
Typst value Converted into JSON
types that can be converted from JSON corresponding JSON value
bytes string via repr
symbol string
content an object describing the content
other types (length, etc.) string via repr

Notes

  • In most cases, JSON numbers will be converted to floats or integers depending on whether they are whole numbers. However, be aware that integers larger than 263-1 or smaller than -263 will be converted to floating-point numbers, which may result in an approximative value.
  • Bytes are not encoded as JSON arrays for performance and readability reasons. Consider using cbor.encode for binary data.
  • The repr function is for debugging purposes only, and its output is not guaranteed to be stable across Typst versions.
#json(
  source
) -> any

Parameters

  • source:
    • description: A path to a JSON file or raw JSON bytes.
    • type: str | bytes
    • default: None

Definitions

json.decode

Reads structured data from a JSON string/bytes.

#json.decode(
  data
) -> any
Parameters
  • data:
    • description: JSON data.
    • type: str | bytes
    • default: None

json.encode

Encodes structured data into a JSON string.

#json.encode(
  value,
  pretty: bool
) -> str
Parameters
  • value:
    • description: Value to be encoded.
    • type: any
    • default: None
  • pretty:
    • description: Whether to pretty print the JSON with newlines and indentation.
    • type: bool
    • default: true

Source: SKILL.md on GitHub

1 alert3mo3 checks · Risk SAFE
  • Gen Agent Trust Hub3mo

    This skill is a comprehensive Typst authoring assistant that provides a complete local mirror of the Typst documentation (tutorials, guides, and reference). It facilitates the generation, editing, and troubleshooting of Typst documents using standard ecosystem tools such as 'typst' and 'typstyle'. The instructions emphasize accuracy by directing the agent to prioritize local documentation and include safety checkpoints for formatting and editing tasks. No malicious patterns, data exfiltration risks, or other security threats were identified.

  • Socket3mo

    1 alert: obfuscatedFile

  • Snyk3mo

    Risk: LOW · No issues

Signed by skilld at 4a360cb. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 3 weeks ago.

Activeupdated 4 months ago

README badge

README badge for jihe520/mathmodelagent/typst-author