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%)