pamelafox presentation-skills

Sixteen skills for presentations: slides from a link, text and frames, YouTube transcripts, RevealJS, talk write-ups.

  • 130 ★ on the repository
  • Last commit
Skill

Extended access

Why this level

  • Skills download files and videos by link and run `pdftoppm`, `pdftotext` and yt-dlp on your machine.
  • The discussion-commenter skill posts comments to a GitHub Discussion under your name.
All reasons and checks

pamelafox/presentation-skills

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/pamelafox-presentation-skills

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • Skills download files and videos by link and run `pdftoppm`, `pdftotext` and yt-dlp on your machine.
  • The discussion-commenter skill posts comments to a GitHub Discussion under your name.

This is third-party code. Review the repository files before installing.

What it does

The skill set carries a talk from slides to publication. `fetch-slides` downloads slides from a link and turns PPTX, OneDrive links and RevealJS into PDF. `convert-slides-to-images` splits a PDF into PNGs through `pdftoppm`, and `extract-slide-text` pulls page text through `pdftotext`. `extract-transcript` fetches a YouTube transcript, `capture-video-frames` grabs frames at a set interval and describes them, and `youtube-live-chat` exports live stream chat through yt-dlp. `generate-writeup` builds an annotated article from slides and a recording, `youtube-description` writes a video description with timestamps and `make-revealjs-presentation` creates a RevealJS deck from the repository template. There are also skills for thumbnails and speaker cards, Azure image generation and posting Q&A entries to a GitHub Discussion.

Who it is for. Speakers, teachers and talk-recording authors who manage slides, video and text through Claude Code or another agent.

Good fit when

  • After a talk you need to publish an annotated article from slides and a recording.
  • You need the text of every PDF slide in one Markdown file.
  • You need a YouTube transcript and a video description with clickable timestamps.
  • You need a new RevealJS deck from a talk outline.

Not a fit when

  • You need to edit PPTX in PowerPoint: the skills read, convert and assemble materials.
  • You have no `pdftoppm`, `pdftotext` or yt-dlp: some skills depend on them.
  • You need cards for other conferences: the speaker card skill is built for Microsoft events.

Example request

Fetch the slides from this OneDrive link, extract the text of each slide and make an annotated article with my video.

Limitations

The skills rely on external programs and services: poppler (`pdftoppm`, `pdftotext`), yt-dlp, the YouTube Transcript API, Microsoft markitdown and the Azure AI API for image generation. Azure generation needs access to that API. The `thumbnail-of-pptx` skill opens the PowerPoint web viewer in a headless browser and takes a screenshot, so access to the OneDrive link is required. The GitHub Discussion publishing skill posts comments under your name. Some skills are designed for Microsoft events and a talk repository with a specific file layout.

How to disable. Delete the skill folders from the agent directory: `.claude/skills/` or `~/.claude/skills/` for Claude Code. If you installed through `gh skill`, use the same directory.

FAQ

How do I install presentation-skills?

Run `npx skills add pamelafox/presentation-skills` to install all skills, or add one such as `npx skills add pamelafox/presentation-skills/extract-transcript`. `gh skill install pamelafox/presentation-skills` also works.

Which input formats does fetch-slides accept?

Direct PDF and PPTX URLs, OneDrive sharing links and RevealJS HTML presentations. The result is always converted to PDF for the next steps.

How do I get a YouTube video transcript?

The `extract-transcript` skill uses the YouTube Transcript API and returns a timestamped transcript. Then `youtube-description` builds a description with clickable `MM:SS` marks.

What does generate-writeup do?

It runs a pipeline: slides, images, transcript, chapters, slide outline and a final annotated blog-style Markdown article.

Can I install only some skills?

Yes, each skill installs with its own command `npx skills add pamelafox/presentation-skills/<name>`, or `gh skill install pamelafox/presentation-skills <name>`.

Discussion

No questions or reviews yet.

Skills

A skill for HTML presentations: a theme and two preview slides for approval, then the deck, PDF and PowerPoint export and a link

PluginMinimal access73Repository stars

A skill for talks: outlines a deck around the audience's train of thought, picks images and video, and checks finished slides before you present

SkillExtended access993Repository stars

A skill that turns an article, report or notes into a deck of full-slide images and assembles them into a pptx

SkillExtended access7.8KRepository stars

Dashi PPT

Dashi PPT Skill

A skill that turns a document into a deck: a browser-editable HTML presentation with a per-page console and export to PPTX and PDF

SkillExtended access10.6KRepository stars

A skill that builds editable PowerPoint decks from outline.json with scripts and checks layout and density before delivery.

SkillMinimal access105Repository stars

A skill for single-file, dependency-free HTML presentations: 22 styles, a BRIEF.json plan and content review.

SkillMinimal access59Repository stars

README in short

The README lists the skills in order with a description and a hint on when to use each, then gives install commands through `npx skills` and the GitHub CLI, including single skills and a specific agent.

README badge

Original SKILL.md

---
name: extract-transcript
description: >-
  Extract a timestamped transcript from a YouTube video.
  Returns text with [MM:SS] or [HH:MM:SS] timestamps for each segment.
  USE FOR: get transcript, transcribe YouTube video, fetch video transcript, YouTube captions.
argument-hint: <youtube_url> [output_file]
---

# Extract transcript from YouTube video

Run the [extract_transcript.py](./extract_transcript.py) script to fetch a timestamped transcript:

```bash
uv run extract_transcript.py <youtube_url> [output_file]
```

## Arguments

- `youtube_url` (required): YouTube video URL. Supported formats:
  - `https://www.youtube.com/watch?v=VIDEO_ID`
  - `https://youtu.be/VIDEO_ID`
  - `https://www.youtube.com/embed/VIDEO_ID`
- `output_file` (optional): Path to save the transcript. If omitted, prints to stdout.

## Output format

Each line has a timestamp followed by the transcript text:

```
[00:00] Welcome to this talk about...
[00:15] Today we'll be covering...
[01:30] Let's start with the first topic...
```

Report a problem