docent-explain

docent-explain is a skill for Claude Code, Codex from benelser/docent. It costs 96 tokens per session (2,377 once invoked), scanned A, original, MIT.

A command that turns a repository, pull request, file, URL, or essay into a narrated explainer film. It can survey the subject, create a treatment and specification, generate speech and clips, and render the result.

In plain words
What is it for?
Use it to make films explaining a subject, review a pull request as a film, or create an architecture or general explainer focused on a chosen subsystem.
Why use it?
It packages a technical subject into a visual explanation, which can make a codebase, change, or written work easier to review or understand.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/benelser/docent/docent-explain
Any agent
npx skills add benelser/docent --skill docent-explain
Clone the repo
git clone --depth 1 https://github.com/benelser/docent

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for docent-explain

README.md
[![agentmods](https://agentmods.dev/badge/skills/benelser/docent/docent-explain.svg)](https://agentmods.dev/skills/benelser/docent/docent-explain)
Your own site
<a href="https://agentmods.dev/skills/benelser/docent/docent-explain"><img src="https://agentmods.dev/badge/skills/benelser/docent/docent-explain.svg" alt="Measured on agentmods" height="20"></a>
Per session 96 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,377 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00096 $0.02377
Opus 5 $0.00048 $0.01189
Sonnet 5 $0.00019 $0.00475
Haiku 4.5 $0.00010 $0.00238

Measured 3d ago against content hash c1f45324eb07, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

docent-explain scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

packages/agent/skills/docent-explain/SKILL.md · 196 lines

How it starts

The opening of the file, as written. The whole thing — 196 lines — stays where its author put it; the contents beside it link to each section on GitHub.

docent-explain — the end-to-end docent skill

You are running the entire docent cascade against a subject the user just named: survey → treatment → spec → tts → clips → render → open. This is the flagship skill; the other docent skills are sub-steps of this one. Reach for those only when the user explicitly wants to pause between stages.

Arguments

/docent-explain <subject> [--mode pr|ar|ex] [--subsystem X] [--pr N] [--id X] [--scale S] [--no-open]

  • <subject> — a repo path, a github URL, a single file, a wiki directory, a blog URL, or an essay. The first positional is the subject.
  • --modepr (PR review), ar (architecture review), ex (explainer). Inferred from the subject when omitted.
  • --subsystem X — for ar, scope to one subsystem.
  • --pr N — for pr, the pull-request number.
  • --id X — override the auto-derived film id.
  • --scale S — render scale. Default 1. Pass 0.5 for fast turnarounds.
  • --no-open — render without opening the result in the system player.

What to do

  1. Pre-flight. Confirm the environment is ready by checking that the agent CLI (claude or codex), bun, and ffmpeg are on PATH. If anything obvious is missing, suggest /docent-doctor and stop. Do not run doctor here implicitly — it has its own skill.

  2. Find the right surface, then survey. The fetcher behind docent survey does one thing — fetch the URL you give it and report what came back. It does not know that arXiv's /abs/ is a stub or that a paper's full text lives at /html/ or /pdf/. That intelligence is yours — you are the agent. Walk the surfaces deliberately:

    • If the user passed a URL that looks like an abstract, stub, or landing page (arxiv.org/abs/, a paper's homepage, a wiki article's "main" page), assume there is a richer surface and try it first. Common patterns worth trying in order:
      • arxiv.org/abs/<id> → try arxiv.org/html/<id> (rendered LaTeX, ~40k chars) then arxiv.org/pdf/<id> (PDF via pdftotext).
      • biorxiv.org/content/<doi> → try the same URL with .full appended.
      • A paper homepage → look for a "PDF" or "Full text" link and use that URL.
    • Always do an exploratory fetch first.
      docent survey <url> --mode ex --id <slug>
      
      The fetcher writes analysis/<id>.source.md and logs a character count. If the count is below ~5 000 chars and you have an alternative surface, stop the in-progress survey, swap the URL, and re-run. Surveying a stub returns a film about a stub.
    • PDFs work natively. Pass https://…/whatever.pdf directly; the engine pipes it through pdftotext. No special invocation.
    • When you've exhausted surfaces and the source is still thin, don't paper over it — say so in the survey explicitly and narrow the film's claim to what the text actually supports.

Read the full file on GitHub · 196 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 196 lines · 96 tokens per session scan A c1f45324eb07

Subscribe to this mod's changes

docent-explain is a skill published in the GitHub repository benelser/docent (6 stars, last pushed 2mo ago), licensed MIT. It adds 96 tokens to every session and 2,377 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

remocn

Build Remotion videos with remocn — copy-paste animation components and timeline-driven UI primitives from a shadcn registry. Use when composing a video or scene in a Remotion project, adding a single animation, transition, background, or UI-block sim, or reaching for a video-ready UI primitive (button, dialog…

Remocn/remocn · 88 tokens

clean-cut

Step 1 of the AI Video Editor pipeline — turn raw talking-head footage into a clean master cut. Use when the user wants to "clean cut", "cut the raw footage", "remove filler / dead air / bad takes", "tighten the pacing", produce cuts.json, run the cut editor, or render a cleaned preview/master for a video-N project in…

hassancs91/claude-youtube-editor · 189 tokens

migrate-state-management

Migrate Redux or React Context to the correct state option (React Query for server state, nuqs for URL/shareable state, Zustand for global client state). Use when refactoring away from Redux/Context, moving state to the right store, or when the user asks to migrate state management.

SigNoz/signoz · 64 tokens

suggest-sfx

Step 4 of the AI Video Editor pipeline — the SFX pass. Analyze a video's beats + narration and propose tasteful sound effects synced to them, drawing from (and growing) a shared, reusable SFX library, then render an SFX-mixed audition preview. Use when the user wants to "add SFX / sound effects", "suggest sfx", "score…

hassancs91/claude-youtube-editor · 206 tokens

vidtsx-2d-generator

Generate production-ready 2D TSX video files for VidTSX (Remotion-based) from a shot, scene, or video description. Use whenever the user wants to create or generate a VidTSX video, a 2D TSX shot or scene, an animated clip, title card, or rendered motion graphic — including when they describe a visual animation they…

hassancs91/claude-youtube-editor · 225 tokens

brand-setup

Makes this repo's videos look like YOUR channel instead of the house default — interviews you for palette, fonts, wordmark, motion energy, delivery specs and SFX taste, then rewrites brand.md + remotion/src/brand.ts + remotion/src/fonts.ts together and renders a proof card so you SEE it. Use whenever the user wants to…

hassancs91/claude-youtube-editor · 159 tokens