Shopify settled a long-running argument in a single community forum reply.
The argument was about which file AI agents should read when they look at a storefront. For most of last year the consensus answer was /llms.txt — the “instructions for the model” file proposed in late 2024. Competing candidates floated alongside it: agents.md, llms-full.txt, various .well-known schemes. None of them mattered enough to win unless a platform with real distribution picked one.
Shopify picked one. On production stores, /agents.md now declares itself the canonical agent-facing description of the store, and /llms.txt and /llms-full.txt serve the same content as mirrors of it — /llms.txt says so in its own text. Three files, one source of truth, and the platform has named which one it is.
Shopify runs millions of live storefronts. When a platform with that distribution standardises on a filename, the ecosystem follows within a quarter. The protocol war between /llms.txt and /agents.md is now effectively settled on the platform where most consumer commerce happens. If you’re building agent-side shopping tools, you write your fetcher against that path. If you’re building brand-side agent visibility, the same.
Probe well-known Shopify stores and the pattern is consistent: /agents.md serves real content and calls itself canonical, /llms.txt and /llms-full.txt mirror it, and /.well-known/ucp returns 200. Shopify has done the structural work.
The actually-interesting half of the story
Pull the default /agents.md from a few stores and you find the same thing: the template is byte-identical across them. Five sections, fixed wording, and just two merchant variables substituted in — the store’s name and its domain. Everything else, including the policy links, is generated from those. The biggest section by word count routes personal shopping agents through Shop Pay. There’s a UCP block with discovery endpoints, a read-only browsing section, and a closing block advertising Shopify itself.
There is exactly zero product authority. Zero brand voice. Zero curated answers about what this brand sells, what’s distinctive about it, or what an agent should say when a shopper asks. A clothing brand, a supplements brand and a homewares brand all ship the same agents.md the day they go live.
The platform has made the file canonical. The brand still has to fill it. Most won’t — which is precisely the opportunity for the ones that do.
The twenty-minute fix
You override the file through your active theme — check Shopify’s current theme docs for the exact template name, since the agent-facing surfaces are still moving. The four things any agents.md needs that the default omits:
- An identity statement an agent could quote verbatim — “we make X, since Y, distinctive because Z”, one paragraph.
- A curated list of canonical product and category URLs an agent should treat as authoritative.
- Two or three FAQs with specific answers — the questions shoppers actually ask before buying, answered in the brand’s words.
- A “what to say if asked” block written in your actual voice rather than Shopify’s marketing copy.
Drafting takes twenty minutes; shipping takes about an hour if your theme is straightforward. It will move the model’s output more than another month of paid social.
A reasonable test: an agent asked “which is the best X for Y?” should be able to write a paragraph about your brand that you would publish on your own homepage. If it can’t, you have an agents.md problem — whether or not you’ve thought about it in those terms yet.
Run curl yourstore.com/agents.md this week. The default is what your customer’s assistant is reading right now. And if you’d rather the whole discovery layer — agents.md, structured data, intent-tier content — were engineered and kept in sync automatically, that’s what Geoffy does on Shopify.
See how agents read your store today: get your free GEO Score.