generate-presentation
Skill65 starsChanged 17 days agoMITView on GitHub
Make the shortest slide deck (a 16:9 PDF with speaker notes, at most 12 slides) that fully explains a GitHub pull request, in one white Microsoft look: one idea per slide, drawn as diagrams, with screenshots of the real app when the change is visible, every fact from the PR. USE FOR: "/generate-presentation 12345", "make slides about this PR", "a deck for my manager on PR <url>", "present this pull request". DO NOT USE FOR: editing PowerPoint files, videos (use generate-video), decks with no pull request behind them.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- herbert051281/mission-controltheir own version, first seen Mar 25, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- herbert051281/mission-control★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository30 other files it gives its agents.
- AGENTS.mdAGENTS.md
- manage-bansSkill
- build-healthSkill
- setup-component-explorer-fullSkill
- setup-component-explorer-lightSkill
- setup-component-explorerSkill
- use-component-explorerSkill
- debugSkill
- inbox-add-reactionSkill
- inbox-dismiss-notificationSkill
- inbox-get-notification-detailsSkill
- inbox-install-gh-cliSkill
- inbox-list-notificationsSkill
- inbox-manage-subscriptionSkill
- inbox-mark-all-readSkill
- inbox-memorySkill
- inbox-open-notificationSkill
- inbox-search-issuesSkill
- inbox-setupSkill
- council-planSkill
- council-reviewSkill
- monitor-prSkill
- my-issuesSkill
- my-work-setupSkill
- my-work-uiSkill
- generate-videoSkill
- review-areasSkill
- review-planSkill
- session-timelineSkill
- generate-test-videoSkill
The file
We split this skill into the rules it gives an agent
11 rules. About 0 are common, 5 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 28
Ask for the audience only if the request hints at one you can't infer.
- Very specific: line 29
The engine: run node <plugin>/scripts/setup.mjs by absolute path.
- Distinctive: line 40
Facts: Read them as the contract says.
- Very specific: line 44
When the PR changes something a user sees or does, capture the app too (capture.md, with record: false and a k.shot() of each state): the …
- Very specific: line 49
Add --vs assets/<other> to see where two pictures differ.
- Very specific: line 55
Build: Run prs deck build <slug> --no-deliver until it ends with Checks: clean.
- Distinctive: line 75
Add a slide only for an answer these can't hold.
- Distinctive: line 84
A different picture: Never the same layout twice in a row.
- Very specific: line 96
Follow review.md, with prs deck review <slug> before each round (after a --no-deliver build).
- Very specific: line 104
Once signed off: run prs deck build <slug> without --no-deliver.
- Distinctive: line 115
Called by another skill or agent: don't end your turn: give it the paths and what it asked for.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Generate a presentation of a PR
A 16:9 PDF with speaker notes, at most 12 slides, that fully explains one pull request. It has one idea per slide, drawn as a diagram, and screenshots of the real app when the change is visible. You write the slides from the PR; the engine draws them and checks the words, code lines, paths and sources. First read contract.md.
Needs: a terminal and file tools (reading images, subagents and chat artifacts help). macOS or Linux with Node.js
20+, and access to github.com. Commands install what they need into ~/.cache/ on first use. gh, signed in, is
optional.
The fast path: setup.mjs → prs deck new --pr → pictures, captures in a subagent if you have one (prs app, the
capture kit) → outline → deck.mjs → prs deck build --no-deliver until Checks: clean, and look → prs deck review
and the review → fixes, build, prs deck review, until signed off → prs deck build delivers.
1. Find the PR and the engine
The PR:
- a URL or
<owner>/<repo>#<n>: use it; - a number alone: a PR of the workspace's GitHub repo;
- nothing: ask.
Ask for the audience only if the request hints at one you can't infer. By default, it is teammates and their manager.
- a URL or
- The engine: run
node <plugin>/scripts/setup.mjsby absolute path;<plugin>is two folders above this file. Its last line isSTUDIO=<folder>. Below,prs <x>meansnode <studio>/cli/prs.mjs <x>.
2. Make the deck
Post a one-line update after each step.
- Start.
prs deck new --pr <url>fetches the PR into<studio>/videos/<slug>/(the slug is<owner>-<repo>-<n>; pass it to every command) and writes<studio>/decks/<slug>/deck.mjs. The title card and the status slide (with the PR's QR code) are filled from the PR's data. There is no end slide. If the change is visible in VS Code, startprs app <slug> --beforein the background now: the builds download while you read. - Facts. Read them as the contract says. The brief's Pictures section lists the author's and the CI's screenshots.
- Pictures.
- Download the PR's screenshots you'll use into
assets/(curl -fsSL -o <studio>/decks/<slug>/assets/<name>.png '<url>'; the CI's are PNGs without an extension). Open each to check it shows what the brief says. - When the PR changes something a user sees or does, capture the app too (capture.md,
with
record: falseand ak.shot()of each state): the author's pictures show what they saw, yours show the change running. With subagents, hand the capture to one (capture.md, the slug,<studio>, and the states to show), and outline meanwhile. prs deck grid <slug> assets/<file>draws the picture with a grid of its pixels, to place crops, pins and rings. Add--vs assets/<other>to see where two pictures differ.- Draw a
uiorchatmock only for what neither the pictures nor the app can show, and say in the notes that it is a sketch.
- Download the PR's screenshots you'll use into
- Outline. One line per slide: its point (the title), its layout, its evidence, and the answers it gives. Post it before writing.
- Write
deck.mjs. Pick layouts from layouts.md, and copy each one's fields from its sample. - Build. Run
prs deck build <slug> --no-deliveruntil it ends withChecks: clean. Fix the slide, not the check: cut words, pick another layout, copy code exactly from the diff, or add the source. - Look. Open
out/contact.png, then every page at full size (out/slides/NNN.png). Fix what is crowded, clipped, empty, hard to read, or not what its title says.
The slides
Most PRs need four or five:
- Title (scaffolded): the PR's point in 8 plain words or fewer, and a
subof one sentence: what changes, for whom. - What it looks like or does, shown rather than told: a
splitof captures before and after, animage, or aheronumber from the PR. - How it works: one or two diagrams of the mechanism, in the PR's own words (
flow,pipeline,sequence,journey,spans,layers,lanes,files), or onecodeslide with the lines that matter. - What could break, and how it is tested: a
checklistorpillarswith the test files, or a callout on the how-it-works slide. - Status (scaffolded): the path from opened to merged, with the PR's QR code. Its title says where to start reading, or what is still open. Its notes give the scope, the tests and what is open.
Add a slide only for an answer these can't hold; the contract's arcs give the order.
Every slide:
- One idea. The title says the point, not the topic: "Alt picks the side, the pill picks the slot", not "Routing". The eyebrow names the topic in 2–4 words.
- At most 25 words besides the title (the build counts them, labels, subs and callouts included; not the eyebrow, column headers, code lines or big numbers). The rest goes in the notes.
- Notes and sources. Notes of 2–5 plain sentences: what to say, with caveats. Every number has a source:
sources: ['owner/repo#n | <url>']. - A different picture. Never the same layout twice in a row. At least half the slides are diagrams, pictures or big single ideas.
- Code names in
`backticks`, exactly as in the diff: the build checks them. - Rhythm: one or two slides with
bg: 'dark'or'blue', onstatement,quote,hero,iconsorcounters. - Pictures:
- crop to the part that matters, pin each point, or ring a region;
- a before and after is a
splitwith the same crop on both sides; - a PDF doesn't move: show an interaction as its states;
- the notes say where each picture comes from: the author, the CI, or a capture of which build.
3. Review
Follow review.md, with prs deck review <slug> before each round (after a --no-deliver
build).
- Reviewer inputs:
- the PR URL, the slug and
<studio>; - the pack's
pack.md(prs deck reviewprints its path); brief.mdandpr.difffrom<studio>/videos/<slug>/;deck.mjs,assets/andout/from<studio>/decks/<slug>/.
- the PR URL, the slug and
- Review file:
<studio>/decks/<slug>/review.md. - Once signed off: run
prs deck build <slug>without--no-deliver.
4. Deliver
The final build prints the folder it delivered to (~/Downloads/pr-decks/<slug>/ by default). It holds:
<slug>.pdf;contact.png;notes.md(the notes and sources);slides/(a picture per page, which VS Code's chat shows as a slide viewer).
How to finish:
- Called by another skill or agent: don't end your turn: give it the paths and what it asked for. It records the artifacts.
- With a chat-artifact tool: record the PDF (
Slides: #<n> <PR title>, plus(self-reviewed)if it was) andcontact.png(All pages: #<n>), by absolute path. End your turn there. - Otherwise: end with the PDF's path, the slide count and about how many minutes, a line per slide, the verdict, and what you couldn't check.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

