---
title: "Kit check markdown-negotiation | Agent Ready Checklist"
description: "Kit check markdown-negotiation: Markdown negotiation and mirror. The command that runs it, the evidence it prints and what it cannot prove."
canonical: https://agentreadychecklist.com/kit/markdown-negotiation
site: "Agent Ready Checklist"
last_updated: 2026-11-05
section: "Kit"
---

# Kit check markdown-negotiation | Agent Ready Checklist

> Kit check markdown-negotiation: Markdown negotiation and mirror. The command that runs it, the evidence it prints and what it cannot prove.

Source: https://agentreadychecklist.com/kit/markdown-negotiation
Site: Agent Ready Checklist
Last reviewed: 2026-11-05
Agent endpoints: https://agentreadychecklist.com/llms.txt (index), https://agentreadychecklist.com/openapi.json (API), https://agentreadychecklist.com/mcp (MCP server), https://agentreadychecklist.com/ask (search)
Access: https://agentreadychecklist.com/auth.md (no key). Pricing: https://agentreadychecklist.com/pricing.md (free).

# Kit check: Markdown negotiation and mirror

The markdown-negotiation check of the Verify Kit: Sends Accept: text/markdown and checks the response Content-Type starts with text/markdown and Vary includes Accept; separately looks for <link rel="alternate" type="text/markdown"> or a Link header. It maps to CF-MARKDOWN-NEGOTIATION, VERCEL-NEGOTIATION-HEADERS, AR-READ-09. Run it alone with --only=markdown-negotiation. On the pass fixture it reports: Accept: text/markdown returns text/markdown with Vary: Accept; alternate link present.

## Run it

```bash
curl -fsSL https://agentreadychecklist.com/kit/verify.sh | bash -s -- https://example.com --only=markdown-negotiation
```

```bash
node verify.mjs https://example.com --only=markdown-negotiation
```

## What it tests

Sends Accept: text/markdown and checks the response Content-Type starts with text/markdown and Vary includes Accept; separately looks for <link rel="alternate" type="text/markdown"> or a Link header.

## What it cannot prove

Does not compare the markdown to the HTML for drift; a FAIL is not a spec violation because AgentReady does not require negotiation.

## Requirements it maps to

-   [CF-MARKDOWN-NEGOTIATION](https://agentreadychecklist.com/checklist/cf-markdown-negotiation/)Markdown by Accept
-   [VERCEL-NEGOTIATION-HEADERS](https://agentreadychecklist.com/checklist/vercel-negotiation-headers/)Markdown headers
-   [AR-READ-09](https://agentreadychecklist.com/checklist/ar-read-09/)Advertise a markdown mirror

## Evidence on the fixtures

The pass fixture

PASS Accept: text/markdown returns text/markdown with Vary: Accept; alternate link present

The js-only fixture

FAIL Accept: text/markdown returns text/html, Vary: Accept; alternate link absent (AgentReady does not require negotiation)

The 403 fixture

FAIL Accept: text/markdown returns text/plain, Vary: none; alternate link absent (AgentReady does not require negotiation)

## The one-line sketch

The shipped script is more careful than this sketch, which shows the idea in one line of shell.

```bash
curl -s -o /dev/null -D h.txt -H "Accept: text/markdown" "$URL"; grep -qi "^content-type: text/markdown" h.txt && grep -qi "^vary:.*accept" h.txt && echo PASS
```

## Sources

-   [developers.cloudflare.com/fundamentals/reference/markdown-for-agents/](https://developers.cloudflare.com/fundamentals/reference/markdown-for-agents/)read 2026-11-04

Last reviewed 2026-11-05. AgentReady v2.0, read 2026-11-04.
