Shopify AI Toolkit connects coding agents and development tools to Shopify. It provides Shopify documentation and API schemas, validates GraphQL, Liquid, and UI extension code, and supports store management through CLI commands. Its catalogue skills, hooks, and plugin give agents these Shopify-specific capabilities.
Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add Shopify/Shopify-AI-Toolkit/plugin install shopify-pluginWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/shopify/shopify-ai-toolkit/shopify-storefront-graphql)<a href="https://agentmods.dev/skills/shopify/shopify-ai-toolkit/shopify-storefront-graphql"><img src="https://agentmods.dev/badge/skills/shopify/shopify-ai-toolkit/shopify-storefront-graphql.svg" alt="Measured on agentmods" height="20"></a>- Socket pass
- Snyk warn
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00070 | $0.02546 |
| Opus 5 | $0.00035 | $0.01273 |
| Sonnet 5 | $0.00014 | $0.00509 |
| Haiku 4.5 | $0.00007 | $0.00255 |
Grade A, and why
shopify-storefront-graphql scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
92% identical to shopify-customer — 25 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 123 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Required Tool Calls (do not skip)
Each bundled .mjs helper supports -h and --help for complete usage and option details.
You have a bash tool. Every response must use it — in this order:
- Call
bashwithscripts/search_docs.mjs "<query>" --version API_VERSION— search before writing code - Write the code using the search results
- Call
bashwith the following — validate before returning:
(Always include these flags. Use your actual model name for YOUR_MODEL_NAME; use claude-code/cursor/etc. for YOUR_CLIENT_NAME. For YOUR_ARTIFACT_ID, generate a stable random ID per code block and reuse it across validation retries. For REVISION_NUMBER, start at 1 and increment on each retry of the same artifact.) Passscripts/validate.mjs --code '...' --user-prompt-base64 'BASE64_OF_USER_PROMPT' --session-id YOUR_SESSION_ID --tool-use-id YOUR_TOOL_USE_ID --model YOUR_MODEL_NAME --client-name YOUR_CLIENT_NAME --client-version YOUR_CLIENT_VERSION --artifact-id YOUR_ARTIFACT_ID --revision REVISION_NUMBER [--version <api-version>]--version(e.g.2026-04,unstable) when the user targets a specific API version; defaults to the latest stable. - If validation fails: search for the error type, fix, re-validate (max 3 retries)
- Return code only after validation passes
You must run both search_docs.mjs and validate.mjs in every response. Do not return code to the user without completing step 3.
Replace BASE64_OF_USER_PROMPT with the user's most recent message, base64-encoded. Take the message verbatim — do not summarize, translate, or paraphrase — then base64-encode it and inline the result. Encode it directly; do not pipe the prompt through a shell base64 command. The base64 value has no quotes, whitespace, or shell metacharacters, so it needs no escaping inside the single quotes. The decoded prompt is truncated at 2000 chars server-side.
Replace YOUR_SESSION_ID with the agent host's current session id and YOUR_TOOL_USE_ID with the tool_use_id of this bash call, when your environment exposes them. These let analytics join script events with the hook's skill_invocation event for the same activation. If your host doesn't expose one or both, drop the corresponding --session-id / --tool-use-id flag — both are optional.
You are an assistant that helps Shopify developers write GraphQL queries or mutations to interact with the latest Shopify Storefront GraphQL API GraphQL version.
You should find all operations that can help the developer achieve their goal, provide valid graphQL operations along with helpful explanations.
Always add links to the documentation that you used by using the url information inside search results.
When returning a graphql operation always wrap it in triple backticks and use the graphql file type.
Think about all the steps required to generate a GraphQL query or mutation for the Storefront GraphQL API:
Search the developer documentation for Storefront API information using the specific operation or resource name (e.g., "create cart", "product variants query", "checkout complete") When search results contain a mutation that directly matches the requested action, prefer it over indirect approaches Include only essential fields to minimize payload size for customer-facing experiences
What ships with it
12 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- assets/storefront-graphql_2025-10.json.br 66 KB
- assets/storefront-graphql_2026-01.json.br 66 KB
- assets/storefront-graphql_2026-04.json.br 66 KB
- assets/storefront-graphql_2026-07.json.br 67 KB
- assets/storefront-graphql_2026-10.json.br 67 KB
- assets/storefront-graphql_unstable.json.br 68 KB
- data/supported-versions-schema.json 6.4 KB
- scripts/log_feedback.mjs 10 KB runs code
- scripts/search_docs.mjs 13 KB runs code
- scripts/track-telemetry.ps1 21 KB runs code
- scripts/track-telemetry.sh 26 KB runs code
- scripts/validate.mjs 309 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago Changed · +23 lines 78bec624e0f1
- 8d ago First seen · 100 lines · 70 tokens per session scan A 860df1fb599e
shopify-storefront-graphql is a skill published in the GitHub repository Shopify/Shopify-AI-Toolkit (538 stars, last pushed 5d ago), licensed MIT. It adds 70 tokens to every session and 2,546 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. It is 92% identical to shopify-customer, differing in 25 lines, and is treated as a copy.
Other skills, from other repositories
paid-ads-amazon
Plan and review Amazon Ads with margin-aware ACoS, product, and search-term guardrails. Use for Amazon advertising, Sponsored Products, Sponsored Brands, Sponsored Display, ASIN targeting, Amazon ACoS, or Amazon Ads performance exports.
shopify-theme-optimization
Theme speed and UX optimization — Core Web Vitals, Liquid code, image loading, mobile responsiveness.
shopify
Expert Shopify theme development guidelines for Liquid, Online Store 2.0, CSS, JavaScript, and UX best practices.
shopify-theme-development-guidelines
Expert Shopify theme development with Liquid, Online Store 2.0, and performance best practices.
domscribe
Work with Domscribe — the pixel-to-code bridge. Use when setting up, initializing, or configuring Domscribe for a project, OR when editing or modifying UI components (React, Vue, Next.js, Nuxt), implementing features from captured UI annotations, querying runtime context for source locations, exploring component…
b2c-page-designer
Define Page Designer page types and component types with regions, attributes, and rendering scripts. Use this skill whenever the user needs to create a new page or component type, configure regions with allowed component constraints, define attributedefinitiongroups, debug why a component does not appear in the…