Agent skill

Anthropic Style Diagram

by rookie-ricardo in rookie-ricardo/erduo-skills

Draw architecture, flow and structural diagrams in the Anthropic/Claude visual language as SVG, then render and save them as PNG.

MITAuto-check passedDevelopment

Install Anthropic Style Diagram

skills CLI
$ npx skills add rookie-ricardo/erduo-skills --skill anthropic-style-diagram -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install rookie-ricardo/erduo-skills anthropic-style-diagram --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/rookie-ricardo/erduo-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/anthropic-style-diagram .claude/skills/anthropic-style-diagram && rm -rf skills-src

Use ~/.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/

Facts

Skill name
anthropic-style-diagram
GitHub stars
935
Token cost
~3k tokens
SKILL.md length
1,636 words
Files
8 (incl. scripts, references, assets)
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Draw architecture, flow and structural diagrams in the Anthropic/Claude visual language as SVG, then render and save them as PNG.

  • Works in 6 steps: Plan before drawing. Count the nodes and… → Write the SVG to a working path… → Render: node scripts/render.mjs -o . → …
  • LY when the user names that visual language — Anthropic 风格架构图
  • SKILL.md covers Workflow, Rendering, Authoring contract and Diagram types
  • Runs JavaScript scripts from its folder; calls node and npm

What it does

Anthropic Style Diagram is an agent skill from rookie-ricardo/erduo-skills. Draw architecture, flow and structural diagrams in the Anthropic/Claude visual language as SVG, then render and save them as PNG. Trigger ONLY when the user names that visual language — 'Anthropic 风格架构图', 'Claude 风格流程图', 'Anthropic style diagram', 'Claude style flowchart', 'Anthropic 配色的图' — or asks for another diagram in the same style after this skill has already produced one in the conversation. Also use to re-render or export an SVG that already uses this skill's class system (th/ts/box/arr/c-blue…). Do NOT…

Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including scripts, reference files and assets (for example `package.json`, `references/design-system.md` and `references/diagram-types.md`).

It sits in Development, covering Diagrams. It works with Mermaid. The licence is MIT.

When your agent uses it

  • LY when the user names that visual language — Anthropic 风格架构图
  • Anthropic style diagram
  • Claude style flowchart
  • Anthropic 配色的图 —

Example prompts

  • “Anthropic 风格架构图”
  • “Claude 风格流程图”
  • “Anthropic style diagram”
  • “/anthropic-style-diagram”

Requirements

  • Node.js

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Plan before drawing. Count the nodes and group them by kind — one colour ramp
  2. Write the SVG to a working path (scratchpad or /tmp), not the delivery path.
  3. Render: node scripts/render.mjs -o .
  4. Clear the audit. Layout warnings print on stdout. Fix every one and re-render
  5. Review the render yourself against the checklist below. Any failure sends you
  6. Report the saved path, and say what the review turned up.

What it can do on your machine

Read from SKILL.md and the folder at commit 1fb6ec5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 1 file in scripts/ (JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • node
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Anthropic Style Diagram loads about 3k tokens when it runs, and up to ~8.9k if it reads all its reference files. Until then it costs about 174 tokens; SKILL.md has 1,636 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~174
When it runs · the whole SKILL.md, loaded when a task matches
~3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~8.9k

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.

Safety

Auto-check passed

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); the scripts in this folder are not scanned.

SKILL.md

The full file from rookie-ricardo/erduo-skills at commit 1fb6ec5, republished under its MIT licence (© rookie-ricardo). 1,636 words, ~2,988 tokens.

Download SKILL.mdSave it as .claude/skills/anthropic-style-diagram/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
anthropic-style-diagram
description
Draw architecture, flow and structural diagrams in the Anthropic/Claude visual language as SVG, then render and save them as PNG. Trigger ONLY when the user names that visual language — 'Anthropic 风格架构图', 'Claude 风格流程图', 'Anthropic style diagram', 'Claude style flowchart', 'Anthropic 配色的图' — or asks for another diagram in the same style after this skill has already produced one in the conversation. Also use to re-render or export an SVG that already uses this skill's class system (th/ts/box/arr/c-blue…). Do NOT use for a plain 画图/画流程图/draw a diagram request with no style named, for data charts, UI mockups, illustrations, TikZ or mermaid output, or database ERDs.

