spoiler-free-shorts
Add a short (60–90 s) NotebookLM video to each task of an existing interactive learning page, using a parallel example so the short never solves the task…
Skill by smlfg
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/smlfg-spoiler-free-shorts
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/spoiler-free-shorts
What's inside
- Skill name
spoiler-free-shorts- Description
- Add a short (60–90 s) NotebookLM video to each task of an existing interactive learning page, using a parallel example so the short never solves the task, then embed and verify it. Use when the user wants per-task explainer shorts on an existing practice site.
- License
- MIT
- Instructions
- 87 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Spoiler-Free Shorts
Downstream of a course notebook: media per **single task**, embedded into a page that already exists. Never build a new page; always dock onto the existing one.
Tools: NotebookLM MCP (`notebook_get`, `studio_create`, `studio_status`, `download_artifact`) or its CLI, `ffprobe`/`ffmpeg`, a headless browser (e.g. Playwright).
## Three insights that carry it
### 1. Spoiler guard: ALWAYS a parallel example
A short that walks through the task's own numbers **destroys the task**. If the task is `f = 3n+17, g = 2n` → `c = 2, n₀ = 17`, the short shows `f = 2n+5, g = n` → `c = 3, n₀ = 5`: same mechanics, different numbers. Transfer remains the learner's job.
Read the task **and the model solution**, write both into a `spoiler_guard` ("Forbidden: …"), invent a parallel example, and forbid explicitly in the prompt: *"The expressions 3n+17 and 2n must not appear."*
### 2. Put the language instruction in the prompt, not just the parameter
`language=<x>` alone sometimes flips to English for short videos. Start every `focus_prompt` with an explicit language rule covering speech, subtitles and on-screen labels. Tolerate established technical terms; don't regenerate for them.
### 3. Real gaps beat sheet structure
Building shorts in sheet order is obvious and misses the point. If you have a transcript or notes from a study session, extract what's **solid vs shaky**, and turn the learner's most expensive mistakes into their own shorts. Those are worth more than any sheet-order short.
## Prompt contract: a director's plan, not a keyword
- **Exactly one concept.** Name forbidden extras ("no master theorem", "no second formula").
- **One continuous mini example** with real numbers, step by step.
- **Large visible states**, short labels, no definition dump.
- **A closing question, left unanswered** (becomes the page's recall box).
- For error repair: show the wrong way **crossed out**, then the right one.
Keep prompts in a queue JSON (`id`, `task`, `output_path`, `spoiler_guard`, `focus_prompt`): documentation plus cheap re-runs.
## Procedure
1. **Get task cores** (delegate reading many HTML pages to a cheap scout): title, topic, real numbers, solution values (= spoiler guard).
2. **Scope source IDs narrowly**: the relevant sheet PDF plus context/preferences, not all 120 sources.
3. **One test run** first; check language, format, spoilers. Then the rest.
4. **Batches of 5–6.** After that expect a rate-limit error; wait a few minutes. Not a bug.
5. **Poll in a loop that also reports failures**, not just success.
6. **Download + poster**: `ffmpeg -ss 3 -i short.mp4 -frames:v 1 poster.webp`. Never take the poster from the result frame. File size says nothing about an empty frame; look at it.
7. **Embed** and **verify** (below).
Field-name trap: MCP returns `artifact_id`; some CLI JSON returns `id` in a top-level array. Status is `unknown` while generating, `completed` after.
## Embedding
Place after the page header, before the task section:
```html
<section class="media-pre">
<h2>Watch first</h2>
<p>Different numbers from your task, on purpose. You transfer the mechanics.</p>
<video class="short-player" controls preload="metadata"
poster="../media/posters/task-03.webp" src="../media/task-03-short.mp4">
Your browser does not support video.</video>
<div class="recall-box"><strong>Instant recall</strong> <the short's closing question></div>
</section>
```
Respect the site's build contract: CSS goes into the task's own `task.css`, never the shared stylesheet; no CDNs; never touch `task.js` or storage keys. Cross-cutting shorts go as links on an overview/roadmap page. **An orphaned MP4 is not a result**; only report done after embedding.
## Verification, and two false alarms
Headless browser checks: video loaded and **portrait** (`videoHeight > videoWidth`), poster set, recall box present, no console errors, task state still saves. Resolve relative paths with `ls` first; the `../` depth is the most common error.
- **False alarm 1: `net::ERR_ABORTED` on the MP4.** Not a 404; `preload="metadata"` aborts the rest on purpose. If `videoWidth` is set, it loads.
- **False alarm 2: state doesn't save.** The save button is usually gated by design (checkboxes, proofs). Tick prerequisites first; read `task.js` before calling it a bug.
## Stance
Absence of evidence in the chat is not evidence of absence. The learner may have worked for an hour on paper. Don't accuse them of procrastinating. The line isn't "media vs no media" but *media that pull you into the task* vs *systems that replace it*.
## Example
```text
task-03 (Big-O proof): spoiler_guard = "3n+17", "2n", "c=2", "n0=17"
parallel example: f=2n+5, g=n → c=3, n0=5
focus_prompt: "LANGUAGE: entire short in English incl. labels. One concept: finding c and n0 …
Forbidden: 3n+17, 2n. End with an unanswered question."
→ media/task-03-short.mp4 (1:09, 406×720), poster at 3 s, embedded, verified
```
## Use case
You built a practice site and want a quick visual primer on every task, without the video giving away the answer. This skill generates each short from a parallel example, embeds it above the task with an unanswered recall question, and verifies it actually plays.From smlfg/HAI-skills-registry, MIT.
More from smlfg/HAI-skills-registry
- 0.570score
archify-swarm
smlfg
Map a repository's architecture with several cheap/free models in parallel, verify every claimed file:line deterministically against the committed code, and…
SkillAFreshness: AClaude Code +9 - 0.570score
pdf-to-md
smlfg
Convert PDFs (lecture slides, scripts, books) into clean Markdown/text an agent can read and search, with automatic fallback to Tesseract OCR for scanned PDFs.
SkillAFreshness: AClaude Code +9 - 0.565score
agentic-gate-verification
smlfg
Decide whether agentic work may proceed, be marked done, merge, or spawn more work.
SkillAFreshness: AClaude Code +9 - 0.565score
commit
smlfg
Create atomic git commits with a secrets/artifact safety check, green tests, and explicit human approval per commit.
SkillAFreshness: AClaude Code +9 - 0.565score
cross-model-review
smlfg
Get independent second, third and fourth opinions from different model families on a problem or solution, then synthesise convergence (validated) versus…
SkillAFreshness: AClaude Code +9 - 0.565score
experiment-to-project
smlfg
Turn an AI/agent experiment with several failed or half-working attempts into an evaluated, measurable project.
SkillAFreshness: AClaude Code +9 - 0.565score
github-community-checklist
smlfg
Audit a GitHub repo's community health files (description, README, license, code of conduct, contributing, security policy, issue/PR templates).
SkillAFreshness: AClaude Code +9 - 0.565score
skilleval
smlfg
Run the same task through several models or agents and score the artifacts against a pre-agreed, machine-checkable quality axis.
SkillAFreshness: AClaude Code +9 - 0.565score
subprocess-cli-pitfalls
smlfg
Diagnose Linux CLI commands that run in milliseconds in a terminal but hang or crawl when called via Python subprocess (or any non-TTY caller like cron or an…
SkillAFreshness: AClaude Code +9 - 0.565score
coursepack
smlfg
Push an entire course folder into Google NotebookLM and generate prioritised study media (audio, video, study guide) per topic and per exercise sheet, driven…
SkillAFreshness: AClaude Code +9 - 0.565score
podcast
smlfg
Produce an audio podcast from source material (doc, text, link, topic) via Google NotebookLM's MCP server.
SkillAFreshness: AClaude Code +9 - 0.565score
visual-explainer
smlfg
Generate self-contained HTML explainers with SVG diagrams and interactive step-by-step animations for algorithms, data structures, systems or concepts.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 15, 2026 (13 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/smlfg/HAI-skills-registry
- Website
- human-agent-interface.com
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from smlfg
- 0.606score
HAI-MCP
smlfg
Model-agnostic MCP control plane for HAI: bounded missions, owner-gated actions, drift checks.
ConnectorAFreshness: ALocal★ 1↓ 47/wkClaude Code +5 - 0.570score
archify-swarm
smlfg
Map a repository's architecture with several cheap/free models in parallel, verify every claimed file:line deterministically against the committed code, and…
SkillAFreshness: AClaude Code +9 - 0.570score
pdf-to-md
smlfg
Convert PDFs (lecture slides, scripts, books) into clean Markdown/text an agent can read and search, with automatic fallback to Tesseract OCR for scanned PDFs.
SkillAFreshness: AClaude Code +9 - 0.565score
automation-handover
smlfg
Hand a verified automation over to its users with a short explanation, a visible demo through the real UI, a demonstrated stop path, and one small user action…
SkillAFreshness: AClaude Code +9 - 0.565score
commit
smlfg
Create atomic git commits with a secrets/artifact safety check, green tests, and explicit human approval per commit.
SkillAFreshness: AClaude Code +9 - 0.565score
agentic-gate-verification
smlfg
Decide whether agentic work may proceed, be marked done, merge, or spawn more work.
SkillAFreshness: AClaude Code +9
Cite this page
spoiler-free-shorts skill. Agent Mart. https://agentmart.dev/skills/smlfg-spoiler-free-shorts (last updated 2026-10-24)