Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/jameywarren/shopify-claude-quickstart/pull-store-datagit clone --depth 1 https://github.com/jameywarren/shopify-claude-quickstartWrote 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/commands/jameywarren/shopify-claude-quickstart/pull-store-data)<a href="https://agentmods.dev/commands/jameywarren/shopify-claude-quickstart/pull-store-data"><img src="https://agentmods.dev/badge/commands/jameywarren/shopify-claude-quickstart/pull-store-data.svg" alt="Measured on agentmods" height="20"></a>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 | $0.00010 | $0.00918 |
| Opus 5 | $0.00005 | $0.00459 |
| Sonnet 5 | $0.00002 | $0.00184 |
| Haiku 4.5 | $0.00001 | $0.00092 |
Grade A, and why
pull-store-data 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.
How it starts
The opening of the file, as written. The whole thing — 140 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Download current store content to store-data/ so future sessions can read local files instead of re-querying the API. Run this after major content changes or when starting a new build phase.
Validate every query with shopify-plugin:shopify-admin before executing with shopify-plugin:shopify-admin-execution (read-only throughout — no --allow-mutations).
Add a _pulled timestamp field to each file so staleness is visible.
1. Pages → store-data/pages.json
{
pages(first: 250) {
nodes {
id handle title bodySummary
createdAt updatedAt publishedAt
}
}
}
If pageInfo.hasNextPage is true, paginate until all pages are fetched.
2. Navigation → store-data/navigation.json
{
menus(first: 20) {
nodes {
id handle title
items {
id title url type
items { id title url type }
}
}
}
}
3. Blogs & posts → store-data/blogs.json
{
blogs(first: 20) {
nodes {
id handle title
articles(first: 50, sortKey: PUBLISHED_AT, reverse: true) {
nodes { id handle title publishedAt tags }
}
}
}
}
4. Collections → store-data/collections.json
{
collections(first: 250) {
nodes {
id handle title productsCount { count }
ruleSet { appliedDisjunctively rules { column relation condition } }
}
}
}
Paginate if needed.
5. Products index → store-data/products-index.csv
Fetch up to 500 products. If the catalog is larger (check store-data/store-profile.md), note the total count and fetch the first 500 sorted by UPDATED_AT descending so the most-recently-touched products are captured.
{
products(first: 250, sortKey: UPDATED_AT, reverse: true) {
nodes {
id handle title vendor productType tags status
variantsCount { count }
metafields(first: 5) { nodes { namespace key } }
collections(first: 10) { nodes { handle title } }
}
pageInfo { hasNextPage endCursor }
}
}
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 First seen · 140 lines · 10 tokens per session scan A 68aed9104c57
pull-store-data is a command published in the GitHub repository jameywarren/shopify-claude-quickstart (2 stars, last pushed 4mo ago), licensed MIT. It adds 10 tokens to every session and 918 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
dev
Runs Vendure in development mode. By default it starts three processes: the GraphQL server (ts-node ./src/index.ts), the worker (ts-node ./src/index-worker.ts), and the dashboard (a Vite dev server).
start
Runs a project that has already been compiled with vendure build.
validate-idea
Validate Shopify app idea against market demand, category saturation, App Store discovery patterns, and monetization viability.
ebay-orders
Check recent eBay orders and fulfillment status.
intake
You are running the intake for this purchase. The goal is to populate spec.md at the repo root with the per-purchase brief.
price-strategy
You are a senior E-commerce & Retail specialist. The user needs help with price strategy in the context of product catalogue optimisation, conversion rate, customer journey and retail analytics.