CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

bun-http-server

Use when building HTTP servers with Bun.serve, handling requests/responses, implementing routing, creating REST APIs, or configuring fetch handlers.

60

Quality

76%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./plugins/bun/skills/bun-http-server/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A lean, largely copy-paste-ready reference for Bun.serve with good section organization and current, version-aware guidance (routes API, awaited server.stop). Its two real defects are dangling progressive-disclosure references to files that don't exist and a couple of small code-correctness slips in the Static Files and Server Methods examples.

Suggestions

Create references/tls-config.md and references/streaming.md (or remove the "When to Load References" section) so the advertised navigation targets actually exist in the bundle.

Fix the Static Files example by declaring `async fetch(req)` before using `await file.exists()`, and replace the `Bun.serve({ ... })` placeholder in Server Methods with a minimal working definition.

Consolidate the duplicated routing coverage: lead with the Bun 1.2+ `routes` example and show the manual `fetch` pattern once, trimming the repeated Bun.serve wrapper boilerplate across sections.

DimensionReasoningScore

Conciseness

The body is nearly all executable code with almost no padded prose, but each section re-wraps the full Bun.serve({...}) boilerplate and routing is demonstrated twice (manual fetch parsing and the routes map), so minor trimming is possible. It sits above anchor 3's 'some unnecessary explanation' and below anchor 5's 'every token earns its place'.

4 / 5

Actionability

Mostly copy-paste-ready code covering the common cases (routing, body parsing, responses, CORS, errors, server options), but the Static Files example uses `await file.exists()` inside a non-async `fetch(req)` (a syntax error as written) and `Bun.serve({ ... })` in Server Methods is a placeholder, leaving minor gaps below anchor 5's fully-executable bar.

4 / 5

Workflow Clarity

This is a reference-style skill rather than a multi-step process; sections are logically ordered from quick start through advanced options with clear guidance like "Use `routes` for new code; keep `fetch` as a fallback". It is not 5 because some sections (e.g., choosing between the two routing styles) could sequence decision-making more explicitly, and not 3 because nothing is ambiguous or incoherent.

4 / 5

Progressive Disclosure

The body ends with a well-signaled "When to Load References" section pointing to references/tls-config.md and references/streaming.md, but no references/ directory (or any bundle files) exists, so both references are dangling and the navigation promise fails — squarely anchor 2's broken-bundle territory rather than anchor 3's merely imperfect organization.

2 / 5

Total

14

/

20

Passed

Description

75%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A specific, well-triggered description with a distinct Bun niche, held back only by its single-clause structure: it tells Claude when to load the skill but never explicitly what the skill contains or does. Restructuring as one capability sentence plus a "Use when…" sentence would make it fully complete.

Suggestions

Add an explicit "what" statement before the trigger clause, e.g. "Builds HTTP servers with Bun.serve, covering request handling, routing, REST APIs, and fetch handlers." followed by "Use when…", so both dimensions of completeness are explicit.

Broaden trigger coverage with a few natural synonyms users say, such as "web server", "backend service", or "API endpoints", to strengthen discovery beyond the exact Bun terms.

DimensionReasoningScore

Specificity

The description enumerates multiple concrete actions anchored to a named API — "building HTTP servers with Bun.serve", "implementing routing", "creating REST APIs", "configuring fetch handlers" — giving comprehensive coverage of the domain rather than minor-gap coverage.

5 / 5

Completeness

Only the "when" is explicitly present: the description is a single "Use when…" clause and never states what the skill provides, leaving the "what" merely implied by the gerund list. It is above anchor 2 because the trigger guidance is explicit and specific, but below anchor 4 because a clear standalone "what" statement is absent.

3 / 5

Trigger Term Quality

"HTTP servers", "Bun.serve", "routing", "REST APIs", and "fetch handlers" are natural phrases users would say, but common variants like "web server", "backend", or "endpoints" are missing, so coverage is good rather than comprehensive.

4 / 5

Distinctiveness Conflict Risk

"Bun.serve" and Bun-specific framing establish a clear niche with distinct triggers, minimizing conflict risk with generic HTTP-server or Node skills.

5 / 5

Total

17

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

referenced_paths_exist

Referenced path issues: 2 missing

Warning

Total

15

/

16

Passed

Repository

secondsky/claude-skills

Path

plugins/bun/skills/bun-http-server/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.