Half the llms.txt files we audit are sitemaps wearing a different extension. Hundreds of bare URLs, no descriptions, no sense of what matters. A model reading that file learns nothing it could not get from crawling you.
A sitemap tells a crawler where pages are. An llms.txt tells a model what your site is for.
The files that work read like an annotated table of contents. One sentence on what the site is. A short, curated list of the pages that answer real questions, with a line each on what a reader finds there. Curation is the entire point. A model deciding what to retrieve needs your judgment, not your URL inventory.
Write it the way you would brief a new researcher on their first day. If a page would not make that briefing, it does not belong in the file.