smithery.ai

ascii-explainer

Explains code, algorithms, system design using ASCII diagrams. Trigger phrases - "explain visually", "I don't get it", "show me", "ascii diagram", "help me understand". Produces diagram-first explanations ending with TL;DR tables.

First seen Mar 30, 2026

Installation

$ npx skills add https://smithery.ai

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

LicenseMIT

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,663 B
  • docs SUMMARY.md 253 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Thinking

Before drawing, DIAGNOSE:

  1. Mental Model Gap: What does user THINK vs what IS true? Name both.
  2. Primitive: Which structure captures the essence? (see Quick Pick below)
  3. Hierarchy: ONE main thing + 2-3 supporting details. Max 6 boxes.
  4. Verify: Can diagram be understood WITHOUT surrounding text?

CRITICAL: Diagnosis IS the skill. Surfacing "user assumes X, but actually Y" is the value—not drawing boxes.


Quick Pick (90% of cases)

If the concept has... Use ASCII Pattern
Steps in order DAG A → B → C
States + events State Machine [S1] --evt--> [S2]
Parent-child hierarchy Tree Root with / \ branches
Cycles/feedback Graph Arrows that loop back
Stages that transform Pipeline [Stage1] ──▶ [Stage2]
2D relationships Matrix Grid with ┌─┬─┐

For full primitive taxonomy → see PRIMITIVES.md


Primitive Selection Flowchart

Continuous (infinite states)? ──Yes──▶ MANIFOLD
         │No
Time/order focused? ──Yes──▶ SEQUENCE│QUEUE│STACK│PIPELINE│TIMELINE
         │No
Concurrent states? ──Yes──▶ PETRI NET
         │No
States + transitions? ──Yes──▶ STATE MACHINE
         │No
Two distinct node types? ──Yes──▶ BIPARTITE
         │No
Edges connect 3+ nodes? ──Yes──▶ HYPERGRAPH
         │No
Partial ordering? ──Yes──▶ LATTICE
         │No
Spatial cells? ──Yes──▶ GRID
         │No
N-dimensional? ──Yes──▶ TENSOR/MATRIX
         │No
Direction matters? ──No──▶ UNDIRECTED GRAPH
         │Yes
Can loop back? ──Yes──▶ CYCLIC GRAPH
         │No
Multiple parents? ──Yes──▶ DAG
         │No──▶ TREE

Process

1. Clarify (1 question max)

  • What are the "things"? (nodes/states/events)
  • What are the "connections"? (edges/transitions/order)
  • Can you loop back?

If obvious, skip.

2. Identify Primitive

Use Quick Pick or flowchart. State: "This is a [PRIMITIVE] because [ONE REASON]."

3. Render ASCII

  • Max 20 lines
  • Use: ─ │ ┌ ┐ └ ┘ ├ ┤ ┬ ┴ ┼ ← → ↑ ↓ ● ○ █
  • Label with user's domain terms

4. Verify

"Does this capture the structure? What's missing?"


Output Structure

[1-line context]

┌─────────────────────────────────────┐
│     WHAT [USER/ISSUE] ASSUMES:      │
├─────────────────────────────────────┤
│  [Their mental model]               │
└─────────────────────────────────────┘

┌─────────────────────────────────────┐
│          ACTUAL STATE:              │
├─────────────────────────────────────┤
│  [Reality]                          │
│     ↑ key difference                │
└─────────────────────────────────────┘

Primitive: [NAME] — "[reason]"

[ASCII DIAGRAM]

┌─────────┬────────────┬─────────────┐
│ Aspect  │  Assumed   │   Actual    │
├─────────┼────────────┼─────────────┤
│ X       │ state A    │  state B    │
└─────────┴────────────┴─────────────┘

★ Insight ─────────────────────────────
[Transferable lesson]
───────────────────────────────────────

Constraints

  • Emoji sparingly: 🟣🔵🟢 for state, ✓✗⚠️ for status
  • Nested concepts: 3-space indent
  • Pointer annotations: ↑ or ← with 1-line labels
  • Never: prose paragraphs first, box soup, mixed styles (+--+ with ┌──┐)