CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/openfeature-sdk-testing

Use whenever code that reads feature flags through OpenFeature, Unleash, Flagsmith or GrowthBook needs tests: InMemoryProvider for hermetic tests, evaluation details, hooks and targeting context in TypeScript, Java and Python, plus a flag test-matrix workflow. LaunchDarkly has launchdarkly-testing.

Quality

93%

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

Overview
Quality
Evals
Security
Files

Quality

Content

82%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 strong, well-structured body: executable TypeScript examples covering the common test cases, a high-value anti-patterns table, and disciplined offloading of Java/Python and vendor detail to real reference files. The remaining gaps are small — a few quoted spec passages that pad the prose, validation guidance confined to the anti-patterns table, and an orphaned killswitch.md reference.

Suggestions

Trim the quoted spec definitions in the Overview and Evaluation-context sections to plain statements of the SDK-specific facts (context levels and override order, single registered provider) — Claude does not need the verbatim openfeature.dev quotes.

Link references/killswitch.md directly from the SKILL.md References section; it currently exists in the bundle but is only discoverable via feature-flag-test-matrix.md.

Add `Client` to the import in the typical test pattern so the snippet is copy-paste runnable as-is.

DimensionReasoningScore

Conciseness

The body is dense with skill-specific value (API calls, reason/error codes, the anti-patterns table) and pushes Java/Python detail to references, but includes minor over-explanation that could be trimmed: the quoted spec definitions ("a container for arbitrary contextual data that can be used as a basis for dynamic evaluation", "an application integrator can register one provider at a time") and restating reason codes already shown in code comments. This matches the 'efficient; minor instances of over-explanation' anchor rather than the 'mostly efficient but includes some unnecessary explanation' anchor, since the padding is limited to a few quoted passages.

4 / 5

Actionability

Guidance is fully executable: an install command, a complete InMemoryProvider configuration, typed evaluation calls with expected values, a copy-paste describe/beforeAll/afterAll test suite asserting value, reason, and errorCode, plus context-injection and hook-registration examples covering the common cases. The only blemish is the unimported `Client` type annotation in the test snippet, too trivial to drop it to the 'minor gaps' anchor given the examples span the standard scenarios (static flag, disabled default, unknown flag, targeting match, hooks).

5 / 5

Workflow Clarity

The How-to-use flow is clearly sequenced (Install → Configure provider → Evaluate → Typical test pattern, with `close()` teardown) and the anti-patterns table supplies checkpoints for each failure mode (await provider readiness, fresh provider per describe block, close() in afterAll). It falls short of the top anchor because checkpoints live in a separate anti-patterns table rather than explicit validation steps in the workflow itself, and there is no verify-first loop (e.g., confirming provider readiness before evaluating) inline; it clearly exceeds the 'steps listed but validation gaps' anchor.

4 / 5

Progressive Disclosure

The body is a well-sectioned overview that keeps only the canonical TypeScript inline and clearly signals one-level references for Java/Python code, spec tables, and vendor-native patterns (all referenced files exist). Two minor organization gaps keep it from the top anchor: `killswitch.md` exists in references/ but is never linked from SKILL.md (reachable only via feature-flag-test-matrix.md, a second hop), and reference files cross-link each other (flagsmith.md ↔ flagsmith-modes.md), slightly blurring the one-level-deep structure.

4 / 5

Total

17

/

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, opens with an explicit 'Use whenever' trigger clause naming all covered flag providers and languages, and explicitly routes the adjacent LaunchDarkly case elsewhere. Every dimension lands on the top anchor with no padding or over-claims.

DimensionReasoningScore

Specificity

The description lists multiple concrete capabilities — "InMemoryProvider for hermetic tests, evaluation details, hooks and targeting context in TypeScript, Java and Python, plus a flag test-matrix workflow" — comprehensively covering the skill's surface with no vague filler. It matches the anchor for multiple specific concrete actions with comprehensive coverage; a 4 would require minor gaps in coverage, but every major capability area (provider, evaluation details, hooks, context, languages, test matrix) is named.

5 / 5

Completeness

Both questions are explicitly answered: what it does ("InMemoryProvider for hermetic tests, evaluation details, hooks and targeting context... plus a flag test-matrix workflow") and when to use it ("Use whenever code that reads feature flags through OpenFeature, Unleash, Flagsmith or GrowthBook needs tests"). This is an explicit 'Use whenever...' clause with concrete trigger conditions, exactly matching the top anchor; the cap for a missing trigger clause does not apply.

5 / 5

Trigger Term Quality

Natural trigger terms are comprehensively covered: "feature flags", "OpenFeature", "Unleash", "Flagsmith", "GrowthBook", "hermetic tests", "InMemoryProvider", "hooks", "targeting context", "TypeScript, Java and Python", and "flag test-matrix". A user needing this skill would naturally say the vendor names or "feature flags" plus their language; these synonyms are all present, matching the comprehensive-coverage anchor rather than the 'a few natural terms missing' anchor.

5 / 5

Distinctiveness Conflict Risk

The description carves out a clear niche (OpenFeature/vendor SDK flag testing) and actively prevents mis-triggering by stating "LaunchDarkly has launchdarkly-testing", delegating that vendor to its own skill. Trigger terms (OpenFeature, Unleash, Flagsmith, GrowthBook) are distinctive and unlikely to fire for unrelated skills, matching the minimal-conflict-risk anchor.

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.

Reviewed

On this page