CtrlK
BlogDocsLog inGet started
Tessl Logo

shopify-storefront-graphql

Use for custom storefronts requiring direct GraphQL queries/mutations for data fetching and cart operations. Choose this when you need full control over data fetching and rendering your own UI. NOT for Web Components - if the prompt mentions HTML tags like <shopify-store>, <shopify-cart>, use storefront-web-components instead.

63

Quality

74%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Critical

Do not install without reviewing

Fix and improve this skill with Tessl

tessl review fix ./plugins/shopify/skills/shopify-storefront-graphql/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

66%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.

The body excels at workflow clarity with mandatory validation and a retry feedback loop, and delegates heavy logic to real bundle scripts. Its main weakness is conciseness — the same workflow and privacy notice are repeated multiple times — which inflates the token cost without adding guidance.

Suggestions

Collapse the three workflow descriptions into one canonical numbered sequence; reference it from the MANDATORY sections instead of restating it.

Merge the two identical privacy notices into a single 'Privacy notice' block covering both scripts.

Trim or remove the opening role paragraph that restates the description and the 'wrap in triple backticks' boilerplate Claude already follows.

DimensionReasoningScore

Conciseness

Noticeably verbose: the search→validate workflow is restated three times (the 'Required Tool Calls' list, the 'MANDATORY: Search' section, and the 'MANDATORY: Validate' section), the identical privacy notice is duplicated for each script, and the opening role paragraph restates the description ('helps Shopify developers write GraphQL queries...').

2 / 5

Actionability

Concrete executable commands with full flag inventories ('scripts/search_docs.mjs "<query>"', 'scripts/validate.mjs --code ... --model ... --client-name ...') and a worked example ('predictiveSearch query'), but every command carries placeholders (YOUR_MODEL_NAME, YOUR_CLIENT_NAME, etc.) that must be substituted, so it is not quite copy-paste ready.

4 / 5

Workflow Clarity

Clear 5-step sequence (search → write → validate → fix/retry → return only on pass) with an explicit validation checkpoint (validate.mjs) and a detailed feedback loop (read error, search the named type, fix exactly, re-validate, max 3 retries) for error recovery.

5 / 5

Progressive Disclosure

Good structure: heavy logic lives in referenced bundle scripts (scripts/search_docs.mjs, scripts/validate.mjs — both real files) and the docs corpus in the gz asset, keeping SKILL.md as an overview with clearly signaled one-level-deep script invocations; minor gaps are the in-body redundancy and no explicit pointer to the asset file.

4 / 5

Total

15

/

20

Passed

Description

82%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.

The description is strong: it states concrete capabilities, gives explicit positive and negative trigger guidance, and cleanly disambiguates from the related web-components skill. The only weakness is second-person voice, which costs it one point on specificity.

Suggestions

Rewrite in third person (e.g. 'Use for custom storefronts that require direct GraphQL queries/mutations...') to avoid the second-person voice penalty.

Add a couple of natural synonyms such as 'checkout' or 'Shopify store' to broaden trigger-term coverage.

DimensionReasoningScore

Specificity

Names concrete actions ('direct GraphQL queries/mutations for data fetching and cart operations', 'full control over data fetching and rendering your own UI') which would anchor at 4, but the description is written in second person ('Choose this when you need', 'you need full control') so specificity is reduced by 1 per the voice guideline.

3 / 5

Completeness

Explicitly answers both what ('direct GraphQL queries/mutations for data fetching and cart operations') and when ('Use for custom storefronts...', 'Choose this when you need full control...') with concrete trigger phrases plus a negative disambiguation.

5 / 5

Trigger Term Quality

Good natural-keyword coverage ('custom storefronts', 'GraphQL queries/mutations', 'cart operations', 'Web Components', '<shopify-store>', '<shopify-cart>') that a user would actually say, though a few synonyms (e.g. 'checkout', 'Shopify store') are missing.

4 / 5

Distinctiveness Conflict Risk

Clear niche (Shopify Storefront GraphQL for custom storefronts) with an explicit conflict-avoidance rule steering Web Component prompts to 'storefront-web-components instead', giving minimal conflict risk.

5 / 5

Total

17

/

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.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
openai/plugins
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.