Anthropic Style Diagram

Author a semantic SVG, let the browser do the rest. scripts/render.mjs supplies the design system, resolves the theme, audits the layout, crops the viewBox to the real ink bounds, bakes every computed style into literal attributes, and writes the PNG.

You draw geometry and meaning. The script owns colour, theme, viewBox and export. Never hardcode a hex value, never write a <style> block, never compute the final viewBox height by hand.

Workflow

  1. Plan before drawing. Count the nodes and group them by kind — one colour ramp per kind, never one per row. Decide the diagram type (see below). If the user named 6+ components, split into an overview plus one diagram per sub-flow rather than cramming one canvas.
  2. Write the SVG to a working path (scratchpad or /tmp), not the delivery path. Follow the authoring contract below; references/example-structural.svg and references/example-cycle.svg are the canonical shapes to imitate.
  3. Render: node scripts/render.mjs <working.svg> -o <target.png>.
  4. Clear the audit. Layout warnings print on stdout. Fix every one and re-render until the run is clean. A clean run only means nothing collides — that is the floor, not the bar.
  5. Review the render yourself against the checklist below. Any failure sends you back to step 2. This step is not optional: the audit measures geometry, and almost everything that makes a diagram wrong lives outside geometry.
  6. Report the saved path, and say what the review turned up.
The review checklist

Read the rendered image, not your source. The source is what you meant; the image is what the reader gets, and only one of those can be wrong.

  1. Read it cold. Set aside what you set out to draw and say what the picture actually claims. If that differs from the request, the diagram is wrong — not the reader.
  2. Trace every arrow. Each must start and end on the shape it means, and its direction must assert something true. An arrow down the page claims the lower node is used by the upper one; say that claim out loud and check it. Placing a component below another is an assertion, not a layout convenience.
  3. Find the loop. If the subject has feedback — an agent, a control system, a retry path, a training cycle — locate the return edge in the image. If you cannot see it, it is not there, and a one-way drawing of a loop is simply false.
  4. Read every label. Accurate, ≤5 words, sentence case, unclipped, and not claiming more than the system does.
  5. Check the colour. Same colour must mean same category. If two nodes share a ramp only because they were next in the list, re-assign.
  6. Scan the whitespace. Crowded regions and dead regions are both defects, and a uniform grid of same-sized boxes means the layout is carrying no information.

Rendering

bash
node scripts/render.mjs diagram.svg -o ~/Downloads/architecture.png
OptionDefaultNotes
-o, --out <path>./<name>.pngParent directories are created
--theme <t>lightlight, dark, or both (writes <name>-dark.png too)
--scale <n>2Pixel density. 3–4 for print or large social images
--bg <v>autoTheme paper colour; or transparent, or any #rrggbb
--padding <n>32Margin around content after cropping
--no-fit—Keep the authored viewBox instead of cropping to ink bounds
--svg—Also write a portable flattened .svg (no CSS, opens anywhere)
--check—Audit only, write nothing; exits non-zero when problems exist
--json—Machine-readable report

The audit catches the three mechanical failure modes: text spilling out of its shape, nodes overlapping, and connectors slicing through unrelated nodes. Round nodes are measured as ellipses rather than as their bounding box, so ring layouts are checked as strictly as grids. A clean run prints only the output paths. It says nothing about whether the diagram is well composed or even correct — see "Composition" below, and never treat a clean audit as approval.

First run needs Playwright. It is picked up from the skill, the project, or the global npm root; if missing, npm install in this directory.

Authoring contract

svg
<svg viewBox="0 0 680 H" role="img">
  <title>Short name</title>
  <desc>One sentence describing what the diagram shows.</desc>
  <defs>
    <marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
      <path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
    </marker>
  </defs>
  ...
</svg>
  • role="img" with <title> and <desc> as the first two children. Always.
  • Canvas width 680 by default — the text-width table below is calibrated to it. Widen to at most ~1000 when the content genuinely needs more columns; never shrink to hug narrow content, centre it instead.
  • Height is a rough guess. The renderer crops to the true bounds, so overestimate rather than clip.
  • No <script>, no onclick, no sendPrompt, no <a href>, no gradients, no filters, no drop shadows, no emoji, no rotated text, no <!-- comments -->.
  • <defs> holds the arrow marker and nothing else (plus a <clipPath> or one <linearGradient> in illustrative diagrams).
