CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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.

65

Quality

82%

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

SKILL.md
Quality
Evals
Security

Quality

Content

73%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 delivers a fully sequenced, validated workflow with executable commands and a strong error-recovery loop — its best quality. Its weakness is redundancy: the same search/validate instructions appear three times, and two near-identical privacy notices pad the tail, which inflates token cost without adding guidance.

Suggestions

Consolidate the three statements of the search/validate workflow into one canonical section (the numbered "Required Tool Calls" list), letting the MANDATORY sections reference it or hold only the retry-loop details and the example command.

Merge the two privacy notices into a single note covering both scripts ("scripts/search_docs.mjs and validate.mjs report query/response text, model/client identifiers, and validation context to Shopify..."), recovering several lines.

Add one short worked example showing a search result being turned into a wrapped ```graphql block with a documentation link, to close the actionability gap between the search step and the returned code.

DimensionReasoningScore

Conciseness

The core search → write → validate → retry workflow is stated three times (the numbered "Required Tool Calls" list, then again in each "MANDATORY" section), and the two privacy notices duplicate each other for ~8 lines. Nothing explains concepts Claude already knows, so it's above anchor 2's padded-concept-explanation profile, but the repetition is more than the 'minor instances' of anchor 4.

3 / 5

Actionability

Concrete, runnable commands are given for both scripts, including a worked search example ("scripts/search_docs.mjs \"predictiveSearch query\" ...") and a full validate invocation with each flag's purpose explained. Not anchor 5: the validate command relies on placeholder substitution (YOUR_MODEL_NAME, YOUR_ARTIFACT_ID, REVISION_NUMBER) and there is no worked example showing how search results translate into a final GraphQL operation.

4 / 5

Workflow Clarity

The 5-step sequence (search → write → validate → retry → return) is explicitly ordered with a hard validation gate ("Do not return code to the user without completing step 3"), an error-driven feedback loop (search the named type, fix exactly the reported error, re-validate), a bounded retry count, and an escalation path ("after 3 failures, return the best attempt with an explanation"). This matches the anchor 5 example's structure point for point.

5 / 5

Progressive Disclosure

Both referenced bundle files (scripts/search_docs.mjs, scripts/validate.mjs) exist and the large GraphQL schema data is appropriately kept out of the body as assets/storefront-graphql_2026-04.json.gz consumed by validate.mjs. Structure is good with clear section headers, but the body is ~70 lines with the workflow split across three interleaved sections rather than one clean overview, so it falls short of anchor 5's 'clear overview with well-signaled references' (and exceeds the 50-line simple-skill exception).

4 / 5

Total

16

/

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.

A strong description that clearly states what the skill does, when to choose it, and explicitly routes Web Component prompts to the sibling skill. Its main flaws are the second-person phrasing in the trigger clause ("when you need") and missing common synonyms like "Hydrogen" or "Storefront API" in the trigger terms.

Suggestions

Rewrite the trigger clause in third person, e.g. "Choose when the developer needs full control over data fetching and rendering a custom UI", to match the imperative style of the first sentence and avoid the second-person penalty.

Add commonly used synonyms such as "Hydrogen", "headless storefront", or "Storefront API" to broaden natural trigger coverage.

DimensionReasoningScore

Specificity

The description names the domain ("custom storefronts") and several concrete actions ("direct GraphQL queries/mutations for data fetching and cart operations", "rendering your own UI"), which clears anchor 4's bar of several specific actions — but the second sentence's "Choose this when you need full control" is second-person voice, so per the judging guideline the score is reduced by 1. It sits above anchor 3 ('1-2 concrete actions') on substance even after the penalty, but the voice violation keeps it from anchor 4.

3 / 5

Completeness

Both what ("direct GraphQL queries/mutations for data fetching and cart operations") and when ("Choose this when you need full control over data fetching and rendering your own UI") are explicitly stated with concrete trigger phrasing. It even adds an explicit negative trigger ("NOT for Web Components"), matching the anchor 5 example's completeness.

5 / 5

Trigger Term Quality

Natural trigger phrases are present: "custom storefronts", "GraphQL", "queries/mutations", "cart operations", "data fetching", plus the Web Component tags "<shopify-store>", "<shopify-cart>" — good coverage users would actually say. Not anchor 5 because common variations a user might say ("Hydrogen", "headless", "Storefront API") are missing.

4 / 5

Distinctiveness Conflict Risk

It carves out a clear niche (direct GraphQL vs. Web Components) and explicitly disambiguates against the sibling skill: "if the prompt mentions HTML tags like <shopify-store>, <shopify-cart>, use storefront-web-components instead". This is stronger than anchor 4's 'minor overlap risk' — conflict with the sibling skill is actively pre-empted.

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.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

openai/plugins

Path

plugins/shopify/skills/shopify-storefront-graphql/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.