# How the eli5 Bundled Plugin Works: A Declarative Visual Explainer System

> Discover how the eli5 bundled plugin creates simplified visual guides by turning complex topics into picture-heavy HTML artifacts using a declarative markdown template.

- Repository: [Anthropic/claude-plugins-community](https://github.com/anthropics/claude-plugins-community)
- Tags: how-to-guide
- Published: 2026-09-08

---

**The eli5 bundled plugin transforms complex topics into picture-heavy HTML artifacts by substituting user arguments into a declarative markdown template that Claude renders as a simplified visual guide.**

The **eli5 bundled plugin** in the `anthropics/claude-plugins-community` repository generates "Explain Like I'm 5" explanations without implementing traditional code handlers. Unlike conventional plugins that require custom execution logic, this tool relies entirely on JSON metadata and markdown templates to leverage Claude's built-in runtime for HTML generation.

## Plugin Architecture

The eli5 plugin follows a purely declarative architecture consisting of metadata files and a skill template. This zero-code approach means the plugin contains no Python, JavaScript, or other executable scripts; instead, it depends on the Claude platform to handle argument substitution and rendering.

### Plugin Manifest

The **[`eli5/.claude-plugin/plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/eli5/.claude-plugin/plugin.json)** file declares the plugin's metadata including name, version, description, author, and keywords. This manifest enables the Claude runtime to discover the plugin during startup and register the `/eli5` command for model access.

### Skill Definition Template

The core functionality resides in **[`eli5/skills/eli5/SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/eli5/skills/eli5/SKILL.md)**, which contains a markdown-based skill template with YAML frontmatter. The frontmatter specifies the skill name (`eli5`) and description, while the body uses the **`$ARGUMENTS`** placeholder to receive user input:

```markdown
---
name: eli5
description: Explain a topic like I'm a 5 year old. Use when the user types /eli5 <topic> or asks for a dead‑simple picture explainer of how something works.
---

# eli5

Explain like I'm someone who knows nothing about this topic, using a HTML artifact with big pictures and few words.

Topic: $ARGUMENTS

```

When invoked, the Claude runtime performs literal string substitution, replacing `$ARGUMENTS` with the user-provided topic.

### Marketplace Registration

The plugin appears in the Claude marketplace through an entry in **[`.claude-plugin/marketplace.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json)** (specifically around lines 23923-23926). This registration makes the skill discoverable to end-users without requiring manual installation or configuration steps.

## Execution Flow

The eli5 bundled plugin operates through a five-step runtime process that requires no custom execution code from the repository.

### Discovery Phase

During Claude's initialization, the runtime scans the repository for `*.claude-plugin/plugin.json` files. When it encounters the manifest at [`eli5/.claude-plugin/plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/eli5/.claude-plugin/plugin.json), it loads the plugin metadata and exposes the `/eli5` command to the language model.

### Invocation and Argument Extraction

When a user inputs a command like `/eli5 how does DNS work`, the Claude model detects the pattern match against the registered skill. It extracts the argument string (`how does DNS work`) from the command syntax for substitution.

### Template Rendering

The runtime loads [`eli5/skills/eli5/SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/eli5/skills/eli5/SKILL.md) and replaces the `$ARGUMENTS` token with the extracted user query. The resulting markdown document reads:

```markdown

# eli5

Explain like I'm someone who knows nothing about this topic, using a HTML artifact with big pictures and few words.

Topic: how does DNS work

```

### HTML Artifact Generation

The platform converts the rendered markdown into an HTML artifact using Claude's built-in HTML generator. This engine applies a large-picture layout template, selects relevant illustrations, and condenses the text into minimal, high-impact phrases suitable for a five-year-old's comprehension level.

### Response Delivery

The final HTML artifact returns to the user interface as the plugin's response, displaying as a visual explainer with big images and simplified captions.

## File Structure Reference

The complete eli5 implementation consists of three declarative files:

- **[`eli5/.claude-plugin/plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/eli5/.claude-plugin/plugin.json)** – Core metadata declaring the plugin's identity, version, and keywords
- **[`eli5/skills/eli5/SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/eli5/skills/eli5/SKILL.md)** – The skill template defining the prompt structure and the `$ARGUMENTS` substitution pattern
- **[`eli5/README.md`](https://github.com/anthropics/claude-plugins-community/blob/main/eli5/README.md)** – User-facing documentation explaining the `/eli5 <topic>` invocation syntax and usage examples

All heavy lifting—including argument substitution, markdown-to-HTML conversion, and image selection logic—occurs within the Claude platform itself, not in plugin-specific code.

## Usage Examples

### Basic Topic Explanation

Invoke the plugin using the slash command followed by any complex topic:

```text
User: /eli5 how does DNS work
Claude: [HTML artifact with large DNS diagram and simple caption]

```

### Technical Concept Simplification

The same pattern handles abstract or technical subjects:

```text
User: /eli5 quantum entanglement
Claude: [HTML artifact with illustrated particles and minimal text]

```

## Summary

- The **eli5 bundled plugin** operates with **zero custom code**, functioning entirely through declarative JSON and markdown configuration files
- Argument substitution uses the **`$ARGUMENTS`** placeholder within [`eli5/skills/eli5/SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/eli5/skills/eli5/SKILL.md)
- The plugin manifest at **[`eli5/.claude-plugin/plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/eli5/.claude-plugin/plugin.json)** enables automatic discovery and registration of the `/eli5` command
- HTML generation, image selection, and visual formatting are handled by Claude's core runtime, not plugin-specific logic
- The marketplace entry in **[`.claude-plugin/marketplace.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json)** makes the tool automatically discoverable to Claude users

## Frequently Asked Questions

### Do I need programming skills to modify the eli5 plugin?

No. The eli5 bundled plugin contains only declarative configuration files. You can alter the explanation style or prompt engineering by editing the markdown text in [`eli5/skills/eli5/SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/eli5/skills/eli5/SKILL.md) without writing any Python, JavaScript, or other executable code.

### What happens if the user forgets to include a topic?

If the user invokes `/eli5` without arguments, the **`$ARGUMENTS`** placeholder in the SKILL.md template renders as an empty string or literal placeholder text, depending on the Claude runtime's substitution behavior. The plugin expects the documented `/eli5 <topic>` syntax to function correctly.

### Where does the image selection logic reside?

The image selection, HTML layout logic, and visual styling reside entirely within Claude's core platform, not in the plugin repository. The plugin only provides the text template through [`SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/SKILL.md); the runtime handles converting that template into a visual HTML artifact with appropriate illustrations.

### Can I create a similar plugin for other explanation styles?

Yes. You can replicate this architecture by creating a new directory with a [`plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/plugin.json) manifest, a `skills/<name>/SKILL.md` file containing an `$ARGUMENTS` placeholder, and a [`README.md`](https://github.com/anthropics/claude-plugins-community/blob/main/README.md). The Claude runtime will automatically handle command registration and HTML generation using your custom prompt template, requiring no additional code.