Render Quarto slides and deploy to GitHub Pages via CI/CD. Use when deploying lecture slides after making changes.
Scanned 9/2/2026
Install to Claude Code
npx -y skills add alohays/paper2pr --skill deploy --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Deploy?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/alohays-deploy)More formats (shields.io, HTML) on the badges page.
---
name: deploy
description: Render Quarto slides and deploy to GitHub Pages via CI/CD. Use when deploying lecture slides after making changes.
argument-hint: "[PaperName or 'all']"
allowed-tools: ["Read", "Bash"]
---
# Deploy Slides to GitHub Pages
Deployment is automated via GitHub Actions CI/CD. Pushing to `main` triggers rendering and deployment.
## Production Deploy (CI/CD)
1. **Commit and push** source changes to `main`
2. GitHub Actions automatically:
- Renders every QMD under the genre directories listed in `Quarto/_genres.txt`
(a folder that is not a listed genre is never published)
- Strips speaker notes from HTML (safety net)
- Assembles site: HTML + RevealJS assets + Figures
- Deploys to GitHub Pages
3. **Verify** at the GitHub Pages URL
## Local Preview (Optional)
For testing before push:
1. **Run the sync script:**
- If `$ARGUMENTS` is provided (e.g., "DreamZero"): `./scripts/sync_to_docs.sh $ARGUMENTS`
- If no argument: `./scripts/sync_to_docs.sh` (renders and assembles every deck)
It calls the same `scripts/assemble_site.sh` that CI runs, then
`check_site_assets.py` over the result. That check is the point of
previewing locally: a deck whose figures or runtime JS did not get copied
renders perfectly and 404s in the browser.
2. **Open in browser:**
- `open docs/slides/<genre>/DeckName.html` # macOS
- `python3 scripts/deckpath.py DeckName --field genre` if unsure
Note: `docs/` is gitignored — local preview output does not enter git.
## Speaker Notes Policy
- QMD source always contains `::: {.notes}` blocks (single source of truth)
- **Local** (`Quarto/<genre>/*.html`): notes included — press `S` for speaker view
- **Public** (GitHub Pages): notes stripped by CI/CD pipeline
- Git clean filter strips notes from QMD before commit (`.gitattributes`)
Is this your skill, or is something wrong with this listing? . Author removals are honored within 72 hours.
No comments yet. Be the first to comment!