# Twilio

[www.twilio.com/docs](https://www.twilio.com/docs)

- **Overall score:** 67/100 (Grade D)
- **Checks passed:** 8 / 29
- **Last computed:** 2026-05-12

## Components

### Content Discoverability

- **Score:** 42/100 · **Status:** fail
- **Summary:** 2 failed, 1 warning, and 2 skipped across 6 AFDocs checks.
- **Rationale:** Agents need a clear entry point and crawl map before they can reliably discover the right pages.
- **Reference:** [AFDocs reference](https://afdocs.dev)

**Checks**

- ✅ **LLMS TXT Exists** — llms.txt found at 2 location(s)
- ⚠️ **LLMS TXT Valid** — llms.txt contains parseable links but doesn't fully follow the proposed structure: https://www.twilio.com/llms.txt: No H1 heading found, No blockquote summary found Your llms.txt contains parseable links but doesn't follow the standard structure. Add an H1 title as the first line and a blockquote summary (lines starting with >) to improve agent parsing.
- ❌ **LLMS TXT Size** — llms.txt is 2,235,151 characters (exceeds 100,000 threshold; will be truncated by most agents) Your llms.txt is 2,235,151 characters and will be truncated by all major agent platforms. Split into a root index linking to section-level llms.txt files, each under 50,000 characters.
- ⏭️ **LLMS TXT Links Resolve** — llms.txt contains 7156 links, but none are under /docs
- ⏭️ **LLMS TXT Links Markdown** — llms.txt contains 7156 links, but none are under /docs
- ❌ **LLMS TXT Directive** — No llms.txt directive found in any of 15 sampled pages No agent-facing directive pointing to llms.txt was detected on any tested page. Add a blockquote near the top of each page (e.g., "> For the complete documentation index, see [llms.txt](/llms.txt)"). This can be visually hidden with CSS while remaining accessible to agents.

### Markdown Availability

- **Score:** 64/100 · **Status:** fail
- **Summary:** 1 failed across 2 AFDocs checks.
- **Rationale:** When markdown is available directly, agents spend less effort stripping presentation markup and guessing structure.
- **Reference:** [AFDocs reference](https://afdocs.dev)

**Checks**

- ✅ **Markdown Url Support** — 15/15 sampled pages support .md URLs (100%)
- ❌ **Content Negotiation** — Server ignores Accept: text/markdown header (0/15 sampled pages return markdown) Your server ignores Accept: text/markdown and returns HTML. Some agents (Claude Code, Cursor, OpenCode) request markdown this way. Configure your server to honor content negotiation.

### Page Size and Truncation Risk

- **Score:** 56/100 · **Status:** fail
- **Summary:** 3 failed across 4 AFDocs checks.
- **Rationale:** Large pages and delayed primary content increase truncation risk and make retrieval less reliable.
- **Reference:** [AFDocs reference](https://afdocs.dev)

**Checks**

- ✅ **Rendering Strategy** — All 15 sampled pages contain server-rendered content
- ❌ **Page Size Markdown** — 1 of 15 pages exceed 100K chars (max 252K) 1 of 15 markdown pages exceed 100K characters and will be truncated by agents. Break these into smaller pages or restructure serialized tabbed content.
- ❌ **Page Size Html** — 12 of 15 sampled pages convert to over 100K chars (max 1466K, 52% boilerplate) 12 of 15 pages convert to over 100K characters of markdown. Reduce inline CSS/JS, break large pages, or provide markdown versions as a smaller alternative.
- ❌ **Content Start Position** — 8 of 15 sampled pages have content starting past 50% (worst 78%) 8 of 15 pages have content starting past 50% of the converted output. Agents may never see the documentation content. Move or remove inline CSS/JS that precedes the content area.

### Content Structure

- **Score:** 100/100 · **Status:** partial
- **Summary:** 1 skipped across 3 AFDocs checks.
- **Rationale:** Predictable sections, valid code fences, and serialized tabs make the content easier for agents to parse correctly.
- **Reference:** [AFDocs reference](https://afdocs.dev)

**Checks**

- ✅ **Tabbed Content Serialization** — 5 tab group(s) across 3 of 15 sampled pages; all serialize under 50K chars
- ⏭️ **Section Header Quality** — 3 page(s) with tabs found, but no section headers inside tab panels to evaluate
- ✅ **Markdown Code Fence Validity** — All 277 code fences properly closed across 17 pages

### URL Stability and Redirects

- **Score:** 100/100 · **Status:** pass
- **Summary:** 2 AFDocs checks pass.
- **Rationale:** Stable URLs and sane redirect behavior prevent retrieval drift and broken tool references.
- **Reference:** [AFDocs reference](https://afdocs.dev)

**Checks**

- ✅ **Http Status Codes** — All 15 sampled pages return proper error codes for bad URLs
- ✅ **Redirect Behavior** — No redirects detected across 15 sampled pages

### Observability and Content Health

- **Score:** 91/100 · **Status:** fail
- **Summary:** 2 failed and 1 warning across 3 AFDocs checks.
- **Rationale:** Coverage, parity, and cache behavior determine whether agents can trust the content they retrieve.
- **Reference:** [AFDocs reference](https://afdocs.dev)

**Checks**

- ❌ **LLMS TXT Freshness** — llms.txt covers 1579/7446 sitemap doc pages (21%); 5867 missing; 8 llms.txt links not in sitemap (may indicate stale links or incomplete sitemap) Your llms.txt covers less than 80% of your site's pages. 5867 live pages are missing from the index. Regenerate llms.txt from your sitemap or build pipeline.
- ❌ **Markdown Content Parity** — 3 of 15 pages have substantive content differences between markdown and HTML (avg 12% missing) 3 pages have substantive content differences between markdown and HTML (avg 12% missing). Agents receiving the markdown version are getting outdated or incomplete content. Regenerate markdown from source or fix the build pipeline.
- ⚠️ **Cache Header Hygiene** — 1 of 17 endpoints have moderate cache lifetimes (1–24 hours) 1 endpoints have moderate cache lifetimes (1-24 hours). Updates to llms.txt or markdown content may take hours to propagate.

### Authentication and Access

- **Score:** 100/100 · **Status:** partial
- **Summary:** 1 skipped across 2 AFDocs checks.
- **Rationale:** Agents need either public access or a clear alternative path when documentation is gated behind auth.
- **Reference:** [AFDocs reference](https://afdocs.dev)

**Checks**

- ✅ **Auth Gate Detection** — All 15 sampled pages are publicly accessible
- ⏭️ **Auth Alternative Access** — All docs pages are publicly accessible; no alternative access paths needed

### Full Content Discoverability

- **Score:** 0/100 · **Status:** fail
- **Summary:** llms-full.txt has 1 failing check.
- **Rationale:** A full-document snapshot gives long-context agents a single canonical corpus to ingest without repeated crawling.
- **Reference:** [llms-full.txt guide](https://www.mintlify.com/docs/ai/llmstxt#llms-full-txt)

**Checks**

- ❌ **LLMS Full Exists** — No llms-full.txt file was discovered.
- ⏭️ **LLMS Full Size** — Skipped because llms-full.txt was not found.
- ⏭️ **LLMS Full Valid** — Skipped because llms-full.txt was not found.
- ⏭️ **LLMS Full Links Resolve** — Skipped because llms-full.txt was not found.

### Agent Skills

- **Score:** 0/100 · **Status:** fail
- **Summary:** skill.md has 1 failing check.
- **Rationale:** Agent skills provide product-specific operating guidance that plain documentation pages do not encode on their own.
- **Reference:** [skill.md guide](https://www.mintlify.com/docs/ai/skillmd)

**Checks**

- ❌ **Skill MD** — No agent skill definition was discovered.

### MCP Server

- **Score:** 0/100 · **Status:** fail
- **Summary:** MCP has 1 failing check.
- **Rationale:** A discoverable MCP server lets agents use first-class tools instead of scraping pages and inferring behavior.
- **Reference:** [MCP guide](https://www.mintlify.com/docs/ai/model-context-protocol)

**Checks**

- ❌ **MCP Server Discoverable** — No MCP server was discovered at the expected endpoints.
- ⏭️ **MCP Tool Count** — Skipped because the MCP server was not discoverable.
