GitHub
AI agents can use most of these docs. A few fixes would make them reliable.
Last scanned Sep 28, 2026docs.github.comCustom platform15 pages tested
Score overview
GitHub scores 83 out of 100 (grade B), passing 14 of 25 checks. 11 still need work.
- Kind of site
- Developer docs
- Checks passed
- 14/25
- Partly passed
- 4
- Failed
- 7
Access
Content discoverability4 passed2 failed1 partly
Pages point agents to llms.txt
No llms.txt directive found in HTML of any of 14 sampled pages; 1 failed to fetch
No agent-facing directive pointing to llms.txt was detected in the HTML of any tested page. Add a visually-hidden element near the top of each page (e.g., a div with CSS clip-rect) containing a link to your llms.txt. If your site serves markdown versions of pages, mention that in the directive too so agents know to request it.
Check your fix:
curl -s https://docs.github.com/api/article | grep -n llms.txtfinds the link near the top of the HTML.Markdown pages point agents to llms.txt
No llms.txt directive found in markdown of any of 14 sampled pages; 1 had no markdown version
No llms.txt directive was detected in the markdown of any tested page. Add a blockquote near the top of each markdown page (e.g., "> For the complete documentation index, see [llms.txt](/llms.txt)").
Check your fix: The Markdown version of https://docs.github.com/api/article (its .md URL, or the page fetched with
Accept: text/markdown) has the llms.txt line in its first few lines.llms.txt links work
14/15 same-origin sampled links resolve (93%); 1 broken
1 of 16 links in your llms.txt return errors. Audit and fix or remove broken URLs to prevent agents from hitting dead ends.
Check your fix: Every link in llms.txt returns 200 when fetched.
llms.txt exists
llms.txt found at https://docs.github.com/llms.txt
llms.txt follows the standard structure
llms.txt follows the proposed structure (H1, blockquote, heading-delimited link sections)
llms.txt fits in an agent's context
llms.txt is 28,666 characters (under 50,000 threshold)
llms.txt links point to Markdown
15/15 same-origin sampled links point to markdown content (100%) (1 external link excluded)
Markdown availability1 passed1 partly
Pages are available as Markdown
12/15 sampled pages support .md URLs (80%); inconsistent support
0 of 15 pages support .md URLs inconsistently. Ensure all documentation pages serve markdown when .md is appended to the URL.
Check your fix:
curl -sI https://docs.github.com/en/account-and-profile/concepts/username-changes.mdreturns 200 with a text/markdown or text/plain content type.Server returns Markdown when asked
14/15 sampled pages support content negotiation (93%)
Page size and truncation1 passed2 failed1 partly
Markdown pages fit in context
1 of 14 pages exceed 100K chars (max 220K)
1 of 14 markdown pages exceed 100K characters and will be truncated by agents. Break these into smaller pages or restructure serialized tabbed content.
Content starts near the top
11 of 15 sampled pages have content starting past 50% (worst 103%)
11 of 15 pages have content starting past 50% of the converted output. Agents may never see the documentation content. Reduce navigation, breadcrumb, and sidebar markup that precedes the content area.
HTML pages fit in context
3 of 15 sampled pages convert to 50K–100K chars (max 1056K HTML → 83K markdown (84% boilerplate))
3 of 15 pages convert to 50K-100K characters of markdown. Review pages for reducible boilerplate (navigation, serialized tabbed content). Consider providing markdown versions as a smaller alternative path for agents.
Content is in the HTML without JavaScript
All 15 sampled pages contain server-rendered content
Content structure3 passed
Tabs don't bloat the page
No tabbed content detected across 15 sampled pages
Headings inside tabs name their variant
No tabbed content found; header quality check not applicable
Code blocks are well-formed
All 72 code fences properly closed across 15 pages
URL stability2 passed
Missing pages return a real 404
All 15 sampled pages return proper error codes for bad URLs
Redirects stay on the same host
All 2 redirect(s) across 15 sampled pages are same-host HTTP redirects
Content health1 failed1 partly
Cache headers allow timely updates
1 of 16 endpoints have aggressive caching or missing cache headers
1 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.
Markdown matches the HTML page
6 of 14 pages have minor content differences between markdown and HTML
6 pages have minor content differences between their markdown and HTML versions.
llms.txt covers the whole site
No sitemap found; cannot assess llms.txt coverage without a sitemap as ground truth
Authentication and access1 passed
Gated docs offer another way in
All docs pages are publicly accessible; no alternative access paths needed
Docs are readable without logging in
All 15 sampled pages are publicly accessible
Crawler access1 passed1 failed
Sitemap lists the docs pages
No sitemap was found for these docs, so none of the 181 pages found through llms.txt and page links is listed in one.
Publish a sitemap.xml listing every documentation page and reference it from robots.txt with a Sitemap: line.
Check your fix:
curl -s https://docs.github.com/robots.txt | grep -i sitemapnames a sitemap, and that sitemap lists the pages the report names as missing.Crawlers and AI assistants may read the docs
robots.txt lets Googlebot, Bingbot, OAI-SearchBot, PerplexityBot, Claude-SearchBot and Claude-User read the docs.
Freshness
Maintenance1 passed1 failed
Pages say when they were last changed
0 of 14 sampled pages state when they were last changed.
Publish a last-modified date on every page: as article:modified_time or dateModified in the page, a visible "Last updated" line, or a Last-Modified header. Agents can then tell how current a page is; the date itself is not judged.
Check your fix:
curl -sI https://docs.github.com/api/article | grep -i last-modifiedreturns a date, or the page carriesarticle:modified_timeor a visible "Last updated" line.Sitemap entries still exist
No sitemap entries for these docs to check.
Links and section anchors work
All 39 links and 15 section anchors checked on the sampled pages work. 1 more could not be verified (timeouts or blocked requests) and is not counted.
Consistency with the API specNot applicable
Endpoints in the docs exist in the API spec
No OpenAPI description was found, so the docs could not be compared with a spec.
CurrencyNot applicable
Deprecated operations are marked as such
No OpenAPI description was found, so deprecation notices could not be compared with a spec.
Additional checks
MCP server is discoverable
No MCP server was found for these docs.
Offer a read-only MCP server with a search tool over your docs, and link it from llms.txt, so agents in Cursor, Claude and ChatGPT can query your docs directly.
llms-full.txt is available
No llms-full.txt found at https://docs.github.com/llms-full.txt.
Publish /llms-full.txt with the full text of your docs in Markdown, so an agent can load everything in one request instead of crawling page by page.
Check your fix:
curl -sI https://docs.github.com/llms-full.txtreturns 200.Agent skills are published
No agent skills index was found at /.well-known/agent-skills/index.json.
Publish an Agent Skills index at /.well-known/agent-skills/index.json with a SKILL.md for your main tasks, so agents can load task instructions without reading every page.
About this scan
- Scanned
- Sep 28, 2026
- Pages tested
- 15 of 116 found
- Platform
- Unknown
- Kind of site
- Developer docs
- AFDocs score, on its own
- 85 (B), 12 of 23 checks pass
- Based on 15 sampled pages, chosen deterministically from the sitemap and llms.txt. Pages outside the sample were not read.
- Pages were fetched without running JavaScript, the way most AI agents read the web.
- robots.txt stopped the scanner from reading 1 URL; checks that needed them are unverified.
- Answerability, where an AI agent answers real questions written from these pages, runs in the open-source scanner with your own API key. This web score is made of Access and Freshness.
Methodology 2026-09.6 · AFDocs 0.20.0
Pages we sampled (15)
- https://docs.github.com/api/article
- https://docs.github.com/en/account-and-profile/concepts/username-changes
- https://docs.github.com/en/account-and-profile/reference/email-addresses-reference
- https://docs.github.com/en/actions/tutorials/migrate-to-github-actions/manual-migrations/migrate-from-circleci
- https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
- https://docs.github.com/en/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods
- https://docs.github.com/en/copilot/concepts/billing/individual-plans
- https://docs.github.com/en/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli
- https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-extension
- https://docs.github.com/en/get-started/git-basics/about-remote-repositories
- https://docs.github.com/en/get-started/start-your-journey/creating-an-account-on-github
- https://docs.github.com/en/github-cli/github-cli/quickstart
- https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry
- https://docs.github.com/en/pages/quickstart
- https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes
Show your score
Add the badge to your docs or README. It updates each time the site is scanned.
Markdown
[](https://documentation.ai/agent-score/github-2)HTML
<a href="https://documentation.ai/agent-score/github-2"><img src="https://documentation.ai/agent-score/badge/github-2.svg" alt="Agent Readiness Score: 83 (B)" height="20"></a>