dojo.md
University for AI agents. 92 courses, 4400+ scenarios, any model via OpenRouter. Auto-training loops generate per-model SKILL.md documents. Works with Claude Code, OpenClaw, Cursor, Windsurf. No fine-tuning req...
Compile Typst and LaTeX documents to PDF via API. Send source code, get back a PDF.
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
SkillHub CLI
skillhub install gregm711/typetexInspect the source and compatibility requirements, then follow its installation steps.
Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.
Compile Typst (.typ) and LaTeX (.tex) documents to PDF using the TypeTex compilation API.
Base URL: https://studio-intrinsic--typetex-compile-app.modal.run
POST /public/compile/typst
Content-Type: application/json
Request Body:
{
"content": "#set page(paper: \"a4\")\n\n= Hello World\n\nThis is a Typst document.",
"main_filename": "main.typ",
"auxiliary_files": {}
}
Response (Success):
{
"success": true,
"pdf_base64": "JVBERi0xLjQK..."
}
Response (Failure):
{
"success": false,
"error": "error: file not found: missing.typ"
}
POST /public/compile/latex
Content-Type: application/json
Request Body:
{
"content": "\\documentclass{article}\n\\begin{document}\nHello World\n\\end{document}",
"main_filename": "main.tex",
"auxiliary_files": {}
}
Response (Success):
{
"success": true,
"pdf_base64": "JVBERi0xLjQK..."
}
Response (Failure):
{
"success": false,
"error": "! LaTeX Error: Missing \\begin{document}.",
"log_output": "This is pdfTeX..."
}
GET /public/compile/health
Returns {"status": "ok", "service": "public-compile"} if the service is running.
import requests
import base64
response = requests.post(
"https://studio-intrinsic--typetex-compile-app.modal.run/public/compile/typst",
json={
"content": """
#set page(paper: "a4", margin: 2cm)
#set text(font: "New Computer Modern", size: 11pt)
= My Document
This is a paragraph with *bold* and _italic_ text.
== Section 1
- Item 1
- Item 2
- Item 3
""",
"main_filename": "main.typ"
}
)
result = response.json()
if result["success"]:
pdf_bytes = base64.b64decode(result["pdf_base64"])
with open("output.pdf", "wb") as f:
f.write(pdf_bytes)
print("PDF s...
These signals come from indexed source analysis and may lag behind changes. Check the current source files.
# Typst & LaTeX Compiler
Compile Typst (.typ) and LaTeX (.tex) documents to PDF using the TypeTex compilation API.
## API Endpoint
**Base URL:** `https://studio-intrinsic--typetex-compile-app.modal.run`
## Endpoints
### Compile Typst
```
POST /public/compile/typst
Content-Type: application/json
```
**Request Body:**
```json
{
"content": "#set page(paper: \"a4\")\n\n= Hello World\n\nThis is a Typst document.",
"main_filename": "main.typ",
"auxiliary_files": {}
}
```
**Response (Success):**
```json
{
"success": true,
"pdf_base64": "JVBERi0xLjQK..."
}
```
**Response (Failure):**
```json
{
"success": false,
"error": "error: file not found: missing.typ"
}
```
### Compile LaTeX
```
POST /public/compile/latex
Content-Type: application/json
```
**Request Body:**
```json
{
"content": "\\documentclass{article}\n\\begin{document}\nHello World\n\\end{document}",
"main_filename": "main.tex",
"auxiliary_files": {}
}
```
**Response (Success):**
```json
{
"success": true,
"pdf_base64": "JVBERi0xLjQK..."
}
```
**Response (Failure):**
```json
{
"success": false,
"error": "! LaTeX Error: Missing \\begin{document}.",
"log_output": "This is pdfTeX..."
}
```
### Health Check
```
GET /public/compile/health
```
Returns `{"status": "ok", "service": "public-compile"}` if the service is running.
## Usage Examples
### Simple Typst Document
```python
import requests
import base64
response = requests.post(
"https://studio-intrinsic--typetex-compile-app.modal.run/public/compile/typst",
json={
"content": """
#set page(paper: "a4", margin: 2cm)
#set text(font: "New Computer Modern", size: 11pt)
= My Document
This is a paragraph with *bold* and _italic_ text.
== Section 1
- Item 1
- Item 2
- Item 3
""",
"main_filename": "main.typ"
}
)
result = response.json()
if result["success"]:
pdf_bytes = base64.b64decode(result["pdf_base64"])
with open("output.pdf", "wb") as f:
f.write(pdf_bytes)
print("PDF s...University for AI agents. 92 courses, 4400+ scenarios, any model via OpenRouter. Auto-training loops generate per-model SKILL.md documents. Works with Claude Code, OpenClaw, Cursor, Windsurf. No fine-tuning req...
macOS WPS Office workflow helper skill for safer document preparation, conversion, export, and compatibility guidance
A股分析技能
A2A4B2B Skill for OpenClaw