Classes — the only styling you write
ClassApplies toEffect
th<text>14px medium — node titles
t<text>14px regular — primary labels
ts<text>12px regular — subtitles, callouts
box<g> or shapeNeutral surface fill with a hairline border
node<g>Marks a node group; pair with box or a c-* ramp
arr<line>/<path>Connector stroke; add marker-end="url(#arrow)"
leader<path>Thin dashed callout/feedback line
c-purple c-teal c-coral c-pink c-gray c-blue c-green c-amber c-red<g> or shapeColour ramp — fill, border and text tones, both themes

Put c-* on the group that directly holds the shape and text. It uses direct-child selectors: an extra nested <g> breaks the fill.

Every <text> needs t, ts or th — an unclassed one renders as raw black.

Colour the nodes, not just the containers

Every node carries a ramp by default. Nodes of the same kind share one; a diagram where the boxes are all neutral and only the containers are tinted looks drained and flat — that is the single most common way these diagrams go ugly.

class="box" is neutral on purpose, and it has exactly one job: homogeneous sub-parts inside one coloured container, where the container already carries the category and tinting the children would invent distinctions that do not exist. Do not generalise that pattern to a whole diagram.

One ramp per category, not per row — colour must never track sequence. A six-category diagram legitimately uses six ramps; a three-step flow uses one or two. c-gray for neutral, structural or external nodes. Prefer purple, teal, coral and pink for generic categories; reserve blue, green, amber and red for genuinely informational, successful, warning or error concepts.

Show full SKILL.md (599 more words)Show less
Composition — decide these before you draw

The four judgements the audit will never make for you. Get them right here, then confirm them against the rendered image with the review checklist above:

  • Uniform grids are a failure mode. If every tier holds the same number of identically sized boxes, the layout carries no information and reads as a spreadsheet. Vary box widths to match their content and vary the count per tier. Convergence, branching and a full-width emphasis row are what make a diagram look like a structure rather than a table.
  • Find the feedback edges. Anything with a loop in it — an agent, a control system, a retry path, a training cycle — drawn as a one-way stack is not simplified, it is wrong. Route the return edge as a leader path around the outside, or lay the stages in a ring when the cycle has no natural entry point; references/diagram-types.md carries the polar geometry for that.
  • Not everything is a stack. Before placing a box below another, say the dependency out loud: "the lower one is used by the upper one." A component the core talks to bidirectionally belongs beside it with a two-headed arrow (marker-start and marker-end), not underneath it.
  • Find the one thing the diagram is about and give it more weight — a container, a wider box, the only saturated colour in a neutral field. A diagram where everything is equally prominent has no subject.
Geometry
  • Box width from the longest label: max(title_chars × 8, subtitle_chars × 7) + 24. At 14px a character is ~8px; at 12px ~7px. CJK glyphs are ~14px. Formulas, subscripts and symbols run 30–50% wider — pad generously.
  • Heights: 44px single line, 56px title + subtitle, +20px per extra subtitle line. Keep every box in a tier the same height.
  • Spacing: ≥20px between boxes in a tier, 40–60px between tiers, ≥20px padding inside a container, 10px between an arrowhead and the box it points at.
  • Tier packing: sum the widths and gaps before placing. Four 130px boxes with three 20px gaps is 580px — fits. Four 160px boxes is 640px — does not.
  • Centre text: x = rect_x + w/2, y = the centre of its own line, with text-anchor="middle" dominant-baseline="central".
  • <text> never wraps. Each line is its own <text> or a <tspan> with an explicit x and dy. If a subtitle needs wrapping it is too long.
  • Connectors: a straight line that would cross an unrelated box gets an L-bend instead — M x1 y1 L x1 ymid L x2 ymid L x2 y2 with fill="none". Feedback loops route around the outside as a leader path; never draw the cycle as a ring.
  • Prefer one dominant direction — all top-down or all left-right.
Text budget

Subtitles are ≤5 words. Detail belongs in your prose reply, not inside the box. Sentence case everywhere — never Title Case, never ALL CAPS. Only two sizes exist: 14px and 12px. Avoid floating labels: every <text> sits inside a box or is a leader callout.

