McKinsey-Style PPT Design
likaku/Mck-ppt-design-skill
Builds consultant-style PowerPoint decks from scratch with the MckEngine python-pptx wrapper, through a five-stage flow with scripted quality gates.
A skill your agent uses when building, theming, or exporting a presentation deck — pitch, sales, keynote, board/QBR, leave-behind one-pager — from slide structure to a token-based theme to PDF or…
$ npx skills add ericrisco/rsc-harness --skill presentations -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ericrisco/rsc-harness presentations --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/presentations .claude/skills/presentations && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "presentations" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/presentations into .claude/skills/presentations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "presentations", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ericrisco/rsc-harness/tree/main/skills/presentationsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ericrisco/rsc-harness --skill presentations -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ericrisco/rsc-harness presentations --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/presentations .agents/skills/presentations && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "presentations" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/presentations into .agents/skills/presentations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "presentations", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ericrisco/rsc-harness --skill presentations -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ericrisco/rsc-harness presentations --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/presentations .cursor/skills/presentations && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "presentations" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/presentations into .cursor/skills/presentations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "presentations", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ericrisco/rsc-harness.git --path skills/presentations--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ericrisco/rsc-harness --skill presentations -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ericrisco/rsc-harness presentations --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/presentations .gemini/skills/presentations && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "presentations" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/presentations into .gemini/skills/presentations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "presentations", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ericrisco/rsc-harness presentationsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ericrisco/rsc-harness --skill presentations -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/presentations .github/skills/presentations && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "presentations" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/presentations into .github/skills/presentations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "presentations", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ericrisco/rsc-harness --skill presentations -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ericrisco/rsc-harness presentations --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/presentations .opencode/skills/presentations && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "presentations" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/presentations into .opencode/skills/presentations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "presentations", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
presentationsA skill your agent uses when building, theming, or exporting a presentation deck — pitch, sales, keynote, board/QBR, leave-behind one-pager — from slide structure to a token-based theme to PDF or…
Presentations is an agent skill from ericrisco/rsc-harness. Use when building, theming, or exporting a presentation deck — pitch, sales, keynote, board/QBR, leave-behind one-pager — from slide structure to a token-based theme to PDF or editable PPTX (Marp, Slidev, python-pptx). NOT the words (that is marketing), NOT the visual tokens (that is design), NOT the investor story arc (that is pitch-deck).
Its SKILL.md is about 5.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including scripts and reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/brand-grounding.md`).
It sits in Documents & Office, covering Slides and decks, PowerPoint presentations and Fundraising and pitch decks. It works with Microsoft PowerPoint and python-pptx. The repository describes itself as: Your agent invents things because it has no memory, and can't touch your database because it has no arms. rsc is the meta-harness that gives it both, plus the trade to know the… The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 92fde8f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
npxnpmpippythonsofficeFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
fonts.googleapis.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Presentations loads about 5.2k tokens when it runs, and up to ~20k if it reads all its reference files. Until then it costs about 91 tokens; SKILL.md has 2,325 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from ericrisco/rsc-harness at commit 92fde8f, republished under its MIT licence (© ericrisco). 2,325 words, ~5,223 tokens.
.claude/skills/presentations/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.Two first-class pipelines, one decision. Design-led Markdown decks (Marp/Slidev) for a deck that flipa and exports clean to PDF and PPTX, or native editable PowerPoint via
python-pptxwhen the user must hand off a.pptxpeople will edit in PowerPoint/Keynote/Google Slides. The deck owns structure, visual system, and export. The words aremarketing's job; the visual tokens aredesign's. This skill orchestrates all three into a finished deck.
Also out of scope: a web-native, scroll/animation-heavy landing page (that is
../design/SKILL.md + ../nextjs/SKILL.md); a video / motion explainer as the deliverable — this
skill uses motion only as restrained slide transitions and builds, never as the medium; and the live
financial model behind an investor deck — this skill renders the slides and cites the model as the
source of truth.
Never produce deck copy or a deck narrative without a complete brand study. A deck is the brand on
stage: generic slides read as "another AI deck" the moment they hit the projector, and the only cure is
grounding every headline, claim, and tone choice in a real, persisted brand profile. This is the same
gate marketing and design enforce — decks share the study, they do not fork it.
CLAUDE.md for a ## Brand & voice section linking into 02-DOCS/wiki/brand/ (the harness Karpathy-wiki convention: compiled brand articles under 02-DOCS/wiki/brand/, raw inputs the user pastes under 02-DOCS/raw/brand/). No CLAUDE.md, no link, or a link that points nowhere = ABSENT.references/brand-grounding.md — it extends the shared brand checklist with deck-specific dimensions: deck purpose, audience & setting, length, presenter-vs-leave-behind, and must-include slides. Any empty dimension = INCOMPLETE.02-DOCS/wiki/brand/ (raw inputs verbatim under 02-DOCS/raw/brand/), and add/update the ## Brand & voice link in root CLAUDE.md. Exact format → references/brand-grounding.md.02-DOCS/wiki/brand/value-proposition.md, voice in voice.md").Single exception: if the user explicitly says "skip it, rough draft", you may produce a clearly-labelled
DRAFT (ungrounded — not brand-checked) and still recommend running the gate before it ships.
A deck is a communication artifact, so the design that matters most is the message design. Everything below descends from audience-centered design — every choice serves the audience's understanding, not the presenter's comfort.
Plan the message (six questions). Lock these before storyboarding: (1) who specifically is the
audience and what do they already know; (2) the ONE main message they remember a week later; (3) the 3–5
supporting points that carry it; (4) the evidence proving each; (5) the single call-to-action; (6) what is
essential vs. expandable under time pressure. These feed the deck arc directly: message = thesis, points =
beats, CTA = closing ask (→ references/storytelling-and-decks.md).
Assertion-evidence is the slide unit. Each slide = one assertion (a complete claim, written as the title) + the visual evidence that proves it — never a topic label over a bullet list. "User engagement rose 43% after the redesign" + a chart, not "Engagement" + three bullets. The body proves the headline; it never repeats it.
One concept per slide. Working memory is small and the audience is also listening to you. If a slide needs two breaths to explain, it's two slides. Reveal sequential parts progressively — build order is the explanation — rather than dumping everything at once.
Spoken vs. shown — never both. The slide and your mouth are two channels; redundancy wastes both. Show the assertion, the visual, the number, the next step; say the elaboration, the context, the interpretation, the story. Reading slides verbatim is the fastest way to lose a room.
Full frameworks — the planning questions, the spoken/shown table, the 1–5 evaluation rubric
(audience-centered / visual clarity / cognitive load / accessibility), the implementation checklist, and the
communication anti-patterns — live in references/slide-design.md. Score any draft against the rubric (≥ 4
on each axis) before shipping.
Pick once, up front — switching mid-build is expensive.
| Question | → Markdown deck (Marp/Slidev) | → Native PPTX (python-pptx) |
|---|---|---|
| Primary deliverable | A stunning deck; PDF is the hero, PPTX a bonus | An editable .pptx people will open and change |
| Who edits after handoff | You / engineering, in Markdown + Git | Non-technical stakeholders, in PowerPoint/Keynote/Slides |
| Visual ceiling | High — full CSS/HTML, web fonts, CSS grid, gradients, SVG | PowerPoint's box model; native charts/tables/SmartArt-lite |
| Theming source | Design tokens → CSS theme (OKLCH, type scale, spacing) | Design tokens → .pptx theme (sRGB colors, theme fonts) |
| Data viz | SVG / chart libs / images, full control | Native, editable PowerPoint charts (live in the file) |
| Diffable / reviewable in Git | Yes (Markdown) | No (binary) |
| Speaker notes | Yes (<!-- notes --> / notes:) | Yes (native notes pane) |
| Version control of changes | Excellent | Poor (binary blobs) |
Default to the Markdown pipeline for anything where "stunning" matters and the user is fine getting a
PDF (+ image-based PPTX). Choose python-pptx the moment the user says "I need to edit it in
PowerPoint", "the client edits the slides", "live charts", or "corporate template .potx". When unsure,
ask one question: "After I hand it over, will someone edit the slides in PowerPoint/Keynote, or is a
polished PDF enough?" You can also build in Markdown and additionally export a --pptx for handoff —
just warn that Marp/Slidev PPTX slides are images, not editable text (a key gotcha, see exports).
Deep recipes for each → references/markdown-decks.md and references/pptx-python.md.
references/storytelling-and-decks.md. Lock the one-sentence thesis the whole deck proves.marketing collaboration: headlines are copy. Get the skeleton approved before designing pixels.references/slide-design.md, references/markdown-decks.md, references/pptx-python.md)references/slide-design.md)references/storytelling-and-decks.md)references/markdown-decks.md, references/pptx-python.md)scripts/verify.sh (lint deck sources, dry export, import check) and the QA gate below.02-DOCS/wiki/stack/presentations.md (Project grounding, below).One end-to-end pass, brand study already complete. Read this once and you rarely need to round-trip the references for a standard Markdown deck.
1. Storyboard the spine (assertion headlines only — read top-to-bottom, they ARE the pitch; →
references/storytelling-and-decks.md). Thesis: "Onboarding v2 is why we can raise now."
1 Onboarding v2 cut churn 40% (title)
2 One in three users never finished setup (problem — make it ache)
3 We rebuilt the first run as one screen (solution, one visual)
4 Activation rose 28pts in six weeks (proof — chart, one series)
5 TAM is $12B, growing 24%/yr (market, stated assumptions)
6 The ask: $2M to make this the default path (CTA — one ask)2. Theme from design tokens. Pull OKLCH palette + type scale from 02-DOCS/wiki/stack/design.md into a
Marp CSS theme (full theme → references/markdown-decks.md). The load-bearing move is mapping tokens to
variables once, never hand-picking hex per slide:
/* @theme brand — generated from 02-DOCS/wiki/stack/design.md */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:wght@700&family=Inter:wght@400;600&display=swap');
:root { --brand: oklch(0.62 0.19 264); --ink: oklch(0.18 0.03 264);
--surface: oklch(0.98 0.005 264); --accent: oklch(0.74 0.17 52); }
section { background: var(--surface); color: var(--ink); font-family: Inter, sans-serif; font-size: 26px; }
h1 { font-family: Fraunces, serif; font-size: 44px; } strong { color: var(--accent); }Write the spine into deck.md with marp: true, theme: brand, size: 16:9, talk track in <!-- notes -->.
3. Export to PDF + PPTX and verify fonts embed (gotchas → references/markdown-decks.md):
npx @marp-team/marp-cli@latest deck.md --theme ./theme.css --pdf --pdf-outlines --pdf-notes
npx @marp-team/marp-cli@latest deck.md --theme ./theme.css --pptx # image-per-slide; NOT editable text
pdffonts deck.pdf # every font must read 'emb yes'
./scripts/verify.sh # lint + dry export + QA checklistIf the client will edit the slides, this is the wrong pipeline — rebuild with python-pptx (→
references/pptx-python.md), whose build_deck.py emits the same six slides as native editable shapes/charts.
@marp-team/marp-cli. Run pinned: npx @marp-team/marp-cli@latest deck.md --pdf. Exports HTML / PDF / PPTX / PNG / JPEG. Needs a Chromium-family browser (Chrome/Edge) or Firefox for PDF/PPTX/image export (v4 added Firefox via WebDriver BiDi as a fallback; Chrome/Edge are preferred and give the most faithful PDF). --pptx is image-per-slide; --pptx-editable is experimental and needs LibreOffice (soffice). --notes / a .txt output exports speaker notes. Node 18+. (→ references/markdown-decks.md)@slidev/cli (Vue-based). Scaffold npm init slidev@latest; dev slidev; export slidev export (PDF default; --format pptx|png). Export needs playwright-chromium installed in the project (npx playwright install chromium or npm i -D playwright-chromium). PPTX is image-per-slide; notes carry over per slide. Best for code-heavy / developer talks (live code, Monaco, Mermaid, Vue components). (→ references/markdown-decks.md)pip install python-pptx (current major 1.x, e.g. 1.0.x). Pure Python, no Office/LibreOffice needed to write .pptx. Creates masters/layouts, text, tables, native editable charts, images, speaker notes. Cannot render to PDF itself — convert via LibreOffice soffice --headless --convert-to pdf or open in Office. (→ references/pptx-python.md)references/markdown-decks.md)Always pin/verify the version in the target project before generating (marp --version, npx slidev --version, python -c "import pptx; print(pptx.__version__)"). Tooling moves; re-check rather than trusting memory.
marketing)The deck's words are conversion copy on a stage. Defer the craft to ../marketing/SKILL.md; this skill
enforces the deck-specific shape:
design)The deck's pixels are the brand's design system projected at 3 metres. Defer the system to
../design/SKILL.md; this skill enforces the deck-specific constraints (full depth →
references/slide-design.md):
[[NEEDS PROOF]], never fabricate one to fill a chart.| Anti-pattern | Why it's wrong | Do instead |
|---|---|---|
| Topic-label headlines ("Market", "Team") | Forces the audience to find the point | Assertion headline that states the point |
| Wall of bullets / paragraphs on a slide | Audience reads instead of listening; nothing lands | One idea, ≤ ~6 lines; move detail to notes/appendix |
| Reading the slides verbatim | The slide and the talk become redundant | Slide = the visual; you = the narration; notes = the script |
| Tiny text to fit more | Unreadable from the back; signals filler | Split into more slides; raise the floor, not lower it |
| Hand-picked hex per slide | Drifts off-brand, inconsistent | Map design tokens once into the theme |
| Rainbow charts, 3-D pies, dual axes | Decoration over meaning; misleads | One highlighted series; direct labels; honest axes |
| Generic stock photos + purple gradient | Reads as "AI deck"; no identity | Brand imagery + token palette + a real type pairing |
| Every-element animation, slow transitions | Noise; tanks pacing; nausea | One fast transition family; builds that reveal meaning |
| Exporting PPTX from Marp/Slidev and calling it "editable" | Slides are flattened images, not text | Use python-pptx when editability is required |
| Fonts not embedded in the PDF | Renders with fallback fonts on other machines | Embed fonts; verify (see exports gotchas) |
| Invented metrics to fill a chart | Destroys credibility in the room | Cite the source; mark gaps [[NEEDS PROOF]] |
# --- Markdown: Marp (PDF is the hero; PPTX = images) ---
npx @marp-team/marp-cli@latest deck.md --theme ./theme.css --pdf # vector PDF, fonts embedded
npx @marp-team/marp-cli@latest deck.md --theme ./theme.css --pdf --pdf-outlines --pdf-notes
npx @marp-team/marp-cli@latest deck.md --pptx # image-per-slide PPTX
npx @marp-team/marp-cli@latest deck.md --pptx --pptx-editable # experimental, needs soffice
npx @marp-team/marp-cli@latest deck.md --notes notes.txt # speaker notes only
# --- Markdown: Slidev (code-heavy talks) ---
npm init slidev@latest # scaffold
npx slidev # dev server (localhost:3030)
npx playwright install chromium # one-time, for export
npx slidev export # PDF (default)
npx slidev export --format pptx # image-per-slide PPTX
# --- Native editable PPTX (python-pptx) ---
pip install python-pptx
python build_deck.py # your generator (see ref)
soffice --headless --convert-to pdf deck.pptx # PPTX -> PDF via LibreOffice
# --- Fallback: any HTML deck -> PDF ---
npx decktape reveal http://localhost:8000 deck.pdf
# --- Verify before shipping ---
./scripts/verify.sh # warn-by-default; lint sources + dry export + import check
./scripts/verify.sh --strict # gate CI (warnings become failures)Run before claiming done — each line is a defect if unchecked. scripts/verify.sh automates the
mechanical subset.
[[NEEDS PROOF]], none invented.references/slide-design.md, "Diagnostic rubric").In a project with a 02-DOCS/ layer (the harness Karpathy wiki), read
02-DOCS/wiki/stack/presentations.md first and stay consistent with it; create or refresh it when
missing or stale, and index it in 02-DOCS/wiki/index.md. It records this project's real choices: the
chosen pipeline (Marp / Slidev / python-pptx) and why, the theme file path and how it maps the design
tokens, the standard deck arc(s), export commands and the canonical output, the presenter-vs-leave-behind
convention, and font-embedding / asset-location notes.
The deck theme is downstream of the design tokens: always reconcile that article with
02-DOCS/wiki/stack/design.md so the deck and the product share one palette and type system.
No 02-DOCS/ layer? Skip silently (optionally suggest harness). Unlike the brand study, deck
conventions are recorded, not gated — never block the task on this.
© ericrisco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 8 other files (scripts, references) in skills/presentations of ericrisco/rsc-harness.
Open the folder on GitHubat commit 92fde8f
Presentations next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Presentations this skillericrisco/rsc-harness | 156 | — | ~5.2k | Automated safety check: Pass | MIT | |
| McKinsey-Style PPT Designlikaku/Mck-ppt-design-skill | 296 | — | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| Slidesfcakyon/claude-codex-settings | 1.2k | 1 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Gpt Image2 PptJuneYaooo/gpt-image2-ppt-skills | 1.3k | — | ~8.9k | Automated safety check: Notes | Apache-2.0 | |
| Ppt Agentsunbigfly/ppt-agent-skills | 905 | — | ~5.6k | Automated safety check: Pass | MIT | |
| Creatpptseekskyworld/CreatPPT | 148 | — | ~2.7k | Automated safety check: Pass | Apache-2.0 |
likaku/Mck-ppt-design-skill
Builds consultant-style PowerPoint decks from scratch with the MckEngine python-pptx wrapper, through a five-stage flow with scripted quality gates.
fcakyon/claude-codex-settings
Create and edit presentation slide decks (.pptx) with PptxGenJS, bundled layout helpers, and render/validation utilities.
JuneYaooo/gpt-image2-ppt-skills
Generate visually striking PPT slides via OpenAI's gpt-image-2 -- use any style in styles/<collection/STYLEID.md or mimic a user-supplied .pptx template; outputs high-res slide PNGs and a 16:9 .pptx.
sunbigfly/ppt-agent-skills
专业 PPT 演示文稿全流程 AI 生成助手。模拟顶级 PPT 设计公司的完整工作流(需求调研到资料搜集到大纲策划到策划稿到设计稿),输出高质量 HTML 格式演示文稿。当用户提到制作 PPT、做演示文稿、做 slides、做幻灯片、做汇报材料、做培训课件、做路演 deck、做产品介绍页面时触发此技能。即使用户只说"帮我做个关于 X 的介绍"或"我要给老板汇报…
seekskyworld/CreatPPT
Generate a finished editable Web presentation workspace from a brief or semantic content, then let the user revise it in the browser and explicitly export PPTX on demand.
Noi1r/powerpoint-skill
Create visually rich PowerPoint (.pptx) presentations from academic papers, research notes, or any content the user wants in slide format.
ericrisco/rsc-harness
A skill your agent uses when designing or analyzing a controlled experiment — falsifiable hypothesis, sample size from an MDE, reading significance/CI/power, CUPED, or rescuing tests that won't go…
ericrisco/rsc-harness
A skill your agent uses when making a web UI conform to WCAG 2.2 Level AA — axe-core or Lighthouse a11y violations, keyboard operability, focus management, ARIA roles/names/live regions, contrast…
ericrisco/rsc-harness
A skill your agent uses when running or fixing paid acquisition on Google or Meta — campaign structure (Performance Max, Demand Gen, Search, Advantage+), platform-fit creative, budget/scaling rules…
ericrisco/rsc-harness
A skill your agent uses when measuring whether an LLM or agent system actually got better and gating merges on it: golden sets, fixing an inflated LLM-as-judge, scoring RAG (faithfulness, contextual…
ericrisco/rsc-harness
A skill your agent uses when a creative goal must become a finished media file: pick and order generative-media models per modality — AI voiceover, image-to-video clips, score — then glue them with…
ericrisco/rsc-harness
A skill your agent uses when instrumenting product or web analytics — GA4/PostHog SDK wiring, event taxonomy, funnels, double-counted events, consent gating, PII scrubbing.
Works with
Categories
A skill your agent uses when building, theming, or exporting a presentation deck — pitch, sales, keynote, board/QBR, leave-behind one-pager — from slide structure to a token-based theme to PDF or…. Presentations is an agent skill from ericrisco/rsc-harness. Use when building, theming, or exporting a presentation deck — pitch, sales, keynote, board/QBR, leave-behind one-pager — from slide structure to a token-based theme to PDF or editable PPTX (Marp, Slidev, python-pptx).
Presentations fits situations like: exporting a presentation deck — pitch; leave-behind one-pager — from slide structure to a token-based theme to PDF; editable PPTX (Marp.
Run `npx skills add ericrisco/rsc-harness --skill presentations -a claude-code`. Or copy the skill folder (skills/presentations in ericrisco/rsc-harness) into .claude/skills/presentations in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ericrisco/rsc-harness --skill presentations -a codex`. Or copy the skill folder (skills/presentations in ericrisco/rsc-harness) into .agents/skills/presentations in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ericrisco/rsc-harness --skill presentations -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/presentations, .gemini/skills/presentations, .github/skills/presentations and .opencode/skills/presentations in your project.
Going by SKILL.md and its folder, Presentations needs a shell for the scripts in its folder and the command-line tools its instructions call (npx, npm, pip, python and soffice). Our summary lists: Node.js; A Bash shell.
SKILL.md names 1 domain. In commands or code: fonts.googleapis.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Presentations is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.2k tokens (SKILL.md is roughly 21k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 15k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Presentations: McKinsey-Style PPT Design (likaku/Mck-ppt-design-skill, 296 stars), Slides (fcakyon/claude-codex-settings, 1.2k stars), Gpt Image2 Ppt (JuneYaooo/gpt-image2-ppt-skills, 1.3k stars) and Ppt Agent (sunbigfly/ppt-agent-skills, 905 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 156 GitHub stars. The repository holds 229 skills in this directory. The repository was last updated on October 6, 2026.
Source: ericrisco/rsc-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.