Workbench
Iterating on the vendo() harness or screen agent interactively — running the harness workbench, watching harness internals live (steps, compaction, guard, loadout), hot-reload edit loops on @vendoai packages, debugging a turn. Cross-ref: use genbench to MEASURE a change; workbench to FEEL and debug it.From its SKILL.md
npx -y skills add runvendo/vendo --skill workbenchAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
1.8 KB, as published. Nobody here has run it
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/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/harnesses/src/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/harnesses/src/workbench.ts → transient
data-vendo-debug parts (never persisted) → ui feed store
packages/ui/src/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).