CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

browserenginekit

Build alternative browser engines using BrowserEngineKit. Use when developing a non-WebKit browser engine for iOS/iPadOS in supported regions, managing web content/rendering/networking extension processes, configuring GPU and networking process capabilities, checking alternative-engine device eligibility, or reviewing BrowserEngineKit entitlements and Info.plist setup.

Quality

94%

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

SKILL.md
Quality
Evals
Security

Quality

Content

85%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.

The body is a well-structured overview that puts implementation detail in two real, well-scoped reference files and keeps only workflow, invariants, mistakes, and a review checklist inline. Its weaknesses are minor: redundant navigation (a table of contents plus duplicated reference pointers) and workflow steps that stay at directive level rather than naming their concrete APIs.

Suggestions

Deduplicate the reference pointers: "Route by Task" and the "References" section both list references/core-implementation.md and references/browserenginekit-patterns.md. Keep the Route by Task entries (they carry scope descriptions) and drop the duplicate bullets, including the meta-commentary "moved out of the entrypoint".

Remove the "Contents" table of contents; at ~150 lines the section headers are already visible in context, so the ToC spends tokens without adding navigation value.

Ground the Workflow steps in their concrete APIs so each is executable without opening a reference — e.g., attach BEAvailability.isEligible(for: .webBrowser) to step 1 and the specific entitlement keys to the extension/configuration steps, matching the specificity already present in the checklist.

DimensionReasoningScore

Conciseness

The body is dense and assumes Claude's competence — it never explains what a browser engine or XPC is, and directives like "Never weaken sandbox boundaries to simplify cross-process communication" earn their tokens. But not every token earns its place: the "Contents" table of contents duplicates the visible section headers, and the two reference files are listed twice ("Route by Task" and again in "References", including the meta-commentary "moved out of the entrypoint"). Not 5 because of this structural redundancy; not 3 because there is no padding or explanation of already-known concepts.

4 / 5

Actionability

Concrete, real Swift API calls appear in the Common Mistakes contrasts ("BEAvailability.isEligible(for: .webBrowser)", "contentProxy.bootstrap(renderingExtension:networkExtension:)") and the checklist cites exact strings ("com.apple.developer.web-browser-engine.host", "iOSPackagesShouldBuildARM64e", "arm64e"). Not 5 because the code fragments are illustrative rather than copy-paste ready (networkProxy/renderProxy are assumed but undefined) and the Workflow steps stay at directive level, deferring executable detail to the references. Not 3 because nothing is pseudocode and the cited APIs and keys are real and specific.

4 / 5

Workflow Clarity

Five ordered steps ending in an explicit validation step ("Verify eligible/ineligible devices, process crashes, relaunch, backgrounding, downloads, memory pressure, and security boundaries"), reinforced by a 16-item Review Checklist and WRONG/CORRECT recovery patterns in Common Mistakes (e.g., create a new process after invalidation). Not 4 because validation is explicit (step 5 plus the checklist) rather than implicit; this is not a destructive/batch skill so the cap-at-3 rule does not apply.

5 / 5

Progressive Disclosure

A genuine overview entry point with two one-level-deep references, both verified real and matching their advertised scope (core-implementation.md covers eligibility/entitlements/architecture/process management; browserenginekit-patterns.md covers XPC/text/layer/scroll/filtering patterns), and a "Route by Task" section that signals when to read each. Not 4 because the split is appropriate and navigation is explicit; the only flaw is trivial duplication of the file pointers, which does not impair discovery.

5 / 5

Total

18

/

20

Passed

Description

100%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.

The description is exemplary: it states concrete capabilities in third-person imperative voice, provides an explicit multi-condition "Use when" clause, and owns a distinct niche with synonym-rich trigger terms. It reads like the anchor-5 good examples and has no over-claims or filler.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — "Build alternative browser engines", "managing web content/rendering/networking extension processes", "configuring GPU and networking process capabilities", "checking alternative-engine device eligibility", "reviewing BrowserEngineKit entitlements and Info.plist setup" — with comprehensive coverage of the framework's core workflow. Not 4 because no meaningful action area of the skill's loop is missing; the breadth matches the anchor-5 example.

5 / 5

Completeness

Explicitly answers both "what" ("Build alternative browser engines using BrowserEngineKit") and "when" ("Use when developing... managing... configuring... checking... or reviewing...") with five concrete enumerated trigger conditions. Not 4 because the "Use when" clause is fully explicit rather than generic, mirroring the anchor-5 example structure.

5 / 5

Trigger Term Quality

Includes the natural terms a developer would actually say ("browser engine", "non-WebKit", "iOS/iPadOS", "extension processes", "entitlements", "Info.plist", "GPU") plus synonyms of the core concept ("alternative browser engines" / "non-WebKit browser engine" / "BrowserEngineKit"). Not 4 because the synonym variations users naturally use are all present, satisfying anchor 5's comprehensiveness criterion (file extensions don't apply to this framework domain).

5 / 5

Distinctiveness Conflict Risk

Clear niche with distinct triggers: a non-WebKit iOS engine framework identified by name, with named entitlements and extension types. Not 4 because no closely related skill category (general iOS development, browser automation, WebView work) would plausibly capture these triggers — conflict risk is minimal.

5 / 5

Total

20

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

thienqo/ios-skills

Path

skills/browserenginekit/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.