Diagram types

  • Flowchart — steps, decisions, transformations. "what are the steps", "what happens when…", "what's the flow".
  • Structural — containment and architecture; things inside things. "what's the architecture", "how is this organised", "where does X live".
  • Illustrative — a spatial metaphor that builds intuition. "how does X actually work", "I don't get X", "give me an intuition for". Freeform shapes, colour encodes intensity rather than category.

Route on the verb, not the noun: "transformer architecture" is structural, "how does attention work" is illustrative. references/diagram-types.md has the full playbook and copy-ready snippets; references/design-system.md has the ramp table and the detailed spacing and typography rules.

Database schemas and ERDs are not this skill's job — emit mermaid erDiagram instead.

© rookie-ricardo, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files (scripts, references, assets) in skills/anthropic-style-diagram of rookie-ricardo/erduo-skills.

  • SKILL.md
  • assets/diagram.css
  • package.json
  • references/design-system.md
  • references/diagram-types.md
  • references/example-cycle.svg
  • references/example-structural.svg
  • scripts/render.mjs

Open the folder on GitHubat commit 1fb6ec5

Compare with similar skills

Anthropic Style Diagram 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.

Anthropic Style Diagram compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Anthropic Style Diagram this skillrookie-ricardo/erduo-skills935—~3kAutomated safety check: PassMIT
Archify Diagramstt-a1i/archify82k—~2.9kAutomated safety check: PassMIT
Diagram Designcathrynlavery/diagram-design49k1 repos~7.6kAutomated safety check: PassMIT
Draw.io Diagram StudioAgents365-ai/drawio-skill10k—~2.4kAutomated safety check: NotesMIT
Pretty Mermaid Rendererimxv/Pretty-mermaid-skills1.5k—~2kAutomated safety check: PassMIT
Archify Diagram BuilderUnclecheng-li/AI_Animation1.5k2 repos~4.1kAutomated safety check: PassMIT

Similar skills

  • Archify Diagrams

    tt-a1i/archify

    Creates interactive architecture, workflow, sequence, data-flow and lifecycle diagrams as standalone HTML with inline SVG, themes and image or video export.

    82k GitHub stars~2.9k tokensUpdated today
    DevelopmentAuto-check passed
  • 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.

    49k GitHub starsUsed in 1 repo~7.6k tokens
    DevelopmentAuto-check passed
  • Draw.io Diagram Studio

    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.

    10k GitHub stars~2.4k tokensUpdated today
    DevelopmentAuto-check: notes
  • Pretty Mermaid Renderer

    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.

    1.5k GitHub stars~2k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Archify Diagram Builder

    Unclecheng-li/AI_Animation

    Builds validated architecture, workflow, sequence, data-flow and lifecycle diagrams as standalone interactive HTML from a small JSON spec, with optional motion and image export.

    1.5k GitHub starsUsed in 2 repos~4.1k tokens
    DevelopmentAuto-check passed
  • Mermaid

    WH-2099/mermaid-skill

    Generate Mermaid diagrams from user requirements. An agent skill from WH-2099/mermaid-skill.

    288 GitHub starsUsed in 4 repos~958 tokens
    DevelopmentAuto-check passed

