# Workbench

> workbench

- Skill: `runvendo/workbench` (Agent Skill)
- Install (CLI): `npx skillmds@latest add runvendo/workbench`
- Raw SKILL.md: https://api.skillmd.com/api/skills/runvendo/workbench/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: runvendo (https://skillmd.com/u/runvendo)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/runvendo/workbench

---


# workbench

Maple (`examples/demo-bank`) plus whole-graph dev source aliasing plus a
dev-only internals pane behind `VENDO_WORKBENCH=1` (server env; unset means
zero diagnostic parts on the wire). Shipped in PR #1130.

## Run

    pnpm install && pnpm build       # once — dist must exist; @vendoai/vendo/store stays dist-pinned, so edits there need a rebuild
    VENDO_WORKBENCH=1 pnpm --filter demo-bank dev
    open http://localhost:3000

Pane docks right: Timeline / Context / Tools / Guard / Raw, plus a turn
selector.

## Loop

Chat → read the pane → edit `packages/*/src` (`loop.ts`, `compaction.ts`,
`vendo.ts` are the usual suspects — note `packages/vendo/src/harnesses/vendo/` is
an author-involved zone per its CLAUDE.md) → save → the next message runs the
edit. In-flight turns finish on the old code.

## Levers

- `MAPLE_HARNESS=context-e2e` — 32k context window, so a few messages reach
  compaction.
- Ask Maple to build something to watch a screen-agent run (tagged, 10-step
  cap).
- The "demo feed" button replays a canned turn for pane-UI work without
  spending tokens.

## Architecture, three lines

Harness sink `packages/vendo/src/harnesses/workbench.ts` → transient
`data-vendo-debug` parts (never persisted) → ui feed store
`packages/vendo/src/ui/chrome/workbench-store.ts` (20-turn retention) → pane in
`examples/demo-bank/src/components/vendo/workbench/`.

## Measuring

After a harness change, `pnpm build`, then the genbench skill for
before/after scores (genbench reads built dists).

