agentleFS
emiliosheinzemiliosheinz/agent-skills/show-me/SKILL.md

show-me

Skill20 starsChanged 28 days agoMITView on GitHub

Produces a compact visual of a topic — pseudocode, call tree, component tree, file tree, contract, chart, Mermaid diagram, a diff of any of those shapes, or a screenshot of a running app — built for where it will be read: a terminal, Markdown, or a self-contained HTML page. TRIGGER when: the user says "show me", asks to visualize or diagram something, asks what the shape or structure or flow of something is, or asks for a screenshot of the app; and when another skill needs a visual for a document it is writing. SKIP for: prose explanations the user asked for in words, and embedding or uploading an image anywhere — this skill produces visuals, it does not publish them.

79 other projects use a version of this, 59 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use maintain-formal-verification-skill, create-formal-verification-skill and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • TheOnlyFusionCubeSkill

    maintain-formal-verification-skill

    Bring a project's formal verification back in line with the code after the code changes: find the commits that touched verified code, update the model, harness, or properties to describe the code as it is now, rerun, and say whether each failure is drift in the verification or a bug in the code. Use for /maintain-formal-verification-skill, \"is the model still true to the code\", or after merges and refactors that touched verified code without rechecking it.

    Also in 4 projects that use this

  • TheOnlyFusionCubeSkill

    create-formal-verification-skill

    Generate a project-local skill that formally verifies the code where a bug costs the most and tests reach the least, in any language, with whichever verification tool fits. Use for /create-formal-verification-skill, \"model-check this race\", \"prove this invariant\", or when concurrency, retries, state machines, parsers, or unsafe code need more than tests.

    Also in 4 projects that use this

  • AnthropicSkill

    eli5

    Explain a topic like I'm a 5 year old. Use when the user types /eli5 <topic> or asks for a dead-simple picture explainer of how something works.

    Also in 10 projects that use this

  • drafaelSkill

    in-your-own-words

    Restate the user's goals and the problem they are trying to solve to check understanding. Manual invocation only; use when the user explicitly invokes in-your-own-words or requests this understanding check. Do not solve the task or rewrite the assistant's last answer.

    Also in 4 projects that use this

  • jaydubya818Skill

    create-verification-skill

    Use when a repository needs a repeatable driver that proves real UI, CLI, or service behavior.

    Also in 8 projects that use this

  • jaydubya818Skill

    maintain-verification-skill

    Use when a project's verification driver or feature map may be stale.

    Also in 7 projects that use this

  • +1 more from TheOnlyFusionCube
  • +1 more from jaydubya818

The file

We split this skill into the rules it gives an agent

6 rules. 0 are common, 4 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 73 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Never emit a Mermaid fence to terminal.

    line 63
  2. Very specific:

    Use diff when the point is what changes and the surrounding shape already exists.

    line 180
  3. Distinctive:

    Never commit a screenshot into the repository.

    line 223
  4. Distinctive:

    If the app cannot be run or driven, say so plainly and offer the nearest text view.

    line 226
  5. Distinctive:

    Place each visual next to the short text it supports, and keep only the calls, files, props, states and boundaries that answer the question …

    line 256
  6. Distinctive:

    Before returning, read the output as the reader will: the headline has to land from the first view alone, without the prose around it.

    line 261

“Common” is measured: kept by at least 6 in 10 of the 73 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Show me

Make the topic visible. Skip the preamble and keep prose brief. Pick the smallest view that makes the key point clear, and build it for the surface it will be read on.

This skill produces visuals. It does not embed, upload or publish them — the caller does that.

Parameters

Callers may constrain the output. Each is optional except the topic.

ParameterMeaningDefault
topicWhat to make visible. Required.—
surfaceWhere the view will be read: terminal, markdown, or html.terminal
max-viewsCeiling on how many views to returnyour judgement
sizetight keeps every view under roughly 12 lines, dropping any detail that is not load-bearing. normal keeps what the topic needs.normal

/pr calls this with surface: markdown, size: tight and a low max-views, because a PR body is scanned rather than studied.

Surfaces

The surface decides which primitives exist. Getting it wrong is the one mistake that ruins an otherwise good view.

surfaceRead inWhat it can do
terminalClaude Code and any CLIText only. Color comes from the fence language, borders from tables, series from fill texture. No Mermaid.
markdownGitHub PRs, issues, READMEsMermaid renders and takes color. <table><td> gives real columns. <details> folds. > [!NOTE] calls out.
htmlA published Artifact pageReal layout, CSS, charts and diagrams. Returned as a file path for the caller to publish.

Read references/surfaces.md for the surface you were given before producing anything. It holds the fence-to-color map, the safe glyph set, what GitHub's sanitizer keeps, and the rules for an HTML page.

Never emit a Mermaid fence to terminal. Nothing there renders it, so it arrives as a wall of source — the exact failure this skill exists to prevent. surfaces.md maps each diagram shape to the text view that replaces it.

Composition

