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.
npx claudepluginhub estevanhernandez-stack-ed/vibe-thesis --plugin vibe-thesisThis skill is limited to using the following tools:
Renders the current Vibe Thesis project. Wraps `npm run render:<format>` with
Acquire memory dumps from live systems/VMs and analyze with Volatility 3 for processes, networks, DLLs, injections in incident response or malware hunts.
Provides x86-64/ARM disassembly patterns, calling conventions, control flow recognition for static analysis of executables and compiled binaries.
Identifies anti-debugging checks like IsDebuggerPresent, NtQueryInformationProcess in Windows binaries; suggests bypasses via patches/hooks/scripts for malware analysis, CTFs, authorized RE.
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.