agents.md for stores, v0.2

Status: draft for public comment. Published 2026-10-28. Maintained by Yarvi.

1. What this is

An online store publishes /agents.md so an AI agent shopping on someone's behalf can learn the facts it otherwise has to guess: what the store sells, where it ships, how returns work, how sizes run, and whether it offers a direct endpoint for agents. The file is Markdown with a YAML front matter block. The front matter carries fields a program can read. The body carries plain-language instructions a model can read.

Shopify already serves a default /agents.md on most storefronts. That default is generic text with no store-specific facts. A v0.2 file keeps the same path and the same Markdown body, and adds the front matter.

This is not the AGENTS.md file that coding agents read in a software repository. Same filename, different audience: that one tells a coding agent how to work in a codebase, this one tells a shopping agent about a store.

2. Where it lives

3. File format

---
agents_md_version: "0.2"
brand: Hillside Olive Co.
canonical_url: https://hillside-olive.example
last_updated: "2026-10-28"
returns_window_days: 30
returns_policy_url: https://hillside-olive.example/policies/refund-policy
---

# Hillside Olive Co. for agents

Plain-language guidance for agents goes here.

4. Fields

Types: string, url (absolute, https only), int (whole number, 0 or more), bool, date (YYYY-MM-DD), email, currency (ISO 4217, such as USD), range ([fastest, slowest], two ints), array (list of strings).

Status: stable fields keep their name and type until 1.0. Provisional fields may change in 0.3.

Who reads these fields. As of 2026-10-28, no AI shopping agent (ChatGPT, Perplexity, Claude, Gemini or any other) has announced that it reads this front matter. The body is ordinary Markdown, so any agent that fetches /agents.md today reads it as text. The "Use" column says what each field is for; the spec will list confirmed consumers per field as they announce support.

4.1 Core

Field Type Required Example Use Status
agents_md_version string yes "0.2" Which version of this spec the file follows. stable
brand string yes Hillside Olive Co. The brand name as shoppers know it. stable
description string no Single-estate olive oil from one grove in Paso Robles. One or two plain sentences an agent can quote when it introduces the store. stable
canonical_url url yes https://hillside-olive.example The store's main origin. An agent compares it with where it found the file to confirm it is on the official store. stable
last_updated date yes "2026-10-28" When a person last confirmed the file is accurate. Older than a year draws a validator warning. stable
contact_email email no agents@hillside-olive.example Where an agent operator reports a problem with this file or the store's agent endpoints. stable
categories array no [food, pantry] What the store sells, in lowercase words. Turns on the category checks in section 5. provisional

4.2 Catalog

Field Type Required Example Use Status
products_feed_url url no https://hillside-olive.example/products.json A machine-readable product list, so an agent doesn't have to crawl every page. stable
product_schema_version string no schema.org/Product Which product vocabulary the feed and product pages use. stable
inventory_status_url url no https://hillside-olive.example/inventory.json Where to check stock before recommending an item. provisional
pricing_currency currency no USD The currency the store's prices are shown in. stable
member_pricing_available bool no false true if signed-in or member prices differ from what an agent sees. Agents quote the public price. stable

4.3 Policy

Field Type Required Example Use Status
returns_window_days int no 30 Days after delivery a customer can start a return. stable
returns_policy_url url no https://hillside-olive.example/policies/refund-policy The full returns policy, for the exceptions a number can't carry. stable
warranty_policy_url url no https://hillside-olive.example/pages/guarantee Warranty or guarantee terms, if the store offers any. stable
shipping_regions array no [US, CA] ISO 3166-1 alpha-2 country codes the store ships to. stable
shipping_time_days_range range no [2, 5] Typical business days from order to delivery. stable

4.4 Sizing and variants

Field Type Required Example Use Status
sizing_matrix_url url no https://brookline-apparel.example/pages/size-chart A size chart an agent can use to pick a size. Expected when categories includes apparel or footwear. stable
variant_schema_version string no schema.org/ProductGroup How variants such as size and color are modeled in the feed and on product pages. provisional
color_matrix_available bool no true true if each color is its own variant with its own images and stock. provisional

4.5 Ingredients and allergens

For food, drink and supplements. Text matters here: an ingredient list that exists only inside a product photo is invisible to most agents.

Field Type Required Example Use Status
ingredients_available bool no true true if every product page lists full ingredients in text. stable
allergens_list_url url no https://hillside-olive.example/pages/allergens One page listing allergens across the catalog. stable
nutrition_facts_url url no https://hillside-olive.example/pages/nutrition Nutrition facts in text. provisional

4.6 Agent-only

Fields that only matter to software acting for a shopper. All provisional in 0.2.

Field Type Required Example Use Status
agent_promotions_available bool no false true if some promotions apply only to orders placed through an agent. provisional
agent_api_endpoint url no https://hillside-olive.example/api/mcp Where an agent can call the store directly, for example an MCP server. provisional
supported_mcp_tools array no [search_catalog, get_product] Tool names the endpoint exposes, so an agent knows what it can do before connecting. provisional
rate_limit_requests_per_minute int no 60 The request rate an identified agent can expect before it is throttled. provisional

5. Consistency rules

A validator checks fields against each other, not only one at a time. In 0.2:

Rule Level
shipping_time_days_range lists the fastest time first. error
supported_mcp_tools or rate_limit_requests_per_minute without agent_api_endpoint. error
last_updated in the future. error
returns_window_days without returns_policy_url. warning
color_matrix_available without variant_schema_version. warning
canonical_url on a different host than the one serving the file (ignoring www.). warning
categories includes apparel or footwear and there is no sizing_matrix_url. warning
categories includes food, pantry, beverage, supplements or wellness, and ingredients_available is not true or allergens_list_url is missing. warning
last_updated more than 365 days old. warning
A field that isn't in this spec and doesn't start with x-. warning

6. Versioning and deprecation

7. For agents reading this file

8. Changes