Renders an existing tour-spec.json to a single-file 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.
Scanned 9/1/2026
Install to Claude Code
npx -y skills add DmitriyYukhanov/claude-plugins --skill render --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Render?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/dmitriyyukhanov-render)More formats (shields.io, HTML) on the badges page.
---
name: render
description: Renders an existing tour-spec.json to a single-file 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 single-file `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.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!