More from rookie-ricardo/erduo-skills

  • Ak Rss Digest

    rookie-ricardo/erduo-skills

    Curate a Chinese reading digest from a fixed bundle of RSS and Atom feeds, with a strong preference for AI agent thinking, frontier AI commentary, deep interviews, and non-boring high-signal essays.

    935 GitHub stars~1.4k tokensUpdated 2 mo ago
    Auto-check passed
  • Web To Markdown

    rookie-ricardo/erduo-skills

    Convert a web URL into cleaned Markdown with deterministic routing.

    935 GitHub stars~894 tokensUpdated 2 mo ago
    Auto-check passed
  • Gemini Watermark Remover

    rookie-ricardo/erduo-skills

    Remove the visible Gemini AI watermark from images using reverse alpha blending.

    935 GitHub stars~359 tokensUpdated 2 mo ago
    Auto-check passed
  • Translate Polisher

    rookie-ricardo/erduo-skills

    高质量文章翻译技能,采用"分析→初译→审校→终稿"四步精翻工作流。仅支持中文↔英文、中文↔日文翻译。当用户明确提出"翻译"、"translate"、"精翻"、"翻訳"、"翻译文章"、"translate to Chinese/English/Japanese"、"改成中文"、"改成英文"、"改成日文"、"翻成中文"、"翻成日文"、"翻成英文"、"英译中"、"中译英"、"中译日"、"日译中"、"日…

    935 GitHub stars~3.6k tokensUpdated 2 mo ago
    Auto-check passed
  • Transcript Polisher

    rookie-ricardo/erduo-skills

    将语音转录文本(访谈、演讲、播客、会议)精修为可读性更高的文章段落。当用户提到"字幕精修"、"transcript polish"、"润色字幕"、"把视频字幕整理成文章"、"访谈文字整理"、处理访谈记录、转录文本优化、语音转文字整理、或者需要将大段对话/演讲文本整理成可读文章时触发。适用于单人演说或多人对谈的转录文本整理,要求保留原句原词、拒绝高度概括。即使用户只是说"帮我整理一下这段文字"并附…

    935 GitHub stars~1.5k tokensUpdated 2 mo ago
    Auto-check passed
  • Daily News Report

    rookie-ricardo/erduo-skills

    基于预设 URL 列表抓取内容,筛选高质量技术信息并生成每日 Markdown 报告. An agent skill from rookie-ricardo/erduo-skills.

    935 GitHub stars~2.1k tokensUpdated 2 mo ago
    Auto-check passed

Works with

Categories

Questions about Anthropic Style Diagram

What does Anthropic Style Diagram do?

Draw architecture, flow and structural diagrams in the Anthropic/Claude visual language as SVG, then render and save them as PNG. Anthropic Style Diagram is an agent skill from rookie-ricardo/erduo-skills. Draw architecture, flow and structural diagrams in the Anthropic/Claude visual language as SVG, then render and save them as PNG.

When should I use Anthropic Style Diagram?

Anthropic Style Diagram fits situations like: LY when the user names that visual language — Anthropic 风格架构图; anthropic style diagram; Claude style flowchart; anthropic 配色的图 —.

How do I install Anthropic Style Diagram in Claude Code?

Run `npx skills add rookie-ricardo/erduo-skills --skill anthropic-style-diagram -a claude-code`. Or copy the skill folder (skills/anthropic-style-diagram in rookie-ricardo/erduo-skills) into .claude/skills/anthropic-style-diagram in your project. Claude Code loads it when a task matches its description.

How do I install Anthropic Style Diagram in Codex?

Run `npx skills add rookie-ricardo/erduo-skills --skill anthropic-style-diagram -a codex`. Or copy the skill folder (skills/anthropic-style-diagram in rookie-ricardo/erduo-skills) into .agents/skills/anthropic-style-diagram in your project. Codex loads it when a task matches its description.

Can I use Anthropic Style Diagram in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rookie-ricardo/erduo-skills --skill anthropic-style-diagram -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/anthropic-style-diagram, .gemini/skills/anthropic-style-diagram, .github/skills/anthropic-style-diagram and .opencode/skills/anthropic-style-diagram in your project.

What does Anthropic Style Diagram need to run?

Going by SKILL.md and its folder, Anthropic Style Diagram needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node and npm). Our summary lists: Node.js.

Does Anthropic Style Diagram access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Anthropic Style Diagram safe to install?

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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Anthropic Style Diagram use?

Anthropic Style Diagram is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Anthropic Style Diagram use?

About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.9k tokens, read only when the agent opens those files.

What are the alternatives to Anthropic Style Diagram?

Skills that share tags, products or a category with Anthropic Style Diagram: Archify Diagrams (tt-a1i/archify, 82k stars), Diagram Design (cathrynlavery/diagram-design, 49k stars), Draw.io Diagram Studio (Agents365-ai/drawio-skill, 10k stars) and Pretty Mermaid Renderer (imxv/Pretty-mermaid-skills, 1.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Anthropic Style Diagram?

rookie-ricardo (a GitHub user) maintains it in rookie-ricardo/erduo-skills, which has 935 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on July 25, 2026.

Source: rookie-ricardo/erduo-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.