explaining-codebases
Use when creating an interactive explainer about a codebase, repository, or source files. Handles onboarding overviews,…
Use when creating an interactive explainer - a single self-contained HTML page with hand-built Canvas figures. Handles source-file explainers, topic-driven research explainers, and mixed intake where files provide the spine and research adds support. Trigger phrases include
Claude Code
$ npx -y skills add analyticalmonk/explain-this --skill creating-explainers --agent claude-code
Codex
$ npx skills add analyticalmonk/explain-this --skill creating-explainers -a codex -y
Cursor
$ npx skills add analyticalmonk/explain-this --skill creating-explainers -a cursor -y
Gemini CLI
$ npx skills add analyticalmonk/explain-this --skill creating-explainers -a gemini-cli -y
GitHub Copilot
$ npx skills add analyticalmonk/explain-this --skill creating-explainers -a github-copilot -y
OpenCode
$ npx skills add analyticalmonk/explain-this --skill creating-explainers -a opencode -y
Windsurf
$ npx skills add analyticalmonk/explain-this --skill creating-explainers -a windsurf -y
name: creating-explainers description: Use when creating an interactive explainer - a single self-contained HTML page with hand-built Canvas figures. Handles source-file explainers, topic-driven research explainers, and mixed intake where files provide the spine and research adds support. Trigger phrases include "make an explainer", "turn this paper into an interactive explainer", "build a distill-style explainer", or "explain X visually". For codebases or source files, use explaining-codebases instead.
This skill produces a **single self-contained interactive explainer** in the style of distill.pub - serif typography, a sticky two-column layout, and hand-built Canvas figures the reader can interact with. The output is one `index.html` file that opens directly in a browser; no parent project, no build step, no shared infrastructure required.
**Core constraints (non-negotiable):**
If you find yourself reaching for a framework or asking "should I just use React for this", stop. The constraint is the point.
Use whenever the user asks to:
Don't use for:
Intake is one phase: gather what the article is built from. The material can be given files, web research, or both. Pick the references that apply and read them when you reach this phase, not upfront.
| You have | Read | Source of truth | |----------|------|-----------------| | Files (paper, URL, paste, transcript, report) | `references/intake-from-files.md` | The provided document(s) | | Only a topic | `references/intake-from-research.md` | Web research, then synthesis | | Files **and** a topic that needs more | both | Files as spine, research as supporting |
**Mixed intake.** When the user provides files and the topic also needs material the files do not cover (recent developments, criticisms, corroboration), read both references and combine them via spine-vs-supporting. Synthesize across everything into one outline and one article.
If you only have a topic and web search is unavailable, ask the user to paste sources. Do not write a technical interactive explainer from training data alone.
The interactive explainer is too rich to one-shot. Work in stages and check in with the user.
1. Intake -> gather material (files, research, or both) 2. Research-time fact-check -> if you researched, verify sources before drafting (REQUIRED) 3. Outline -> propose sections + figure list, get user approval 4. Scaffold -> copy template, fill metadata 5. Prose pass -> write all sections with figure placeholders 6. Figures pass -> implement each interactive figure 7. Post-draft fact-check -> audit every claim against its source (REQUIRED, blocking) 8. Polish -> run the Quality Checklist to completion
**Pause for user approval after the outline (step 3).** This is the highest-leverage check-in - if the outline is wrong, everything after it is wasted work. Show the user: title, subtitle, section list with one-line summaries, and a numbered figure list with what each figure shows and how the reader interacts with it.
**Steps 2 and 7 are gates, not suggestions.** Use `fact-checking-explainers`. The interactive explainer is not done until the post-draft fact-check returns zero unresolved claims - every checkable claim is supported. See the Quality Checklist.
**Step 8 is complete only when every Quality Checklist item passes.** Fix any failing item before delivery.
**Don't pause** between the other steps unless something is genuinely ambiguous. Show progress, don't ask for permission to keep working.
Every article has the same skeleton. Use `assets/article-template.html` as the starting point - copy it to the output path and fill in the marked `{{PLACEHOLDERS}}`. Don't try to rebuild this structure from scratch; it captures invariants (DPR-aware canvas init, sidebar scroll-tracking, responsive breakpoints) that are easy to get wrong.
The skeleton provides:
See `references/template-walkthrough.md` for what every block in the template does and where to fill in your content.
Each interactive figure is a self-contained IIFE:
(function() {
const { canvas, ctx, w, h } = initCanvas('canvas-myfig');
let state = { /* ... */ };
function draw() { /* render */ }An Agent Skills package for creating distill-style interactive explainers - single self-contained index.html pages with a sticky two-column layout, hand-built Canvas figures, and conversational prose, like the explainers at distill.pub.
Use when creating an interactive explainer about a codebase, repository, or source files. Handles onboarding overviews,…
Use to fact-check an explainer against its sources before delivery. Trigger on "fact-check this explainer", "verify the claims",…
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…
AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…
Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…
Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to…