From vibe-thesis
Render the current Vibe Thesis project (PDF, HTML, markdown, or all). Pre-runs compile-tokens and check-citations. Reports the manifest path on success; surfaces stderr with diagnostic hints on failure. Pass --guard as a second arg to run synthesis-guard as a pre-step and require acknowledgment before rendering.
How this skill is triggered — by the user, by Claude, or both
Slash command
/vibe-thesis:vibe-renderThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Renders the current Vibe Thesis project. Wraps `npm run render:<format>` with
Renders the current Vibe Thesis project. Wraps npm run render:<format> with
sensible pre-steps and clean failure surfacing.
<!-- VIBE_THESIS_MARKER: vN.M --> stanza in CLAUDE.md).npm install must have already run (node_modules/ present). If not,
surface that as the first hint and offer to run it.Verify marker. grep -q "VIBE_THESIS_MARKER:" CLAUDE.md. If not present,
refuse with: "This doesn't look like a Vibe Thesis project (no
VIBE_THESIS_MARKER stanza in CLAUDE.md). Run vibe-thesis to scaffold
first, or invoke npm run render:pdf directly if you know what you're
doing."
Parse argument. First positional arg = format, one of pdf (default) |
html | md | all. Second positional arg = --guard (optional).
Optional guard pre-step. If --guard was passed, dispatch
/vibe-thesis:guard standard first.
0 findings: print ✓ Synthesis guard clean — proceeding to render. and continue to step 4.>0 findings: surface the full findings list. Ask:
"Synthesis guard found N issues. Three options: (a) render anyway — produce the PDF with the current text, (b) fix-and-re-run — pause render so you can edit, then re-invoke /vibe-thesis:vibe-render <format> --guard, (c) drop the --guard — render without the gate this time."(a): proceed to step 4. Note in the manifest that render proceeded with N unresolved guard findings.(b): stop here. Surface a one-line list of <file>:<line> references for fast navigation. Do not run render.(c): proceed to step 4 with no manifest annotation.Run pre-steps.
npm run compile-tokens — recompiles design tokens from tokens.yaml.
If it fails, the user has a malformed tokens.yaml; surface the
validator output verbatim.npm run check-citations — lints [@key] refs against references.bib.
If missing keys are found, surface them as a clean list. Ask the builder
to fix or proceed (proceeding produces a PDF with [Citation Not Found]
markers).Run main render.
pdf → npm run render:pdfhtml → npm run render:htmlmd → npm run render:markdownall → npm run render:allOn success. Read the manifest sibling file (e.g.,
08_OUTPUT/pdf/<name>.manifest.json). Report:
On failure. Surface the failing command's stderr. Consult this small lookup table for diagnostic hints:
| Symptom in stderr | Most likely cause |
|---|---|
! LaTeX Error: File 'XXX.sty' not found | Missing TeX package; install via tlmgr install XXX or use the dev container |
xelatex: not found / pandoc: not found | Toolchain not installed; switch to dev container or apt install texlive-xetex pandoc |
Font 'XXX' not found | Run .devcontainer/install-fonts.sh (or its native equivalent) |
! Missing $ inserted (LaTeX) | Unescaped %, &, $, \ in body markdown — usually in a chapter title |
[Citation Not Found] markers in PDF | Forgot to address check-citations warnings; missing references.bib entries |
validate-schemas errors | Bad tokens.yaml or frontmatter block; surface to user verbatim |
Do NOT silently mark the render as successful when stderr indicates failure — the round-trip acceptance criterion depends on the user knowing when something didn't work.
03_BODY/ is empty (just-scaffolded, no content): render produces a
placeholder PDF with cover page + empty body. This IS the round-trip
confirmation behavior the orchestrator's scaffold-mode relies on.08_OUTPUT/ doesn't exist: create it (and the format subdir) before render.Provides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.
npx claudepluginhub estevanhernandez-stack-ed/vibe-thesis --plugin vibe-thesis