academic-pptx-skill
Skill14 starsChanged 4 months agoMITView on GitHub
Create and revise evidence-led academic presentations through an HTML/Tailwind authoring surface and PptxGenJS export. Use for conference talks, seminar presentations, research briefings, thesis or dissertation defenses, proposal defenses, paper-to-slides conversion, academic figures and tables, speaker notes, citations, and PPTX visual QA. Keep the workflow academic-only; do not use it for commercial pitches, marketing decks, or PowerPoint COM template inheritance.
In this repository9 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- writing-skillsSkill
- analyze-plotSkill
- paper-extractSkill
- paper-plotSkill
- paper-reviewSkill
- paper-writingSkill
- systematic-researchSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
30 rules. About 0 are common, 18 are distinctive, and 12 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈18
Distinctive · estimate
This author's own choices. Worth a look.
12
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Create editable academic PPTX decks with one implementation route:
- Very specific: line 12
Do not switch to PowerPoint COM, VBA, python-pptx, screenshot-only slides, or a different presentation engine.
- Distinctive: line 16
Before authoring slides, read:
- Distinctive: line 25
Read speaker-notes.md when a talk script, timing plan, Q&A preparation, or source notes are needed.
- Distinctive: line 26
Read conference-genjs-few-shot.md when a user wants a classical conference-style treatment or when you need a sanitized helper-level …
- Very specific: line 32
Remove personal and paper-specific details when creating reusable examples.
- Distinctive: line 34
Prefer one composition on the canvas.
- Distinctive: line 35
Use real research figures, data visualizations, equations, or restrained diagrams when they carry evidence.
- Distinctive: line 36
Keep planning notes, timing cues, prompts, and implementation language out of audience-facing slide copy.
- Distinctive: line 41
Treat these as path variables:
- Very specific: line 59
Keep temporary research notes, evidence ledgers, slide plans, and QA logs under WORKSPACE_DIR/docs/work/.
- Very specific: line 73
If details are missing, use conservative defaults from academic-workflow.md and record the assumptions in the working notes.
- Very specific: line 77
Read all supplied papers, manuscripts, reports, figures, tables, and reference decks.
- Distinctive: line 91
Remove repeated background, method inventory, and low-value detail.
- Very specific: line 95
Use academic-light unless a technical dark treatment is appropriate to the field and room.
- Very specific: line 113
Create one file per page at frontend/src/slides/slide-N.js:
- Distinctive: line 126
Use exactly one 1440 x 810 root element per slide.
- Distinctive: line 127
Use continuous numbering beginning at 1.
- Distinctive: line 128
Keep all visible elements inside the slide bounds with stable pixel dimensions.
- Very specific: line 129
Use valid semantic HTML. Wrap text in p, heading, list, table, or figure elements.
- Distinctive: line 130
Prefer Tailwind utility classes and simple inline CSS.
- Very specific: line 131
Use object-contain for scientific figures unless an intentional crop is verified.
- Very specific: line 132
Keep citations visible but subordinate.
- Distinctive: line 135
Use bundled templates as structural starting points, then replace every placeholder and verify fit.
- Distinctive: line 139
Start the local server:
- Very specific: line 146
Use pnpm run dev when npm is unavailable.
- Distinctive: line 176
Run the bundled OOXML audit before delivery:
- Distinctive: line 182
Treat the audit as a structural gate, not a substitute for rendered inspection.
- Very specific: line 184
If artifacts/speaker-notes.txt is part of the deliverable, verify it too:
- Distinctive: line 197
no scratch screenshots or temporary build folders unless requested.
≈ “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
Academic PPTX
Create editable academic PPTX decks with one implementation route:
source materials -> evidence ledger -> slide narrative -> HTML/Tailwind -> PptxGenJS -> rendered QA
Do not switch to PowerPoint COM, VBA, python-pptx, screenshot-only slides, or a different presentation engine. A user-provided visual reference may influence design, but this Skill does not inherit a source PPTX master.
Read The Required References
Before authoring slides, read:
- academic-workflow.md for conference-talk and defense structures.
- evidence-and-citations.md for claim, figure, citation, and anonymization rules.
- design.md for the academic visual system and slide geometry.
- layout-system.md for page-role templates, density, and image-to-text allocation.
- visual-assets.md for figures, tables, equations, icons, and image preparation.
- quality-checklist.md before preview, export, and delivery.
Read speaker-notes.md when a talk script, timing plan, Q&A preparation, or source notes are needed. Read templates/index.md only when selecting a bundled starting layout. Read conference-genjs-few-shot.md when a user wants a classical conference-style treatment or when you need a sanitized helper-level few-shot extracted from the repository's meeting-type direct-script workflow. Use it as a composition reference only; keep the implementation route HTML/Tailwind-first.
Non-Negotiable Rules
- Ground every non-trivial claim, value, chart, and quoted sentence in supplied or verifiable sources. Never invent missing results.
- Preserve scientific meaning. Do not change denominators, units, confidence intervals, baselines, axes, sample sizes, or qualifiers for visual convenience.
- Remove personal and paper-specific details when creating reusable examples. Use placeholders such as
[Presenter Name],[Institution],[Method A], and[Dataset X]. - Give each slide one narrative job and one primary claim. Use takeaway titles instead of topic labels when evidence supports them.
- Prefer one composition on the canvas. Avoid dashboard grids, decorative card collections, pills, fake controls, marketing slogans, and ornamental technology effects.
- Use real research figures, data visualizations, equations, or restrained diagrams when they carry evidence. Never decorate a slide with an unrelated stock image.
- Keep planning notes, timing cues, prompts, and implementation language out of audience-facing slide copy.
- Include a
[Sources]block in the sidecar speaker notes for every external asset and non-trivial external claim.
Working Directories
Treat these as path variables:
SKILL_DIR: thisacademic-pptx-skilldirectory.WORKSPACE_DIR: a writable project directory for one deck.
The scaffold creates:
WORKSPACE_DIR/
|-- docs/
| |-- project.json
| `-- work/
|-- frontend/
| |-- public/assets/images/
| `-- src/slides/slide-N.js
`-- artifacts/Keep temporary research notes, evidence ledgers, slide plans, and QA logs under WORKSPACE_DIR/docs/work/. Use .txt for generated working files. Put only final PPTX and requested handoff files in artifacts/.
Environment Requirements
Use Node.js 20.19 or newer with npm or pnpm. The exporter and screenshot tool prefer an installed Chrome browser on Windows and macOS. Override browser discovery with PPTX_BROWSER_EXECUTABLE or PPTX_BROWSER_CHANNEL. On a machine without Chrome, install Playwright Chromium from SKILL_DIR/scripts/export with the selected package manager before exporting.
End-To-End Workflow
1. Frame The Academic Communication Job
Determine the format, audience, duration, language, source boundary, and expected decision or understanding. Express the job in one sentence:
By the end,
[audience]should understand or accept[outcome]because[central evidence-led takeaway].
If details are missing, use conservative defaults from academic-workflow.md and record the assumptions in the working notes.
2. Inspect Sources And Build An Evidence Ledger
Read all supplied papers, manuscripts, reports, figures, tables, and reference decks. Extract claims and assets into an evidence ledger before outlining. Record exact source locations and transformations. Mark gaps as [SOURCE NEEDED]; do not fill them from intuition.
3. Plan The Narrative
Choose the conference-talk or defense arc from academic-workflow.md. Create a page-by-page plan containing:
- slide number and narrative role;
- takeaway title;
- evidence IDs used;
- intended visual;
- audience-visible copy budget;
- speaking time;
- transition from the previous slide.
Remove repeated background, method inventory, and low-value detail. Put backup analyses, derivations, and extra tables in an appendix.
4. Define The Visual System
Use academic-light unless a technical dark treatment is appropriate to the field and room. Set palette, type, spacing, figure treatment, citation footer, page marker, and the page-role geometry before writing individual slides. Follow design.md and layout-system.md; user-supplied brand or institutional rules override their defaults.
5. Initialize The Workspace
Run once:
node "<SKILL_DIR>/scripts/setup.js" "<SKILL_DIR>" "<WORKSPACE_DIR>"The command copies assets/frontend, installs frontend and export dependencies, and creates the academic project manifest. Do not edit files under SKILL_DIR while producing a deck; edit the scaffolded workspace.
6. Prepare Visual Evidence
Copy approved figures and images to frontend/public/assets/images/. Prepare them with visual-assets.md. Prefer the author's original vector or high-resolution raster output. Recreate a chart only when the underlying data is available and verify every value against the source. Use simple native HTML shapes only for explanatory structure, not for scientific imagery.
7. Author Slides
Create one file per page at frontend/src/slides/slide-N.js:
window.slideDataMap.set(1, `
<div class="w-[1440px] h-[810px] bg-white px-[88px] py-[64px]">
<h1 class="text-[44px] leading-tight font-bold text-primary">The takeaway title</h1>
<p class="mt-[32px] text-[26px] leading-[1.45] text-gray-700">Audience-facing evidence.</p>
</div>
`);Observe this coding contract:
- Use exactly one 1440 x 810 root element per slide.
- Use continuous numbering beginning at 1.
- Keep all visible elements inside the slide bounds with stable pixel dimensions.
- Use valid semantic HTML. Wrap text in
p, heading, list, table, or figure elements. - Prefer Tailwind utility classes and simple inline CSS. Avoid CSS animation, filters, blend modes, pseudo-elements, nested transforms, and effects that do not convert reliably.
- Use
object-containfor scientific figures unless an intentional crop is verified. - Keep citations visible but subordinate. Do not place evidence-critical text below the legibility threshold in
design.md. - Shorten copy or change layout before shrinking fonts.
Use bundled templates as structural starting points, then replace every placeholder and verify fit. Do not mix the light and technical-dark systems within one deck except for a deliberate section break.
8. Preview And Capture Every Slide
Start the local server:
cd "<WORKSPACE_DIR>/frontend"
npm run devUse pnpm run dev when npm is unavailable. The setup and export scripts detect either package manager automatically.
Capture every page while the server is running:
node "<SKILL_DIR>/scripts/screenshot-ppt.js" --url http://localhost:5173 --output "<WORKSPACE_DIR>/artifacts/html-render"The capture command writes browser-audit.json. Add --strict after the first complete draft so clipping, broken images, and out-of-bounds text fail the check. Inspect every full-size PNG, then create a contact sheet:
node "<SKILL_DIR>/scripts/make-contact-sheet.js" "<WORKSPACE_DIR>/artifacts/html-render" "<WORKSPACE_DIR>/artifacts/html-contact-sheet.png"Fix clipping, unexpected wrapping, low contrast, inconsistent margins, unreadable axes, broken image paths, and accidental overlap.
9. Export Through PptxGenJS
Run:
node "<SKILL_DIR>/scripts/export-ppt.js" "<SKILL_DIR>" "<WORKSPACE_DIR>"This compiles the HTML slides, inlines Tailwind styles, and calls the bundled PptxGenJS converter. The result is WORKSPACE_DIR/artifacts/presentation.pptx.
10. Render And Validate The PPTX
Render every exported PPTX slide to PNG. Inspect the individual pages and a montage; the browser screenshots are not sufficient because browser and PowerPoint rendering can differ. Run an overflow check when the environment provides one. Follow every item in quality-checklist.md and re-export after any fix.
Run the bundled OOXML audit before delivery:
node "<SKILL_DIR>/scripts/audit-pptx.cjs" "<WORKSPACE_DIR>/artifacts/presentation.pptx" --json "<WORKSPACE_DIR>/artifacts/pptx-audit.json"Treat the audit as a structural gate, not a substitute for rendered inspection. Review every reported low-font, out-of-bounds, unusually sparse, or unusually dense slide.
If artifacts/speaker-notes.txt is part of the deliverable, verify it too:
node "<SKILL_DIR>/scripts/verify-speaker-notes.cjs" "<WORKSPACE_DIR>/artifacts/speaker-notes.txt"11. Deliver
Deliver:
presentation.pptx;- a sidecar speaker-notes file when requested or when sources were researched;
- a source/evidence ledger when the user needs auditability;
- no scratch screenshots or temporary build folders unless requested.
State the deck type, page count, language, source basis, and verification performed. Explicitly disclose unresolved source gaps or render limitations.
Revision Workflow
For user-requested changes, update the evidence ledger and page plan first when claims or structure change. Modify only affected slide-N.js files, recapture all pages that could be influenced by shared styles, re-export, and rerun PPTX-level QA. Never patch the final PPTX manually through PowerPoint COM.
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.

