emit_training_runbook
Build a multi-lesson training/course surface as ONE properly-linked page with real in-app tab navigation between lessons — prefer this over build_multi_page_surface for training/course content specifically: that tool produces N independent pages with NO links between them (you must present the list yourself); this tool produces one page where lessons are real, clickable tabs. Zero sizing/estimation judgment required — give it your lessons, it handles composition and navigation.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"title": "<title>",
"lessons": "<lessons>"
},
"name": "emit_training_runbook"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Course title | |
| lessons | Yes | Array of {heading, content} lessons — each becomes its own tab | |
| renderer_url | No | Your deployed renderer /exec URL (optional; defaults to BYO) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Renderer URL carrying the payload. | |
| note | No | How the tabs work. | |
| size | No | Present when the URL is large: url_length, warning and recommendation. | |
| payload | Yes | The compiled A2UI v1.0 createSurface payload. | |
| clipboard | No | Optional ready-made copy commands for the URL (linux, macos, windows) plus a note. | |
| required_catalogs | Yes | Catalog URIs the payload needs (base catalog first). |