Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when auditing public documentation portals, API references, help centers, SDK docs, or large knowledge bases. Check the final file served at `/llms.txt` and verify that the linked pages are stable, high-value, and accessible without relying on a JavaScript-only interface.
.claude/skills/thedaviddias-llms-txt/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-16 | ✗→✓ | ▲ Improved | -21% | 0% |
| case-17 | ✓→✗ | ▼ Worse | -13% | 0% |
| case-02 | ✓→✓ | = Same ✓ | -20% | 0% |
| case-03 | ✓→✓ | = Same ✓ | -4% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 2% | 0% |
Documentation portals often bury the most important pages behind dense navigation, search UIs, or framework-specific layouts. A curated llms.txt gives AI tools a cleaner entry point without replacing the normal crawl and indexing mechanisms of the web described by the llms.txt convention.
llms.txt at the root (/llms.txt on the production domain) if you run a docs-heavy sitellms-full.txt only as an optional companion when you can keep it currentrobots.txt; llms.txt does not replace themCheck whether this documentation-heavy site publishes llms.txt at the root and whether it contains a curated set of stable, high-value links such as getting-started guides, API references, concepts, and examples. Confirm that linked URLs return HTTP 200 and that llms.txt is not being treated as a replacement for robots.txt or XML sitemaps.
Add llms.txt at the site root with a short description of the project and a curated list of the most useful documentation URLs. If the docs set is large and you can maintain it, add an optional llms-full.txt companion and link to it from llms.txt. Keep crawl directives in robots.txt.
Explain what llms.txt is, why it can help documentation-heavy sites give AI tools a cleaner starting point, why llms-full.txt is optional, and why traditional crawl controls still belong in robots.txt.
Review route handlers, static files, or framework metadata output related to llms.txt. Flag sites that publish the file outside the root path, link to low-value or unstable pages, expose private/auth-only docs, or imply that llms.txt replaces crawl/indexing controls like robots.txt or sitemaps.
For full implementation details, code examples, and framework-specific guidance, see references/rule.md.
Rule page: https://frontendchecklist.io/en/rules/seo/llms-txt
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 12,387 | 8,236 | -34% | 1 | 1 | 0% | 2,327 | 2,166 | -7% | 0 | 0 | — |
case-02 | pass→pass | 10,809 | 5,654 | -48% | 1 | 1 | 0% | 1,984 | 1,597 | -20% | 0 | 0 | — |
case-03 | pass→pass | 13,368 | 9,151 | -32% | 1 | 1 | 0% | 2,390 | 2,284 | -4% | 0 | 0 | — |
case-04 | pass→pass | 14,440 | 11,575 | -20% | 1 | 1 | 0% | 3,010 | 3,083 | +2% | 0 | 0 | — |
case-05 | pass→pass | 8,738 | 5,394 | -38% | 1 | 1 | 0% | 1,690 | 1,546 | -9% | 0 | 0 | — |
case-06 | pass→pass | 13,774 | 6,419 | -53% | 1 | 1 | 0% | 2,433 | 1,807 | -26% | 0 | 0 | — |
case-07 | pass→pass | 14,014 | 8,262 | -41% | 1 | 1 | 0% | 2,497 | 2,013 | -19% | 0 | 0 | — |
case-08 | pass→pass | 9,932 | 6,869 | -31% | 1 | 1 | 0% | 1,835 | 1,907 | +4% | 0 | 0 | — |
case-09 | pass→pass | 12,095 | 7,263 | -40% | 1 | 1 | 0% | 2,183 | 1,788 | -18% | 0 | 0 | — |
case-10 | pass→pass | 9,966 | 5,924 | -41% | 1 | 1 | 0% | 1,738 | 1,648 | -5% | 0 | 0 | — |
case-11 | pass→pass | 13,767 | 13,104 | -5% | 1 | 1 | 0% | 2,077 | 2,653 | +28% | 0 | 0 | — |
case-12 | pass→pass | 13,835 | 10,993 | -21% | 1 | 1 | 0% | 2,616 | 2,656 | +2% | 0 | 0 | — |
case-13 | pass→pass | 15,270 | 8,223 | -46% | 1 | 1 | 0% | 2,678 | 1,927 | -28% | 0 | 0 | — |
case-14 | pass→pass | 9,036 | 5,573 | -38% | 1 | 1 | 0% | 1,819 | 1,642 | -10% | 0 | 0 | — |
case-15 | pass→pass | 13,887 | 4,994 | -64% | 1 | 1 | 0% | 2,288 | 1,361 | -41% | 0 | 0 | — |
case-16 | fail→pass | 12,684 | 6,825 | -46% | 1 | 1 | 0% | 2,203 | 1,744 | -21% | 0 | 0 | — |
case-17 | pass→fail | 10,514 | 6,370 | -39% | 1 | 1 | 0% | 2,010 | 1,748 | -13% | 0 | 0 | — |
case-18 | pass→pass | 12,042 | 6,318 | -48% | 1 | 1 | 0% | 2,425 | 1,715 | -29% | 0 | 0 | — |
case-19 | pass→pass | 11,002 | 8,058 | -27% | 1 | 1 | 0% | 1,874 | 1,855 | -1% | 0 | 0 | — |
case-20 | pass→pass | 15,479 | 8,478 | -45% | 1 | 1 | 0% | 2,715 | 2,152 | -21% | 0 | 0 | — |
case-21 | pass→pass | 13,717 | 9,241 | -33% | 1 | 1 | 0% | 2,548 | 2,193 | -14% | 0 | 0 | — |
case-22 | pass→pass | 6,810 | 4,795 | -30% | 1 | 1 | 0% | 1,263 | 1,468 | +16% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of 0 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.