# Agentic Atlas > Field-tested patterns for designing agentic systems — skills, > subagents, plugins, and multi-agent workflows. One atlas, published > for people to read and for agents to consult directly. Agentic Atlas publishes one sealed Release of a curated pattern corpus. Every answer read from it names it: the JSON API, the pages that read it, the sitemap, `/ask` and `/readyz` in the `X-Catalog-Revision` header, and the MCP transport in each payload's coherence marker. So a caller can always tell whether two answers describe the same Atlas. A document that reads no Release, this one included, carries no marker. ## When to use this Reach for the Atlas while an agentic design decision is still open — before it is settled, not after: - Choosing a decomposition — how an agentic system divides into skills, subagents, or tools. - Drawing dispatch boundaries — what gets its own agent, and what does not. - Budgeting context, and shaping what a subagent carries in or returns out. - Placing verification seams, so a wrong answer is caught rather than propagated. - Deciding the persistence or configuration shape an agentic workflow needs. - Reviewing or restructuring an existing skill, plugin, or multi-agent workflow. Do not reach for it for: - Executing a skill you already have — the Atlas informs design, it does not run workflows. - Writing ordinary application code. - Any task that merely mentions agents without turning on a design decision. ## Developer resources - [Agentic Atlas developer resources](https://agentic-atlas.dev/developers): Every surface below, on one page, with what comes back from each. Also at [https://agentic-atlas.dev/developers.md](https://agentic-atlas.dev/developers.md), and at https://agentic-atlas.dev/developer and https://agentic-atlas.dev/api-docs. - [Agentic Atlas service status](https://agentic-atlas.dev/status): Every refusal this deployment can return, with its recovery, and the two probes that report live state. No SLA, no uptime history, no incident feed — the page says so. ## How an agent should call this - [Agentic Atlas CLI](https://agentic-atlas.dev/connect#connect-cli): Run `npx agentic-atlas orient "context budget"` with Node.js 22+. Five commands over plain HTTPS, no MCP setup. The same Agent envelopes, source addresses, and coherence markers; pass `--expected-revision` on later calls and `--cursor` to continue a truncated orient or links read. - [Agentic Atlas MCP server](https://mcp.agentic-atlas.dev/mcp/): For MCP clients. Stateless Streamable HTTP, no authentication, nothing to install. Exactly 5 tools: `atlas_orient`, `atlas_cards`, `atlas_read`, `atlas_links`, `atlas_navigate`. - [Agentic Atlas consultation contract](https://agentic-atlas.dev/consult.md): The rules that govern every call — direct address, atomic multi-id calls, declared recovery, coherence markers. Written to be copied into a system prompt verbatim. - [Agentic Atlas authentication](https://agentic-atlas.dev/auth.md): There is none. No account, no key, no token, no OAuth. Read this before you build an authentication step. - [NLWeb /ask](https://agentic-atlas.dev/ask): POST a natural-language query for ranked corpus records with their canonical addresses. Retrieval only, never generated; add `"streaming": true` for the SSE framing. - [Agentic Atlas official MCP registry listing](https://registry.modelcontextprotocol.io/v0.1/servers?search=dev.agentic-atlas/atlas): The verified domain-scoped registry row for the hosted transport. - [Agentic Atlas on Glama](https://glama.ai/mcp/connectors/dev.agentic-atlas/atlas): The connector row, keyed to the same domain-scoped name and claimed from this origin. - [Agentic Atlas in the Claude Connectors Directory](https://claude.ai/directory/agentic-atlas): The publisher's community listing, screened by Anthropic but not domain-verified. It connects Claude straight to the endpoint above, with no sign-in. - [Agentic Atlas on MCP.so](https://mcp.so/servers/agentic-atlas-bf5d87): The directory row, linking back to this origin and its endpoint. - [Agentic Atlas on Smithery](https://smithery.ai/servers/aj604/agentic-atlas): The publisher's account-scoped row. It reaches this server through Smithery's gateway, which needs a Smithery key; the endpoint above needs none. - [A2A agent card](https://agentic-atlas.dev/.well-known/agent-card.json): A2A 1.0 JSON-RPC at `/a2a`; `SendMessage` retrieves ranked patterns as a direct message. Send `A2A-Version: 1.0`. No model, tasks, streaming, or callbacks. See `/developers` for the request shape and `/auth.md` for refusals. - [Claude Code plugin](https://github.com/aj604/agentic-atlas-plugin): The public companion repository. Three skills — audit an existing agent artifact, design a new agent system, apply one named pattern — over two strictly read-only subagents, on the hosted transport it registers for you. Read the sources there. Consulting the Atlas from anywhere else needs no install of any kind: call the MCP endpoint or the JSON API directly. - [AGENTS.md](https://github.com/aj604/agentic-atlas-plugin/blob/main/AGENTS.md): Instructions for AI coding agents working in that public repository: what it holds, and where a change is proposed instead of committed. - [reviewing-agent-designs on skills.sh](https://www.skills.sh/aj604/agentic-atlas-plugin/reviewing-agent-designs): Audit an existing agent artifact against the published patterns. - [designing-agent-systems on skills.sh](https://www.skills.sh/aj604/agentic-atlas-plugin/designing-agent-systems): Design a new agent system with cited Agentic Atlas patterns. - [applying-a-pattern on skills.sh](https://www.skills.sh/aj604/agentic-atlas-plugin/applying-a-pattern): Turn one named pattern into a cited edit plan for an artifact. Every page also registers four read-only in-page tools — `atlas_api_search`, `atlas_api_resolve`, `atlas_api_node`, `atlas_api_tour` — through `document.modelContext`, in the browsers that implement WebMCP. That is an origin trial today rather than a shipped feature, and the page feature-detects before it registers. Each tool is an echo of an `/api/` operation below, so a caller fetching URLs should ignore this and call the API. ## HTTP API - [Agentic Atlas OpenAPI description](https://agentic-atlas.dev/openapi.json): Every JSON operation, typed. Read-only, unauthenticated, no key required. - [Agentic Atlas API reference](https://agentic-atlas.dev/api-reference): Every operation in prose, with its parameters, bounds and refusals — server-rendered, so it reads without running JavaScript. Also at [https://agentic-atlas.dev/api-reference.md](https://agentic-atlas.dev/api-reference.md). - [Browsable API reference](https://agentic-atlas.dev/docs): The same description in Swagger UI. Needs a browser that runs scripts; the page above is the one that does not. - [Machine-readable index](https://agentic-atlas.dev/api/tree): The canonical traversal of every published Node. - [Batch read](https://agentic-atlas.dev/api/cards): `?ids=a&ids=b` reads a Card for each id in one call. Atomic — one unadmitted id fails the request and returns no cards. Prefer it to one call per id. ## Pages - [Why the Atlas exists](https://agentic-atlas.dev/why): What is published, what is deliberately not, and on what evidence. - [Connect an agent to Agentic Atlas](https://agentic-atlas.dev/connect): The transport, the tool grammar, and a worked first call. - [Atlas map](https://agentic-atlas.dev/atlas): The survey — every plate and how they relate. - [Glossary](https://agentic-atlas.dev/glossary): The admitted vocabulary. - [Decision records](https://agentic-atlas.dev/decisions): Why the corpus is shaped the way it is. ## Content negotiation Every page listed under **Pages** above answers `Accept: text/markdown` with a Markdown rendering of the same document, and names `Accept` in `Vary`. Prefer it to scraping the HTML. The same document is addressable directly, by appending `.md` to the page's path: `/why.md`, `/nodes/.md`, `/index.md` for the front door. Identical bytes, no header needed. Every page names its own `.md` address in a `rel="alternate"` link and in a `Link` response header, and every Markdown document opens with a `---` frontmatter block stating its title, description and canonical URL. Adding `?mode=agent` to any page's address asks for the same Markdown rendering: `/?mode=agent` is the front door's agent view, `/why?mode=agent` is `/why.md`. The query outranks `Accept`, and the answer's canonical stays the page itself. ## Machine-readable surfaces - [NLWeb Schema Feeds](https://agentic-atlas.dev/schemamap.xml): Schema.org JSON Lines, one feed each for Nodes, terms, and Decisions. - [Sitemap](https://agentic-atlas.dev/sitemap.xml): Every published address. - [Nodes manifest](https://agentic-atlas.dev/nodes/llms.txt): The `llms.txt` for `/nodes/` — every published Node, one link per page, with the sentence it opens on. - [Glossary manifest](https://agentic-atlas.dev/glossary/llms.txt): The `llms.txt` for `/glossary/` — every admitted term with its definition. - [Decisions manifest](https://agentic-atlas.dev/decisions/llms.txt): The `llms.txt` for `/decisions/` — every decision record with the ruling it states. - [ARD manifest](https://agentic-atlas.dev/.well-known/ard.json): Every machine-readable surface as Agentic Resource Discovery entries, for a consumer that starts at .well-known; https://agentic-atlas.dev/.well-known/ai-catalog.json is the same document at the predecessor address. - [Agent signpost](https://agentic-atlas.dev/agents.md): The same list in Markdown, for scanners that probe `/agents.md` by convention. - [MCP server card](https://agentic-atlas.dev/.well-known/mcp-server-card): The registry card for this server — name, version, transport. - [MCP tool card](https://agentic-atlas.dev/.well-known/mcp/server-card.json): The endpoint and complete frozen tool grammar as JSON. - [API catalog](https://agentic-atlas.dev/.well-known/api-catalog): The APIs this host publishes, as an RFC 9727 linkset. - [Agent Skills index](https://agentic-atlas.dev/.well-known/agent-skills/index.json): The installable Agentic Atlas skills, each with the address of its `SKILL.md` and a SHA-256 digest of it. - [Pricing and usage policy](https://agentic-atlas.dev/pricing.md): What the Atlas costs, what it limits, and what it licenses. ## Versioning and change policy The Atlas versions by **Release**, not by URL path. Addresses are stable and are not prefixed with `/v1/`; what changes is the content behind them, and a promotion replaces the active Release wholesale rather than editing one in place. - Every answer read from the Release carries `X-Catalog-Revision`: a JSON API payload, a page that reads it, `/sitemap.xml`, the three section manifests under `/nodes/`, `/glossary/` and `/decisions/`, an `/ask` answer, and `/readyz`, which proves readiness by reading the Release and names the Catalog revision it read whenever it read one, on a 200 and on a 503 alike. Two answers with the same value describe the same Atlas. A document that reads no Release carries none: this file, `/robots.txt`, `/agents.md`, everything under `/.well-known/`, `/auth.md`, `/pricing.md`, `/openapi.json`, `/developers`, `/status`, `/api-reference`, `/why`, `/connect`, `/consult.md` and the About, Contact and Privacy pages. Neither does a refusal, nor `/healthz`, which reads nothing. - MCP payloads and A2A message payloads carry a coherence marker. Pass it back as `expected_revision` and a call that would straddle a promotion is refused rather than silently answered from two Releases. On A2A, send it in `params.metadata.expected_revision`; the marker is inside each message rather than an HTTP header. - The tool grammar is frozen. Tools are added compatibly. - Every JSON API response carries `API-Version: 2`. Additive changes retain that value; a breaking change increments it. - A deprecated operation carries `Deprecation: true` and an HTTP-date `Sunset` for at least 180 days before removal. Its OpenAPI operation is marked `deprecated: true` for the same interval. No operation is deprecated today. - Rate limits are published, not discovered by hitting them. Per address, each window counted apart from the others: A2A `/a2a`: 300 requests per 60 seconds; JSON API: 300 requests per 60 seconds; NLWeb `/ask`: 300 requests per 60 seconds; Analytics count proxy: 60 requests per 60 seconds; the pages and the MCP transport are not limited. Every limited response states its window — `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset`, and the combined `RateLimit` field — and names it in `RateLimit-Policy` (`"a2a"`, `"api"`, `"ask"`, `"count"`), with `Retry-After` on a 429, so a client can throttle itself rather than wait to be refused. ## About - [About](https://agentic-atlas.dev/about): Who publishes this. - [Contact](https://agentic-atlas.dev/contact): How to reach the publisher. - [Privacy](https://agentic-atlas.dev/privacy): What this site records, and what it does not.