AgentReadyAI visibility appCaffeine & CommerceShopify agency
Caffeine and Commerce
By Dylan HuntJune 14th, 2026AIShopifyAgents md

Your Shopify agents.md Is Identical to Every Other Store (And It's Sending AI Shoppers to Shop, Not You)

Your Shopify agents.md Is Identical to Every Other Store (And It's Sending AI Shoppers to Shop, Not You)

Open your store's yourstore.com/agents.md in a browser. Then open a competitor's. If you have never customized the file, the two read almost the same, because Shopify wrote both of them from the same template. That sameness is the problem, and almost no merchant has noticed it yet.

What an AI agent actually reads

Shopify’s default vs an AgentReady agents.md

In the fileShopify defaultAgentReady
Brand story & positioning
The categories you actually sell
Why buy from you — USPs & proof
Featured products, from your live catalog
Inline FAQ — returns, warranty, sizing
UCP / MCP transaction flow & rules
Read-only browsing endpoints
Policy links
Points the buyer to…shop.appyour store
Both carry the same transaction rails, so an agent can still buy. The difference is everything above the line: the default describes no store in particular and hands the shopper to Shopify’s rails; the AgentReady file makes the case for your brand.

The default exists, and that's the trap

Since Spring 2026, Shopify generates an agents.md for every store and serves it at the domain root. It is the canonical AI-discovery file now, with /llms.txt and /llms-full.txt mirroring it. The file is always present. It is always valid. A naive check that asks "do you have an agents.md?" returns a green check for everyone.

But the default content is generic. It says the kind of thing any store could say, and it routes shopping agents to install https://shop.app/SKILL.md, Shopify's own agentic rails. That is a sensible default for the platform. It is a weak one for you. The file that is supposed to be your pitch to the machine reads like boilerplate, and it hands the agent off to Shopify's rails rather than to a reason to pick you.

We call this state Generic-default, as opposed to Distinctive (customized to your brand) or Missing (no file at all). Generic-default is the most common state and the most dangerous, because it looks like success. The light is green. Nothing is broken. You are simply saying nothing.

Identical is forgettable

Here is what sameness actually costs, stated precisely. Getting into the consideration set in the first place, showing up when someone searches a category, is mostly Shopify's Global Catalog and the quality of your product data, not this file. agents.md is the next layer. It is the brief an agent reads once it already has you in hand: when a shopper names you, when you are one of a few options it is weighing, when it is about to transact. At that moment the default gives it nothing to represent you with, and it points the agent at Shopify's shared rails. You read as interchangeable at the exact moment you most need not to.

The discovery side of this has its own fix. We wrote about it in why AI shopping shows your brand but skips your category, which is a Catalog and product-data problem: brands win their own name and miss the category searches that bring new customers. agents.md is the companion problem on the comprehension side. Even when an agent is looking right at you, a generic file tells it nothing about who you are or why you are the right answer.

It also sits next to the buy box. When several stores sell the same product, Shopify's Global Catalog clusters them and picks one offer to show on price, availability, and ratings. Your agents.md does not change that selection. What it carries is the brand case, the guarantees and the story that raw offer signals can't, for every agent interaction beyond that one head-to-head. The offer signals are the part you control least in the moment. Your file is a part you control fully.

What a real one adds, section by section

The visual above is the argument in one frame, but the rows are worth walking. The default opens with a generic line that could describe any store, then spends most of its length on protocol boilerplate and a pitch to install Shopify's shared rails. A brand-specific file front-loads what an agent needs to actually represent you:

  • A real intro. What you make, who it is for, and the proof that you are credible at it. "Aerospace-grade titanium sunglasses, 122,000 customers, 4.9 stars, lifetime warranty" tells an agent how to describe and defend you. "This store sells products" does not.
  • Your categories, in your own nouns. The agent learns the shape of your catalog without crawling it.
  • Featured products and inline answers. When a shopper asks about your return window or whether the product holds up, the agent reads the answer from the file instead of guessing or giving up.

None of that lives in the default, and all of it is the difference between an agent recommending you and an agent moving on.

Keep what the default gets right

The default is not all bad, and copying its one real strength matters. Shopify spells out the transaction path precisely: the discovery handshake at /.well-known/ucp, the MCP tool flow (search_catalog, create_cart, create_checkout, complete_checkout), and the rules an agent must follow, like human approval at payment, backing off on rate limits, and passing the buyer's country and currency. A good custom file keeps every bit of that and adds the brand layer on top. A file that reads beautifully but drops the protocol is worse than the default, because now the agent can describe you but cannot buy from you.

The part nobody warns you about

There is a quiet risk in writing this file by hand. It is published at your root and read by every agent and every person who looks, so anything you put in it is public. Paste your collections in raw and you can leak a staff discount code sitting in a collection title. Dump every collection and you expose the internal ones: your ad feed, your "coming soon" staging. List every product and an agent starts recommending your prescription-lens components as though they were sunglasses. A file built for agents has to be curated for agents. AgentReady handles that curation automatically. It redacts discount codes, drops system collections, and skips the non-shoppable components, so the public file stays clean.

The fix is one file

You override the default by creating a templates/agents.md.liquid template in your theme. It is a Liquid and Markdown file, and that single template replaces /agents.md, /llms.txt, and /llms-full.txt at once. Keep the UCP and MCP rails the default gives you, because an agent needs them to transact, then add the sections the default omits:

  • What we sell, in your own words, naming the categories and use-cases you actually serve.
  • Why buy from us: the materials, the proof, the promise that lowers a buyer's risk.
  • Featured products and your real policies, pulled from your live catalog.

Use Shopify's agents Liquid object (agents.store_name, agents.mcp_endpoint_url, agents.ucp_discovery_url, and the rest) so the transactional endpoints stay in sync with the platform. One caution: do not inline a contact email or phone number, since the file is broadly cached. The full walkthrough, with a copy-pasteable template, is in agents.md on Shopify: what it is and how to customize yours.

Check yours in ten seconds

The free AI-readiness checker reads your store the way an agent would and tells you whether your agents.md is Distinctive, Generic-default, or Missing. If you have never touched the file, expect Generic-default, the same boilerplate every other store is serving.

If it comes back generic, AgentReady turns your live catalog into a brand-specific agents.md and flags you when it drifts, so the file works for you instead of for the template. Start by seeing where you stand.

Run the checker and find out if your store reads like everyone else's.

See where your store stands

Get found and recommended by AI shopping assistants.

Run the free AI-Readiness Checker to see, in about ten seconds, how ChatGPT, Perplexity, and Google read your store today and exactly what is holding it back. Then AgentReady fixes the gaps for you, adding Schema.org structured data, an llms.txt directory, and an ongoing audit. Install free; every software feature is $29/mo.

Comments

Every comment here comes from a verified email. Write yours, confirm from your inbox, and it's live.

Loading comments…

Leave a comment

ShareXLinkedInFacebook

Written by Dylan Hunt, Founder, Caffeine and Commerce. We build Shopify stores that rank and that AI agents can read. Have a project? Get in touch.