Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Assists with using Bun as an all-in-one JavaScript/TypeScript runtime, package manager, bundler, and test runner. Use when building HTTP servers, managing packages, running tests, or migrating from Node.js. Trigger words: bun, bun serve, bun install, bun test, bun build, javascript runtime, bun runtime.
.claude/skills/terminalskills-bun/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -32% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -29% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -9% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -34% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -29% | 0% |
Bun is an all-in-one JavaScript/TypeScript runtime that replaces Node.js, npm, webpack, and Jest with a single binary. It provides native TypeScript support, a high-performance HTTP server (Bun.serve()), a fast package manager, a bundler, and a Jest-compatible test runner with dramatically faster performance.
Bun.serve() which handles 100K+ req/s with built-in WebSocket support, TLS, and streaming responses.bun install (10-30x faster than npm), bun add, bun remove, and prefer bun.lock (text format) for readable git diffs.Bun.build() with appropriate target ("browser", "bun", "node"), enable code splitting with splitting: true, and configure tree shaking.bun test with Jest-compatible API (describe, it, expect), snapshot testing, mocking with mock.module(), and --coverage for code coverage.Bun.file() and Bun.write() over Node.js fs for significantly faster file operations, and use Bun.Glob for pattern matching.Bun.password.hash() and Bun.password.verify() for bcrypt/argon2 instead of npm packages.node with bun in scripts, keep package.json unchanged, and note that most npm packages work without modifications. Use bun:sqlite for embedded databases instead of SQLite npm packages.User request: "Create a REST API using Bun's built-in HTTP server"
Actions:
Bun.serve() and route handlerrequest.json() and return Response objectsBun.password for auth and bun:sqlite for data storageOutput: A fast API server using only Bun built-ins with no external dependencies.
User request: "Switch my Express project from Node.js to Bun"
Actions:
npm install with bun install in CI and local setuppackage.json scripts to use bun run instead of nodedotenv with Bun's built-in .env loadingbun test with same test filesOutput: A Bun-powered project with faster installs, startup, and test execution.
Bun.serve() for new HTTP servers; it is significantly faster than Express on Bun.Bun.file() and Bun.write() over Node.js fs for file operations.bun:sqlite for local data instead of adding SQLite npm packages.Bun.password for auth instead of bcrypt/argon2 npm packages for zero native dependencies.bun.lock (text format) in git for readable diffs.bun test instead of Jest for the same API with dramatically faster execution.Bun.build() with target: "browser".| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-16 | pass→pass | 4,739 | 3,462 | -27% | 1 | 1 | 0% | 838 | 1,377 | +64% | 0 | 0 | — |
case-01 | fail→pass | 15,913 | 9,326 | -41% | 1 | 1 | 0% | 3,369 | 2,297 | -32% | 0 | 0 | — |
case-02 | fail→pass | 10,460 | 3,927 | -62% | 1 | 1 | 0% | 2,125 | 1,503 | -29% | 0 | 0 | — |
case-03 | fail→pass | 6,334 | 2,502 | -60% | 1 | 1 | 0% | 1,376 | 1,251 | -9% | 0 | 0 | — |
case-04 | fail→pass | 16,531 | 6,498 | -61% | 1 | 1 | 0% | 3,300 | 2,165 | -34% | 0 | 0 | — |
case-05 | fail→pass | 10,573 | 4,774 | -55% | 1 | 1 | 0% | 2,406 | 1,715 | -29% | 0 | 0 | — |
case-06 | pass→pass | 9,973 | 6,022 | -40% | 1 | 1 | 0% | 2,117 | 2,068 | -2% | 0 | 0 | — |
case-07 | pass→pass | 6,280 | 1,627 | -74% | 1 | 1 | 0% | 1,057 | 1,037 | -2% | 0 | 0 | — |
case-08 | pass→pass | 11,329 | 5,522 | -51% | 1 | 1 | 0% | 2,295 | 1,864 | -19% | 0 | 0 | — |
case-09 | fail→pass | 10,137 | 4,342 | -57% | 1 | 1 | 0% | 2,153 | 1,575 | -27% | 0 | 0 | — |
case-10 | pass→pass | 9,085 | 4,906 | -46% | 1 | 1 | 0% | 1,788 | 1,748 | -2% | 0 | 0 | — |
case-11 | pass→pass | 13,982 | 7,234 | -48% | 1 | 1 | 0% | 2,490 | 2,177 | -13% | 0 | 0 | — |
case-12 | fail→pass | 11,148 | 3,460 | -69% | 1 | 1 | 0% | 2,265 | 1,456 | -36% | 0 | 0 | — |
case-13 | pass→pass | 7,806 | 3,450 | -56% | 1 | 1 | 0% | 1,470 | 1,378 | -6% | 0 | 0 | — |
case-14 | fail→pass | 9,140 | 3,546 | -61% | 1 | 1 | 0% | 1,904 | 1,457 | -23% | 0 | 0 | — |
case-15 | pass→pass | 8,962 | 3,191 | -64% | 1 | 1 | 0% | 1,666 | 1,257 | -25% | 0 | 0 | — |
case-17 | pass→pass | 2,973 | 1,274 | -57% | 1 | 1 | 0% | 500 | 970 | +94% | 0 | 0 | — |
case-18 | fail→pass | 4,679 | 1,583 | -66% | 1 | 1 | 0% | 825 | 989 | +20% | 0 | 0 | — |
case-19 | fail→pass | 13,057 | 8,237 | -37% | 1 | 1 | 0% | 2,612 | 2,559 | -2% | 0 | 0 | — |
case-20 | pass→pass | 3,212 | 4,738 | +48% | 1 | 1 | 0% | 678 | 1,803 | +166% | 0 | 0 | — |
case-21 | pass→pass | 6,115 | 3,877 | -37% | 1 | 1 | 0% | 1,213 | 1,492 | +23% | 0 | 0 | — |
case-22 | pass→pass | 1,744 | 2,181 | +25% | 1 | 1 | 0% | 263 | 1,172 | +346% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +45 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.