Not in the top 1,000 by GitHub stars

Noi1r/powerpoint-skill

AI coding assistant skill for creating visually rich PowerPoint (.pptx) presentations with native OMML math, LaTeX formulas, and Graphviz/Mermaid/TikZ diagrams

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

powerpoint-slides/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

a39cd8cfba33 → a39cd8cfba33

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → a39cd8cfba33

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit a39cd8cfba332741a96d52bebd2bb378b638364e

131GitHub stars
1star in 7 days
1skill in this repository
0commits in 30 days

Heat

1.8
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 3, 2026131

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

powerpoint-slides

When your agent uses it

Create visually rich PowerPoint (.pptx) presentations from academic papers, research notes, or any content the user wants in slide format. Uses PptxGenJS + LaTeX formula rendering. Always use this skill when the user wants PPT/PPTX output instead of Beamer/LaTeX slides. Trigger on: powerpoint, pptx, PPT, make a ppt, 做PPT, 做幻灯片, make slides (non-LaTeX), prepare a presentation (when context implies PPT), 做个报告, presentation slides, help me prepare a talk (when not Beamer), convert paper to slides (when PPT implied). Even if the user just says "make slides" or "做个演示" without specifying format, trigger this skill and ask whether they want PPT or Beamer — don't silently default to Beamer. Do NOT trigger on: beamer, latex slides, .tex files, tikz — those belong to the beamer skill.

What it loads into context

Frontmatter

299 tokens

Always available to the agent

SKILL.md

12,615 tokens

When the skill is activated

Reference documents

18,265 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. 0. Quick Reference
  2. 1. Hard Rules (Non-Negotiable)
  3. 2. Color Themes & Visual System
  4. 3. Actions
  5. 4. Verification Protocol
  6. 5. Troubleshooting
  7. 6. Dependencies

Scripts executed separately

  • scripts/check_overlaps.py
  • scripts/inject_omml.py
  • scripts/render_diagrams.py
  • scripts/render_latex.py
  • scripts/soffice.py
  • scripts/thumbnail.py

Files

  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • SKILL.mdcore50,481 bytes
  • diagram-rendering.mddoc8,856 bytes
  • formula-rendering.mddoc7,536 bytes
  • pptxgenjs-reference.mddoc19,974 bytes
  • references/themes.mddoc20,808 bytes
  • scripts/check_overlaps.pyruns15,155 bytes
  • scripts/inject_omml.pyruns10,337 bytes
  • scripts/render_diagrams.pyruns13,021 bytes
  • scripts/render_latex.pyruns8,370 bytes
  • scripts/soffice.pyruns1,379 bytes
  • scripts/thumbnail.pyruns2,675 bytes
Read SKILL.md

# PowerPoint Slides Workflow

Academic PowerPoint presentation skill. Full lifecycle:
create → compile → review → polish → verify.

Execution model: Claude writes a PptxGenJS (Node.js) script → executes → `.pptx`.
Math formulas: OMML (native math, default) or LaTeX → PNG/SVG pipeline (paragraph-mode fallback).

---

## 0. Quick Reference

| Task | Command | Description |
|------|---------|-------------|
View the complete source on GitHub

Skills included

  • powerpoint-slides

Repository facts

License
MIT
Created
Mar 13, 2026
Last pushed
Mar 17, 2026
Forks
11
Open issues
0
Project activity
Slowing

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 6, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 25 notes
  • powerpoint-slides/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • powerpoint-slides/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • powerpoint-slides/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • powerpoint-slides/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • powerpoint-slides/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • powerpoint-slides/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • powerpoint-slides/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • powerpoint-slides/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • powerpoint-slides/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • powerpoint-slides/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • powerpoint-slides/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • powerpoint-slides/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • powerpoint-slides/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • powerpoint-slides/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • powerpoint-slides/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • powerpoint-slides/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • powerpoint-slides/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • powerpoint-slides/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • powerpoint-slides/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • powerpoint-slides/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 27 signals by file

powerpoint-slides/SKILL.md

powerpoint-slides/pptxgenjs-reference.md

  • Network accessline 147
    // From URL slide.addImage({ path: "https://example.com/image.jpg", x: 1, y: 1, w: 5, h: 3 });
  • Network accessline 148
    slide.addImage({ path: "https://example.com/image.jpg", x: 1, y: 1, w: 5, h: 3 });
  • Network accessline 164
    flipV: false,            // Vertical flip   altText: "Description",  // Accessibility   hyperlink: { url: "https://example.com" }
  • Network accessline 165
    altText: "Description",  // Accessibility   hyperlink: { url: "https://example.com" } });
  • Network accessline 166
    hyperlink: { url: "https://example.com" }
  • Network accessline 259
    // Image from URL slide.background = { path: "https://example.com/bg.jpg" };
  • Network accessline 260
    slide.background = { path: "https://example.com/bg.jpg" };

powerpoint-slides/scripts/check_overlaps.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 31
    NS = {     "a": "http://schemas.openxmlformats.org/drawingml/2006/main",
  • Network accessline 32
    "a": "http://schemas.openxmlformats.org/drawingml/2006/main",
  • Network accessline 33
    "p": "http://schemas.openxmlformats.org/presentationml/2006/main",

powerpoint-slides/scripts/inject_omml.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 29
    NS = {     "a": "http://schemas.openxmlformats.org/drawingml/2006/main",
  • Network accessline 30
    "a": "http://schemas.openxmlformats.org/drawingml/2006/main",
  • Network accessline 31
    "m": "http://schemas.openxmlformats.org/officeDocument/2006/math",
  • Network accessline 32
    "r": "http://schemas.openxmlformats.org/officeDocument/2006/relationships",
  • Network accessline 33
    "p": "http://schemas.openxmlformats.org/presentationml/2006/main",
  • Network accessline 34
    "mc": "http://schemas.openxmlformats.org/markup-compatibility/2006",
  • Network accessline 35
    "a14": "http://schemas.microsoft.com/office/drawing/2010/main",
  • Network accessline 171
    t = etree.SubElement(r, f"{{{A_NS}}}t")     t.text = text     t.set("{http://www.w3.org/XML/1998/namespace}space", "preserve")
  • Network accessline 172
    t.text = text     t.set("{http://www.w3.org/XML/1998/namespace}space", "preserve")     return r
  • Network accessline 173
    t.set("{http://www.w3.org/XML/1998/namespace}space", "preserve")

powerpoint-slides/scripts/render_diagrams.py

  • Executable scriptline 1
    #!/usr/bin/env python3

powerpoint-slides/scripts/render_latex.py

  • Executable scriptline 1
    #!/usr/bin/env python3

powerpoint-slides/scripts/soffice.py

  • Executable scriptline 1
    #!/usr/bin/env python3

powerpoint-slides/scripts/thumbnail.py

  • Executable scriptline 1
    #!/usr/bin/env python3

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Declared and executed: 4 facts
Signal confidence: 27 facts

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeFrontmatter field argument-hint in powerpoint-slides/SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md powerpoint-slides/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md powerpoint-slides/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md powerpoint-slides/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md powerpoint-slides/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md powerpoint-slides/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.