# llms.txt and skills

> The documents an agent reads before it calls anything, the Markdown copy of every page, and the signals a shop states about its content.

Source: https://storeware.ai/docs/agents/llms-and-skills

## llms.txt

`llms.txt` is Markdown at a fixed path: what a site is, and where the machine-readable parts of it are.

| Address | What it covers |
| --- | --- |
| [`https://storeware.ai/llms.txt`](https://storeware.ai/llms.txt) | The platform, for a language model. |
| [`https://storeware.ai/docs/llms.txt`](https://storeware.ai/docs/llms.txt) | Every page of these docs. [`llms-full.txt`](https://storeware.ai/docs/llms-full.txt) is all of them in one file. |
| `https://<shop>/llms.txt` | One shop. |

A shop's `llms.txt` is a directory, not a catalogue. It names the shop and what it sells, then lists, in sections:

- **Buying from this shop:** the documents an agent uses to buy there, such as its UCP profile, its ACP discovery document, its skills index and its A2A agent card, each listed only when the shop serves it.
- **Collections** and **Products**, as links. A large catalogue is cut short: read the sitemap or a product feed for all of it.
- The shop's **policies**.
- **Machine-readable surfaces:** the sitemap, the Markdown copy of any page, and the shop's product feeds.

## Every page as Markdown

Ask a shop page or a storeware.ai page for Markdown and you get Markdown:

```http
GET https://<shop>/products/linen-apron
Accept: text/markdown
```

The answer carries the page's title, description and image as frontmatter, and leaves out the header, the footer and the scripts. A shop page also has its structured data appended. The headers say what happened:

| Header | Value |
| --- | --- |
| `Content-Type` | `text/markdown; charset=utf-8` |
| `Vary` | Includes `Accept`, because one address now has two answers |
| `x-markdown-tokens` | About how many tokens the Markdown is |
| `x-original-tokens` | An estimate of the same for the HTML |
| `Content-Signal` | The page's content signals, when it states any |

`text/markdown` has to be named in `Accept`, at least as high as HTML: `*/*` alone gets HTML. Only `GET` is converted, and a page too large to convert is served as HTML. These docs have Markdown copies too: see [Reading these docs as an agent](https://storeware.ai/docs/#reading-these-docs-as-an-agent).

## Agent skills

An [agent skill](https://agentskills.io) is a `SKILL.md` an agent loads to learn how to do one job. Both the platform and each shop publish an index of theirs, as Agent Skills discovery:

| Index | Lists |
| --- | --- |
| [`https://storeware.ai/.well-known/agent-skills/index.json`](https://storeware.ai/.well-known/agent-skills/index.json) | The platform's skills, starting with `build-on-storeware`. `api.storeware.ai` serves the same index. |
| `https://<shop>/.well-known/agent-skills/index.json` | The shop's own skill, `shop-here`: how to shop there. |

Each entry has a `name`, a `type` of `skill-md`, a `description`, the `url` of the document, and a `digest`: `sha256:` and the hash of the document's bytes. The document is served exactly as it was hashed, so hash what you download and refuse it if the digest differs. A shop's skill is rebuilt from time to time, so a mismatch right after the index was read is worth one retry.

The shopper MCP server serves the same `shop-here` skill over MCP: see [MCP servers](https://storeware.ai/docs/agents/mcp#the-shopper-server-mcp).

## Content signals

A [content signal](https://contentsignals.org) says what a site lets its content be used for once it has been fetched: `search` for a search index, `ai-input` for an answer written from it, and `ai-train` for training a model. A signal blocks no fetch.

storeware.ai says `search=yes, ai-input=yes, ai-train=yes`, in its `robots.txt` and as a `Content-Signal` header on its Markdown copies. A shop says the same unless its merchant has stated otherwise, and its `robots.txt` repeats the shop's rules under each AI crawler's name as well as under `*`, so a reader asking what the shop says to AI finds the answer under its own name.

On the AI shoppers screen a merchant can turn off the Markdown copies, `llms.txt` and the shop's skill, and a shop with one turned off stops offering it.
