Skip to content
cccskills
FreePublished on GitHub

wowerpoint

Turn a single document into a NotebookLM slide deck with cute characters and a clear narrative. The skill starts generation, provides a notebook link, and downloads the finished deck as a PDF when explicitly requested.

OriginalShow the original description

Turn one document into a kawaii NotebookLM slide deck. Use for "wowerpoint this", "make a deck about <file>", "turn this report into slides", or any request to render a single document as narrative slides.

Works withPlaywright
See how to install

Good for

  • Turning a report into narrative slides
  • Explaining a topic with cute characters
  • Downloading a generated deck as a PDF

Files included (1)

  • SKILL.md4.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Wowerpoint

One doc in, one NotebookLM slide deck started. Slide-deck only — videos and podcasts from the same engine are noticeably worse and out of scope; refer the user to the notebooklm CLI directly if they want those.

Triggers

  • "Wowerpoint <file>"
  • "Make a slide deck about <file>"
  • "Turn this report into slides"
  • "Kawaii-deck this"

Setup (one-time per machine)

If notebooklm auth check returns 0 and command -v jq resolves, skip.

uv tool install --with playwright --force notebooklm-py
$(uv tool dir)/notebooklm-py/bin/playwright install chromium

jq is required by the workflow's JSON parsing; install if missing (brew install jq on macOS, or your distro's package manager).

Then the user authenticates interactively — do not script. Tell them to type ! notebooklm login so the OAuth ENTER lands in their terminal.

Workflow

1. The source doc

You need exactly one source doc. If it doesn't exist or is too thin to carry a deck, write it first — use mem-search and sequential thinking to make it comprehensive (long-form, narrative, several thousand words is normal). Do not paper over a weak source by adding more sources.

2. Auth pre-flight

notebooklm auth check 2>&1 | tail -5

Exit 1 with Run 'notebooklm login' to authenticate. = halt and tell the user.

3. Create the notebook

NOTEBOOK_ID=$(notebooklm create "<title>" --json | jq -r .notebook.id)

Title: H1 of the source doc, or its filename stem; append a date for dated work.

4. Add the source

SOURCE_ID=$(notebooklm source add "<doc-path>" --notebook "$NOTEBOOK_ID" --json | jq -r .source.id)

The JSON envelope keys are create → .notebook.id and source add → .source.id. A wrong key produces an empty string and a silent downstream failure.

5. Wait for the source to be ready

notebooklm source wait <SOURCE_ID> -n <NOTEBOOK_ID> --timeout 600

6. Start generation

notebooklm generate slide-deck "<PROMPT>" --format detailed --length default --notebook <NOTEBOOK_ID> --json --retry 2

7. Print the notebook URL and end the turn

After starting generation, print:

https://notebooklm.google.com/notebook/<NOTEBOOK_ID>

Then end the turn.

Output path

Adjacent to the source, parallel filename:

<source-dir>/<source-stem>-slides.pdf

If the source isn't somewhere that makes sense as an output location, default to reports/<stem>-slides.pdf.

PDF on explicit request

Only if the user later explicitly asks for the PDF, use the output path above:

notebooklm artifact list -n <NOTEBOOK_ID>
notebooklm artifact wait <artifact_id> -n <NOTEBOOK_ID> --timeout 1800
notebooklm download slide-deck "<OUTPUT_PATH>" -a <artifact_id> -n <NOTEBOOK_ID>

The deck may still be generating, so always wait on the artifact before downloading.

The prompt

One sentence. Default:

Use kawaii characters to tell the story of <subject>. Keep it warm and clear.

Replace <subject> with a one-phrase description from the source doc's H1 or the user's framing. If the user supplies their own prompt, pass it through verbatim — don't expand it.

Failure modes

  • pip: command not found — modern macOS doesn't ship pip on PATH. Use uv tool install.
  • Playwright not installed — install notebooklm-py with --with playwright, then playwright install chromium.
  • Run 'notebooklm login' to authenticate — only the user can complete OAuth.
  • Rate-limit (GENERATION_FAILED or "No result found for RPC ID") — --retry 2 handles transients. If it still fails, report the error and end the turn; retry or use the web UI only on a later user request.
  • Source upload denied for sensitive docs — confirm before adding sources containing credentials, customer data, or unreleased product info. NotebookLM is a Google service.
  • --length long does not exist — only default|short. If the user asks for "long slides," use default and explain.
  • No --style flag — kawaii lives in the prompt text.

Operational tips

  • Rerun cheaply — once the notebook + source exist, regenerating with a different prompt only repeats generation. Reuse NOTEBOOK_ID and SOURCE_ID.
  • Web UI fallback — if the user later reports generation is rate-limited for more than 30 minutes, open the notebook URL and trigger generation in the UI. Download a PDF only if they explicitly request it.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Turn agent activity and transcript token counts into a cost report organized around completed outcomes. Separate estimates from measured spending, examine waste and rework, and export readable HTML with supporting JSON, CSV, and evidence.

  • Reviewing weekly agent spending and completed work
  • Comparing costs per completed outcome
  • Investigating the cost of loops and rework
thedotmack/claude-mem101.6KUpdated Oct 18, 2026

babysit

FreeSummary

Monitor a pull request through reviews and automated checks, verify reported issues against the code, and make focused fixes. Repeat testing and review checks until actionable comments and unresolved threads are cleared and the request is ready to merge.

  • Monitoring a pull request while automated checks run
  • Verifying and fixing review comments
  • Checking unresolved threads before a merge
thedotmack/claude-mem101.6KUpdated Oct 18, 2026

Delegate a coding task to a subagent that runs build, merges the ready pull request, and continues from the updated main branch into release, connecting implementation and release work in one automated sequence.

  • Delegating a coding task through release
  • Connecting a ready PR merge to release work
  • Running build and release in sequence
thedotmack/claude-mem101.6KUpdated Oct 18, 2026

ccs-align

FreeSummary

Check a local claude-mem worker, refresh viewer-specific caches of important observations, and exclude or restore records without deleting history. Inspect rules across shared, project, and agent layers, then append conflicts to a report.

  • Checking worker health and refreshing important observations
  • Excluding cached records while preserving source history
  • Restoring previously excluded observations to a cache
thedotmack/claude-mem101.6KUpdated Oct 18, 2026

childhood

FreeSummary

Monitor a shipped release by checking published packages, live services, installed plugins, and late CI results or user reports. Verify regressions, prepare authorized fixes, and report release health with evidence and any remaining verification gaps.

  • Checking package contents after publication
  • Verifying changed user flows in production
  • Confirming installed plugins use the shipped version
thedotmack/claude-mem101.6KUpdated Oct 18, 2026

Set up claude-mem for Grok Bot with a local worker and CMEM Pro service for recording observations. The skill also covers an optional host-login setup and remote cmem.ai connection, without requiring Cursor.

  • Install claude-mem for Grok Bot
  • Set up a local worker with CMEM Pro
  • Choose the optional host-login observer
thedotmack/claude-mem101.6KUpdated Oct 18, 2026

See all skills by thedotmack

Report a problem with this skill