Skip to content

How We Got LLMs to Recommend Our Open Source Library —…

A conference talk by Christopher Burns (founder of Inth, creator of the open source consent banner library c15t) on making libraries and documentation discoverable to LLMs and coding agents. After onboarding-form responses spiked with "heard about us from an LLM" referrals, Burns distilled his optimizations into a framework-neutral docs pipeline that generates agent-facing files from MDX. Practical takeaways: write llms.txt by hand since a short curated file beats a long noisy one; serve markdown instead of HTML via three methods (.md suffix, content negotiation, query parameter) since not every agent can set headers; use a Web MCP to let agents query docs directly; and most importantly, ship bundled markdown and an AGENTS.md inside the package, since coding agents typically read the repository and node_modules rather than visiting documentation sites (he reports roughly half the tokens saved). He closes by cautioning that best practices shift weekly and nothing stays perfect. # Channel Identity Observations — Video: "How We Got LLMs to Recommend Our Open Source Library" ## Speaker / Channel Self-Identification - **Explicit self-description by the creator:** "I'm Christopher Burns. I'm the founder of Inth. I created an open source cookie banner library called C15T." - He positions himself explicitly as a **peer rather than an authority figure**: "I'm just like you… I've just hacking hacking it together." - Repeated self-deprecation on expertise: "Please don't think my accent makes me an expert" and "I don't want to say this is like prescriptive, that I know the answers." ## Claimed Scope & Products - **C15T** — an open-source cookie banner/consent library, framed as developer-first: "Every other tool was built for marketers and lawyers. We were built for the developer." - **Lead Type** — a "framework-neutral docs pipeline" open source tool for optimizing agent experience, described as "not a magic SEO tool… a very non-sexy title." - **ChrisCMS** — a self-built CMS mentioned in Q&A, framed humorously ("my team wishes I never built"). - Institutional affiliation claim: "I just went through Y Combinator." ## Intended Audience (Observed) - **Developers and maker-founders**, evidenced by: - Interactive audience polling: "How many of you have… said, 'Hey, agents, we need this to be done'… Pretty much most people." - Direct address to library owners: "anybody who has any type of developer module surface, NPM modules, cargo, Python, whatever." - Audience Q&A from a **website agency** working with startups, answered practically. - References assume developer literacy: Next.js config, node_modules, `.mdx` files, Stripe's Collison brothers. ## Credibility Signals Presented by the Creator - Adoption metrics (creator-claimed): "3 million NPM downloads. 45% month-on-month growth. 2.8 thousand websites using it in production." - Attribution claim: "our number one source of inbound is Claude, ChatGPT, Codex… Gemini recommending us." - Prior talk at **Next Conf** when the library had 1.2k downloads ("now it's closer to 2 million"). ## Demonstrated Presentation Patterns (Observable, Not Claimed) - **Listicle-style practical structure** — self-described: "a bit like a BuzzFeed list… of these problems," each problem paired with a concrete solution (llms.txt, llms-full.txt, `.md` twin pages, web MCP, `AGENTS.md` in node_modules). - **Evidence-cited claims** with named external references: Vercel, Minify, Cloudflare, Aura AI test harness, "40 good lines beats 1,000 lines of noise from our testing." - **Iterative/imperfect framing**: "There is no such thing as perfection… I got so caught up of like, everyone expects me to be the expert here, but I've just been hacking on this problem a little more than you guys." - **Open-source orientation**: emphasizes free tooling, cross-company adoption ("we have our friends at other developer companies implementing it"), and reusable techniques. - **Audience interaction and Q&A** at the close, with contact channels offered ("You can find me on X, Burn Chris, and LinkedIn"). ## Creator Claims vs. Demonstrated Patterns | Creator claim | Observable evidence in the material | |---|---| | LLMs are the #1 inbound source | Onboarding format anecdote ("How did you hear about this?"), "spikes that from April 13th" — claim only, no data shown in transcript | | ~50% token savings from node_modules docs | "We can see that between many different models almost 50% token saving" — stated testing result, no methodology shown | | Aura AI score of 59 | Self-reported; framed as fluctuating ("3 weeks ago, it was a lot higher") | | Peer-not-guru posture | Consistent throughout transcript in tone and explicit statements | # Delivery Observation: Christopher Burns — "How We Got LLMs to Recommend Our Open Source Library" ## Tone & Register - **Conversational, self-deprecating, informal.** The talk opens with hedging and candor: *"The talk title, we'll see if it lines up by the end of it... so much changes in like 3 days at this point."* - **Repeatedly disclaims expertise**, a stable pattern throughout: - *"I'm just like you. I'm just this side of the stage. I've just hacking hacking it together."* - *"Please don't think my accent makes me an expert."* - *"I don't want to say this is like prescriptive, that I know the answers."* - *"everyone expects me to be the expert here, but I've just been hacking on this problem a little more than you guys have so far."* - **Honest about uncertainty** rather than polished: *"Again, who actually supports it? Don't ask me. Perplexity, some of the agents, it's all up in the air."* ## Vocabulary & Recurring Phrases - **"Again" as a discourse connector** — extremely frequent, appearing in nearly every section (*"So, again, following what people like Vercel are doing"*, *"Again, we can just stay on top of it"*, *"And again, just doubling down into this point"*). - **Token efficiency** as a recurring value term: *"what is useful, what is token efficient"*, *"trying to be proactive and token efficient"*, *"almost 50% token saving"*. - **"Forever changing"** used repeatedly to frame the domain: *"it's constantly changing"*, *"And this is a forever changing area"*, *"everything is forever changing"*. - Filler and self-repair markers throughout: *"So, yeah,"*, *"uh"*, *"you know"*, and word repetitions (*"hacking hacking"*, *"they They have"*, *"um um"*). ## Teaching Habits & Structure - **Numbered problem/solution framing**, explicitly acknowledged: *"The rest of this talk is going to look a bit like a BuzzFeed list"* — followed by *"that comes to the first problem"*, *"that comes to the second issue"*, *"And then, the second thing as well"*, *"But this is actually the most interesting one."* - **Concrete statistics to ground claims**: *"3 million NPM downloads. 4.5... 45% month-on-month growth. 2.8 thousand websites using it in production"*, and *"For about 40 good lines beats 1,000 lines of noise from our testing."* - **Analogy use** for technical concepts: - The iceberg: *"I like to think of this as, you know, the iceberg."* - Batman: *"I like to think about these problems like, you know, Batman's utility belt. Loads of really small things targeted in different areas."* - **Audience interaction**: *"Raise your hands. How many people have done this? Pretty much most people. That's a lot of hands."* - **Rhetorical self-questioning** to set up sections: *"Is it some kind of scientific background? Am I from a lab? No."* ## Communication Patterns - **Humor through understatement and asides**: - *"That really annoying thing on the internet. That is me."* (on his cookie banner library) - *"Minify, Vercel, C15T, pat myself on the back."* - *"It's actually a very non-sexy title, but a framework-neutral docs pipeline."* - The ChrisCMS anecdote: *"It's a whole thing my team wishes I never built. But, it does work."* - **Credibility through association**: name-drops Y Combinator, the Collison brothers, Vercel, Cloudflare, Stripe Docs. - **Actionable, prioritized advice** in the Q&A: *"I would say llms.txt is your first shout... Second, if you can, just do them manually."* - **Motivational closing** pivoting from the disclaimer pattern: *"never get caught with being perfect. Every small little increase really does matter."* ## Stability vs. Isolated Moments - **Stable patterns**: the "again" connector, self-deprecating disclaimers, problem→solution structure, statistics-grounded claims, and humor appear across the whole talk. - **Isolated moments**: the technical clicker failure at the start (*"My slidey clicky thing's not working"*) and the ChrisCMS digression in Q&A are one-off asides, not recurring habits. - **Uncertainty note**: this is a single talk, so "stable pattern" here means consistent within this delivery; cross-talk habits cannot be verified from this source alone. # Position Record: How We Got LLMs to Recommend Our Open Source Library **Speaker:** Christopher Burns, founder of Inth (self-identified in transcript); creator of open-source cookie banner library **C15T** and the docs pipeline tool **Lead Type**. ## Speaker's Framing and Self-Positioning - Burns repeatedly disclaims expertise: he is "just hacking it together," not from a scientific background, and warns the audience: "Please don't think my accent makes me an expert." - He explicitly states his advice is **not prescriptive**: "I don't want to say this is like prescriptive, that I know the answers." - He notes the field is "forever changing," including his own slides: "so much changes in like 3 days at this point." ## Core Claim: LLM Referrals as Inbound Source - C15T grew from **1.2 thousand downloads** (at time of Next Conf talk) to "closer to 2 million"; current stats cited: **3 million NPM downloads**, **45% month-on-month growth**, **2.8 thousand production websites** (from "Minify to Z to Inphysical" — as transcribed). - Via an onboarding question "How did you hear about this?", spikes appeared from **April 13th** onward; LLM tools (**Claude, ChatGPT, Codex, Gemini**) are now the **number one source of inbound**. - Burns describes the change as "we went from wizards installing our software to agents installing them," analogizing to the "Collison brothers install" (Stripe co-founders handing you a laptop) — now "it's kind of like just a prompt." ## Stated Techniques (the "Batman's utility belt") Burns frames the approach as many small optimizations rather than one tool, abstracted into **Lead Type** ("a framework-neutral docs pipeline" — he calls the title "very non-sexy"), which generates agent-optimized output from `.mdx` files. ### 1. LLMs.txt - Should be **hand-written** rather than auto-generated, written "as you are trying to get the answers across to the LLMs." - Claim from their testing: **"about 40 good lines beats 1,000 lines of noise."** ### 2. LLMs full (sitemap-style file) - Because "agents don't know how to browse. They know how to fetch," a file with pages, links, and short descriptions is needed. ### 3. Markdown twins (`.md` versions of pages) - HTML is "expensive"; ship markdown instead. Best docs sites (he names **Minify, Vercel, C15T**) add a header line telling agents a markdown version exists. - **Qualification preserved:** on who actually supports this header — "Don't ask me. Perplexity, some of the agents, it's all up in the air." - Markdown should be reachable three ways: `.md` suffix, a redirect when the agent sends a markdown-accept header, and a `mode=agent` URL query (since "not all agents can append header tags"). ### 4. Web MCP (early) - Lead Type exposes three tools: **search docs, get pages, ask docs**. - Burns speculates on future agent communication over email ("there's companies in San Francisco building that today") — marked as his prediction, not established fact. ### 5. Node modules / agents.md (called "the most important one") - **Claim:** coding agents "are actually never visiting the website" for libraries — they read the repo and `node_modules`, working from "previous stale training data" and compiled source. - Solution: bundle markdown docs into node modules with an **agents.md** file directing agents to the documents. - **Claim:** nearly **50% token savings** across many models versus web search. - Works without "skills," but skills can reinforce it (e.g., instructing agents to read bundled files and verify they match). ## Test Harnesses - Cloudflare released one; his favorite is **Aura AI** ("brand new"). His own score of 59 is shown happily with the qualification: "3 weeks ago, it was a lot higher." ## Q&A — Website Agency Question *Question (audience member, website agency):* For a non-developer-tool website being built from scratch, which method to prioritize? **Burns's answer:** - Most important: **a `.md` file for every page**, noting many CMSs are not built this way. - Observed trend (unstated in slides): more websites "being visited by agents instead of real humans." - First priority: **llms.txt**, and "if you can, just do them manually." - He mentions building his own CMS ("ChrisCMS, short for Christmas") — "a whole thing my team wishes I never built" — which raises token efficiency. ## Preserved Tensions and Qualifications - Rapid change: results and scores shift within weeks; "There is no such thing as perfection." - Uncertainty about agent support for markdown headers ("it's all up in the air"). - His own Aura AI score dropped over three weeks — presented as evidence of flux, not stability. - Claims of "50% token saving" and "40 good lines beats 1,000" are attributed to his testing, without methodology shown. - Success statistics attributed to "we just checked" — no external verification offered. # Speaker Attribution & Provenance Record ## Video - **Title:** How We Got LLMs to Recommend Our Open Source Library — Christopher Burns, Inth - **Video ID:** `01a15ca7-c1b6-7a53-9c5c-b81775e58efc` - **Format:** Conference talk with audience Q&A ## Speakers | Speaker | Role | Evidence | |---|---|---| | Christopher Burns | **Creator / Presenter** — founder of Inth, creator of open-source library C15T, Y Combinator alum | Self-identified: "I'm Christopher Burns. I'm the founder of Inth. I created a open source cookie banner library called C15T." | | Unidentified audience member | **Audience questioner** — states they work at a website agency serving startups | No name given in transcript; asks the sole Q&A question. | | Unidentified host/MC | **Moderator** — announces Q&A time | "I THINK WE HAVE TIME for one or two questions." Not named. | ## Roles Established by Transcript - **Creator:** Christopher Burns (talk content) - **Other identified roles:** Founder (Inth), library creator (C15T), tool creator (Lead Type, ChrisCMS) ## Referenced Sources & Third-Party Claims ### Cited third parties - **Stripe co-founders ("Collison brothers")** — anecdote about the "Collison install" practice; used illustratively. - **Vercel** — cited as a thought leader whose practices the speaker followed. - **Y Combinator** — speaker states he "went through" it. - **Cloudflare** — credited with releasing a site agent-readiness test suite. - **Aura AI (aura.ai)** — speaker's preferred agent-readiness testing tool; notes his own score of 59. - **Named AI services:** Claude, ChatGPT, Codex, Gemini, Perplexity. ### Self-reported statistics (unverified, speaker claims) - 3 million NPM downloads; 45% month-on-month growth; 2.8 thousand production websites (from "Minify to Z to Inphysical" — names as transcribed); ~2 million downloads of C15T; ~50% token savings with node_modules-bundled markdown; LLM recommendations as #1 inbound source since April 13th. ### Third-party claim noted - Speaker claims "friends at other developer companies" are implementing Lead Type "seeing similar results" — unnamed companies, unverified. ## Promotional Segments (Flagged) - **C15T promotion:** Statistics showcase ("not theoretical... something that is succeeding"), "best developer framework," and "Think of it like Stripe Docs." - **Lead Type promotion:** Extended segment presenting the open-source framework ("Lead Type generate") as solving the discussed problems; framed as "side quest." - **ChrisCMS promotion:** Speaker's self-built CMS mentioned in Q&A. - **Self-promotional humor:** "Minify, Vercel, C15T, pat myself on the back." - **Contact promotion:** "You can find me on X, Burn Chris, and LinkedIn." ## Uncertainty Notes - Audience questioner and moderator are unnamed; identities unavailable from transcript. - No curated metadata supplied; no comment availability, cited documents, or external sources beyond those in the transcript. - All usage statistics are speaker-reported and uncorroborated. - Speaker himself flags uncertainty: "Don't ask me" regarding which agents support markdown headers; talk title may not match final content. \>\> The talk title, we'll see if it lines up by the end of it, but when we put this talk title in just to be honest with you, so much changes in like 3 days at this point. We'll see how it goes. So, yeah, the whole point of it was that how I got LLMs to understand my open source library and what I did to do it well. Is it some kind of scientific background? Am I from a lab? No. That's My slidey clicky thing's not working. So, I just like to say again, I'm just like you. I'm just this side of the stage. I've just hacking hacking it together, figuring out what is useful, what is token efficient, these kind of things. And again, I am British. Please don't think my accent makes me an expert. So, for quick contacts, I'm Christopher Burns. I'm the founder of Inth. I created a open source cookie banner library called C15T. That really annoying thing on the internet. That is me. Uh I spoke at Next Conf uh after it started taking off and it had 1.2 thousand downloads at the time. Now it's closer to 2 million. In terms of like statistics, so we just checked that, you know, this is not theoretical. This is actual uh something that is succeeding. We have 3 million NPM downloads. 4.5 uh 4.5 45% month-on-month growth. 2.8 thousand websites using it in production from Minify to Z to Inphysical. And the whole concept of this talk was uh it goes back to we were doing all these things to make our library more efficient. You know, we were batting upwards compared to every other tool. Every other tool was built for marketers and lawyers. We were built for the developer. So, we had to make sure we had a very good developer experience. And we had an onboarding format said, "How did you hear about this?" And we started to get spikes that from April 13th, you know, now it is our number one source of inbound is Claude, ChatGPT, Codex, that is ChatGPT, Gemini recommending us. And I like to think of this as, you know, the iceberg. You know, we start with the top of C15T and there's many many tools that go into it from, you know, LLMs.txt to site maps to RSS feeds to robot.txts. So many micro optimizations that you can do from old methods of running the internet to new methods. And uh how many of you have, you know, made these kind of tools? How many of you have, really put simply, said, "Hey, agents, we need to this to be done." And yeah, it said, "We should install this library." And you've gone, "Okay." Raise your hands. How many people have done this? Pretty much most people. That's a lot of hands. So, what's really funny is that we went from wizards installing our software to agents installing them. And I just went through Y Combinator. And what's really interesting is it if you know who these two people are. These are the co-founders of Stripe, the Collison brothers, and they had a really classic saying of like a Collison brothers install. And they would hand you their laptop, and they would install Stripe. These days, it's kind of like just a prompt. Being in Y Combinator, we just give people a prompt. And really what that means is that our very good developer experience primitives are now hitting agent primitives. So, as we was pulling all these things together, there is no one tool that fixes everything. I like to think about these problems like, you know, Batman's utility belt. Loads of really small things targeted in different areas to get it done. And we built all of these things into C15T because we wanted C15T to be the best developer framework in this tool. Think of it like Stripe Docs. And as we was building more and more tools, more and more documentation websites, we actually started abstracting these tools into a side quest that we call Lead Type. So, all of the things that we're going to talk about now are things that we have already solved with this open source framework. We have our friends at other developer companies implementing it and seeing similar results about how to like optimize for the agent experience. So, again, this isn't a magic SEO tool. It's actually a very non-sexy title, but a framework-neutral docs pipeline. Complex. But really, all it basically does is take your .mdx files, you run Lead Type generate, and it will spit out everything for um optimized agent experience for your websites. And the rest of this talk is going to look a bit like a BuzzFeed list, to put simply, of these problems, because again, not everybody knows even how to put an LLM.txt on their website. So, you know, that comes to the first problem of if your docs have hundreds of pages, and how can it navigate them to find the right questions? The first solution is obviously an LLM.txt. What we found in our research is that it's much better not to just generate this. It is much better to write your LLM.txt from hand. Obviously, AutoRaptor, but write it as you are trying to get the answers across to the LLMs. For about 40 good lines beats 1,000 lines of noise from our testing. And that comes to the second issue of agents don't know how to browse. They know how to fetch. So, you then need the second part of the solution of the LLMs full. Again, think of this as a sitemap, where it takes the actual page and the links and a short description of what each page is for the LLMs to reference. Again, most people have heard these two solutions. But, where things are starting to get very complicated and we're seeing a lot of optimizations right now, is that HTML is expensive, and why can't we just ship markdown to the agents? And we can. And you've seen that everybody has started creating twin MDs. So, that's taking the normal website, such as Next.js quick start, and then having a dot MD on the end of it. And when you load that, it goes to the markdown But, what's really important here, and it's really worth noting, is this line at the bottom. If you look at all the best documentation websites, Minify, Vercel, C15T, pat myself on the back. Um they all have this in the header. This is saying to the agents whenever they visit the website that there is an alternative version of this in mark markdown. Again, who actually supports it? Don't ask me. Perplexity, some of the agents, it's all up in the air. And then, the second thing as well is that taking the .mds, you need to make sure that they're available through multiple methods. So, one of them is like the .md, so as you like copy it to an agent, you say .md. Another one is just taking the normal um link and then adding a uh redirect into your like your Next.js config, so that if it detects an agent has the header of accepting markdown, instead of returning the HTML, it will return the markdown. And then, the third one is that not all agents can append header tags. So, there's also a URL query of mode equals agent. So, they're the ones that pretty much everybody knows. Um and it's pretty basic internet knowledge at this point. Um but one of the really interesting ones is where we're going next. And our tooling is also helping this is that an agent can't ask your website anything. So, we need to think about the web MCP. And this is still very early, but our tool is already uh um exposing three different tools to WebMCP. Search docs, get pages, and ask docs. Again, um our library lead type is pulling all of that context together so an agent can easily ask it the right questions. I think we'll even see a future where communication happens over email and there's companies in San Francisco building that today. But this is actually the most interesting one and I think the most important one that anybody who has any type of developer module surface, NPM modules, cargo, Python, whatever. Is that the uncomfortable truth is that coding agents are actually never visiting the website if you have a library. They're actually visiting the node modules. They read the repo and they read the node modules. They They have previous stale training data and they're trying to work it out on what it can do from the the compiled source. So, again, following what people like Vercel are doing and people who are thought leaders in this industry is that we take the bundled markdown documents and then we also put them in the node modules with an agents.md file. And the agents.md file basically says, "If you've got a problem, if you've got a question, all the documents are here. Grab them." And we actually see that this has surprisingly real effects. We can see that between many different models almost 50% token saving on instead of trying to search the web, find the right tools, pulling the markdown files from your code base. So, if you have a library that's forever changing, then having the node modules built in is a very effective solution. This is also working without any skills, but if you want as well, you can add skills to it to say, "Look at the node modules and go from that." And again, just uh doubling down into this point, looking at like the agents.ai and DFile, you can say like when working with Z15 T Next.js library, read the bundles and verify that they match and go from there. So, that's really like how we've done it. I don't want to say this is like prescriptive, that I know the answers. If you have documentation websites, or if you have any type of markdown, if you're running your own blog, you know, I've been using our package as well on our marketing website. Every part of our marketing website also has a markdown file. It can be something that's used for many things. We're currently just um most people are just using it for documentation. But, you can literally run it and it will pull out all of these extra files. And one of the big things was when I put this talk together, you know, we were seeing the results that Claude was recommending, but there was not really any like test suites yet, or test harnesses, on like is your site agent ready? And Cloudflare brought one of them out. But, my favorite is actually one called Aura AI. Um this is brand new and it tests a lot. I'm happy to show off score of 59 because it's constantly changing. 3 weeks ago, it was a lot higher. And again, this is a forever changing area. So, aura.ai, put in your website, and it will start giving you recommendations. It's forever changing. Again, we can just stay on top of it. And yeah, this is like one of my final slides is that the slide the the market agents, LLMs, everything is forever changing. There is no such thing as perfection. When I started making these slides, I got so caught up of like, everyone expects me to be the expert here, but I've just been hacking on this problem a little more than you guys have so far. So, never get caught with being perfect. Every small little increase really does matter. Every small little thing you add really does matter. Thank you so much. You can find me on X, Burn Chris, and LinkedIn, and everywhere. \>\> \[applause\] \>\> WOO! I THINK I THINK WE HAVE TIME for one or two questions. Yeah, of course. \>\> So, if you were building um uh we're a website agency. We work with a lot of startups building like their own websites. \>\> Mhm. \>\> If you were just building a website, not necessarily like developer tool, but just a website to be found, which of these methods like would you concentrate on if you're starting from scratch? \>\> Yeah, I think the most important ones, and we're starting to see this more and more, is trying to provide a dot md file for every single page. A lot of CMSs are not built in this way. Um and we see this optimization happening more and more where I didn't put in the slide, but we're seeing more and more websites being visited by agents instead of real humans. So, in terms of even like trying to be proactive and token efficient, you should provide a markdown file if you can. Again, a lot of CMS's are not built this way. I actually built my own CMS. My name is Chris and I built ChrisCMS, short for Christmas. It's a whole It's a whole thing my team wishes I never built. But, it does work and it does bring this like token efficiency up. So, yeah, I would say llms.txt is your first shout. llms.txt full form .txt. Second, if you if you can, just do them manually. Say you're not even working on systems that have markdown, I still recommend them. But, you can always get creative with creating these files on the on on the go.