Skip to content

Add llms.txt URL-resolution guidance to cloudflare and cloudflare-one skills - #96

Open
lbellows wants to merge 1 commit into
cloudflare:mainfrom
lbellows:add-llms-txt-url-resolution
Open

Add llms.txt URL-resolution guidance to cloudflare and cloudflare-one skills#96
lbellows wants to merge 1 commit into
cloudflare:mainfrom
lbellows:add-llms-txt-url-resolution

Conversation

@lbellows

Copy link
Copy Markdown

Problem

Both skills are explicitly retrieval-first, but the only retrieval entry points they name are the docs root and the cloudflare-docs MCP tool. When that MCP server isn't configured — which is the common case for someone who installed the skills via npx skills add and nothing else — an agent that needs a specific docs page has no way to find its URL.

What it does instead is construct one: take a parent path it has seen in the skill, append a plausible slug, and fetch. Docs paths get reorganized and generally 404 rather than redirect, so the guess fails, and the agent burns turns retrying variations of the same guess.

A concrete instance from a real session — the agent had cloudflare-one/access-controls/policies/ from the skill, needed session settings, and fetched:

https://developers.cloudflare.com/cloudflare-one/access-controls/policies/session-management/   404

The real page is under a different parent entirely:

https://developers.cloudflare.com/cloudflare-one/access-controls/access-settings/session-management/   200

Nothing in the skill was wrong — that URL appears in no reference file. The skill just gave the agent no way to resolve a path it didn't already have.

Why now

developers.cloudflare.com already publishes exactly the index needed for this, and neither skill mentions it:

  • https://developers.cloudflare.com/llms.txt — ~16KB index of every product
  • https://developers.cloudflare.com/<product>/llms.txt — every page in one product, with descriptions
  • https://developers.cloudflare.com/<product>/llms-full.txt — full text of a product's docs

Grepping cloudflare-one/llms.txt finds access-settings/session-management in one step.

Changes

Purely additive, +20 lines, no existing content modified.

  • skills/cloudflare/SKILL.md — three new rows in the Retrieval Sources table, and a ### Never guess a docs URL section giving the two-step resolve procedure and stating that on a 404 the agent should go to the product's llms.txt rather than retry variations.
  • skills/cloudflare-one/SKILL.md — the same fallback scoped to that product, whose section names (access-controls/access-settings/, team-and-resources/, traffic-policies/) are particularly hard to predict. Uses the 404 above as the worked example.

Both note the index.md / Accept: text/markdown shortcut for fetching Markdown source, and flag that llms-full.txt should be grepped rather than read whole.

Related

#95 fixes 8 links in skills/cloudflare/references/ that currently 404 — independent branch, no overlap. That one repairs specific instances; this one is the general fallback for when a link inevitably rots again.

🤖 Generated with Claude Code

These skills are retrieval-first, but the only retrieval entry points
they name are the docs root and the cloudflare-docs MCP tool. When the
MCP server is not configured, an agent that needs a page has no way to
find its URL and tends to construct one by appending a guessed slug to
a known parent path. Docs paths get reorganized and generally 404
rather than redirect, so the guess fails and the agent retries
variations of it.

developers.cloudflare.com publishes a machine-readable index at
/llms.txt, plus per-product /<product>/llms.txt and llms-full.txt.
Neither skill mentioned them.

- cloudflare: add three rows to the Retrieval Sources table and a
  "Never guess a docs URL" section with the resolve procedure.
- cloudflare-one: add the same fallback, scoped to that product, whose
  section names are especially hard to predict.

Both note that appending index.md (or sending Accept: text/markdown)
returns the Markdown source, and that llms-full.txt should be grepped
rather than read whole.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant