CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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

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

The canonical home for this skill is testland/openfeature-sdk-testing

SKILL.md
Quality
Evals
Security

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 well-structured, highly actionable body with copy-paste-ready TypeScript test patterns and appropriate offloading of Java/Python and vendor detail to real reference files. The main refinements are trimming quoted spec definitions and duplicate link listings, and linking killswitch.md directly from SKILL.md.

Suggestions

Drop the verbatim quotes from openfeature.dev (e.g., the evaluation-context definition) and the bottom References entries that duplicate URLs already linked inline, keeping only the references/ file pointers.

Link killswitch.md directly from SKILL.md (e.g., in Limitations or References) so it is discoverable at one level deep instead of only via feature-flag-test-matrix.md.

Add a short diagnose-the-failure step (e.g., 'if reason is DEFAULT/errorCode is FLAG_NOT_FOUND, check the flag key and provider readiness before the default variant') to give the test-writing flow an explicit feedback loop.

DimensionReasoningScore

Conciseness

The body is largely efficient — inline TypeScript only, Java/Python and spec tables delegated to references — with minor trimmable padding such as quoted spec definitions ("a container for arbitrary contextual data that can be used as a basis for dynamic evaluation") and a bottom References section that re-lists URLs already linked inline. Not a 5 because a few passages explain concepts (targeting key as 'user ID, session ID') Claude already knows; not a 3 because the excess is minor and localized.

4 / 5

Actionability

Fully executable throughout: the npm install command, InMemoryProvider configuration, typed evaluation calls with field-by-field comments, and a complete describe/beforeAll/afterAll test pattern asserting value, reason, and errorCode — copy-paste ready and covering the common cases, with the anti-patterns table giving concrete fixes. Not a 4 because no key detail is missing from the canonical flow.

5 / 5

Workflow Clarity

The install → configure → evaluate → test sequence is clear, and the checkpoints that matter (awaiting setProvider, OpenFeature.close() in afterAll) appear in the code and are reinforced by the anti-patterns table. Not a 5 because there is no explicit validate/feedback loop for, e.g., diagnosing a failing assertion; not a 3 because the sequence and its checkpoints are present and unambiguous, and the operations are non-destructive so no cap applies.

4 / 5

Progressive Disclosure

Good structure: TypeScript inline, Java/Python/spec tables in multi-language-and-spec.md, vendor patterns each in their own file with purpose statements ('bootstrap toggles + custom strategies', 'offline LocalFileHandler + default_flag_handler'), plus a References roll-up; all referenced files exist. Not a 5 because killswitch.md is only reachable via a second-level reference from feature-flag-test-matrix.md, never linked from SKILL.md itself — a minor navigation gap.

4 / 5

Total

17

/

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 strong description: explicit 'Use whenever' trigger, concrete capability list, named vendors for distinctiveness, and an explicit boundary to the LaunchDarkly skill. The only gap is a few missing natural synonyms such as 'feature toggle'.

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 scope (testing tool, assertion surfaces, languages, workflow). Not a 4 because no meaningful capability within the skill's declared scope is left uncovered.

5 / 5

Completeness

Explicitly answers both questions: "Use whenever code that reads feature flags through OpenFeature, Unleash, Flagsmith or GrowthBook needs tests" (when) and the InMemoryProvider/evaluation-details/hooks/targeting-context/test-matrix capability list (what), with concrete trigger phrases. Not a 4 because neither half is vague or merely implied.

5 / 5

Trigger Term Quality

Strong natural terms users would say: "feature flags", "OpenFeature, Unleash, Flagsmith or GrowthBook", "needs tests", and per-language names. Not a 5 because common synonyms like "feature toggle", "flag toggle", or "kill switch" are absent, leaving a few natural phrasings uncovered.

4 / 5

Distinctiveness Conflict Risk

Named vendors (OpenFeature, Unleash, Flagsmith, GrowthBook) create a clear niche, and "LaunchDarkly has launchdarkly-testing" explicitly routes the closest competing case elsewhere. Not a 4 because the boundary to the most similar skill is stated, leaving minimal conflict risk.

5 / 5

Total

19

/

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

testland/qa

Path

plugins/qa-feature-flags/skills/openfeature-sdk-testing/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.