deploy · pedrohcgs — Claude Code skill for publishing slides
This skill renders Quarto slides as HTML and syncs the output to docs/ for GitHub Pages. Use it when edited slides are ready to publish.
npx skills add pedrohcgs/claude-code-my-workflow --skill deploy -a claude-codeWhat deploy does
The skill runs ./scripts/sync_to_docs.sh. Pass a lecture name such as Lecture4 to sync that lecture; leave the argument out to process all lectures. The script renders .qmd files from Quarto/, skips names containing *_backup*, and copies the HTML and _files/ assets into docs/slides/. It also places Beamer PDFs there and syncs Figures/ to docs/Figures/.
After the sync, the skill checks for HTML, RevealJS assets, R scripts, and—when relevant—interactive charts and referenced SVGs. It can open a slide file in a browser for a visual check. The script prepares files under docs/; it does not push them to GitHub Pages, so deployment still needs a separate step.
What it helps with
- render Quarto slides as HTML
- sync one lecture or all lectures into
docs/ - copy Beamer PDFs and RevealJS assets beside the slides
- check that figures and R scripts reached the published folders
- open rendered slides in a browser for visual inspection
Example prompts for the agent
- Publish
Lecture4and check the files underdocs/. - Render all Quarto slides for GitHub Pages and inspect them in a browser.
- Sync the updated slides from
Quarto/todocs/.
How to install deploy
1Skills CLI (Vercel)
npx skills add pedrohcgs/claude-code-my-workflow --skill deploy -a claude-code2Manually: put the files in place
~/.claude/skills/deploy/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/deploy/
1Skills CLI (Vercel)
npx skills add pedrohcgs/claude-code-my-workflow --skill deploy -a codex2Manually: put the files in place
.agents/skills/deploy/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add pedrohcgs/claude-code-my-workflow --skill deploy -a cursor2Manually: put the files in place
.cursor/skills/deploy/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install pedrohcgs/claude-code-my-workflow deploy2Manually: put the files in place
.github/skills/deploy/SKILL.md1Skills CLI (Vercel)
npx skills add pedrohcgs/claude-code-my-workflow --skill deploy -a gemini-cli2Platform CLI
gemini skills install https://github.com/pedrohcgs/claude-code-my-workflow --path .claude/skills/deployManually: put the files in place
.devin/skills/deploy/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add pedrohcgs/claude-code-my-workflow --skill deploy -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about deploy
How do I install deploy in Claude Code?
Run npx skills add pedrohcgs/claude-code-my-workflow --skill deploy -a claude-code. The skill file is installed at ~/.claude/skills/deploy/SKILL.md.
What does deploy do?
It renders .qmd slides and syncs HTML, assets, PDFs, figures, and R scripts into docs/. It then checks the output and can open a slide in a browser for review.
Can deploy sync just one lecture?
Yes. Give it a name such as Lecture4; with no argument, the script processes every lecture. For a local render without syncing, run quarto render.
Source text
SKILL.md · MIT
--- name: deploy description: Render Quarto `.qmd` slides to HTML and sync to `docs/` for GitHub Pages. Use when user says "deploy", "publish the slides", "ship to pages", "push the lecture live", "render and publish", or after Quarto edits that need to go public. NOT for local Quarto render only — use `quarto render` directly for that. argument-hint: "[LectureN or 'all']" allowed-tools: ["Read", "Bash"] --- # Deploy Slides to GitHub Pages Render Quarto slides and sync all files to `docs/` for GitHub Pages deployment. ## Steps 1. **Run the sync script:** - If `$ARGUMENTS` is provided (e.g., "Lecture4"): `./scripts/sync_to_docs.sh $ARGUMENTS` - If no argument: `./scripts/sync_to_docs.sh` (syncs all lectures) 2. **Verify deployment:** - Check that HTML files exist in `docs/slides/` - Check that `_files/` directories were copied (RevealJS assets) - Check that `docs/Figures/` was synced from `Figures/` - Check that `docs/files/code/` contains the R scripts (if `scripts/R/` has any) 3. **Verify interactive charts** (if applicable): - Grep rendered HTML for interactive widget count - Confirm count matches expected 4. **Verify TikZ SVGs** (if applicable): - Check that all referenced SVG files exist in `docs/Figures/LectureN/` 5. **Open in browser** for visual verification: - `open docs/slides/LectureX_Name.html` # macOS - `# xdg-open docs/slides/LectureX_Name.html` # Linux - Confirm slides render, images display, navigation works 6. **Report results** to the user ## What the sync script does: - Renders all `.qmd` files in `Quarto/` (skips `*_backup*` files) - Copies HTML and `_files/` directories to `docs/slides/` - Copies Beamer PDFs from `Slides/` to `docs/slides/` - Syncs `Figures/` to `docs/Figures/` using rsync - Copies every `scripts/R/*.R` into `docs/files/code/` (published beside the slides)
© pedrohcgs · MIT · pedrohcgs/claude-code-my-workflow
Similar skills
All skills for DevOps and infrastructure →deploy by other authors comes first.