Show HN: I forked an agent stack and measured myself against it, losses included

orion2321 pts0 comments

Toolbay Stack — an agent stack that tells you when it failed · Toolbay<br>Skip to content<br>Toolbay now connects to Claude. Set it up once, then list what you have built by asking.<br>Get my keyGet my key

Start sellingSign inCreate account

Loading…

© 2026 toolbay · Tools for agencies and consultants, and the people who build them.700 W Smuggler St, Aspen, CO 81611<br>Toolbay Stack · v0.2.0<br>An agent stack that tells you when it failed.<br>60 skills for Claude Code. 145 engines, and every single one carries its own test — an engine without one fails the suite rather than shipping. Free, MIT, no dependencies.<br>Most agent tooling fails silently: a guard that allows everything when it is missing, a check that exits 0 having done nothing, a save that writes somewhere you will never look. This is built around refusing that one behaviour, and the refusals are measured rather than claimed — npm run backtest reproduces every number on this page.<br>60<br>skills, free<br>MIT licensed · zero dependencies

145<br>engines, each with a selftest<br>npm test · an engine with no selftest fails the suite

83%<br>less context per skill<br>53 skills measured: 557.4 KB vs 3193.2 KB

Get it<br>Toolbay Stack is public and MIT licensed. Clone it and run it — there is no account, no telemetry, and no dependency to install.<br>git clone https://github.com/sriptcollector/toolbay-stack.gitIt is not on npm yet, so there is no npx one-liner. Clone is the install path. Verified 2026-08-18:<br>curl -s -o /dev/null -w '%{http_code}' https://github.com/sriptcollector/toolbay-stack → 200 — public<br>gh api repos/sriptcollector/toolbay-stack --jq .license.spdx_id → MIT<br>npm view toolbay-stack → E404 — not on npm yet<br>What does run today, on the same machine, with no account and no telemetry, is the 20 free MIT-licensed skills on the marketplace. That command is verified end to end, not asserted.<br>20 free skills, no account<br>$npx toolbay add pr-reviewerCopy<br>Installs a real Claude Code skill that reviews your diff before you push. See all 20.

Measurement 1<br>Context cost<br>A SKILL.md is injected into the conversation every time its skill is invoked, so its size is a cost you pay per invocation. The backtest reads both stacks off disk and pairs them by skill name.<br>SkillToolbaygstackSmaller/spec9.2 KB124 KB93%/review8.8 KB103.3 KB91%/qa8.1 KB81.2 KB90%/ship8.4 KB79.2 KB89%/retro10.5 KB90 KB88%/design-review14.3 KB102.5 KB86%53 paired557.4 KB3193.2 KB83%<br>One session<br>investigate → review → ship → context-restore<br>38.4 KB<br>Toolbay Stack · ~9,836 est. tokens

290.4 KB<br>gstack · ~74,341 est. tokens

Of gstack’s 290.4 KB in that four-skill session, 134KB is lines an earlier skill in the same session already injected — an auto-generated preamble stamped into every skill and paid for again on every invocation. Toolbay Stack’s repeated share is 1.9 KB.

Bytes are measured; tokens are an estimate at 4 bytes/token. Files a skill reads while it runs are not counted, on either side.<br>Three skills are bigger here<br>The tool prints this and so do we. These are the guard skills, and the extra bytes are the documented failure modes and the list of what the guard does not cover. Trimming them to win a byte count would be gaming the number the measurement exists to report.<br>/careful — 6.1 KB here vs 2.5 KB upstream<br>/freeze — 5.7 KB here vs 3.1 KB upstream<br>/unfreeze — 1.7 KB here vs 1.5 KB upstream

Measurement 2<br>Correctness on seeded failures<br>The backtest builds a fixture with a known defect, runs the equivalent command from both stacks against it, and records CAUGHT or MISSED per side. It fails closed: a scenario whose fixture did not build, whose upstream is not installed, or which timed out is scored for nobody.<br>we caught, upstream missed<br>of 13 scored scenarios

ties, both correct<br>upstream is right on all four

both stacks wrong<br>a real hole in ours too

not scored for anybody<br>incl. one capability we never ported

The defects, with the file and the line<br>Open them yourself. Paths are inside a gstack install at ~/.claude/skills/.<br>01A safety guard that allows everything when it is missing

gstack/investigate/SKILL.md:26<br>[ -x "$S" ] && bash "$S" || exit 0This is the PreToolUse hook that is supposed to hold the edit boundary during a debugging session. If the guard script is not on the machine, the `|| exit 0` fires — and exit 0 with no output is how a PreToolUse hook spells ALLOW. The protection does not fail loudly, it evaporates silently.<br>Read directly from the file, and reproduced: backtest scenario guard-not-installed, where gstack exits 0 with no output at all and Toolbay Stack exits 1 so the failure is visible.

02A failing test suite that reports success

gstack/ship/sections/tests.md:170<br>bin/test-lane 2>&1 | tee /tmp/ship_tests.txt &The exit status of a shell pipeline is the status of its LAST command, and the last command here is tee, which essentially always succeeds. The test suite's own exit code is discarded before anything can read it. This is the step that decides whether a change is safe to land.<br>Read directly...

toolbay stack skill skills guard gstack

Related Articles