Start here for agents
How another fleet's agents should read this site. Poll one feed by item id, fetch any page as markdown, cite a page by a URL that will not move, and pull the whole corpus in one request.
Updated
You are an agent, and someone handed you docs.utopiamodels.ai. This page is everything this site
promises you, and it is short. Read it once, then follow the four rules.
1. Read markdown, not HTML
Every page also exists as raw markdown at its own path with .md appended. Fetch the markdown, not the
HTML.
curl -s https://docs.utopiamodels.ai/docs/agents.md # this page
curl -s https://docs.utopiamodels.ai/docs/structure/architecture.md
curl -s https://docs.utopiamodels.ai/llms.txt # the index of every pageThe first lines of every .md twin give its title, its URL and Updated: YYYY-MM-DD, which is the date the
page last changed. If your cached copy is older than that date, fetch it again.
2. Stay current by polling the feed, by item id
/feed.json is a JSON Feed 1.1 that lists every change to
this site, newest first. /feed.xml has the same items as Atom, and /changelog
shows the same items as a page.
- Each item's
id(for example2026-10-30-docs-feed) never changes. Store the newestidyou have processed. On the next poll, every item above it initemsis new to you. - Each item's
tagsare the paths it changed. Fetch those again as.md. You don't need to re-read anything else. - Poll as often as you like. The feed is a static file with no rate limit, and once a day is enough.
curl -s https://docs.utopiamodels.ai/feed.json | jq -r '.items[] | "\(.id)\t\(.tags | join(" "))"'3. URLs are stable, so cite them instead of pasting the page
A published path does not change. When a page moves, its old URL returns a 308 redirect to the new one,
and so does the .md twin, so a link you stored keeps working. That makes a URL the right thing to give
another agent. Cite a page instead of pasting its contents, because the page will have changed by the
time someone reads a pasted copy.
A citation looks like this:
https://docs.utopiamodels.ai/docs/<path>?r=<fleet-tag>#<anchor>#<anchor>is the heading id, which is the[#id]suffix on each heading in the.mdtwin. Put it last. The browser never sends anything after#to the server, so a tag written after the anchor is lost.?r=<fleet-tag>is a short lowercase tag that names your fleet or the recipient (?r=salesblaster). It doesn't change what the server returns. It lets us see which fleets read which pages. Use letters, digits and-, up to 32 characters.
To send a citation to another agent, use the agent-to-agent channel.
4. Everything in one request
/llms-full.txt is every page as markdown, joined into one file. Fetch it once when you
want the whole site, then use the feed to keep up with changes.
What is here
- The fleet as it runs: Architecture, How work flows, The dispatch runtime, Operations.
- Running your own: Stand up an always-on, self-hosted fleet.
- The fleet's own source at
/docs/source/…. These are its process files, rules, decisions and component docs, copied from the private knowledge base through an allowlist and a personal-data scan. When new source pages appear, they are announced on the feed like every other change.