Diagram Design
cathrynlavery/diagram-design
Creates branded diagrams, from architecture, flowchart and sequence to charts and maps, as self-contained HTML with inline SVG, with import from draw.io, Mermaid and Excalidraw.
WHAT: Explains a codebase, a folder, a feature, a command or a pull request to someone who knows nothing about it, as a PR Lens canvas whose walkthrough builds the picture one part at a time.
$ npx skills add coldteadotai/pr-lens --skill eli5 -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install coldteadotai/pr-lens eli5 --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/coldteadotai/pr-lens.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/eli5 .claude/skills/eli5 && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "eli5" agent skill from https://github.com/coldteadotai/pr-lens/tree/main/skills/eli5 into .claude/skills/eli5/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "eli5", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/coldteadotai/pr-lens/tree/main/skills/eli5Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add coldteadotai/pr-lens --skill eli5 -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install coldteadotai/pr-lens eli5 --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/coldteadotai/pr-lens.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/eli5 .agents/skills/eli5 && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "eli5" agent skill from https://github.com/coldteadotai/pr-lens/tree/main/skills/eli5 into .agents/skills/eli5/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "eli5", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add coldteadotai/pr-lens --skill eli5 -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install coldteadotai/pr-lens eli5 --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/coldteadotai/pr-lens.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/eli5 .cursor/skills/eli5 && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "eli5" agent skill from https://github.com/coldteadotai/pr-lens/tree/main/skills/eli5 into .cursor/skills/eli5/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "eli5", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/coldteadotai/pr-lens.git --path skills/eli5--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add coldteadotai/pr-lens --skill eli5 -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install coldteadotai/pr-lens eli5 --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/coldteadotai/pr-lens.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/eli5 .gemini/skills/eli5 && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "eli5" agent skill from https://github.com/coldteadotai/pr-lens/tree/main/skills/eli5 into .gemini/skills/eli5/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "eli5", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install coldteadotai/pr-lens eli5Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add coldteadotai/pr-lens --skill eli5 -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/coldteadotai/pr-lens.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/eli5 .github/skills/eli5 && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "eli5" agent skill from https://github.com/coldteadotai/pr-lens/tree/main/skills/eli5 into .github/skills/eli5/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "eli5", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add coldteadotai/pr-lens --skill eli5 -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install coldteadotai/pr-lens eli5 --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/coldteadotai/pr-lens.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/eli5 .opencode/skills/eli5 && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "eli5" agent skill from https://github.com/coldteadotai/pr-lens/tree/main/skills/eli5 into .opencode/skills/eli5/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "eli5", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
eli5WHAT: Explains a codebase, a folder, a feature, a command or a pull request to someone who knows nothing about it, as a PR Lens canvas whose walkthrough builds the picture one part at a time.
Eli5 is an agent skill from coldteadotai/pr-lens. WHAT: Explains a codebase, a folder, a feature, a command or a pull request to someone who knows nothing about it, as a PR Lens canvas whose walkthrough builds the picture one part at a time. WHEN: /eli5 <thing, or asked to explain code simply, for a beginner, a new hire, a non-engineer, or 'like I'm five'. KEYWORDS: eli5, explain like I'm five, explain simply, beginner, onboarding, walkthrough, diagram, PR Lens
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Diagrams, Technical documentation and Pull requests. It works with Mermaid. The repository describes itself as: Review code 100X faster. Lens draws every PR as animated architecture and data-flow walkthroughs, inside the pull request itself. Use it as a GitHub App, GitHub Action, CLI, or a…. The licence is MIT.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 7a9115c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npxgitFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comprlens.devFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Eli5 loads about 2.3k tokens when it runs. Until then it costs about 105 tokens; SKILL.md has 1,459 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from coldteadotai/pr-lens at commit 7a9115c, republished under its MIT licence (© coldteadotai). 1,459 words, ~2,326 tokens.
.claude/skills/eli5/SKILL.md (or your agent's skills folder).Explain like I'm someone who knows nothing about this code: one sentence, then one part at a time, until the whole picture is on screen and the reader already knows every part of it.
A reader who knows nothing cannot take in a diagram. They can take in two boxes and an arrow. So the canvas starts with two boxes and grows. The whole picture is the last thing they see, not the first, and by then it holds nothing new.
You write one graph document. Its views are the growing pictures, its walkthrough plays them in order, and PR Lens draws them. The reader opens a link and presses play. There is no page, no list, no paragraph.
The PR Lens manual and its reference pages. The PR Lens CLI prints both. Run npx @coldtea/pr-lens-cli@latest skill, then npx @coldtea/pr-lens-cli@latest skill references, and read both before your first document. The manual's rules hold here except where this page marks an Override.
Write the answer first. Read the code until you can say what it does for a person, in under 48 characters, because the sentence is also a walkthrough heading and a heading stops at 48. Count them.
summary. The reference wants a paragraph about a change; eli5 wants this sentence.Cut to the path. For a feature, trace the one path input takes to output. For a whole codebase, first list the 3 to 5 things a person does with the product, then trace the path of the main one: the thing the product is named after or sold on, or the one with the most code on it. The parts on that path are the diagram: 4 to 10 nodes, 2 to 5 lanes. Helpers, config, types and tests stay out. When two entry points converge on the same code, draw the point where they meet and name both in its body; do not drop one.
Write .pr-lens/graph.json. Follow references/graph-document.md, plus these rules:
git remote get-url origin. https://github.com/acme/mail.git and git@github.com:acme/mail.git both become { "owner": "acme", "name": "mail", "host": "github.com" }. Put the current HEAD sha in both base.sha and head.sha. The parser rule about "a patch whose two commits are the same" is about patch, not provenance, so this validates.order. A database or queue the path touches more than once is not a place on the path; put it in the lane of the code that owns it.kind: "external" for a person; the schema has no person kind.label is what the part does, in three words or fewer. The real name goes in subtitle, the file in files.delta is unchanged unless the thing is a pull request.stats. There is no diff to count.emphasis: "hero": the hand-off the answer sentence is about, the one edge that, if removed, would make the sentence false. Set animated: true on every edge along the path.Write the growing views. Override, views. This replaces the C4 decision tree in the pr-lens skill. eli5 views are the same picture growing, not a drill-down.
{ "kind": "selection", "nodes": [...], "edges": [...] }."scope": { "kind": "all" }. It is the only one with "defaultOpen": true. The growing view before it must still be missing at least 1 node, so the two are not the same picture; the pr-lens rule against two views with the same nodes holds. Override, views. Growing views share most of their nodes on purpose; only the last two must differ."scope": { "kind": "selection", "flows": ["<flow id>"] }. It is needed or the flow is never drawn.you-and-the-editor, plus-the-queue, the-whole-thing.Write the walkthrough. One step per growing view, then the flow, then the whole. Count first: growing views plus 1 to 2 flow steps plus 1 closing step, at most 9. With 10 nodes that means 3 to 5 growing views, so grow by 2 or 3 at a time, not 1.
body: one line, up to 140 characters, that a smart twelve-year-old reads once. What happens, then what it means. Numbers as digits.{ "kind": "selection", "nodes": [...] }. The body says what the new part does, and only that.{ "kind": "flow", "flow": "<id>" } for 1 to 2 steps that follow the sequence, focusing messages. Where things go wrong is one of these steps, in matter-of-fact words; focus the message that comes right before the failure, since a happy-path flow has no failure message of its own. Do not invent a message for it.Validate, render, push.
npx @coldtea/pr-lens-cli@latest validate .pr-lens/graph.json
npx @coldtea/pr-lens-cli@latest render .pr-lens/graph.json --theme light
npx @coldtea/pr-lens-cli@latest canvas push .pr-lens/<drawing>/drawn.graph.jsonrender prints the folder it drew into, named after the document's title. Push the drawn.graph.json in that folder. A bare canvas push stops when .pr-lens/ holds more than one drawing.
Fix every failure and validate again. Do not delete the element a failure names; fix the reference. canvas push prints the view link, https://prlens.dev/c/{id}, and an embed link. The view link is the deliverable.
Open it and stop. If this harness can open a browser, open the view link. Reply with the answer sentence and the link, on two lines. Nothing else: no step list, no file list, no summary of what you did. If the person who asked wants a report or a comparison, that is a second request, answered after this one.
A follow-up question about the canvas is answered on the canvas: npx @coldtea/pr-lens-cli@latest canvas open .pr-lens/<drawing>/drawn.graph.json once, then canvas answer with --drawing and the same path, as "Answering beside an open canvas" in the pr-lens skill says. Keep the same plain words there.
Plain words only. Not: leverages, orchestrates, pipeline, abstraction, handler, wrapper, layer, utility, invoke, instantiate. Say what it does. Real names appear once each, in subtitles, so a curious reader can find the code.
An analogy is allowed when the reader is not an engineer and one everyday thing matches the path beat for beat. Use it in bodies, never in labels, and drop it in the last step so the reader leaves with the real thing.
Not a review, not a file list, not a tutorial, not an architecture document. There is no field for a bug, a risk or an opinion, and there is no paragraph anywhere. And it is never one big diagram shown all at once.
© coldteadotai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/eli5 of coldteadotai/pr-lens.
Open the folder on GitHubat commit 7a9115c
Eli5 next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Eli5 this skillcoldteadotai/pr-lens | 1.9k | — | ~2.3k | Automated safety check: Pass | MIT | |
| Diagram Designcathrynlavery/diagram-design | 45k | 1 repos | ~7.5k | Automated safety check: Pass | MIT | |
| Draw.io Diagram StudioAgents365-ai/drawio-skill | 10k | — | ~2.4k | Automated safety check: Notes | MIT | |
| Pretty Mermaid Rendererimxv/Pretty-mermaid-skills | 1.5k | — | ~2k | Automated safety check: Pass | MIT | |
| Mermaid Diagramsjjmartres/opencode | 133 | 6 repos | ~1.9k | Automated safety check: Pass | MIT | |
| C4 Architecture Diagramslexler/skill-factory | 239 | — | ~2.3k | Automated safety check: Pass | Apache-2.0 |
cathrynlavery/diagram-design
Creates branded diagrams, from architecture, flowchart and sequence to charts and maps, as self-contained HTML with inline SVG, with import from draw.io, Mermaid and Excalidraw.
Agents365-ai/drawio-skill
Creates and edits editable draw.io diagrams from descriptions, code, infrastructure files, SQL and API schemas, with sync, review, test and export tools.
imxv/Pretty-mermaid-skills
Writes and renders Mermaid diagrams as themed SVG, PNG or terminal ASCII and Unicode art with a bundled Node.js CLI that needs no browser.
jjmartres/opencode
Helps an agent pick the right Mermaid diagram type and write the syntax for class, sequence, flow, ER, C4, state and other software diagrams.
lexler/skill-factory
Creates C4 model diagrams at every zoom level, from system landscape to code, in ASCII, Mermaid or Structurizr, for designing or documenting software architecture.
NyxFoundation/speca
Turns one specification document into program graphs following Nielson and Nielson's definition, writing each graph as a Mermaid file, one per functional unit.
coldteadotai/pr-lens
WHAT: Draws a code change or part of a codebase as an animated architecture or data-flow diagram, on its own or in a pull request.
Works with
Categories
WHAT: Explains a codebase, a folder, a feature, a command or a pull request to someone who knows nothing about it, as a PR Lens canvas whose walkthrough builds the picture one part at a time. Eli5 is an agent skill from coldteadotai/pr-lens. WHAT: Explains a codebase, a folder, a feature, a command or a pull request to someone who knows nothing about it, as a PR Lens canvas whose walkthrough builds the picture one part at a time.
Eli5 fits situations like: tasks that involve Diagrams; tasks that involve Technical documentation; tasks that involve Pull requests.
Run `npx skills add coldteadotai/pr-lens --skill eli5 -a claude-code`. Or copy the skill folder (skills/eli5 in coldteadotai/pr-lens) into .claude/skills/eli5 in your project. Claude Code loads it when a task matches its description.
Run `npx skills add coldteadotai/pr-lens --skill eli5 -a codex`. Or copy the skill folder (skills/eli5 in coldteadotai/pr-lens) into .agents/skills/eli5 in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add coldteadotai/pr-lens --skill eli5 -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/eli5, .gemini/skills/eli5, .github/skills/eli5 and .opencode/skills/eli5 in your project.
Going by SKILL.md and its folder, Eli5 needs the command-line tools its instructions call (npx and git). Our summary lists: Node.js.
SKILL.md names 2 domains. In commands or code: github.com and prlens.dev; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Eli5 is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Eli5: Diagram Design (cathrynlavery/diagram-design, 45k stars), Draw.io Diagram Studio (Agents365-ai/drawio-skill, 10k stars), Pretty Mermaid Renderer (imxv/Pretty-mermaid-skills, 1.5k stars) and Mermaid Diagrams (jjmartres/opencode, 133 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
coldteadotai (a GitHub organization) maintains it in coldteadotai/pr-lens, which has 1,871 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 4, 2026.
Source: coldteadotai/pr-lens on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.