Vibecode Skribbl

track this build4 phases, 12 steps, beginner friendly
KINDA · weekend project
price $8.25/moyou'd save $99/yrbuild time a weekend for the canvas, multi-day for the parts that make it trustworthycategory 🛠️ dev toolsreplaced by 0 people

The canvas is the easy half. React Flow plus xterm.js plus node-pty gets you panning, zooming and half a dozen live agent terminals in a weekend, and it is a genuinely nice way to watch a fleet work. The gaps are all in the boring layer underneath: knowing when an agent is actually blocked on you rather than just quiet, keeping sessions alive across a restart or a crash, and counting tokens accurately enough that the number can be trusted. Each of those is days of work on its own, and the weekend build reads as finished until the first agent silently dies behind a tab you were not looking at.

the project pack5 files · written for this build, step by step
README.md
# Skribbl · indie build

A desktop canvas of live terminals where the canvas is the easy part, and the difficult parts are keeping a dozen child processes alive across restarts, learning an agent's state from the agent rather than from its output, and metering spend accurately enough to act on.

Estimated effort: **multi-day**. Work `BUILD_PLAN.md` top to bottom · every phase ends in a check that has to pass before the next one starts.

## Stack

| Part | Choice | Why |
| --- | --- | --- |
| Terminals | A real shell per node through a pseudo-terminal, rendered by a terminal emulator | anything less than a real pty breaks the first full screen program |
| Canvas | A pan and zoom node graph with terminals as nodes and links as recorded relationships | watching a fleet side by side is the whole point |
| Durability | Each node runs inside a terminal multiplexer session named by node id | a crashed window reattaches instead of killing the agent |
| Status | Hook and event channels the agent itself exposes, never scraped output | a guess is worse than showing nothing |
| Metering | Four token counters from the agent's own accounting, priced from a dated table | cache reads and input tokens are not the same money |
| Runtime | A desktop application with native pseudo-terminal bindings | a browser cannot own a process |

## Before you start

Have every one of these ready. The plan assumes them from step one.

- [ ] **Node.js 22 or newer** · free
  - Why: Runs the desktop application and its build.
  - Get it: nodejs.org, or nvm install 22.
  - Verify: node --version prints v22 or higher
- [ ] **A native build toolchain for the pty bindings** · free
  - Why: The pseudo-terminal bindings compile against your desktop runtime's version, and this is the first failure on every fresh machine.
  - Get it: Your platform's compiler and build tools, then rebuild the bindings for the runtime version you ship.
  - Verify: A shell spawns in a node after a clean install
- [ ] **A terminal multiplexer** · free
  - Why: Session survival across crashes and restarts comes entirely from it, and without it every relaunch kills every agent.
  - Get it: Install it from your package manager and confirm a session survives closing the terminal that started it.
  - Verify: A detached session is still there after its terminal closes
- [ ] **A coding agent installed and authenticated, with its hooks reference read** · the agent's own subscription or per-token billing
  - Why: Status and usage come from the agent's own channels, and each agent exposes them differently or not at all, which decides what the canvas can honestly show.
  - Get it: Install the agent, authenticate it, and read its hooks and status line documentation before writing phase three.
  - Verify: A hook fires and writes an event on a test prompt
- [ ] **Your price table, dated** · free
  - Why: The four counters are priced differently and the rates change, so the table needs a checked-on date shown beside every total.
  - Get it: Copy the current per-token rates for each model you run, including the cache read and cache write multipliers, and record the date.
  - Verify: The table has four rates per model and a date

## Quick start

Follow Phase 1 in `BUILD_PLAN.md`; it creates the project.

Then copy `.env.example` to `.env` and fill in the values it documents.

## Honest limits

This build deliberately does not replace:

- Multiplayer and cloud sync.
- Code signing and notarisation.
- Message passing between agents.
- Status inferred from terminal output.
- hook-driven agent status, so a blocked agent looks the same as an idle one
- session survival across restarts and crashes
- an accurate token meter, cache reads price nothing like input tokens
- a signed and notarized Mac build, so Gatekeeper blocks what you ship to anyone else

If one of those is essential to you, that is the reason to keep paying for Skribbl, and the README should say so rather than pretend.

$ choose a build depth, inspect the files, then open the complete pack in your agent

why people still pay

Not for the canvas. For the layer that keeps twelve child processes honest: status that comes from the agent itself instead of scraped output, sessions that come back after a reboot, and a spend number accurate enough to act on before the bill arrives.

what you lose

xhook-driven agent status, so a blocked agent looks the same as an idle one

xsession survival across restarts and crashes

xan accurate token meter, cache reads price nothing like input tokens

xa signed and notarized Mac build, so Gatekeeper blocks what you ship to anyone else

prior art · use these instead of building, if you'd ratherclaude-squadopen-source terminal manager for multiple agents in tmux and git worktrees↗Crystalopen-source desktop app running parallel agent sessions in worktrees↗vibe-kanbanopen-source board for queueing and reviewing coding agent tasks↗
share on X ↗"I just replaced Skribbl ($8.25/mo) with one prompt"
the numbers

Skribbl pricing

planmonthlyannual (per mo)what you get
founding infinity$29/user$8.25/user3 concurrent agents; founding-plan access while licenses remain available.

free tierno free tier; 14-day trial only

billingmonthly or annual

hidden costsThe plan does not include Claude Code, model API or other agent-provider subscriptions; the trial requires a card from day 2 and charges on day 15 unless cancelled.

verified 2026-08-14 · source ↗

questions
Vibecode Skribbl

Kinda. The core of Skribbl is buildable in a weekend with the prompt on this page, but there are real gaps: hook-driven agent status, so a blocked agent looks the same as an idle one, session survival across restarts and crashes. Read the honest list above before committing.

How much does Skribbl cost?

Skribbl costs about $8.25/month (Pro, checked 2026-08-03), which is $99 per year.

What do I lose by replacing Skribbl?

Honestly: hook-driven agent status, so a blocked agent looks the same as an idle one; session survival across restarts and crashes; an accurate token meter, cache reads price nothing like input tokens; a signed and notarized Mac build, so Gatekeeper blocks what you ship to anyone else. If any of those are load-bearing for you, keep paying.

Is there an open-source alternative to Skribbl?

Yes: claude-squad (open-source terminal manager for multiple agents in tmux and git worktrees), Crystal (open-source desktop app running parallel agent sessions in worktrees), vibe-kanban (open-source board for queueing and reviewing coding agent tasks). Using prior art is also vibecoding; the prompt is for when you want it exactly your way.