---
title: "AI readiness"
description: "How timbenniks.dev is built for AI agents and crawlers: markdown twins, llms.txt, content indexes, and public WebMCP tools, without turning the site into a dump."
url: "https://timbenniks.dev/ai"
markdown_url: "https://timbenniks.dev/ai.md"
---

# Built for humans. Readable by agents.

This site is meant to be read, summarized, and quoted, with attribution. The HTML is for people. The machine surfaces are first-class, not an afterthought.

- [Agent guide](/agents.md)

- [Open llms.txt](/llms.txt)

---

*Principles*

## How this site treats agents

Remote crawlers, in-tab agents, and humans who want the source. Same content, different doors.

### 01 · HTML for humans

The pages are designed to be read. Machine surfaces are twins of that reading experience, not a dump of the CMS.

### 02 · Maps, not scrapes

Start at llms.txt, content-index.json, feeds, or the sitemap. Fetch the pages you need. Skip dumping the whole corpus.

### 03 · Tools in the tab

When the browser exposes document.modelContext, six read-only WebMCP tools register on every public page: search, list, get content, press kit, booking.

### 04 · Same words, two doors

Append .md to any writing, video, project, or main page URL. Or send Accept: text/markdown to the HTML URL. The edge serves the twin. Example: /about.md

### 05 · Quote freely. Link back.

That is the contract. Attribution is the whole ask.

---

*Surfaces*

## Where agents start

Prefer a map over a scrape. Start here, then fetch only the pages you need.

- **/llms.txt:** [Curated site overview (llmstxt.org)](/llms.txt)
- **/llms-full.txt:** [Full corpus as one markdown document](/llms-full.txt)
- **/content-index.json:** [Compact JSON index with markdown URLs](/content-index.json)
- **/tools.json:** [Public WebMCP tool catalog + schemas](/tools.json)
- **/agents.md:** [Contract for remote and in-tab agents](/agents.md)
- **/press-kit.json:** [Bios, topics, photos, booking contact link](/press-kit.json)
- **/sitemap.md:** [Markdown sitemap with .md twins](/sitemap.md)
- **/feed.json:** [Writing feed (JSON Feed 1.1)](/feed.json)

---

*WebMCP*

## WebMCP

Registered on every public page when the browser exposes document.modelContext (Chrome origin trial / WebMCP testing flag). Admin CMS tools stay behind /admin. Full schema: /tools.json.

### get_page_context

Call this first. Returns what this page is: canonical URL, content type, markdown twin URL if any, and which other tools to use next. No inputs.

### search_site

Full-text search across writing and videos. Prefer this over fetching llms-full.txt. Returns title, type, date, url, markdown url, and a short snippet.

### list_content

List recent writing, videos, talks, or projects without a search query. Returns compact metadata plus markdown URLs.

### get_content

Fetch one piece of content as markdown by path or slug. For videos this includes the transcript when one exists. Do not dump the full corpus.

### get_press_kit

Bios, speaker topics, headshots, on-stage photos, factsheet, and booking contact link.

### request_booking

How to book Tim for a conference, podcast, or workshop. Returns the email address and what to include. Does not send email.

---

Quote freely. Link back.

- [Agent guide](/agents.md)

- [Press kit](/press-kit)
