render · git:20260714.6ddc407 · 2026-07-14 · sha256 477cbd02fee267ff

render git:20260714.6ddc407A

Immutable. This exact content is served forever at /api/v1/blob/477cbd02fee267ff.

---
name: render
description: Renders an existing tour-spec.json to a self-contained interactive HTML guide via the bundled Node renderer. Use when the user has hand-edited a tour-spec.json, when learning-guide:analyze hands off after drafting, or when the user explicitly asks to "render the tour", "regenerate the HTML", or "update the embedded sources". Idempotent for generated artifacts; preserves user-edited README and tour-spec.json.
---

# Render — HTML Generation

Take a `tour-spec.json` and produce a self-contained, offline-first `index.html`. This skill is deterministic; the heavy lifting is in `${CLAUDE_PLUGIN_ROOT}/scripts/render.cjs`.

## Trigger phrases

- "render the tour"
- "regenerate the HTML"
- "update the embedded sources"
- Auto-dispatched at the end of `learning-guide:analyze`

## Inputs

- **Spec path** — `tour-spec.json` location. Default: CWD; explicit path supported.
- **Output directory** — defaults to the spec's parent dir.

## Steps

1. **Locate the spec.** If the user provides a path, use it. Otherwise look for `tour-spec.json` in CWD. If neither, ask the user where the spec is. Do NOT scan the entire repository.

2. **Confirm Node is available.** Run `node --version`. If exit code is non-zero, tell the user Node.js must be on PATH and stop. Do not attempt fallback rendering.

3. **Inspect overrides.** Look for `<spec-dir>/.learning-guide/template.html`. If present, ensure `tour-spec.renderer.template_compatibility_version` matches the `<!-- template_compatibility_version: N -->` declaration on the override's first line. If missing or mismatched, ask the user to fix it before rendering.

4. **Run the renderer.**
   ```bash
   node "${CLAUDE_PLUGIN_ROOT}/scripts/render.cjs" "<spec-path>"
   ```
   If `--output-dir` is needed, pass it explicitly.

5. **Surface output.** On success, print the renderer's stdout summary verbatim. On non-zero exit, print stderr verbatim and offer the troubleshooting table from `references/renderer-cli.md`.

6. **Confirm artifacts.** Verify `index.html` and `README.md` exist with non-zero size. If anything expected is missing, surface the discrepancy — do not retry blindly.

## Re-running from the shell

The user can re-render without involving Claude by running `node "<plugin-root>/scripts/render.cjs" tour-spec.json`.

## When NOT to use this skill

- The user wants new content, not a re-render. Dispatch `learning-guide:analyze` instead.
- The spec does not exist yet. Dispatch `learning-guide:analyze`.

## References

- `references/renderer-cli.md` — flags, exit codes, troubleshooting.
- `references/browser-compatibility.md` — `file://` constraints.