All skills
dmccreary avatar

/book-media-generator

@8fafb8d
by Dan McCrearydmccreary/claude-skills104 stars
16

Generates media for intelligent textbooks - slide decks and presentations (MARP web decks in docs/slides/ or PowerPoint .pptx lecture downloads), illustrated stories and graphic novels, freely-licensed chapter images from Wikimedia and government archives, and audio (text-to-speech voiceovers, glossary pronounce buttons via ElevenLabs). Routes to the appropriate media guide.

Use this Skill: https://skilld.dev/gh/dmccreary/claude-skills/book-media-generator

This session only. Nothing lands on disk.

SKILL.md

β‰ˆ100 tokens always: the name and description. β‰ˆ1.6k when used: this file. β‰ˆ31k more on demand in 15 files.

Book Media Generator

Version: 1.0

Overview

This meta-skill generates static media for intelligent textbooks β€” slides, illustrations, sourced images, and audio. It consolidates six skills into a single entry point with on-demand loading of specific media guides.

FIRST: Slides Disambiguation Rule

Two routes make slide decks. Before routing any "make slides / a presentation / a deck" request, decide:

  • Published on the site / embedded / web deck / shareable link β†’ references/marp-deck-guide.md (MARP β†’ self-contained HTML in docs/slides/, iframe-embedded, added to the slides gallery and nav)
  • Downloadable file / classroom lecture / "PowerPoint" / .pptx β†’ references/pptx-lecture-guide.md (pptxgenjs β†’ .pptx with 4-act storytelling and speaker notes)
  • Ambiguous (just "make slides for chapter 3") β†’ ask ONE question: "Published on the site as a web deck, or a downloadable PowerPoint for classroom use?"

When to Use This Skill

Use this skill when users request:

  • A slide deck or presentation from a topic, chapter, or document (see disambiguation rule above)
  • An illustrated story / graphic novel about a scientist or historical figure (docs/stories/)
  • Adding freely-licensed maps and photos to chapters (Wikimedia Commons, US government archives)
  • Text-to-speech audio, voiceovers, or spoken narration (ElevenLabs)
  • A "Pronounce" button with an MP3 pronunciation for a glossary term

Step 1: Identify Media Type

Routing Table

Trigger Keywords Guide File Purpose
slide deck, slides, presentation, web deck, publish slides, MARP, deck on the site references/marp-deck-guide.md MARP β†’ self-contained HTML deck in docs/slides/ with gallery + nav integration
powerpoint, pptx, lecture deck, classroom slides, downloadable deck, lecture presentation references/pptx-lecture-guide.md pptxgenjs β†’ .pptx lecture with 4-act structure and speaker notes
story, graphic novel, illustrated narrative, historical figure story, scientist story, case study story references/story-guide.md Illustrated graphic-novel narratives in docs/stories/ with generated panel images
chapter images, add photos, add maps, wikimedia, image sourcing, freely licensed images, attribution references/chapter-images-guide.md Source real licensed media from Wikimedia/gov archives with captions + attribution
text to speech, tts, voiceover, narration, audio version, speech synthesis, elevenlabs references/text-to-speech-guide.md ElevenLabs TTS β€” voiceovers, voice apps, 70+ languages
pronounce, pronunciation, pronounce button, glossary audio, say the term references/pronounce-button-guide.md Generate an MP3 pronunciation and insert a Pronounce button into a glossary entry

Decision Tree

Slides or a presentation?
  β†’ Apply the Slides Disambiguation Rule (top of this file)

Narrative with illustrated panels about a person or case study?
  β†’ YES: story-guide.md

Poster/infographic containing numeric claims or cited data?
  β†’ NOT this skill: the fact-verified poster route lives in the
    microsim-generator skill (references/verified-infographic-guide.md)
  (purely decorative image with no factual claims β†’ consider
   the cover-image feature in book-installer instead)

Real photos/maps sourced from archives (not AI-generated)?
  β†’ YES: chapter-images-guide.md

Audio from text?
  β†’ Single glossary term pronunciation β†’ pronounce-button-guide.md
  β†’ Anything else (narration, voiceover, app) β†’ text-to-speech-guide.md

Step 2: Load the Matched Guide

Read the corresponding guide file from references/ and follow its workflow.

Audio Routes: ElevenLabs API Key

Both audio routes (text-to-speech-guide.md, pronounce-button-guide.md) call the ElevenLabs API and need ELEVENLABS_API_KEY set in the environment. Check for it before starting; if missing, point the user at references/tts-installation.md.

Supporting Files

  • references/marp-mkdocs-integration.md, references/marp-authoring-guide.md, assets/marp/template.md β€” MARP route
  • references/pptx-slide-patterns.md, references/pptx-speaker-notes-guide.md β€” PowerPoint route
  • references/story-index-template.md, scripts/story/ (generate-images.py, verify-images.py, fix-references.py, uncomment-images.sh) β€” story route
  • references/tts-installation.md, references/tts-streaming.md, references/tts-voice-settings.md β€” TTS route
  • scripts/audio/generate-pronunciation.py β€” pronounce-button route

Examples

Example 1: Web Deck

User: "Turn chapter 4 into a presentation on the site" Routing: "presentation" + "on the site" β†’ references/marp-deck-guide.md Action: Read marp-deck-guide.md; produce docs/slides/<deck>/ + gallery entry + nav

Example 2: Classroom PowerPoint

User: "I need a PowerPoint to lecture from for chapter 4" Routing: "PowerPoint" + "lecture" β†’ references/pptx-lecture-guide.md Action: Read pptx-lecture-guide.md; generate the .pptx with speaker notes

Example 3: Ambiguous Slides

User: "Make slides for chapter 4" Routing: Ambiguous β†’ ask: web deck or downloadable PowerPoint? Then route accordingly.

Example 4: Story

User: "Add a graphic novel story about Ada Lovelace to the Stories section" Routing: "graphic novel story" β†’ references/story-guide.md Action: Read story-guide.md; write index.md with panel prompts; run scripts/story/generate-images.py

Example 5: Fact-Checked Poster (routes elsewhere)

User: "Create an infographic about remote-work productivity statistics" Routing: NOT this skill β€” fact-verified posters moved to microsim-generator β†’ references/verified-infographic-guide.md Action: Load the microsim-generator skill instead; it owns claim verification, the poster pipeline, and the gallery thumbnail script

Example 6: Pronounce Button

User: "Create a pronounce button for the term Mitochondria" Routing: "pronounce button" β†’ references/pronounce-button-guide.md Action: Read pronounce-button-guide.md; run scripts/audio/generate-pronunciation.py; insert the button into glossary.md

Source: SKILL.md on GitHub

No alerts14d3 checks Β· Risk SAFE
  • Gen Agent Trust Hub14d

    This skill provides a robust framework for generating educational media. It integrates with well-known services like Google Gemini, ElevenLabs, and Wikimedia. All security-sensitive operations, such as API calls and package installations, follow best practices, and the usage of system commands is limited to benign media validation tasks.

  • Socket14d

    No alerts

  • Snyk14d

    Risk: LOW Β· No issues

Signed by skilld at 8fafb8d. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 17 hours ago.

Activeupdated last month
metadata
{
  "ibook.version": "1.0",
  "ibook.preferred-model": "sonnet"
}

README badge

README badge for dmccreary/claude-skills/book-media-generator