Skip to content
Agentmart
Submit a tool

interactive-explainer

Build a source-grounded interactive HTML explanation of behavior or state.

Skill by Yeshwanthyk

IndexedMIT★ 6
Write a review

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/yeshwanthyk-interactive-explainer

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.

We use your email only for this newsletter. Privacy

About

Build a source-grounded interactive HTML explanation of behavior or state. For a narrated, timeline-driven explainer or a video, use motion-explainer.

Use cases: frontend

No 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 and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/interactive-explainer

What's inside

Skill name
interactive-explainer
Description
Build a source-grounded interactive HTML explanation of behavior or state. For a narrated, timeline-driven explainer or a video, use motion-explainer.
License
MIT
Instructions
41 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (6)

  • SKILL.md
  • openai.yaml · agents/
  • starter.html · assets/
  • knowledge-base.md · references/
  • reader-first.md · references/
  • validate_explainer.py · scripts/

SKILL.md (first lines)

# Interactive Explainer

Build an **inspectable model**: every interaction should reveal behavior grounded in the live implementation.

## Process

1. Trace the implementation, tests, runtime evidence, and source-of-truth state behind the behavior being explained.
2. Name the reader, what they already know, and the question they should answer through interaction. Assume they do not know the domain words.
3. Choose the smallest interaction that exposes the answer: scenario stepper, state transition, execution path, comparison, or selectable diagram.
4. Model entities, transitions, and scenarios as data consumed by a shared renderer. Any map of components, triggers, calls or states is a `text/viz` graph (see Supporting Files), not new SVG or layout code; reach for the starter's scenario theatre only for one cinematic scenario. Give every diagram, state machines included, at least one story named by its outcome: in viz, a named path with a `| payload | narration` tail.
5. Show source state and derived state as distinct concepts. Mark boundary crossings with their contract, owner, state change, failure behavior, and proof point. A component's inspector names its methods in call order with `file:line`, what it reads and writes, and what happens when it fails.
6. Cite behavioral claims with file paths and line numbers.
7. Use the requested visual direction when specified. Otherwise use the starter's systems look: near-black, monospace, hairline boxes joined by wires, amber for active, coral for failure, green for healthy, a packet labelled with its payload on each hop, and a callout on each derived or lagging state.
8. Keep the HTML self-contained and preserve semantic controls, keyboard access, readable contrast, and the interaction feel below.
9. Save the artifact at the requested or clearly named workspace path, run the validator, open the page, and exercise its primary interaction at the reader's real width plus a narrow and a wide one, in every theme. Before handing it over, confirm the page the reader will open serves the new version (check its content, not just a 200), and give the exact URL. If browser automation fails once, stop retrying: publish, and name what you did not exercise. Where the host renders HTML inline in the chat and the explainer is one compact model, also publish it there with the same look; the saved file stays the source.

Read [`references/reader-first.md`](references/reader-first.md) before building: it is the quality bar for headers, primers, stories, keys and layout. When the explainer is a multi-page site that grows over time, with shared issue and glossary registries, also read [`references/knowledge-base.md`](references/knowledge-base.md).

## Interaction feel

UI motion answers an input; story motion (a packet on a wire, a state change) is the explanation and keeps its own pace.

- Press: `:active { transform: scale(.97) }` on buttons and clickable cards.
- Hover: style it only inside `@media (hover: hover) and (pointer: fine)`; focus-visible gets the same cue.
- Transitions name exact properties (`transition: border-color 160ms, transform 160ms`), use a strong ease-out such as `cubic-bezier(.23, 1, .32, 1)`, and finish under 300 ms.
- Controls used in quick succession (step buttons, arrow keys, typing in a filter) get no transition of their own. The story step they trigger keeps its motion.
- `prefers-reduced-motion: reduce` lands every story step in its final state.

## Supporting Files

- Use [`assets/starter.html`](assets/starter.html) as the base for scenario-driven explainers and as the visual-token reference for other forms.
- For any graph, write a `text/viz` block instead of building that view, following [viz](../viz/SKILL.md) for a self-contained page: a flow or DAG, a ranked map (who acts → event → gate → result), a coverage strip or grid, a sequence, a state machine, a call stack, a call tree, or a call diff. Hover tracing, replay, the inspector and the key come with it. Its detail lines (`does`, `reads`, `writes`, `fails`, `ref`) carry the inspector facts step 5 asks for. To tie prose to the graph, give a caption, table row or glossary term `data-viz-id="<node id or path name>"`; hovering it lights that part of the graph.
- When the explainer should play over time, with narration, a scrubber, or MP4 output, use [`../motion-explainer`](../motion-explainer/SKILL.md) instead. It shares this look and builds an HTML file you can edit.
- Run `python3 scripts/validate_explainer.py <path-to-html>` before delivery. Add `--allow-local-assets` for pages that share relative local CSS and JS.
- The validator catches common structural and dependency mistakes. It is not a complete network or accessibility check; exercise the rendered page too.

## Completion

Complete the explainer when its primary interaction faithfully exposes the target behavior from source truth, every behavioral claim is traceable, every reader-first item holds, the validator passes, the interaction works in the rendered page, and the saved path is reported.

From Yeshwanthyk/agent-skills, MIT.

More from Yeshwanthyk/agent-skills

Signals

Stars
6
Forks
0
Open issues
0
Last commit (this folder)
Oct 16, 2026 (13 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from Yeshwanthyk

Cite this page

interactive-explainer skill. Agent Mart. https://agentmart.dev/skills/yeshwanthyk-interactive-explainer (last updated 2026-10-24)