agentsclimarketplace

Ppt90s video

Skill doramirdor/ppt90s/skills/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

Install
npx -y skills add doramirdor/ppt90s --skill ppt90s-video

Assembled 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.

  1. Photo source (required): a folder path or a public Google Photos shared-album link.
  2. Music — present exactly these 7 options with their descriptions:
    1. casio-demo — square-wave arpeggios, the demo button on a Casio keyboard (default)
    2. party-time — 128 BPM four-on-the-floor dance beat with chord stabs
    3. hava-nagila — the Hava Nagila melody over an oom-pah bass, bar-mitzvah dance floor
    4. wedding-waltz — gentle 3/4 waltz, soft chords and a dreamy arpeggio
    5. chiptune-hero — fast 8-bit pulse-wave arps, NES title screen
    6. smooth-elevator — lazy maj7 pads and a pentatonic noodle, hotel lobby 1996
    7. space-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.)
  3. Number of images to include (sampled evenly across the source).
  4. Video length in seconds.
  5. Title for the title slide.
  6. 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-music instead 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

  1. Check the run printed Done! -> <output> and verify with ffprobe -v error -show_entries format=duration -of csv=p=0 <output> that the duration is close to the requested length.
  2. 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).
  3. 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

Keep looking

Skills are one crate of 326,452. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.