Ppt90s video
Generate a 90s PowerPoint-style video (WordArt, clip art, cheesy animations, Solitaire finale) from a folder of images or a Google Photos shared-album link. Use when the user asks to make a retro slideshow / 90s PowerPoint video / bar-mitzvah-style video from photos, or invokes /ppt90s-video. Interviews the user (music from 7 styles or a song link, number of images, length, title, optional event), then runs the bundled ppt90s.py and sends the video.From its SKILL.md
npx -y skills add doramirdor/ppt90s --skill ppt90s-videoAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.8 KB, 956 tokens by cl100k_base, as published. Nobody here has run it
90s PowerPoint Video Generator
Turn photos into a video that looks like a home-made 90s PowerPoint deck. The
generator script ppt90s.py is bundled in the same directory as this
SKILL.md — resolve its path from this skill's location (e.g.
.claude/skills/ppt90s-video/ppt90s.py).
Requirements: Python 3 with Pillow + numpy, ffmpeg on PATH, and the classic
fonts (Impact / Arial Black / Comic Sans MS / Times New Roman — preinstalled
on macOS). yt-dlp is needed only for song-by-URL.
Step 1 — Interview the user
Ask for ALL of the following in ONE message (don't drip questions one at a time). If the user already provided some values in their request, don't re-ask those. AskUserQuestion caps at 4 options per question, so present the music menu as a numbered list in plain chat text.
- Photo source (required): a folder path or a public Google Photos shared-album link.
- Music — present exactly these 7 options with their descriptions:
casio-demo— square-wave arpeggios, the demo button on a Casio keyboard (default)party-time— 128 BPM four-on-the-floor dance beat with chord stabshava-nagila— the Hava Nagila melody over an oom-pah bass, bar-mitzvah dance floorwedding-waltz— gentle 3/4 waltz, soft chords and a dreamy arpeggiochiptune-hero— fast 8-bit pulse-wave arps, NES title screensmooth-elevator— lazy maj7 pads and a pentatonic noodle, hotel lobby 1996space-mystery— detuned minor pads and an echoing vibrato lead, unsolved mysteries (Also mention they can say "no music", OR give a real song as a YouTube link / audio file path — used via--music-file, requires yt-dlp for links:brew install yt-dlp.)
- Number of images to include (sampled evenly across the source).
- Video length in seconds.
- Title for the title slide.
- Event (optional): e.g. "Bar Mitzvah", "Wedding", "Birthday" — shown as "* A Very Special {Event} *" on the title slide.
Defaults if the user shrugs or skips an answer: music casio-demo, 12 images,
45 seconds, title from the folder/album name, no event.
Step 2 — Generate
python3 <path-to-this-skill>/ppt90s.py "<SOURCE>" \
--limit <N_IMAGES> \
--length <SECONDS> \
--title "<TITLE>" \
--music-style <STYLE> \
[--event "<EVENT>"] \
-o "<slugified-title>.mp4"
- For "no music" pass
--no-musicinstead of--music-style. - For a real song pass
--music-file "<youtube-url-or-audio-path>"instead of--music-style(it loops/trims to the video length and fades out). - Google Photos links only work if publicly viewable without sign-in; if the script exits with "Could not find any images", tell the user to check the link is a public shared album.
- Rendering draws every frame with PIL; ~1 minute per 10 slides is normal. Use a generous Bash timeout (600000 ms).
Step 3 — Verify and deliver
- Check the run printed
Done! -> <output>and verify withffprobe -v error -show_entries format=duration -of csv=p=0 <output>that the duration is close to the requested length. - Extract one mid-video frame (
ffmpeg -i out.mp4 -vf "select='eq(n\,150)'" -vsync 0 check.png) and Read it to confirm slides rendered (WordArt title- photo visible).
- Send the video to the user (SendUserFile if available), mentioning slide count, duration, and the chosen music style.
What ships with it: 1 file
52.2 KB alongside SKILL.md, 1 of them executable
- ppt90s.pyruns52.2 KB