Skip to content
Back to skills

Deploy

ASecurity

Render Quarto slides and deploy to GitHub Pages via CI/CD. Use when deploying lecture slides after making changes.

  • 6 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 2, 2026
ai-agentspythonbashtestinggitci/cd

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add alohays/paper2pr --skill deploy --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Deploy?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Deploy
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/alohays-deploy/badge)](https://www.skillsdirectory.com/skills/alohays-deploy)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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`)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.