# Supabase

[supabase.com/docs](https://supabase.com/docs)

- **Overall score:** 73/100 (Grade C)
- **Checks passed:** 11 / 29
- **Last computed:** 2026-05-11

## Components

### Content Discoverability

- **Score:** 71/100 · **Status:** fail
- **Summary:** 1 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://supabase.com/docs/llms.txt: No blockquote summary found; https://supabase.com/llms.txt: 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 1,258 characters (under 50,000 threshold)
- ⏭️ **LLMS TXT Links Resolve** — llms.txt contains 19 links, but none are under /docs
- ⏭️ **LLMS TXT Links Markdown** — llms.txt contains 19 links, but none are under /docs
- ❌ **LLMS TXT Directive** — No llms.txt directive found in any of 13 sampled pages; 2 failed to fetch 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:** 49/100 · **Status:** partial
- **Summary:** 2 warnings 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** — 7/15 sampled pages support .md URLs (47%); inconsistent support 0 of 15 pages support .md URLs inconsistently. Ensure all documentation pages serve markdown when .md is appended to the URL.
- ⚠️ **Content Negotiation** — Content negotiation partially supported: 8 correct type, 0 wrong type, 7 HTML only; 2 returned error pages Your server returns markdown content for Accept: text/markdown requests but with an incorrect Content-Type header. Set the response Content-Type to text/markdown for proper agent handling.

### Page Size and Truncation Risk

- **Score:** 72/100 · **Status:** fail
- **Summary:** 2 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** — All 8 pages under 50K chars (median 6K, max 15K)
- ❌ **Page Size Html** — 10 of 15 sampled pages convert to over 100K chars (max 1162K, 37% boilerplate) 10 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** — 2 of 15 sampled pages have content starting past 50% (worst 99%) 2 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:** 86/100 · **Status:** fail
- **Summary:** 1 failed 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** — 49 tab group(s) across 5 of 15 sampled pages; all serialize under 50K chars
- ❌ **Section Header Quality** — 2 of 2 page(s) with tab headers don't distinguish between variants (e.g. "response" repeats across 21 tab groups) Over 50% of headers are generic across tab variants. When serialized, agents cannot tell which section belongs to which variant.
- ✅ **Markdown Code Fence Validity** — All 41 code fences properly closed across 10 pages

### URL Stability and Redirects

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

**Checks**

- ❌ **Http Status Codes** — 2 of 12 sampled pages return 200 for non-existent URLs (soft 404); 3 failed to fetch Your site returns 200 for non-existent pages (soft 404). Agents try to extract information from the error page content instead of recognizing the page is missing. Configure your server to return 404 for pages that don't exist.
- ✅ **Redirect Behavior** — All 4 redirect(s) across 15 sampled pages are same-host HTTP redirects

### Observability and Content Health

- **Score:** 46/100 · **Status:** fail
- **Summary:** 3 failed 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 517/2075 sitemap doc pages (25%); 1558 missing; 341 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. 1558 live pages are missing from the index. Regenerate llms.txt from your sitemap or build pipeline.
- ❌ **Markdown Content Parity** — 2 of 8 pages have substantive content differences between markdown and HTML (avg 15% missing) 2 pages have substantive content differences between markdown and HTML (avg 15% missing). Agents receiving the markdown version are getting outdated or incomplete content. Regenerate markdown from source or fix the build pipeline.
- ❌ **Cache Header Hygiene** — 2 of 16 endpoints have aggressive caching or missing cache headers; 1 failed to fetch 2 endpoints have aggressive caching (>24h) or missing cache headers. Set max-age under 3600 or add must-revalidate with ETag/Last-Modified so content updates reach agents promptly.

### 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:** 75/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** — Found llms-full.txt.
- ❌ **LLMS Full Size** — llms-full.txt size falls outside the expected range.
- ✅ **LLMS Full Valid** — llms-full.txt has a recognizable markdown structure.
- ✅ **LLMS Full Links Resolve** — llms-full.txt links resolve successfully.

### 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.
