CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/contract-compatibility-gate

Use when a deploy should be blocked by any incompatible API contract across protocols. Combines Pact can-i-deploy, oasdiff for OpenAPI, graphql-inspector for GraphQL and buf breaking for Protobuf into one go/no-go CI step with severity thresholds and a reason per finding.

Quality

86%

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

78%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, information-dense skill body with a coherent five-step workflow, concrete normalization tables, and excellent use of a single well-signaled reference file. The main gaps are minor: inconsistent severity mapping coverage between the table and worked example, and deferred/omitted parsing details for two of the four tools.

Suggestions

Add the pact pass case (can-i-deploy exit 0 -> info) to the Severity normalization table so it matches the worked example's "can-i-deploy-yes" record.

Replace the "# ... (omitted for brevity; same shape)" graphql-inspector and buf blocks in the reference implementation with complete parsing code, or explicitly justify the omission.

State how the gate handles a missing or unparseable per-tool artifact (e.g., treat as blocker, skip with warning), since the workflow currently only covers well-formed artifacts.

DimensionReasoningScore

Conciseness

The body is dense and information-bearing (compact tables for verdict surfaces, severity normalization, and record fields) with no padding about concepts Claude already knows. Minor trimmable redundancy keeps it below 5: the Overview framing prose, the worked example re-demonstrating the severity table, and the References section re-listing links already cited inline.

4 / 5

Actionability

Mostly executable guidance: a concrete record-shape JSON example, a complete severity-mapping table, and a runnable gate_decision function. Gaps: graphql-inspector and buf parsing are deferred to the reference (whose implementation is "omitted for brevity"), and the pact pass case ("can-i-deploy-yes" -> info) appears only in the worked example, not in the severity normalization table, so mappings are not fully consistent.

4 / 5

Workflow Clarity

The five numbered 'How to use' steps are clearly sequenced with each step cross-linked to its section, and the worked example runs end to end with explicit remediation ("To ship, the provider restores the removed response and field, or marks each finding ratchet: true"). Minor validation gap: no stated handling for a missing or unparseable per-tool artifact beyond the 'if: always()' upload note, which keeps it below the level-5 anchor.

4 / 5

Progressive Disclosure

Clear overview structure with implementation details (gate script, CI wiring, artifact format) appropriately split into a single one-level-deep reference, references/gate-implementation-and-ci.md, which exists in the bundle and is clearly signaled via markdown links from both 'How to use' and 'References'. The body keeps only the conceptual model, matching the well-signaled one-level-deep anchor.

5 / 5

Total

17

/

20

Passed

Description

88%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 with an explicit 'Use when' trigger, concrete named tools, and specific outputs. Its only weaknesses are a few missing natural trigger synonyms and slight overlap risk with the per-protocol tool skills it coordinates.

DimensionReasoningScore

Specificity

The description names four concrete tools ("Pact can-i-deploy, oasdiff for OpenAPI, graphql-inspector for GraphQL and buf breaking for Protobuf") and multiple concrete actions ("one go/no-go CI step", "severity thresholds", "a reason per finding"), giving comprehensive coverage of what the skill does. Score 4 would require minor coverage gaps, which are absent.

5 / 5

Completeness

Both parts are explicit: "Use when a deploy should be blocked by any incompatible API contract across protocols" answers when with concrete trigger phrases, and "Combines ... into one go/no-go CI step with severity thresholds and a reason per finding" clearly answers what. Not 4, because the 'when' clause is specific rather than improvable.

5 / 5

Trigger Term Quality

Good natural keyword coverage: "deploy", "blocked", "incompatible API contract", "go/no-go CI", plus all four tool names users would mention. A few common variations are missing ("breaking change", "backward compatibility", "schema diff"), so it falls just short of the comprehensive-synonyms anchor at 5.

4 / 5

Distinctiveness Conflict Risk

The multi-protocol framing ("across protocols") plus the four named tools carve a clear niche distinct from any single-tool skill. Minor overlap risk remains: a user naming only "Pact" or "oasdiff" could match this gate instead of the per-tool skills, fitting the 'minor overlap with closely related skills' anchor.

4 / 5

Total

18

/

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