Kestra scores 91/100 (Grade A), placing it among the most AI-agent-ready documentation sites evaluated. It passes 16 of 23 checks (70%), demonstrating strong support for AI coding agents. 6 items require attention to reach a perfect score.
# Agent Score Fix Report — Kestra URL: https://kestra.io/docs Score: 91/100 (Grade A) I need help improving the AI-readiness of the documentation at https://kestra.io/docs. Agent Score found 1 failing checks and 5 warnings. ## Failing Checks (1) - [page-size] Content Start Position: 2 of 10 sampled pages have content starting past 50% (worst 73%) ## Warnings (5) - [content-discoverability] Llms Txt Size: llms.txt is 69,292 characters (between 50,000 and 100,000; consider splitting) - [content-discoverability] Llms Txt Directive Html: llms.txt directive found in HTML of 10 of 10 sampled pages, but buried deep in the page (past 50%) - [content-discoverability] Llms Txt Directive Md: llms.txt directive found in markdown of 1 of 10 sampled pages (9 missing) - [page-size] Page Size Html: 2 of 10 sampled pages convert to 50K–100K chars (max 626K HTML → 56K markdown (92% boilerplate)) - [observability] Markdown Content Parity: 5 of 10 pages have minor content differences between markdown and HTML ## Fix Instructions For each issue above, please: 1. Analyze the documentation site at https://kestra.io/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://kestra.io/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
auth-alternative-accessAll docs pages are publicly accessible; no alternative access paths neededLearn more
page-size-html2 of 10 sampled pages convert to 50K–100K chars (max 626K HTML → 56K markdown (92% boilerplate))Learn more
llms-txt-sizellms.txt is 69,292 characters (between 50,000 and 100,000; consider splitting)Learn more
llms-txt-directive-htmlllms.txt directive found in HTML of 10 of 10 sampled pages, but buried deep in the page (past 50%)Learn more
llms-txt-directive-mdllms.txt directive found in markdown of 1 of 10 sampled pages (9 missing)Learn more
llms-txt-validllms.txt follows the proposed structure (H1, blockquote, heading-delimited link sections)Learn more
markdown-content-parity5 of 10 pages have minor content differences between markdown and HTMLLearn more
llms-txt-coveragellms.txt covers 100% of 466 sitemap doc pages; 17 llms.txt links not in sitemap (may indicate stale links or incomplete sitemap)Learn more