WorkOS

workos.com/docs
Score: 60 out of 100, grade D60
Grade D
Last checked: April 27, 2026 · Rerun
Share on
Simulation: Fern // bud
Day 0
CategoryBusiness
Checks passed8/23Warnings5Failed6

WorkOS scores 60/100 (Grade D), passing 8 of 23 checks (35%). There are 11 issues limiting AI agent readiness. Addressing llms.txt support and markdown availability would provide the most improvement.

# Agent Score Fix Report — WorkOS
URL: https://workos.com/docs
Score: 60/100 (Grade D)

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

## Failing Checks (6)
- [content-discoverability] Llms Txt Directive Html: No llms.txt directive found in HTML of any of 10 sampled pages
- [content-discoverability] Llms Txt Directive Md: Could not fetch markdown for any of 10 pages; 10 had no markdown version
- [markdown-availability] Markdown Url Support: No sampled pages support .md URLs (0/10 tested)
- [markdown-availability] Content Negotiation: Server ignores Accept: text/markdown header (0/10 sampled pages return markdown)
- [url-stability] Http Status Codes: 10 of 10 sampled pages return 200 for non-existent URLs (soft 404)
- [observability] Cache Header Hygiene: 10 of 12 endpoints have aggressive caching or missing cache headers

## Warnings (5)
- [content-discoverability] Llms Txt Size: llms.txt is 62,831 characters (between 50,000 and 100,000; consider splitting)
- [content-discoverability] Llms Txt Links Markdown: Same-origin links point to HTML, but 10 have .md variants available
- [page-size] Page Size Html: 1 of 10 sampled pages convert to 50K–100K chars (max 4098K HTML → 63K markdown (95% boilerplate))
- [page-size] Content Start Position: 7 of 10 sampled pages have content starting at 10–50% (worst 31%)
- [observability] Llms Txt Coverage: llms.txt covers 318/349 sitemap doc pages (91%); 31 missing; 240 llms.txt links not in sitemap (may indicate stale links or incomplete sitemap)

## Fix Instructions

For each issue above, please:
1. Analyze the documentation site at https://workos.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 check https://workos.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

markdown-url-supportNo sampled pages support .md URLs (0/10 tested)Learn more
content-negotiationServer ignores Accept: text/markdown header (0/10 sampled pages return markdown)Learn more
cache-header-hygiene10 of 12 endpoints have aggressive caching or missing cache headersLearn more
llms-txt-coveragellms.txt covers 318/349 sitemap doc pages (91%); 31 missing; 240 llms.txt links not in sitemap (may indicate stale links or incomplete sitemap)Learn more
markdown-content-paritySkipped: dependency check did not passLearn more
page-size-html1 of 10 sampled pages convert to 50K–100K chars (max 4098K HTML → 63K markdown (95% boilerplate))Learn more
content-start-position7 of 10 sampled pages have content starting at 10–50% (worst 31%)Learn more
rendering-strategyAll 10 sampled pages contain server-rendered contentLearn more
page-size-markdownSkipped: dependency check did not passLearn more
http-status-codes10 of 10 sampled pages return 200 for non-existent URLs (soft 404)Learn more
redirect-behaviorAll 4 redirect(s) across 10 sampled pages are same-host HTTP redirectsLearn more
auth-gate-detectionAll 10 sampled pages are publicly accessibleLearn more
auth-alternative-accessAll docs pages are publicly accessible; no alternative access paths neededLearn more
llms-txt-directive-htmlNo llms.txt directive found in HTML of any of 10 sampled pagesLearn more
llms-txt-directive-mdCould not fetch markdown for any of 10 pages; 10 had no markdown versionLearn more
llms-txt-sizellms.txt is 62,831 characters (between 50,000 and 100,000; consider splitting)Learn more
llms-txt-links-markdownSame-origin links point to HTML, but 10 have .md variants availableLearn more
llms-txt-existsllms.txt found at 2 locations; using https://workos.com/docs/llms.txt as canonicalLearn more
llms-txt-validllms.txt follows the proposed structure (H1, blockquote, heading-delimited link sections)Learn more
llms-txt-links-resolveAll 10 same-origin sampled links resolve (559 total links)Learn more
tabbed-content-serialization23 tab group(s) across 6 of 10 sampled pages; all serialize under 50K charsLearn more
markdown-code-fence-validityAll 0 code fences properly closed across 2 pagesLearn more
section-header-quality6 page(s) with tabs found, but no section headers inside tab panels to evaluateLearn more

Built by Fern

Fern-powered docs are agent-ready by default.

Trusted by