CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/openfeature-sdk-testing

Wraps OpenFeature (CNCF vendor-neutral SDK abstraction) testing patterns: the InMemoryProvider for hermetic tests without network calls, provider registration via OpenFeature.setProvider, the getBooleanValue/getBooleanDetails evaluation API with EvaluationDetails (value, variant, reason, errorCode), hooks for evaluation side-effects, and evaluation context for targeting-rule tests. Covers TypeScript, Java, and Python SDKs, plus per-vendor hermetic-bootstrap references for Unleash (bootstrap toggles), Flagsmith (offline LocalFileHandler), and GrowthBook (initSync payload). Use when writing tests for code that resolves feature flags through the OpenFeature SDK or the Unleash / Flagsmith / GrowthBook native SDKs; LaunchDarkly has its own skill (launchdarkly-testing).

72

Quality

90%

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

86%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 well-structured, highly actionable testing skill that keeps the canonical path inline and correctly offloads language variants, spec tables, and vendor patterns to references. Minor conciseness gains are available by moving inline enumerations and quoted definitions into the reference files.

Suggestions

Move the inline reason/error-code enumerations in 'EvaluationDetails and reason codes' into references/multi-language-and-spec.md (which already holds the full spec table) and keep only the most common codes inline.

Drop or shorten the quoted definitions of 'provider' and 'evaluation context' — Claude knows these concepts; a one-line gloss suffices with the spec link for the detail.

Promote the 'How to use' flow into a short numbered sequence with an explicit 'await provider readiness before evaluating' checkpoint so the validation step is visible, not just implied by the anti-patterns table.

DimensionReasoningScore

Conciseness

Mostly lean and actionable with executable code, but a few sections over-explain concepts Claude already knows — the inline reason/error-code enumerations and the quoted provider/evaluation-context definitions — that could be trimmed or left to the references.

4 / 5

Actionability

Provides copy-paste-ready install, provider configuration, evaluation, and a complete beforeAll/afterAll test pattern covering the common cases (default value, STATIC reason, FLAG_NOT_FOUND), plus a working hooks registration example.

5 / 5

Workflow Clarity

A clear install → configure → evaluate → assert sequence with setup/teardown is shown, and anti-patterns reinforce readiness/teardown checks, but validation checkpoints are implicit rather than enumerated as an explicit numbered workflow.

4 / 5

Progressive Disclosure

The body is an overview of the canonical TypeScript flow with well-signaled, one-level-deep references for Java/Python/spec tables and all vendor-native patterns; every referenced path (unleash.md, flagsmith.md, flagsmith-modes.md, growthbook.md, multi-language-and-spec.md) resolves to a real file.

5 / 5

Total

18

/

20

Passed

Description

92%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 that names concrete capabilities and gives an explicit use-when trigger while cleanly distinguishing itself from adjacent skills. Only minor synonym coverage is missing from the trigger terms.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — InMemoryProvider for hermetic tests, OpenFeature.setProvider registration, getBooleanValue/getBooleanDetails with EvaluationDetails fields (value, variant, reason, errorCode), hooks, and evaluation context — plus per-vendor bootstrap patterns, giving comprehensive coverage.

5 / 5

Completeness

Explicitly answers both what (the testing patterns and specific APIs wrapped) and when, with a concrete 'Use when writing tests for code that resolves feature flags through the OpenFeature SDK or the Unleash / Flagsmith / GrowthBook native SDKs' trigger clause.

5 / 5

Trigger Term Quality

Strong natural terms users would say ('feature flags', 'OpenFeature SDK', 'Unleash / Flagsmith / GrowthBook native SDKs', 'LaunchDarkly') but a few synonyms (e.g. 'toggle testing', 'flag-evaluation testing') are absent, keeping it just below comprehensive.

4 / 5

Distinctiveness Conflict Risk

Clear OpenFeature-SDK-testing niche with distinct triggers, and it explicitly fences off LaunchDarkly ('LaunchDarkly has its own skill (launchdarkly-testing)'), minimizing conflict risk.

5 / 5

Total

19

/

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.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Reviewed

Table of Contents