Devin Logan is the sole technical writer at Fern, and she's operating under a new assumption: most visitors to their documentation aren't human developers anymore—they're AI agents. Whether it's Ask Fern, Claude Code, Cursor, or some other LLM interface, roughly a third of traffic on pages like the quickstart comes from models, not people. That number is only going up.

The Shift in Thinking

Logan's biggest mindset change isn't about keywords or metadata—it's about intent. When an AI agent asks for help with Fern, it's not browsing for entertainment. It's trying to accomplish something. The docs need to support that action-oriented behavior, which means rethinking how content gets structured from the ground up.

Making Flows Executable

The Fern quickstart is a prime example: it walks through installing the CLI, initializing a docs project, configuring an org, and publishing—all of which can run via command line. That means an AI agent should theoretically be able to execute the entire flow autonomously. Logan added llms-only tags throughout the page with extra context agents need but humans don't—verbose explanations of file structure, expected outputs after running commands, troubleshooting tips, handling interactive prompts. The human-facing version stays clean and action-oriented; the agent gets the scaffolding to act without human intervention. She iterated on this herself by running the entire flow through Claude Code multiple times, adding context wherever the agent got stuck, until she could hand over a prompt like "create and publish a new docs site for me" and watch it execute end-to-end without touching a single command herself. The same pattern is now being applied to SDK quickstarts across Fern's nine language offerings.

Explaining Systems, Not Just Steps

Not every agent-facing addition is procedural. Sometimes an AI needs enough context to reason about the system it's working with, not just execute specific commands. For Ask Fern's overview page, Logan added a short "Under the hood" section in llms-only tags—a numbered breakdown of how the RAG pipeline works (chunking, vector retrieval, RBAC filtering, keyword fallback) plus a sequence diagram. A customer enabling Ask Fern doesn't need that detail; it would make a simple feature feel like it requires understanding internals to use. But an agent debugging why their own Ask Fern configuration surfaces some pages and not others absolutely needs that context. It's a different shape from the quickstart pattern: instead of "extra scaffolding so you can act," this is "extra context so you can reason."

Stripping Pages Down for Agents

The docs overview page is styled for humans—card groups, icons, dark/light mode variants wrapped in JSX—and that's by design. A landing page is where visual craft earns its keep. But an agent fetching that page gets buried under component boilerplate, image references, and CSS class names wrapped around very little actual prose. For pages like this, agents now receive a stripped-down markdown version with the same wayfinding links but without the styling overhead. The homepage is the extreme case: it's almost entirely Rive animations and custom JSX grids with barely any source prose at all. Logan hides the entire human-facing block with llms-ignore and replaces it with an llms-only markdown table of contents pointing to the same destinations.

Keeping Content Scoped and Current

Long monolith pages hit token limits and make AI search retrieval harder—but they're not great for humans either, so breaking them into focused, self-contained units was already the right call. The AI motivation just accelerates that decision. Stale content is worse. A human might notice a page looks outdated and hunt for something fresher. An AI agent will confidently relay whatever it finds, even if the feature was deprecated six months ago. Logan actively removes or hides early-access content—if a feature isn't ready for general use, the docs shouldn't be where Ask Fern can surface it as an answer.

Findability Through Frontmatter

Descriptions are how agents decide whether to fetch a page at all. Fern Docs has built-in frontmatter fields (title, description, subtitle) that flow directly into llms.txt. Logan started treating frontmatter like commit messages—clear, specific summaries that help something decide if this is what it's looking for. Every markdown response also includes pointers telling agents where to find the full docs index and expanded content versions. She originally maintained these by hand until it didn't scale; now the platform auto-prepends them to every page. Stable URLs matter too: when renaming a page title, the URL slug stays the same so existing agent bookmarks don't break.

Where Content Work Hits Its Ceiling

Here's the uncomfortable truth Logan admits: everything above is content work, but none of it reaches an agent without platform-level scaffolding. She can write perfect product descriptions for every page, but those descriptions only reach agents because Fern generates an llms.txt that indexes them. Without that platform feature, her frontmatter metadata stays invisible to any agent approaching cold. She can break pages into focused units, but that only helps AI search if the platform handles chunking, retrieval, and ranking well. A perfectly scoped page in a bad search index is still unfindable. The llms-only tag itself only exists because the platform built it into markdown content negotiation for agents—without it, every content decision collapses into an impossible tradeoff: clutter the human page or leave the agent without context. The reverse holds true too. A platform generating beautiful llms.txt from empty frontmatter isn't helping anyone. Great chunking strategy over stale monolith content still retrieves stale monolith content. Platform scaffolding gives content work somewhere to land; content work gives platform scaffolding something worth surfacing.

Key Takeaways

  • AI agents accessing docs aren't browsing—they're trying to accomplish tasks, so content must support action
  • llms-only tags let you add agent context without cluttering human-facing pages
  • Procedural flows should be executable end-to-end via CLI; test them with actual agents like Claude Code
  • System internals help agents reason but don't need to appear on feature overview pages for humans
  • Long monolith pages hurt both audiences—break content into focused, self-contained units
  • Stale or early-access content is worse for AI than humans—actively hide it from agent-facing indexes

The Bottom Line

The most AI-friendly docs aren't built by writers alone—they're the product of content craft and platform scaffolding working in concert. If you're only looking at one side of that equation, you're leaving performance on the table.