{
  "markdown": "# explain-in-html\n\nOne plugin, two skills for turning answers into rich, self-contained HTML pages:\n\n| Skill | What it does |\n|---|---|\n| `explain-in-html` | Respond with a visual HTML page (diagrams, mockups, tables, multi-language switcher) instead of terminal text, and open it in the browser. Triggers on \"explain in HTML\", \"show me in a page\", \"in html\", … |\n| `code-changes-report` | Walk a reader through a branch / PR / diff as an HTML report — every file, every changed line with real source line numbers, editor deep-links, why-first annotations. Triggers only when the subject is an actual code change. Renders through `explain-in-html`. |\n\n## Install\n\nClaude Code:\n\n```\n/plugin marketplace add vast00/explain-in-html\n/plugin install explain-in-html@explain-in-html\n```\n\nOther runtimes — the skills are runtime-neutral (SKILL.md format), and this repo ships the\nmatching manifests (`.codex-plugin/`, `.cursor-plugin/`, `.kimi-plugin/`, `gemini-extension.json`).\nInstall through each runtime's own plugin/extension mechanism pointed at this repo, e.g.:\n\n```\ngemini extensions install https://github.com/vast00/explain-in-html\n```\n\n## Two modes\n\n**Dev mode** (default) — a page for yourself, on this machine.\n\n- Single language by default, following `default_language` (`auto` = the language you\n  converse in, or a fixed tag).\n- editor deep-links with absolute local paths.\n\n**Share mode** — a page for anyone.\n\n- Multi-language switchable by default: your `languages` set, or the languages you name.\n- No personal paths or machine-specific values; file links are relative, composed from an\n  on-page \"your repo root\" input; survives sandboxed viewers where scripts or storage\n  can't run.\n\n**Picking the mode**\n\nLanguage count hints the mode:  \nSeveral languages (\"in en, ja and zh-Hans\") ⇒ Share, a single one (\"in ja\") ⇒ Dev.  \nBut what you explicitly ask for always wins — a shareable single-language page is fine. Whichever way a mode is chosen, its link and no-leak rules always apply.\n\n- **Dev**: it's the default — just ask for a page, nothing to say. When your request would\n  otherwise read as Share (e.g. it asks for several languages), force Dev with \"just for me\"\n  or \"in dev mode\".\n- **Share**: name it (\"in share mode\", \"make it shareable\"), use audience words (\"for the\n  team\", \"for reviewers\"), or ask for several languages (\"in English and Japanese\").\n- To change which mode you get by default, set `default_mode: share` (or `dev`) in the\n  settings file (see Configuration below).\n\n## Configuration\n\nWorks with zero configuration. To customize, create `.explain-in-html/config.local.yaml` in a\nproject (per-project settings) or `~/.explain-in-html/config.yaml` (your global defaults).\nProject overrides user; unset keys fall back to defaults. One file configures both skills.\nThe paths are runtime-neutral — the same files work in every agent runtime.\n\n```yaml\noutput_dir: ~/.explain-in-html/reports  # where generated pages are written\nauto_open: true                     # open the page in the browser when done\ndefault_mode: dev                   # \"dev\" | \"share\" — see Two modes above\ndefault_language: auto              # \"auto\" = the language you converse in, or a fixed tag: \"en\", \"ja\", \"zh-Hans\", …\nlanguages: auto                     # multi-language page set when you don't name one: \"auto\" = your conversing language + \"en\", or an explicit list [\"en\", \"ja\", …]\ntheme: dark                         # free-form: \"dark\" (default), \"light\", or any style description (\"solarized\", \"newspaper\", …)\neditor: vscode                      # deep-link scheme: \"vscode\" | \"vscode-insiders\" | \"vscodium\" | \"cursor\" | \"windsurf\" | \"idea\" | \"phpstorm\" | \"webstorm\" | \"goland\" | \"clion\" | \"none\" | \"custom\"\neditor_link_template: \"\"            # for editor: custom — e.g. \"myeditor://open?file={path}&line={line}\"\n```\n\n| Key | Default | Meaning |\n|---|---|---|\n| `output_dir` | `~/.explain-in-html/reports` | Directory the HTML files are written to |\n| `auto_open` | `true` | Open the generated page in your default browser |\n| `default_mode` | `dev` | Mode when you don't specify one: `dev` (private) or `share` (shareable) |\n| `default_language` | `auto` | Dev-mode page language when you give no signal; `auto` follows your conversation language |\n| `languages` | `auto` | Languages of Share-mode / multi-language pages when you don't name them: your conversing language + `en`, or an explicit list |\n| `theme` | `dark` | Page look — `dark`, `light`, or any free-form style description |\n| `editor` | `vscode` | Which editor file links open in (`none` = plain text paths) |\n| `editor_link_template` | — | Custom link template with `{path}` / `{line}` placeholders |\n\nYou don't have to edit these files by hand — settings management is part of the skill itself,\nwith two entry points:\n\n- **Natural language** — in plain conversation, or invoking the skill\n  (`/explain-in-html put reports in ~/reports from now on`): \"show my explain-in-html settings\" lists every\n  key with its effective value and where it comes from (project file / user file / default);\n  \"default the language to Japanese\" changes your user-level default; \"use the light theme in\n  this project\" writes the project file instead. A one-off request (\"this time in English\")\n  applies to the current page only and is never saved.\n- **The structured `settings` option**:\n\n  ```\n  /explain-in-html settings                            view all keys (value + source)\n  /explain-in-html settings theme                      view one key\n  /explain-in-html settings default_language ja        set (user level)\n  /explain-in-html settings theme light --project      set in this project\n  /explain-in-html settings unset theme                remove, fall back to next level\n  ```\n\n## License\n\nMIT\n",
  "bytes": 5783,
  "sha": "9ddc52d968860c3b2d207cf664b9f0b850e76a50d14c15293e51142727ba6485",
  "repo_slug": "vast00/explain-in-html",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_vast00_explain_in_html_19b9d54c/readme"
}