Skip to content

Repository files navigation

Glossysplain 📖

version license Claude Code install

A Claude Code plugin that turns the acronyms and jargon in Claude's own replies into a colour-coded glossary, rendered in the right-hand Artifact pane and refreshed in place.

Animated demo of the Glossysplain glossary panel filling in term by term — each term coloured by a hash of the word, underline style by category, with you/claude source tags

↑ terms reveal as they're coined; colour = content hash, underline style = category (dotted acronym · solid product · wavy principle · dashed term).

What it does

Run /glossary (or just ask for a glossary, "decoder ring", "jargon panel", "define the acronyms in view") and the glossary skill:

  1. Scans Claude's messages in the current conversation for acronyms, initialisms, domain jargon, and project-specific names.
  2. Defines each as used here — the local meaning, not the generic one when they differ.
  3. Publishes a theme-aware glossary Artifact to the side pane, giving every term its own colour — a content hash of the word itself (SPEC.md, Colour Spec v3), de-conflicted so no two terms in a panel ever share a hue, in light and dark.
  4. Re-run it and it redeploys to the same URL, so the pane updates in place and marks newly added terms with a new chip.

Honest limitations

  • Not a per-token live feed. Claude Code has no plugin surface that repaints a panel as text streams. Glossysplain refreshes on invoke (or when Claude proactively rebuilds it) — an on-demand, refresh-in-place glossary.
  • The colours can't be painted onto words in the chat reply. The terminal renders markdown, which has no per-word colour. The colour key lives in the panel. Coloured jargon inside generated text is available as its own rendered Artifact via /glossary highlight.

Layout

glossysplain/
├── .claude-plugin/
│   ├── plugin.json         # plugin manifest
│   └── marketplace.json    # local marketplace (this repo hosts itself)
├── commands/
│   └── glossary.md         # /glossary slash command
├── skills/glossary/
│   ├── SKILL.md            # the skill logic
│   ├── template.html       # glossary shell + colour/underline script
│   └── highlight-template.html  # /glossary highlight prose shell
├── lib/store.mjs           # shared term store engine (Phase 2)
├── hooks/                  # UserPromptSubmit hook: capture user jargon
│   ├── hooks.json
│   └── capture-user-terms.mjs
├── mcp/server.mjs          # MCP server over the term store (Phase 3)
├── .mcp.json               # registers the MCP server
├── SPEC.md                 # Colour & Style Spec v4
├── STORE.md                # shared term store design (Phase 2)
├── MCP.md                  # MCP server design (Phase 3)
├── ROADMAP.md              # the full vision + phases
├── AUTO-MAINTAIN.md · CHANGELOG.md · LICENSE · README.md

Install

Clone the repo, then from an interactive Claude Code session point Claude Code at the clone (the repo is both the marketplace and the plugin):

git clone https://github.com/aXL333/glossysplain.git
/plugin marketplace add /path/to/glossysplain
/plugin install glossysplain@glossysplain

Then run /glossary or just ask for a glossary.

Usage

  • /glossary — build / refresh from the conversation so far
  • /glossary clear — wipe and start fresh
  • /glossary highlight — render a copy of the latest reply (or a scoped range, e.g. highlight last 3 replies) as a separate Artifact with jargon coloured by the same hash. The reachable form of "colour in the gen".
  • "refresh the glossary" / "give me a jargon panel" — same thing, in words

Live / auto-maintain: to keep the pane refreshing without asking each time, see AUTO-MAINTAIN.md — either a per-turn CLAUDE.md instruction or /loop 3m /glossary. (There's no plugin API for a self-updating panel; these are the honest, behavioural ways to approximate one.)

Where this is going: ROADMAP.md — the full vision is inline highlighting of both your text and Claude's, with a matching glossary in a right-pane popout toggled by an icon. The content-hash colour spec already guarantees the colours match everywhere; the rest is harness surfaces that don't exist yet.

Colours & styles

Each term has four visual channels (SPEC.md v4):

  • Text colour — the FNV-1a-32 hash's low bits (h % 24), de-conflicted per panel so ≤ 24 terms are all different hues, with a *11 spread so they balance across the wheel (no purple clumping).
  • Underline style — the term's category: dotted acronym · solid product/brand · wavy principle · dashed general term of art (priority principle > product > acronym > term). A legend in the panel decodes it.
  • Underline colour — the hash's high bits ((h>>>16)%24), a second independent tint.
  • Gradient fill — each term fills as a hash-angled fade from its text hue to its underline hue (on by default; falls back to a solid text hue if a browser can't clip a gradient to text).

Colour maths is deterministic; the category is a judgment (borderline terms follow the priority, default term). The palette is 24 hues, contrast-checked to WCAG AA (≥ 4.5:1) in both light and dark.

About

A Claude Code plugin that harvests jargon from Claude's replies into a colour-coded side-panel glossary Artifact.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages