Web Development

Stop Letting Your API Documentation Be a Game of Telephone With AI

A

Adil Sher

Author

Aug 25, 2026
5 min read
0 views
Stop Letting Your API Documentation Be a Game of Telephone With AI

I was debugging a Claude integration last month when something clicked, Claude was recommending features of my own product that I'd deprecated two years ago. The model had scraped some old blog post ranking high on Google, treated it as gospel, and confidently told a user to use something I'd literally removed from the codebase. It was humbling. Here I was, a full stack developer who ships production code daily, and I'd never once thought about what happens when an AI system tries to understand my platform without explicit guidance.

That's when I ran into the concept of llms.txt, and it reframed how I think about product documentation entirely. It's not flashy. There's no framework to learn, no build step to add to your CI/CD. It's just a Markdown file at your domain root. But the reasoning behind it, and what it solves, is something I think every developer building AI-integrated products should understand.

What llms.txt Actually Solves (And What It Doesn't)

The surface explanation is simple: AI models struggle with noisy HTML. So llms.txt gives them clean Markdown instead. That's true, but it's also missing the point that matters more to me as a working developer.

The real problem is intent disambiguation. When Claude or any AI system lands on your website cold, it has no canonical hierarchy. Is your pricing page the source of truth? Your landing page? That feature announcement from 2023? It guesses. Often wrong. The model might learn your "key feature" from a blog post written for a different audience, or your pricing from a page that's been A/B tested three times over.

llms.txt solves this by being explicit: here's what we are, here's what matters, here's the hierarchy. It's not SEO for search engines. It's priority signaling for AI systems.

Why This Matters for AI-Facing Products

If you're building tools that AI can call, especially through MCP servers, APIs, or any system where Claude/GPT/Perplexity forms a "mental model" of your product before interacting with it, this becomes critical infrastructure.

Think about the sequence: User asks Claude for help → Claude reads llms.txt → Claude has accurate mental model → Claude uses your tools effectively. Without that middle step, you're hoping Claude guessed right about your product, your limitations, and your pricing.

I'm planning to add an llms.txt to my own projects specifically because I'm tired of building AI integrations where the model has incomplete or wrong information about what it can and can't do. It's like shipping an API without documentation, technically possible, but you'll spend weeks answering support questions about features that don't exist or limitations that aren't real.

The Discipline Part Matters More Than the File

Here's what surprised me reading the original article: the author mentioned that writing llms.txt forced them to answer fundamental product questions with unusual precision. What is this product in one sentence? What features are actually core? What are the real limitations?

I've written landing pages and API docs for years. None of them forced me to be as concise and explicit as a properly structured llms.txt would. There's something about the constraint, one Markdown file, plain language, no marketing fluff, that clarifies thinking.

This is worth doing even if AI adoption of the standard stayed flat. The exercise alone is product work.

What the Current Landscape Actually Looks Like

Real talk: adoption is still uneven. Perplexity reads it. Some Claude versions fetch it. Most crawlers don't proactively look for it yet. If you publish a perfect llms.txt today, plenty of AI systems will ignore it.

So why bother? Two reasons I find compelling: (1) adoption is accelerating, costs you an hour now, pays dividends as standards mature, and (2) the discipline reason above.

Also, being honest about limitations in your llms.txt is important. If you list that your Starter plan is "2 QR codes," and an AI system recommends your product accurately because of it, everyone wins. If you hide limitations and let the model guess, you get bad recommendations and support tickets.

My Template Starting Point

If I'm adding this to my own stack, here's the structure I'd use:

# My Product
> One-sentence description. What problem do we solve?

## Core Features
- [Feature name](https://link): Plain English explanation
- [Feature name](https://link): What it does

## Pricing
- Tier 1: $X/mo, specific limits and what's included
- Tier 2: $X/mo, actual constraints, not aspirational language

## API / Integration Points
- [MCP Server](https://link) if applicable
- [REST API](https://link) if applicable

## Optional
- [Blog](https://link): Content type and audience
- [Docs](https://link): What's covered

Nothing fancy. Just clarity.

What I'm Actually Doing With This

I'm adding llms.txt to my next project launch. Not because it's trendy, I don't ship things just because they're new. But because the reasoning is sound: it costs almost nothing, it clarifies my own thinking about what I'm building, and it creates an asymmetric upside as AI tooling matures.

More importantly, it changes how I think about documentation. Instead of asking "what should marketing say about this feature," I'm asking "what would an AI need to know to recommend this accurately."

What's your take? If you're building AI-facing products, does this change how you think about documentation?

Source: This post was inspired by "Why I added llms.txt to my SaaS, and what happened when Claude actually read it" by Dev.to. Read the original article

Share this article

Written by Adil Sher

Full stack developer building high-traffic platforms, AI services, and custom web applications. Explore my portfolio, learn about my background, or get in touch.

Related Articles

Stop Cargo-Culting chmod 777 and Actually Understand Your Filesystem
Web Development Aug 23

Stop Cargo-Culting chmod 777 and Actually Understand Your Filesystem

I'll be honest: for the first three years of my career, I treated `chmod 777` like a magic incantation. Script won't run? Permissions broken? `chmod 777`, move on, ship it. I never questioned why I was doing it, just that it worked. Then I got burned in production, badly.

Linux Won, But Unix Still Pays My Rent: A Developer's Honest Take
Web Development Aug 22

Linux Won, But Unix Still Pays My Rent: A Developer's Honest Take

I spent three years working on infrastructure at a fintech company in Islamabad before it hit me, I'd never actually *chosen* between Linux and Unix. The choice had been made for me, embedded so deep in the ecosystem that questioning it felt like questioning gravity.