CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/graphql-schema-regression

Use when a pull request changes a GraphQL schema, or a Federation supergraph may have drifted. Diffs the schemas with graphql-inspector, classifies changes as breaking, dangerous or safe, applies rules such as deprecated-field removal and usage checks, and gates CI.

Quality

87%

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

75%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, largely actionable single-file skill: concrete CLI commands, a rules table, a complete CI workflow, and sensible Federation-specific guidance with a composition validation step. The main gaps are the unshown creation of per-subgraph base schemas, a signature-only custom-rule example, and the absence of failure-path guidance when breaking changes are detected.

Suggestions

Show how the per-subgraph base schemas are produced (e.g., a git show/cat-file step writing /tmp/<subgraph>-base), since the Federation loop currently diffs against files whose creation is never demonstrated.

Replace the custom-rule prose with a minimal executable JS module (module.exports = ({ changes }) => ...) so the --rule './rules/our-custom.js' example is copy-paste ready.

Add a short 'When the gate fails' note covering the remediation path (fix the breaking change vs. suppress via suppressRemovalOfDeprecatedField / a custom rule), and trim the repeated '(Per [gqi-diff][diff])' citation parentheticals.

DimensionReasoningScore

Conciseness

The body is largely lean — commands and tables with minimal padding — but contains minor trimmable instances: repeated "(Per [gqi-diff][diff].)" citation parentheticals, a three-bullet 'When to use' section that restates the description, and orientation prose ("GraphQL Inspector is a schema-management CLI from The Guild...") that slightly over-explains. Fits 'efficient; minor instances of over-explanation that could be trimmed' rather than the every-token-earns-its-place anchor at 5.

4 / 5

Actionability

Quotes: "npm install --global @graphql-inspector/cli", "graphql-inspector diff schema.old.graphql schema.new.graphql", a full copy-paste GitHub Actions YAML with base-schema extraction, and a rules table with flags — mostly executable and concrete. Not 5 because the Federation loop diffs against "/tmp/${subgraph#subgraphs/}-base" files whose creation is never shown, and the custom-rule section gives only the export signature ("exports a function ({ changes }) => filteredChanges") with no actual JS module example — minor gaps in otherwise copy-paste-ready guidance.

4 / 5

Workflow Clarity

The flow (install → diff locally or against prod introspection → apply rules → CI gate → per-subgraph Federation diff) is clearly sequenced, with the exit-code gate stated explicitly ("exits non-zero when breaking changes exist... the gate is the exit code") and a composition validation step ("rover supergraph compose... to confirm the composition still produces a valid supergraph"). Not 5 because there is no guidance for the failure path — what to do when breaking changes are reported (remediate vs. suppress with which rule) is left implicit. This is a read-only diff/gate skill, so the destructive/batch validation cap at 3 does not apply.

4 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/), and the single-file body is well organized with clear sections, tables, and a References list of one-level-deep external links ([overview], [diff]) plus named sibling skills. Fits 'good structure; most content appropriately placed; minor organization gaps' — the ~35-line CI YAML and Federation details could arguably live in a references/ file, and the under-50-lines simple-skill exception for a score of 5 does not apply to this ~190-line body.

4 / 5

Total

16

/

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 third-person 'Use when...' triggers tied to concrete scenarios (PR schema changes, supergraph drift), followed by a precise, comprehensive action list naming the tool and its rule semantics. The only gap is modest synonym/extension coverage (e.g., .graphql, SDL, schema diff) in the trigger terms.

DimensionReasoningScore

Specificity

Quotes: "Diffs the schemas with graphql-inspector", "classifies changes as breaking, dangerous or safe", "applies rules such as deprecated-field removal and usage checks", "gates CI" — four concrete, third-person actions covering the full workflow (diff → classify → rule-apply → gate), matching the comprehensive-coverage anchor. Not 4 because no meaningful capability of the skill is left uncovered by the action list.

5 / 5

Completeness

Explicitly answers 'when' ("Use when a pull request changes a GraphQL schema, or a Federation supergraph may have drifted") and 'what' (diffs with graphql-inspector, classifies changes, applies rules, gates CI) with concrete trigger conditions. Matches the anchor requiring both what and when with concrete trigger phrases; not 4 because the 'when' clause is explicit and specific rather than merely present.

5 / 5

Trigger Term Quality

Quotes: "pull request changes a GraphQL schema", "Federation supergraph may have drifted", "breaking, dangerous or safe" — natural phrases a user would say, but common variations like ".graphql", "SDL", "schema diff", or "breaking changes" as a standalone phrase are absent. Fits the 'good keyword coverage; a few natural terms missing' anchor rather than the comprehensive synonyms-and-extensions anchor at 5.

4 / 5

Distinctiveness Conflict Risk

Quotes: "a pull request changes a GraphQL schema", "Federation supergraph", "graphql-inspector" — a clear GraphQL-schema-diffing niche with named tooling, distinct from generic linting or REST/OpenAPI diffing skills. Triggers are GraphQL-specific enough that conflict risk is minimal; the neighboring anchor 4 (minor overlap with closely related skills) is a weaker fit since GraphQL vs REST surfaces are disjoint.

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.

Reviewed

On this page