template-render
The standard recipe for producing a deliverable from a Template and a Style.
Procedure
- Pick a Template:
- If the user names a category ("a poster", "a card"), list candidates:
claw template list --category <cat>. - If they describe a use-case, match by tags or name.
- If the user names a category ("a poster", "a card"), list candidates:
- Pick a Style:
- If they reference a brand or saved style, use that.
- Otherwise default to the workspace's primary Style (often the first non-builtin or
claw).
- Compose data:
- Read the template's slots from
claw template get <id>. - For each slot, write a JSON field with
idas the key. - Respect
maxLength,maxItems,required.
- Read the template's slots from
- Render:
claw template render <templateId> --style <styleId> --data data.json --format pdf,png --out ./deliverable - Report back: the paths produced and a sentence describing what is in each.
Formats
| Format | Renderer | Notes |
|---|---|---|
| html | direct | Canonical, fastest, no deps. |
| svg | wraps html in <foreignObject> |
Use for scalable vector. |
| Playwright (Chromium) | Falls back to a minimal Node PDF if Playwright is unavailable. | |
| png | Playwright (Chromium) | 2x deviceScaleFactor. |
| pptx | OpenXML (Node only) | Minimal one-slide PPTX. Best for presentation category. |
Constraints
- Never hard-code style values into the data. The Style is the source of truth for color and typography.
- If the template declares
outputsand the requested format is not in the list, fail with a clear error. - Generated outputs go under
.claw/templates/<templateId>/outputs/unless--outis specified.