Leaderboard/Supabase

Supabase

supabase.com/docs
Score: 72 out of 100, grade C72
Grade C
Last checked: April 3, 2026 · Rerun
Share on
Simulation: Fern // bud
Day 0
CategoryCloud Infra
Checks passed11/22Warnings4Failed6

Supabase scores 72/100 (Grade C), passing 11 of 22 checks (50%). The documentation is broadly accessible to AI agents but has 10 areas that could be improved to better serve automated tooling.

# Agent Score Fix Report — Supabase
URL: https://supabase.com/docs
Score: 72/100 (Grade C)

I need help improving the AI-readiness of the documentation at https://supabase.com/docs.
Agent Score found 6 failing checks and 4 warnings.

## Failing Checks (6)
- [content-discoverability] Llms Txt Directive: No llms.txt directive found in any of 10 sampled pages
- [page-size] Page Size Html: 3 of 10 sampled pages convert to over 100K chars (max 1162K, 54% boilerplate)
- [page-size] Content Start Position: 7 of 10 sampled pages have content starting past 50% (worst 100%)
- [content-structure] Section Header Quality: 1 of 1 page(s) with tab headers don't distinguish between variants (e.g. "response" repeats across 21 tab groups)
- [url-stability] Http Status Codes: 6 of 10 sampled pages return 200 for non-existent URLs (soft 404)
- [observability] Llms Txt Freshness: llms.txt covers 438/2017 sitemap doc pages (22%); 1579 missing; 115 llms.txt links not in sitemap (may indicate stale links or incomplete sitemap)

## Warnings (4)
- [content-discoverability] 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, No heading-delimited sections found; https://supabase.com/llms.txt: No blockquote summary found, No heading-delimited sections found
- [markdown-availability] Markdown Url Support: 2/10 sampled pages support .md URLs (20%); inconsistent support
- [markdown-availability] Content Negotiation: Content negotiation partially supported: 2 correct type, 0 wrong type, 8 HTML only
- [page-size] Rendering Strategy: 4 of 9 sampled pages have server-rendered page structure but little substantive content; agents will see headings and navigation but not the page's actual documentation; 1 failed to fetch

## Fix Instructions

For each issue above, please:
1. Analyze the documentation site at https://supabase.com/docs
2. Implement the specific fix
3. Verify the fix would cause the check to pass

### Common fixes:
- **No llms.txt**: Create /llms.txt following https://llmstxt.org — list all doc pages in markdown format
- **No .md URL support**: Configure your docs platform to serve pages at equivalent .md URLs (e.g. /docs/quickstart.md)
- **No content negotiation**: Return markdown when request includes Accept: text/markdown header
- **Large page size**: Reduce nav boilerplate, inline scripts, and repetitive markup
- **No sitemap**: Generate /sitemap.xml listing all documentation URLs
- **Auth walls**: Ensure docs pages return 200 without requiring login cookies or tokens
- **No Last-Modified header**: Configure your server/CDN to include Last-Modified response headers
- **Tab content hidden**: Ensure tabbed content is rendered in the HTML (not JS-only) so agents can read all variants

## Run afdocs Locally for More Detail

To get deeper visibility into what's failing, run afdocs against your docs:

  npx afdocs https://supabase.com/docs --fixes --verbose

- **--fixes**: Adds "Fix:" lines to the output for each warn/fail check with actionable remediation steps
- **-v, --verbose**: Shows per-page details (specific URLs, character counts, error codes) for checks with issues — useful for per-URL visibility into what's failing
CHECK RESULTS

How your docs scored

page-size-html3 of 10 sampled pages convert to over 100K chars (max 1162K, 54% boilerplate)
content-start-position7 of 10 sampled pages have content starting past 50% (worst 100%)
rendering-strategy4 of 9 sampled pages have server-rendered page structure but little substantive content; agents will see headings and navigation but not the page's actual documentation; 1 failed to fetch
page-size-markdownAll 2 pages under 50K chars (median 18K, max 18K)
markdown-url-support2/10 sampled pages support .md URLs (20%); inconsistent support
content-negotiationContent negotiation partially supported: 2 correct type, 0 wrong type, 8 HTML only
http-status-codes6 of 10 sampled pages return 200 for non-existent URLs (soft 404)
redirect-behaviorNo redirects detected across 10 sampled pages
auth-gate-detectionAll 10 sampled pages are publicly accessible
auth-alternative-accessAll docs pages are publicly accessible; no alternative access paths needed
section-header-quality1 of 1 page(s) with tab headers don't distinguish between variants (e.g. "response" repeats across 21 tab groups)
tabbed-content-serialization25 tab group(s) across 2 of 10 sampled pages; all serialize under 50K chars
markdown-code-fence-validityAll 17 code fences properly closed across 4 pages
llms-txt-freshnessllms.txt covers 438/2017 sitemap doc pages (22%); 1579 missing; 115 llms.txt links not in sitemap (may indicate stale links or incomplete sitemap)
markdown-content-parityAll 2 pages have equivalent markdown and HTML content (avg 3% missing)
cache-header-hygieneAll 12 endpoints have appropriate cache headers
llms-txt-directiveNo llms.txt directive found in any of 10 sampled pages
llms-txt-validllms.txt contains parseable links but doesn't fully follow the proposed structure: https://supabase.com/docs/llms.txt: No blockquote summary found, No heading-delimited sections found; https://supabase.com/llms.txt: No blockquote summary found, No heading-delimited sections found
llms-txt-existsllms.txt found at 2 location(s)
llms-txt-sizellms.txt is 546 characters (under 50,000 threshold)
llms-txt-links-resolveAll 8 same-origin links resolve (8 total links)
llms-txt-links-markdown8/8 same-origin links point to markdown content (100%)

Built by Fern

Fern-powered docs are agent-ready by default.

Trusted by