AI News HubLIVE
サイト内リライト3 分で読了

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

AI サービスが一時的に利用できないため、復旧後に翻訳を補完します。ソース概要:Toolbay Stack · v0.2.0 An agent stack that tells you when it failed. 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,…

ソースHacker News AI著者: orion232

AI サービスが一時的に利用できないため、復旧後に翻訳を補完します。

Toolbay Stack · v0.2.0 An agent stack that tells you when it failed. 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. 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. 60 skills, free MIT licensed · zero dependencies 145 engines, each with a selftest npm test · an engine with no selftest fails the suite 83% less context per skill 53 skills measured: 557.4 KB vs 3193.2 KB Get it Toolbay Stack is public and MIT licensed. Clone it and run it — there is no account, no telemetry, and no dependency to install. git clone https://github.com/sriptcollector/toolbay-stack.git It is not on npm yet, so there is no npx one-liner. Clone is the install path. Verified 2026-08-18: curl -s -o /dev/null -w '%{http_code}' https://github.com/sriptcollector/toolbay-stack → 200 — public gh api repos/sriptcollector/toolbay-stack --jq .license.spdx_id → MIT npm view toolbay-stack → E404 — not on npm yet 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. 20 free skills, no account $npx toolbay add pr-reviewer Installs a real Claude Code skill that reviews your diff before you push. See all 20. Measurement 1 Context cost 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. 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% One session investigate → review → ship → context-restore 38.4 KB Toolbay Stack · ~9,836 est. tokens 290.4 KB 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. Three skills are bigger here 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. /careful — 6.1 KB here vs 2.5 KB upstream /freeze — 5.7 KB here vs 3.1 KB upstream /unfreeze — 1.7 KB here vs 1.5 KB upstream Measurement 2 Correctness on seeded failures 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. 8 we caught, upstream missed of 13 scored scenarios 4 ties, both correct upstream is right on all four 1 both stacks wrong a real hole in ours too 3 not scored for anybody incl. one capability we never ported The defects, with the file and the line Open them yourself. Paths are inside a gstack install at ~/.claude/skills/. 01 A safety guard that allows everything when it is missing gstack/investigate/SKILL.md:26 [ -x "$S" ] && bash "$S" || exit 0 This 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. 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. 02 A failing test suite that reports success gstack/ship/sections/tests.md:170 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. Read directly from the file in gstack 1.60.1.0. 03 An expiry that cannot be parsed means never expires gstack/ios-qa/daemon/src/allowlist.ts:56 if (Number.isFinite(exp) && exp # point it at your own install npm test # 145 engine selftests All 145 engines passed their own selftest, and every engine on disk has one. An engine with no selftest fails the suite, because the list is read off the filesystem instead of maintained by hand — which is how the old hand-written list came to name seven engines while fifteen shipped. Measured 2026-08-17 on node v24.14.1 / win32 against gstack 1.60.1.0. Your numbers will differ with your install; that is the point of shipping the command rather than the screenshot. Toolbay Stack is an MIT fork of gstack by Garry Tan, which is excellent software and the origin of most of the workflow skills here. Every derived skill carries an attribution header, the MIT notice is preserved, and this project is not affiliated with or endorsed by him. If you want the original, use the original.