The Three-Piece Stack for AI Search Visibility: llms.txt, JSON-LD, and Citability
After reviewing the GEO skills in our directory, I've stopped thinking of "AI search visibility" as one problem. It's three, arranged in series — and a series fails at whichever link is missing. That framing, more than any tool comparison, is what determines what you should actually work on this quarter.
Three links, three different failures
Link one: llms.txt — the sitemap you write for AI. robots.txt tells crawlers what they may fetch; llms.txt tells them what's worth fetching. It's a curated, human-readable map of your canonical corpus: what you consider authoritative, organized for a system that doesn't follow link graphs the way Googlebot does. The failure when it's missing is silent — AI crawlers spend their budget on whatever they stumble into, your best material never makes the corpus, and nothing errors. You just aren't there.
Link two: JSON-LD — the structure machines read. Once an engine fetches your page, it has to turn HTML into entities: this is the company, this is the price, this is the author, this is the date. JSON-LD is you doing that work in advance instead of hoping the model infers it correctly from prose. The failure mode here is different from link one: you're fetched, you're in the corpus, and you're ambiguous. Two engines parse the same page into two different understandings of what you sell.
Link three: citability — the writing that gets quoted. Answer engines don't summarize pages, they assemble answers from sentences they can lift. A citable claim is discrete, self-contained, attributable: a number with a scope, a comparison with a boundary, a position stated plainly enough that quoting it doesn't require editing it. This is where the Princeton GEO research placed most of its measured gains, and it's the least mechanical of the three links — no linter catches unquotable prose.
The chain matters because the failure is positional. A site with brilliant JSON-LD and no citable sentences gets parsed perfectly and never quoted. A site of perfectly quotable claims behind an unspecified robots.txt for AI crawlers never gets fetched at all. "The AI can't see us" is three different diseases wearing one symptom.
Where the tools sit on the chain
Mapping our reviewed skills onto the chain explains their score shapes better than any feature list does.
seo-sxo, from the seranking bench, works the structure link — structured data, entity markup, the JSON-LD layer. It scores in the 8.6–8.9 band, and it earns that the way the rest of the 15-skill seranking bench does: consistent scaffolding, dependable workflow, the template dividend of a shop that has built this same class of tool over and over.
geo-content-optimizer at 8.7 works the third link, and its dimension profile is a picture of what citability work actually requires: 9.5 on content quality, 10 on security, but a 6 on engineering. Rewriting prose to be quotable is a judgment problem, not a pipelining problem — the value concentrates in the dimension that's hardest to industrialize.
seo-geo, the GEO entry in the same seranking suite, covers the chain breadth-first — which is exactly what you'd expect from a catalogue operation: even coverage, no link treated specially, nothing at 9.3-level depth. And ultimate-seo-geo at 8.3, with 26 routed program files and explicit anti-fabrication rules, is the honest price tag for trying to hold all three links in one tool: the machinery balloons precisely because the three problems don't share a shape.
Notice what's missing from every tool's marketing: any real feedback on link one. No answer engine tells you whether it consumed your llms.txt. Links two and three you can verify — valid JSON-LD parses, quotable sentences get quoted in answers you can search for. Link one is an act of faith with good hygiene.
The minimal closed loop
My actual recommendation is unfashionably small: run all three pieces, at whatever quality you can sustain, before improving any one of them.
The strongest argument for the three-piece stack isn't that each piece is powerful — individually, their effect sizes are modest and contested. It's that the pieces are multiplicative in a cruel way. The engine that can't discover you never tests your schema. The engine that can't parse you never reads your best sentence. The engine that finds you unquotable cites your competitor's version of the same fact, which was written to be lifted.
GEO's minimal closed loop is discovery, parse, quote. Each link assumes the previous one worked, which means each missing piece doesn't subtract its own contribution — it zeroes everything downstream of it. That's why "which tool should I buy" is the wrong opening question. The opening question is which link is broken, and the three-piece stack is just the discipline of checking all three before you polish one.