How the views sit together matters as much as each one.

  • One headline view carries the answer, and it comes first. Everything after it is support.
  • Ceiling: one view at tight, at most three at normal. A fourth means you are writing a document, not showing a shape.
  • One question per view. A view answering two questions is two views, or one hairball.
  • Caption each view with its finding, on the line above it — "state.md is the only shared write", not "Architecture". A caption naming the view's category tells the reader nothing they cannot see.
  • No two adjacent views of the same shape. Two trees in a row read as one long tree.

The views

Logic or an algorithm — pseudocode:

on(save)
  if content is unchanged
    return cached result
  write new content
  return fresh result

Runtime control flow or order — call tree:

submitForm
  createSession
    persistPrompt
    launchAgent
  navigateToSession

UI structure — component tree, including the state and module boundaries that matter:

<SessionPage> (apps/example/src/routes/session.tsx)
  useSessionEvents()
  <SessionToolbar>
    <RunSkillButton> (packages/ui)

File responsibility, or a broad refactor — shallow file tree:

src/
├── commands/       # parses user actions
├── sessions/       # owns session state
└── transport/      # sends API requests

Counts, durations, sizes, proportions — a chart. Numbers buried in prose are numbers nobody compares. On terminal, bars built from block characters; on markdown, a Mermaid pie; on html, a real chart. Recipes per surface live in references/surfaces.md.

specify  ████████████████░░░░░░░░░░░░░░░░░░░░░░░░  2 reviewers
design   ████████████████████████████████░░░░░░░░  4 lenses
execute  ████████████████████████████████████████  5 verifiers

Component interaction, control flow, or data flow — Mermaid, on a surface that renders it. Drawing one has its own checklist, below.

sequenceDiagram
    participant User
    participant UI
    participant Daemon
    User->>UI: choose command
    UI->>Daemon: send expanded prompt
    Daemon-->>UI: stream result

Mostly new code, or where omitted context would hide ownership or order, or where the reader needs a copyable target shape — the whole block:

function expandSkill(command: string): string {
  const skillName = command.slice(1)
  return `use the ${skillName} skill`
}

An endpoint's request/response, or a table's columns — the contract:

POST /sessions
  → { email, password }
  ← 201 { sessionId, expiresAt }
  ← 401 { error: "invalid_credentials" }

A key type or data structure that changed shape — diff the type:

 type Session = {
   id: string
-  legacyToken: string
+  idpSub: string
+  expiresAt: Date
 }

Diffing a shape

Use diff when the point is what changes and the surrounding shape already exists. Match the diff shape to the topic — diff the component tree, the file tree, the call tree or the pseudocode. A literal source diff is not a view; the reader can already read the source diff.

A component change:

 <SessionPage>
   useSessionEvents()
   <SessionToolbar>
+    <RunSkillButton />
   <SessionTimeline>
+    <SkillResultCard />

A file-layout change:

 src/
 ├── commands/
+│   └── show-me.ts       # expands the slash command
 ├── sessions/
-└── transport.ts
+└── transport/
+    ├── client.ts
+    └── stream.ts

The diff fence is also the only way to get red and green into a terminal, so prefer it wherever the topic genuinely is a change.

Screenshots

For a change to something the reader would want to see — a UI, a layout, a visual state — a screenshot of the real thing beats any text view.

  1. Get the app running. If the project has a skill for launching it, use that.
  2. Drive it to the state that matters with Playwright or the browser extension, whichever the session has.
  3. Capture to a file outside the repo, and return the path. Capture the state it changed from as well, when the comparison is the point.

Never commit a screenshot into the repository. Embedding, uploading and hosting belong to whoever asked for the visual.

If the app cannot be run or driven, say so plainly and offer the nearest text view. Do not hand-write a mock of a UI that exists.

A screenshot is an image, so it cannot be the view on terminal. Return the path and name what it shows.

Drawing a diagram

Copy this checklist and work it in order.

- [ ] Enumerate the nodes, and the edges as `source --verb--> target`
- [ ] If the subject is a UML subject, pick that UML type and its notation
- [ ] Draw only what is enumerated, 12 nodes or fewer
- [ ] Validate: node show-me/scripts/validate-mermaid.mjs <file>
- [ ] Read the drawn diagram back against the enumeration

Run scripts/validate-mermaid.mjs; there is no reason to read it. It needs node and npm, and names the failing line and the tokens the parser will accept there.

references/diagrams.md holds the rules, their checks, the diagram-type menu, the palette and the syntax that fails silently. references/uml.md holds UML notation, for the subjects that have a UML type — a file tree or a chart does not, and is drawn plainly rather than dressed up as one.

Guidance

Place each visual next to the short text it supports, and keep only the calls, files, props, states and boundaries that answer the question actually being asked. A view that restates the sentence above it is noise with syntax highlighting — drop it.

Before returning, read the output as the reader will: the headline has to land from the first view alone, without the prose around it. If it does not, the wrong view is first, or the caption is not saying the finding.

Credits

Adapted from Dex Horthy's show-me (HumanLayer), MIT licensed. See CREDITS.md.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.