CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

kernel-typescript-sdk

Build Kernel browser automation in TypeScript with server-side Playwright or CDP, including profiles, proxies, and reliable session cleanup.

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

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.claude/skills/kernel-typescript-sdk/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

78%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 highly actionable, well-sequenced body whose code examples are copy-paste ready and whose prose concentrates on genuinely non-obvious SDK rules. The notable defects are a broken reference to a missing examples/examples.md file and mild redundancy in cleanup guidance, plus no retry/recovery loop for failed executions.

Suggestions

Fix the dangling reference: either include examples/examples.md in the bundle or remove/replace the link (e.g. point to the Kernel docs examples page).

Consolidate the repeated cleanup guidance — fold the try/finally and deletion-ordering rules stated in the lifecycle sections into the Cleanup Rules section (or vice versa) to trim redundancy.

Add brief error-recovery guidance for failed playwright.execute calls (e.g. inspect response.stderr, whether the session stays alive, and when to recreate vs retry) to close the workflow feedback-loop gap.

DimensionReasoningScore

Conciseness

The body is code-dominant with tight prose that only carries non-obvious rules ("Do not treat browser.close() as Kernel resource cleanup"; snake_case vs JavaScript casing conventions), assuming Claude's competence. Not 5 because try/finally deletion guidance is repeated across both lifecycle sections and again in Cleanup Rules, and 'Choose an Automation Path' prose overlaps the lifecycle intros; not 3 or lower since there is no padding or explanation of known concepts.

4 / 5

Actionability

Both automation paths, profiles, proxies, and binary data are shown as fully executable, copy-paste-ready TypeScript with imports, client init, error handling (response.success with error/stderr fallback), a null-guard for the browser context, and dedicated endpoints for screenshots/files. Covers the common cases comprehensively.

5 / 5

Workflow Clarity

Clear sequences with explicit checkpoints: create → try/finally deleteByID, CDP close-client-then-delete ordering, response.success validation before using results, proxy status check before use, and an ordered 5-item cleanup checklist including destructive-resource ordering. Not 5 because there is no error-recovery/feedback-loop guidance (e.g. what to inspect or retry when playwright.execute fails mid-session); the checkpoints otherwise exceed the 3 anchor.

4 / 5

Progressive Disclosure

Sections are well organized and a dedicated References section exists, but the only in-bundle reference, "Additional integration examples: [examples](./examples/examples.md)", points to a file that does not exist in the bundle — navigation fails at the point of use. This is more than the 4 anchor's 'minor organization gaps'; the 3 anchor's 'could be better organized' with flawed references is the closest fit.

3 / 5

Total

16

/

20

Passed

Description

66%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-scoped description with good natural trigger terms and a clear niche. Its main gap is the absence of any explicit 'Use when...' guidance, which caps completeness and slightly weakens triggerability for users who describe their task rather than the tool.

Suggestions

Add an explicit trigger clause, e.g. "Use when automating Kernel (cloud) browser sessions from TypeScript, or when persisting browser state with profiles or routing sessions through proxies."

Include 1-2 more natural user phrasings (e.g. "headless browser", "anti-detect browser", "browser session cleanup") to broaden trigger term coverage.

Consider mentioning TypeScript file extension (.ts) or the SDK package name (@onkernel/sdk) to sharpen distinctiveness from generic Playwright skills.

DimensionReasoningScore

Specificity

"Build Kernel browser automation in TypeScript with server-side Playwright or CDP" plus "profiles, proxies, and reliable session cleanup" names several specific concrete capabilities. It falls short of the 5 anchor's comprehensive multi-action coverage (single 'Build' verb, capabilities like screenshots/file reads unmentioned) but clearly exceeds the 1-2 actions of the 3 anchor.

4 / 5

Completeness

The "what" is clear (build Kernel browser automation via server-side Playwright or CDP, with profiles, proxies, cleanup), but there is no "Use when..." clause or equivalent explicit trigger guidance — the rubric guideline caps completeness at 3 for this. Matches anchor 3 exactly ('what' clear, 'when' missing); not 4 because no 'when' is present even weakly.

3 / 5

Trigger Term Quality

Good natural keyword coverage: "Kernel browser automation", "TypeScript", "Playwright", "CDP", "profiles", "proxies", "session cleanup" — terms a user with this need would say. Missing a few natural variations (e.g. "headless browser", "scraping", "anti-detect"), so below the 5 anchor's comprehensive synonym coverage but above the 3 anchor's partial coverage.

4 / 5

Distinctiveness Conflict Risk

Clear niche (Kernel cloud-browser SDK from TypeScript) with distinct triggers ("Kernel", "server-side Playwright", "CDP"); minor overlap risk with a closely related kernel-cli skill. Mostly distinct per anchor 4; not 5 because generic terms like "browser automation" could also pull in generic Playwright skills.

4 / 5

Total

15

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

relative_links

Relative link issues: 1 missing

Warning

Total

14

/

16

Passed

Repository

stevenknowswhy/ProfessionalBuyer

Path

.claude/skills/kernel-typescript-sdk/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.