CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

implementing-jsc-classes-cpp

Implements JavaScript classes in C++ using JavaScriptCore. Use when creating new JS classes with C++ bindings, prototypes, or constructors.

Quality

81%

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

76%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 dense, expert-level reference: lean prose, near copy-paste C++ templates, and exact file paths with no token waste. The main gaps are the absence of an explicit step order or verification step, and a few referenced-but-undefined symbols that leave small holes in the templates.

Suggestions

Add an explicit numbered step order at the top (1. Create the three classes, 2. Register iso subspaces, 3. Cache the structure in ZigGlobalObject, 4. Expose to Zig) so the implied sequence becomes explicit.

Add a verification step, e.g., 'Verify with the iso-subspace lint: test test/internal/source-lints/iso-subspace-creation.test.ts' and a build check, to close the validation gap.

Fix the naming inconsistency between jsFooGetter_property (in JSFooPrototypeTableValues) and jsFooGetter_prop (in the getter definition), and show or stub callFoo/constructFoo so the constructor template is complete.

DimensionReasoningScore

Conciseness

The body is almost entirely executable templates, exact file paths, and one line of non-obvious domain knowledge ('subspaceForImpl only reads the slots inline...'). It assumes Claude's competence — no padding, no explanation of what JavaScriptCore or prototypes are — so every token earns its place.

5 / 5

Actionability

Copy-paste-ready C++ templates with exact file paths (DOMClientIsoSubspaces.h, ZigGlobalObject.h, test/internal/source-lints/...) cover the common case well. Minor gaps keep it below level 5: callFoo/constructFoo and Bun::initJSFooClassStructure are referenced but never defined, and the table entry 'jsFooGetter_property' does not match the later definition 'jsFooGetter_prop'.

4 / 5

Workflow Clarity

The section order (Class Structure → Iso Subspaces → ... → Expose to Zig) implies a sequence but there is no explicit step ordering, and validation is only implicit via the mention of 'test/internal/source-lints/iso-subspace-creation.test.ts checks this'. This matches 'steps listed but validation gaps; checkpoints missing or implicit'; level 4 would require an explicit ordered sequence with most checkpoints present.

3 / 5

Progressive Disclosure

A single-file skill (no references/, scripts/, or assets/ bundle exists) with well-organized sections that stay on one coherent procedure. The full class templates are inline rather than split into reference files, which is a minor organization gap consistent with 'good structure; most content is appropriately placed' rather than the fully split level-5 anchor.

4 / 5

Total

16

/

20

Passed

Description

78%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 concise, third-person description with an explicit and specific 'Use when' clause covering exactly the skill's scope. Its main weakness is that the 'what' is a single action verb, with the concrete deliverables relegated to the trigger clause.

Suggestions

Move the concrete deliverables into the 'what' clause, e.g., 'Implements JavaScript classes in C++ using JavaScriptCore: object classes, prototypes, constructors, iso subspaces, and Zig exposure.'

Add one or two common trigger variations such as 'JSC bindings' or 'exposing C++ classes to JavaScript' to broaden natural keyword coverage.

DimensionReasoningScore

Specificity

The description names the domain ('Implements JavaScript classes in C++ using JavaScriptCore') with one concrete action verb; the deliverables (bindings, prototypes, constructors) appear only in the trigger clause, matching 'names domain and 1-2 concrete actions, but not comprehensive'. It does not list several distinct actions (e.g., exposing classes to Zig, registering iso subspaces), which would fit the level-4 anchor.

3 / 5

Completeness

Explicitly answers both parts: 'Implements JavaScript classes in C++ using JavaScriptCore' (what) and 'Use when creating new JS classes with C++ bindings, prototypes, or constructors' (when) with concrete trigger phrases. It is narrower than the level-4 anchor's 'when could be more explicit', since the when-clause names three specific triggering artifacts.

5 / 5

Trigger Term Quality

Includes strong natural terms a user would say: 'JavaScript classes', 'C++ bindings', 'prototypes', 'constructors', 'JavaScriptCore'. Missing a few common variations such as 'JSC bindings', 'native bindings', or 'expose C++ to JS', so it fits 'good keyword coverage; a few natural terms missing' rather than comprehensive level 5.

4 / 5

Distinctiveness Conflict Risk

The JSC/C++-bindings niche is clear and highly specific, but generic words like 'prototypes' and 'constructors' create minor overlap risk with general JavaScript or general C++-binding skills. This fits 'mostly distinct; minor overlap risk with closely related skills' rather than level 5's minimal conflict risk.

4 / 5

Total

16

/

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

relative_links

Relative link issues: 1 suspicious

Warning

Total

15

/

16

Passed

Repository

oven-sh/bun

Path

.claude/skills/implementing-jsc-classes-cpp/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.