presentation
Skill7 starsChanged 27 days agoMITView on GitHub
Generate PowerPoint (PPTX) presentations from a topic, outline, or content file. Creates professional slides using python-pptx with consistent theming and typography. Modes: [topic] (from scratch), from [file] (from markdown), --slides N, --theme dark|light|corporate, --outline-only, --out [path], --lang [code].
- Installs packages
24 other projects use a version of this.
Adopted by
Most recently taken up by
- sergeiwallace/skillstheir own version, first seen Nov 8, 2026
- shkodnik1917/claude-brainlabtheir own version, first seen Nov 8, 2026
- AlekseiUL/heisenberg-team-GPTtheir own version, first seen Nov 1, 2026
- AlekseiUL/heisenberg-teamtheir own version, first seen Nov 1, 2026
- AlekseiUL/sprut-agent-kittheir own version, first seen Nov 1, 2026
- Vepricov/claude-brainlabtheir own version, first seen Nov 1, 2026
Used with
Projects with it also use TubeScribe, deep-research-pro and 8 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
AlekseiULSkillTubeScribe
YouTube video summarizer with speaker detection, formatted documents, and audio output. Works out of the box with macOS built-in TTS. Optional recommended tools (pandoc, ffmpeg, mlx-audio) enhance quality. Requires internet for YouTube access. No paid APIs or subscriptions. Use when user sends a YouTube URL or asks to summarize/transcribe a YouTube video.
Also in 3 projects that use this
GPTtangSkilldeep-research-pro
Multi-source deep research agent. Searches the web, synthesizes findings, and delivers cited reports. No API keys required.
Also in 3 projects that use this
vanzan01Skilltweet-writer
Format instructions for writing tweets.
Also in 3 projects that use this
vijpatel7Skillaudit-website
Audit websites for SEO, performance, security, technical, content, and 15 other issue cateories with 150+ rules using the squirrelscan CLI. Returns LLM-optimized reports with health scores, broken links, meta tag analysis, and actionable recommendations. Use to discover and asses website or webapp issues and health.
Also in 3 projects that use this
ReScienceLabSkillreddit
Search and retrieve content from Reddit. Get posts, comments, subreddit info, and user profiles via the public JSON API. Use when user mentions Reddit, a subreddit, or r/ links.
Also in 3 projects that use this
sirakinbSkilllast30days
Research a topic from the last 30 days on Reddit + X + Web, become an expert, and write copy-paste-ready prompts for the user's target tool.
Also in 3 projects that use this
Other versions24 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 24
- iii-hq/iii★ 19ksame name
- MotiaDev/motia★ 19ksame name
- thedesignproject/agent-skills★ 88same name
- AlekseiUL/sprut-agent-kit★ 66same name
- AlemTuzlak/skills★ 45same name
- shkodnik1917/claude-brainlab★ 35same name
- Vepricov/claude-brainlab★ 35same name
- aisa-group/promptinject-agent-skills★ 22same name
- AlekseiUL/heisenberg-team★ 17same name
- AlekseiUL/heisenberg-team-GPT★ 9same name
14 more not listed
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 repository58 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- a11y-auditSkill
- agent-benchmarkSkill
- api-auditSkill
- architectureSkill
- backlogSkill
- benchmarkSkill
- brainstormSkill
- buildSkill
- canarySkill
- ci-auditSkill
- code-auditSkill
- container-auditSkill
- content-auditSkill
- content-expandSkill
- content-fixSkill
- content-migrationSkill
- context-auditSkill
- db-auditSkill
- debugSkill
- dependency-auditSkill
- deploySkill
- design-reviewSkill
- designSkill
- docsSkill
- env-auditSkill
- executeSkill
- fix-testsSkill
- geo-auditSkill
- geo-fixSkill
- incidentSkill
- infra-auditSkill
- leadsSkill
- mutation-testSkill
- pentestSkill
- performance-auditSkill
- planSkill
- profile-sessionSkill
- receive-reviewSkill
- refactor-radarSkill
- refactorSkill
- release-docsSkill
- retroSkill
- reviewSkill
- security-auditSkill
- seo-auditSkill
- seo-fixSkill
- shipSkill
- skill-evalSkill
- structure-auditSkill
- test-auditSkill
- tests-performanceSkill
- ui-design-teamSkill
- using-zuvoSkill
- worktreeSkill
- write-articleSkill
- write-e2eSkill
- write-testsSkill
The file
We split this skill into the rules it gives an agent
9 rules. 0 are common, 5 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 21 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 23
Read ../../shared/includes/run-logger.md for log format and file path resolution.
- Distinctive: line 85
Always start with TITLE, always end with SUMMARY + CLOSING
- Distinctive: line 93
Read the source file. Map sections to slides:
- Very specific: line 104
If the file has more than 15 sections and --slides is set, merge related sections to fit.
- Distinctive: line 180
If user interaction is available, ask whether to keep the script.
- Very specific: line 210
Follow the retrospective protocol from retrospective.md.
- Distinctive: line 212
If gate check skips: print "RETRO: skipped (trivial session)" and proceed.
- Very specific: line 214
Append via wrapper (REQUIRED): Never >> directly to ~/.zuvo/runs.log — the wrapper is the gate that verifies a retro entry exists for this …
- Distinctive: line 242
No walls of text -- shorten any bullet that exceeds 2 rendered lines
“Common” is measured: kept by at least 6 in 10 of the 21 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
zuvo:presentation — PowerPoint Generator
Generate professional PPTX presentations from a topic description, outline, or existing content file. Uses python-pptx to produce slides with consistent design, speaker notes, and visual variety.
Requires: python-pptx (pip install python-pptx)
Scope: Generating slide decks from topics or content files. Out of scope: Editing existing PPTX files, complex data visualizations (charts, graphs), image generation.
Run Logging
Read ../../shared/includes/run-logger.md for log format and file path resolution.
Read ../../shared/includes/retrospective.md for log format and file path resolution.
Argument Parsing
| Argument | Behavior |
[topic] | Plan outline from scratch, generate slides |
from [file] | Build slides from existing markdown or text file |
--slides N | Target slide count (default: 10) |
--theme dark|light|corporate | Color theme (default: corporate) |
--out [path] | Output path (default: ./[topic-slug].pptx) |
--outline-only | Generate outline for approval, do not create PPTX |
--lang [code] | Content language (default: same as topic input) |
Examples:
zuvo:presentation "Q1 2026 Product Review"
zuvo:presentation from docs/architecture.md --slides 8
zuvo:presentation "Security Audit Results" --outline-only
zuvo:presentation "Quarterly Report" --lang pl --theme darkPhase 1: Content Planning
1.1 Determine Source
| Input | Action |
| Topic string | Plan outline from scratch (1.2) |
from [file] | Read file, extract sections as slide candidates (1.3) |
1.2 Plan from Topic
Generate a structured outline. Each slide needs:
Slide [N]: [Type]
Title: [slide title]
Content: [bullets or description]
Speaker notes: [optional context]Slide types:
| Type | Use for |
| TITLE | Opening -- presentation title, subtitle, date |
| SECTION | Section divider -- large title, minimal content |
| CONTENT | Standard -- title + bullet points (max 6 bullets) |
| TWO_COLUMN | Comparison, before/after, pros/cons |
| QUOTE | Key insight, important statement |
| METRICS | Numbers, KPIs, statistics (2-4 big numbers) |
| TIMELINE | Process steps, roadmap, milestones (3-6 items) |
| IMAGE_PLACEHOLDER | Slide with image area + caption (user fills later) |
| SUMMARY | Key takeaways (3-5 points) |
| CLOSING | Thank you, Q&A, contact info |
Structure rules:
- Always start with TITLE, always end with SUMMARY + CLOSING
- Max 6 bullets per CONTENT slide, max 15 words per bullet
- Insert a SECTION divider every 4-5 content slides
- Include at least one METRICS or QUOTE slide for visual variety
- Speaker notes carry context that does not belong on the slide itself
1.3 Plan from File
Read the source file. Map sections to slides:
| Markdown element | Slide type |
# Heading | TITLE or SECTION |
## Heading | CONTENT slide title |
| Bullet lists | Slide bullets (split if more than 6) |
| Tables | TWO_COLUMN or METRICS |
| Code blocks | CONTENT with monospace note |
| Blockquotes | QUOTE |
If the file has more than 15 sections and --slides is set, merge related sections to fit.
1.4 Outline Approval
--outline-only: print outline and STOP- Interactive environment: print outline, ask
Proceed? (y / edit / n) - Non-interactive: proceed automatically
Phase 2: Theme Configuration
Color Themes
| Theme | Background | Text | Accent | Accent 2 | Subtitle |
| light | #FFFFFF | #1A1A2E | #0066CC | #00A86B | #6B7280 |
| dark | #1A1A2E | #F0F0F0 | #4DA6FF | #66D9A5 | #9CA3AF |
| corporate | #FFFFFF | #2D3748 | #1A365D | #C05621 | #718096 |
Typography
Title slides: Calibri 36pt Bold
Section slides: Calibri 32pt Bold
Slide titles: Calibri 28pt Bold
Body text: Calibri 18pt
Bullets: Calibri 16pt
Speaker notes: Calibri 12pt
Metrics: Calibri 48pt Bold
Quotes: Calibri 24pt Italic
Captions: Calibri 11pt (subtitle color)Layout (16:9 widescreen, inches)
Slide: 13.333 x 7.5
Margins: left 0.8, right 0.8, top 1.2 (below title), bottom 0.6
Title Y: 0.4, height 0.8
Content Y: 1.4, width 11.733, height 5.5
Column gap: 0.4 (TWO_COLUMN)
Footer Y: 7.0Phase 3: Generate PPTX
3.1 Write Python Script
Generate scripts/generate_presentation.py with the planned outline and theme embedded. The script uses python-pptx to build each slide programmatically.
Script includes:
- Theme constants (colors, fonts, dimensions)
- Helper functions:
set_slide_bg,add_textbox,add_bullets,add_accent_bar - Slide builder functions: one per slide type (build_title_slide, build_content_slide, build_metrics_slide, etc.)
- Main function that creates the presentation and calls builders in sequence
Each builder function receives the specific content for that slide (title, bullets, metrics values, etc.) and applies the theme consistently.
3.2 Execute
python3 scripts/generate_presentation.pyVerify:
ls -la [output_path]
python3 -c "from pptx import Presentation; p = Presentation('[output_path]'); print(f'Slides: {len(p.slides)}')"3.3 Cleanup
If user interaction is available, ask whether to keep the script. If not available, keep it (useful for re-generation and manual editing).
Phase 4: Output
Summary
PRESENTATION CREATED
-----
File: [output_path]
Slides: [N]
Theme: [theme name]
Size: [file size]
Slide overview:
1. [TITLE] -- [title text]
2. [CONTENT] -- [title text]
3. [METRICS] -- [title text]
...
Script: scripts/generate_presentation.py
Run: <ISO-8601-Z> presentation <project> - - <VERDICT> - <DURATION> <NOTES> <BRANCH> <SHA7> <INCLUDES> <TIER>
-----Retrospective (REQUIRED)
Follow the retrospective protocol from retrospective.md.
Gate check → structured questions → TSV emit → markdown append.
If gate check skips: print "RETRO: skipped (trivial session)" and proceed.
Append via wrapper (REQUIRED). Never >> directly to ~/.zuvo/runs.log — the wrapper is the gate that verifies a retro entry exists for this run. Order: retro bash executed → wrapper invoked → completion claimed.
printf '%b\n' "$RUN_LINE" | ~/.zuvo/append-runlogExpected stdout: OK: appended to runs.log (retro verified for <skill> on <project>). If exit 2 with RETRO_REQUIRED — go execute the retro bash from retrospective.md first; never bypass with ZUVO_SKIP_RETRO_GATE=1. After the wrapper succeeds, print a Logs: evidence line (tail -1 ~/.zuvo/retros.log, grep -c "^<!-- RETRO -->" ~/.zuvo/retros.md, tail -1 ~/.zuvo/runs.log) before claiming completion. Printing the markdown retro section without executing the bash leaves all three log files empty.
<DURATION>: use N-slides (number of slides generated).
Post-Generation Tips
To modify:
Edit scripts/generate_presentation.py and re-run
Add images: open in PowerPoint, replace IMAGE_PLACEHOLDER slides
Change theme: edit THEME dict in script, re-runContent Quality Rules
- Max 6 bullets per slide -- split if more
- Max 15 words per bullet -- concise, not sentences
- One idea per slide -- if the title needs "and", split it
- Visual variety -- alternate CONTENT with METRICS, QUOTE, TWO_COLUMN
- Speaker notes for detail -- put context in notes, not on the slide
- No walls of text -- shorten any bullet that exceeds 2 rendered lines
- Consistent language -- match the language of the topic input
Error Handling
| Error | Action |
| python-pptx not installed | Print pip install python-pptx and stop |
| Output path not writable | Fall back to ./presentation.pptx |
| Script execution fails | Show error, keep script for debugging |
from [file] -- file not found | Print error, ask for correct path |
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.

