⏳ This skill is pending AI review.

Scores will appear once the review pipeline completes.

version unknown

penciled

@himanshu13ps⭐ 8 stars

Draw architecture and system diagrams that look hand-sketched in graphite pencil on paper (tapered, wobbly strokes, hatched shading, paper grain, handwritten labels), as an SVG, a PNG or a self-contained interactive HTML page. Use this whenever someone wants a hand-drawn, sketchy, whiteboard-style, napkin-sketch or pencil diagram of how a system fits together (services, databases, queues, users, external APIs, pipelines, cloud infrastructure, data flows), or asks you to "sketch" or "draw" an architecture, even if they never say "pencil". Not for charts of numbers, UI mockups, or precise engineering drawings.

Choose how to use this skill

You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.

1. Native installer

This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.

Do not guess an installer command or replace an existing version without reviewing the diff.

2. Complete package recommended

Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.

No complete ProSkills package is published for this listing yet.

3. Prompt-only

Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.

Need only the instruction file?

Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.

No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.

—/10

// RATINGS

⭐GitHub Stars
⭐ 8 on GitHubGitHub ↗

New / niche

🟢ProSkills Score
—
📍

Not yet listed on ClawHub or SkillsMP

// README

penciled

An agent skill that turns a small JSON description of a system into a diagram that looks drawn by hand with a graphite pencil on paper: tapered, wobbly strokes, layered passes, hatched shading, paper grain and the odd eraser smudge.

Try it in your browser →

A hand-drawn architecture diagram of a photo sharing app: a user, a CDN, an API server, a job queue, a worker, a database and object storage, inside dashed AWS, Backend and Data outlines

The playground: typing a new node draws it at once, a typo in an arrow is caught with "did you mean", then the same diagram is switched to aged paper, a soft pencil and top-to-bottom flow

  • Lays itself out. Columns or rows follow the flow, groups stay together, arrows bend around boxes.
  • Checks itself. A validator catches mistakes and warns about crossings, overlaps and crowded labels before anything is drawn, with a fix for each.
  • Three outputs. A plain SVG, a PNG, or one offline HTML page where the reader can redraw, change paper and pencil, zoom and save PNG, JPG or SVG.
  • No dependencies. Node.js 18+ and nothing else. The handwriting font (Caveat, OFL) is embedded.

Install as a skill

npx skills add himanshu13ps/penciled

This works with Claude Code, Cursor, Codex, OpenCode and other agents. Then ask your agent for a diagram:

sketch the architecture of this repo as a hand-drawn diagram

The skill tells the agent how to model the system, write the JSON, fix what the validator reports and render the result. Its instructions are in skills/penciled/SKILL.md.

Use it directly

git clone https://github.com/himanshu13ps/penciled
cd penciled
node skills/penciled/src/cli.js examples/web-app.json -o diagram.svg
CommandDoes
penciled diagram.json -o out.svgDraw an SVG
penciled diagram.json -o out.htmlWrite the interactive viewer (or add --html)
penciled diagram.json -o out.pngWrite a PNG; needs Chrome, Edge, Chromium or Brave installed (--scale 1 to 4, default 2)
penciled validate diagram.jsonCheck without drawing (--json for machine-readable output)
--seed NA different hand-drawn take; the same seed always gives the same drawing
--strictTreat warnings as failures

Here penciled means node skills/penciled/src/cli.js. Rendering runs the validator first: errors stop it, warnings are printed and drawing goes ahead.

The input format, every field and every check are described in skills/penciled/schema/README.md. A minimal input:

{
  "version": "0.1",
  "type": "architecture",
  "nodes": [
    { "id": "client", "label": "Client", "shape": "person" },
    { "id": "api", "label": "API", "sublabel": "Go", "shape": "rounded" },
    { "id": "db", "label": "Database", "shape": "database", "shade": "light" }
  ],
  "edges": [
    { "from": "client", "to": "api", "label": "HTTPS" },
    { "from": "api", "to": "db" }
  ]
}

The viewer

The HTML page carries the renderer with it, so it works offline, straight from disk. You can redraw with a new seed (R), switch paper, ruling, pencil and flow direction, zoom and pan, read the validator's warnings, and save SVG, PNG, JPG, or JSON with your chosen look baked in. Try examples/web-app.html (download it and open it locally; GitHub shows HTML as source).

Examples

Each input in examples/ has its rendered SVG and a JPEG preview:

ExampleShows
web-appGroups, nesting, top-to-bottom flow
microservicesA gateway fanning out to services, queues, an external API
url-shortenerMade by following the skill's own instructions from a one-line request
ci-pipelineLeft-to-right flow, documents, two groups
data-platformAged paper on a grid, 4B pencil, shaded databases
shapesAll seven shapes on grid paper
event-pipelineManual positions, lined paper, HB pencil
pencil-variants4B pencil, shading levels, dashed and two-way arrows

Repository layout

skills/penciled/    the skill: everything an agent installs
  SKILL.md          instructions for the agent
  src/              renderer, layout, validator, viewer, CLI
  schema/           JSON Schema and input reference
  fonts/            embedded handwriting font and its licence
examples/           sample inputs with rendered SVG, JPEG and one viewer
docs/               the website (GitHub Pages), with a live playground
tests/              node --test suite (npm test)
scripts/            dev tools (font rebuild)
specs/              plan and design notes

Development

npm test

No dependencies to install. The tests cover rendering, layout, the validator (every error and warning code has a fixture named after it), the browser bundle, the CLI and the website.

The website in docs/ loads a copy of the renderer and the examples. After changing anything in skills/penciled/src/ or examples/, refresh them with node scripts/build-site.mjs (a test fails if you forget). The link preview image, docs/og.png, is made by node scripts/build-og.mjs (it needs Chrome, Edge, Chromium or Brave, like PNG output). The demo, docs/demo.gif and docs/demo.mp4, is recorded from the playground by node scripts/record-demo.mjs (needs Playwright and ffmpeg).

License

MIT, see LICENSE. The Caveat font is under the SIL Open Font License, see skills/penciled/fonts/OFL.txt.

// HOW IT'S BUILT

KEY FILES

skills/penciled/SKILL.mdREADME.md

// REPO STATS

8 stars