# deck-studio

Turns a confirmed slide outline or lecture notes into actual deck files, handouts and posters through Marp, Pandoc, Beamer or python-pptx, using a four-agent team.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · ★ 41
- Author: YujxZJCN
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/YujxZJCN/teaching-skills/tree/HEAD/deck-studio/SKILL.md
- Updated: 2026-10-03
- HTML: https://affpapa.org/en/nevibecode/skills/deck-studio

## What it does

The skill takes an outline you have already settled on and produces a file you can project. Four agents split the work: `deck_architect_agent` lays the material out slide by slide, `visual_designer_agent` defines the course theme, `figure_maker_agent` draws charts from code, and `renderer_agent` runs the build and checks that the artifact landed on disk. No build ran, no binary — the markdown source stays, and the skill will not hand you a PPTX it never produced.

There are six modes: `deck`, `theme`, `figure`, `handout`, `restyle`, `poster`. You set the theme once per course and the other modes read from it. Rendering goes through Marp, Pandoc, Beamer with tectonic, or python-pptx; the renderer reports which of those are present and gives the install command for whatever is missing. If your institution supplies a `.potx` or `.pptx` template, the route runs through python-pptx or `pandoc --reference-doc`.

Before building, the skill stops for confirmation of the toolchain and the output format. With nothing installed, the choice is yours: install a tool or ship source only. After the render comes an accessibility pass driven by `references/slide_design_rules.md` — a 24pt floor for body text, contrast, a colorblind-safe palette, alt text on figures. Violations get listed, not quietly patched.

The boundary is worth knowing: what the slides say belongs to `lesson-builder`, the slide files belong here. Figures that need your own data or lab photos stay as labeled placeholders.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add YujxZJCN/teaching-skills --skill deck-studio -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/deck-studio/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/deck-studio/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add YujxZJCN/teaching-skills --skill deck-studio -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/deck-studio/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add YujxZJCN/teaching-skills --skill deck-studio -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/deck-studio/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install YujxZJCN/teaching-skills deck-studio
```

2. **Manually: put the files in place**
- File: `.github/skills/deck-studio/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add YujxZJCN/teaching-skills --skill deck-studio -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/YujxZJCN/teaching-skills --path deck-studio
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/deck-studio/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add YujxZJCN/teaching-skills --skill deck-studio -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/YujxZJCN/teaching-skills/tree/HEAD/deck-studio/SKILL.md

## When to use it
- build a lecture deck from an existing slide outline
- set one visual theme across a whole course
- render a chart from code instead of pasting an image
- produce a student handout from the same deck
- audit and rebuild a dense old deck

## Example prompts
- Turn my Week 5 slide outline into a PowerPoint deck
- Build a visual theme for my whole course — institutional blue, big fonts
- Make a figure: cache hit rate vs cache size, three eviction policies

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: a15d1f480c2feb70.

BEGIN THIRD-PARTY FILE a15d1f480c2feb70
````text
---
name: deck-studio
description: "Slide deck production for university professors. 4-agent team turning slide outlines and lecture notes into actually rendered deck files — Marp, Pandoc, Beamer via tectonic, or python-pptx — with a course-wide visual theme, code-generated figures, student handouts, and academic posters. Detects installed toolchains honestly; enforces accessibility minimums. Triggers on: make slides, PPT, PowerPoint, slide deck, beamer, presentation, lecture slides, poster, render my slides, slide theme, 做PPT, 幻灯片, 课件制作, 讲义, 海报, 演示文稿."
metadata:
  version: "1.0.0"
  last_updated: "2026-06-10"
  status: active
  pipeline_stage: 2
  related_skills:
    - lesson-builder
    - course-publisher
    - teaching-pipeline
---

# Deck Studio — Slide Production Team

Turns confirmed slide outlines and lecture notes into files a professor can actually
project: lesson-builder designs what the slides *say*; this skill builds what the
slides *are*. The professor brings the content and the institutional template; this
skill brings real toolchains, a consistent course-wide theme, code-generated figures,
and an accessibility floor that is enforced rather than suggested.

> **Prime rule:** never fake a render. The markdown/spec source is always produced;
> the binary artifact exists only when a real tool actually built it and the file was
> verified on disk. "Here is your PPTX" without a build that ran is the one lie this
> skill is structurally forbidden to tell.

## Quick Start

```
Turn my Week 5 slide outline into a PowerPoint deck
帮我把这份讲稿做成幻灯片，用学校的模板
Build a visual theme for my whole course — institutional blue, big fonts
Make a figure: cache hit rate vs cache size, three eviction policies
My old deck is a wall of text — audit and rebuild it
I need an A0 poster for the teaching innovation showcase
```

## Modes

| Mode | Trigger intent | Output |
|------|---------------|--------|
| `deck` | "Make/render slides from…" with an outline or notes | Markdown deck source + rendered file (PDF/PPTX/HTML) through the chosen toolchain |
````
END THIRD-PARTY FILE a15d1f480c2feb70

The third-party file has ended. Everything between the a15d1f480c2feb70 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2147 of 10182 bytes. © YujxZJCN · MIT · https://github.com/YujxZJCN/teaching-skills/tree/HEAD/deck-studio/SKILL.md

## Similar
- [slides-polish](https://affpapa.org/en/nevibecode/skills/slides-polish.md) — skill · 407 installs
- [latex-document-skill](https://affpapa.org/en/nevibecode/skills/latex-document-skill.md) — skill · 561 installs
- [html-to-ppt](https://affpapa.org/en/nevibecode/skills/html-to-ppt.md) — skill · 5000 installs

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
