CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/boundary-value-generator

Generates boundary-value test cases from typed input specifications - for each input field, produces the canonical 6-point set (one below, at, and above the lower bound; one below, at, and above the upper bound) plus equivalence-class representatives. Emits cases as parameterized test inputs (pytest @parametrize / Jest test.each / xUnit InlineData / etc.). Use when a function or endpoint has numeric / string-length / collection-size constraints and the team needs systematic edge-case coverage.

73

Quality

92%

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

80%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The content is highly actionable and token-efficient, with executable examples across four test runners and a concrete input-spec contract. Its main gaps are the absence of explicit validation/feedback checkpoints in the workflow and a monolithic single-file structure with no progressive disclosure into bundle reference files.

Suggestions

Add an explicit validation/verification checkpoint to the workflow (e.g., a Step 4: 'Verify each emitted case satisfies its stated constraint and that regex-violating / invalid-enum cases actually assert rejection') to lift workflow_clarity to 3.

Split the four runner-native code examples (pytest / Jest-Vitest / xUnit / JUnit 5) into a bundled references file such as references/runner-formats.md and link to it from Step 3, keeping SKILL.md as a concise overview — this improves progressive_disclosure and reduces inline bulk.

Add a short 'verify output' checklist near Step 3 confirming determinism (seeded generators) and that exactly six boundary points per bounded field were emitted, providing the error-recovery feedback loop the rubric rewards.

DimensionReasoningScore

Conciseness

The body is dense and actionable with no padding of concepts Claude already knows — it does not explain what pytest/Jest is or what boundary value analysis means beyond a one-line ISTQB link. Every section (input spec table, per-type rules, four runner code blocks, anti-patterns, limitations) earns its tokens, matching the 'lean and efficient; every token earns its place' anchor.

3 / 3

Actionability

Provides fully executable, copy-paste-ready code in pytest, Jest/Vitest, xUnit, and JUnit 5, plus a concrete YAML input spec and literal boundary values (17, 18, 19, 119, 120, 121). This matches the score-3 anchor of 'fully executable code/commands; specific examples; copy-paste ready' rather than pseudocode.

3 / 3

Workflow Clarity

A clear Step 1 → Step 2 → Step 3 sequence is present (capture spec → apply per-type rules → emit runner-native format), but there are no explicit validation checkpoints or feedback loops. It is not the score-3 level, which requires 'explicit validation steps; feedback loops for error recovery', and better than score 1 because the sequence is unambiguous.

2 / 3

Progressive Disclosure

The body is well-organized into clear sections with one-level ISTQB and sibling-skill links, but it is a single monolithic file with no bundle reference files and all four runner-specific code examples kept inline rather than split out. This fits the score-2 anchor of 'some structure but ... content that should be separate is inline' rather than the score-3 'content appropriately split' anchor.

2 / 3

Total

10

/

12

Passed

Description

100%

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: third-person voice, concrete actions, natural trigger terms, and an explicit 'Use when ...' clause that clearly delineates a distinctive niche. It cleanly satisfies every dimension without verbosity or over-claiming.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'Generates boundary-value test cases', 'produces the canonical 6-point set ... plus equivalence-class representatives', and 'Emits cases as parameterized test inputs (pytest @parametrize / Jest test.each / xUnit InlineData / etc.)' — matching the score-3 anchor that lists several specific concrete actions rather than vague language.

3 / 3

Completeness

Explicitly answers both 'what' (generates the 6-point boundary set plus equivalence-class reps, emitted as parameterized test inputs) and 'when' via the explicit 'Use when a function or endpoint has numeric / string-length / collection-size constraints ...' clause, satisfying the score-3 anchor for clearly answering both what AND when.

3 / 3

Trigger Term Quality

Natural terms a developer/QA engineer would actually say are well covered: 'boundary-value test cases', 'numeric / string-length / collection-size constraints', 'parameterized test inputs', and 'systematic edge-case coverage'. Not merely technical jargon; these are the words a user would utter when requesting this skill.

3 / 3

Distinctiveness Conflict Risk

The niche is precise — boundary-value generation from typed input specs into runner-native parameterized tests — with distinctive triggers unlikely to fire for sibling skills like pairwise-test-case-generator or negative-test-generator, matching the score-3 'clear niche with distinct triggers' anchor.

3 / 3

Total

12

/

12

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.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

Table of Contents