From rrc-R-tools
Set up a Quarto post-render workflow that automatically renames HTML output and copies it to a network folder. Use when the user wants to render a .qmd and sync the output to Egnyte or a shared drive.
How this skill is triggered — by the user, by Claude, or both
Slash command
/rrc-R-tools:quarto-render-syncThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill sets up a Quarto project with a post-render hook that automatically renames the rendered output and copies it to a network folder (e.g., Egnyte mapped drive).
This skill sets up a Quarto project with a post-render hook that automatically renames the rendered output and copies it to a network folder (e.g., Egnyte mapped drive).
Three files work together:
_quarto.yml — Declares the post-render hookpost_render.R — Runs automatically after render; renames output and copies to network.qmd file — Contains params$output_path specifying the network destinationIf you have access to the RRC repos, see:
<your-repos>/primers/quarto_markdown_word — original Word/.docx version<your-repos>/sem_yr5_2026/00_template_scripts — HTML version_quarto.ymlproject:
type: default
post-render:
- "Rscript post_render.R"
.qmd YAML paramsThe .qmd file must include output_path in its YAML params block:
params:
output_path: "Z:/Shared/RRC/M/DATA/SEM/SEM (YR5) 2026/field_tracking"
post_render.R patternThe post-render script follows this structure:
QUARTO_PROJECT_OUTPUT_FILES env var (set by Quarto), fall back to scanning .qmd files for declared output.qmd — Use yaml::yaml.load() on the front matter to get params$output_pathfile.copy() with overwrite = TRUE, or RrcUtils::sync_to_egnyte() if available. Wrap in tryCatch so a network failure doesn't crash the render.When renaming output in post-render, always use file.copy() instead of file.rename(). Quarto verifies its expected output file still exists after post-render completes. If the original file is gone, Quarto reports:
ERROR: No output created by quarto render
The original file can be gitignored.
.gitignore patterns*_files/
00_template_scripts/*.html
yaml — Parse YAML front matter from .qmd filesquarto — quarto::quarto_render() if rendering from R (optional; user can also render from IDE)RrcUtils — sync_to_egnyte(from, to, overwrite, verbose) for network drive copies (optional; file.copy() works too).qmd and update the parameters (park name, data file path, output_path, etc.)quarto render from terminal)Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub rrc-associates/claude-rrc-plugins --plugin rrc-R-tools