# Template Render

> Render a Template + data + Style into a final artifact in one of HTML, PDF, PNG, SVG or PPTX. Use whenever the user asks for a concrete deliverable like "make me a poster", "render a card", "give me a one-pager".

- Skill: `clawic/template-render` (Agent Skill)
- Install (CLI): `npx skillmds@latest add clawic/template-render`
- Raw SKILL.md: https://api.skillmd.com/api/skills/clawic/template-render/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Design & Media
- Author: clawic (https://skillmd.com/u/clawic)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/clawic/template-render

---


# template-render

The standard recipe for producing a deliverable from a Template and a Style.

## Procedure

1. 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.
2. 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`).
3. Compose data:
   - Read the template's slots from `claw template get <id>`.
   - For each slot, write a JSON field with `id` as the key.
   - Respect `maxLength`, `maxItems`, `required`.
4. Render:
   ```
   claw template render <templateId> --style <styleId> --data data.json --format pdf,png --out ./deliverable
   ```
5. 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. |
| pdf | 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 `outputs` and the requested format is not in the list, fail with a clear error.
- Generated outputs go under `.claw/templates/<templateId>/outputs/` unless `--out` is specified.

