npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

excalidraw-architect

v0.2.0

Published

Discuss backend architecture in pictures with your coding agent — picks the diagram type and zoom level for the question, then draws it on a live Excalidraw canvas. Agent skill, MCP server, and CLI.

Readme

excalidraw-architect

한국어

A Claude Code / Codex plugin that lets a backend developer and an agent trade architecture as pictures instead of text, on a live Excalidraw canvas.

The canvas comes from yctimlin/mcp_excalidraw: the agent can draw, look at its own work via screenshots, and read what you change in the browser. What this fork adds is judgement — an archdraw skill that decides what to draw and at which zoom level, instead of defaulting to a box-and-arrow component diagram for every question.

What's different

  • Situation → diagram routing. "What happens when I call this API?" gets a sequence diagram; "how is this structured?" gets a zoom-level diagram; retry policies get a state chart with backoff and max attempts, because a retry diagram without those is decoration.
  • Canvas first. The agent looks at the canvas before acting. If you moved a box, that placement is the answer; the agent tidies alignment, never rearranges.
  • Five zoom levels, stack-agnostic. System context → deployment unit → module boundary → layer → boundary type. Each diagram is one box of the level above, zoomed in. Gradle multi-module and NestJS modules get their own level, which C4 does not give them.
  • Throwaway by default. Diagrams are explanation until you say "keep it"; then they are promoted to a proper drawing and exported into your repo.

Install

Four channels, one skill folder. The two plugin channels register the MCP server, so the agent drives the canvas through MCP tools; npx skills add copies the skill only, and it falls back to the bundled CLI shim. Registering the MCP server alone works in any MCP client; the server hands out the same skill as the MCP prompt archdraw.

| Channel | Install | Call it | |---|---|---| | Claude Code plugin | /plugin marketplace add LeeJuOh/excalidraw-architect, then /plugin install excalidraw-architect@excalidraw-architect | /excalidraw-architect:archdraw <what you want drawn> — plain /archdraw when nothing else claims the name | | Codex plugin | codex plugin marketplace add LeeJuOh/excalidraw-architect, then codex plugin add excalidraw-architect@excalidraw-architect (a bare folder under ~/.codex/plugins is not discovered) | $excalidraw-architect:archdraw, or pick it in /skills; in ChatGPT desktop pick the @excalidraw-architect plugin | | Any Agent Skills host | npx skills add LeeJuOh/excalidraw-architect --skill archdraw -g --agent <host> -y | $archdraw in Codex; /archdraw in Claude Code | | MCP server only (Claude Desktop, Cursor, any MCP client) | Register the stdio command npx --prefix ~ -y excalidraw-architect@latest; in Claude Code: claude mcp add archdraw -- npx --prefix ~ -y excalidraw-architect@latest | Call the MCP prompt archdraw; in Claude Code: /mcp__archdraw__archdraw |

Use codex or claude-code for <host>. Keep --agent explicit: auto-detection can install the skill for only the agent that happens to be running. -g installs it for every project; omit -g only when you want the skill in the current project.

--prefix ~ keeps npx from picking up a package.json of the same name in the folder you register from. @latest is how this channel gets updates: there is no plugin to update.

The skill is manual only. It never starts itself — you call it, and then it keeps drawing for that conversation.

The first run needs internet. The canvas server is not in this repo; the skill fetches it from npm (npx -y excalidraw-architect@<version>) the first time you draw. So the first command is slow, and it fails without network — including under Codex's default sandbox, which blocks it.

Hacking on the server itself? npm run build, then start claude/codex from a shell with ARCHDRAW_BIN=<repo>/dist/bin.js: both the MCP path and the CLI fallback then run your build instead of the published package.

Upstream

This is a fork of yctimlin/mcp_excalidraw (MIT). For the canvas server, CLI, and MCP tools, see the upstream README. The original copyright notice is kept in LICENSE.

License

MIT.