Two extensions for AI-readable web content.
Cirvgreen pages emit two CreativeWork additionalType extensions on top of standard Schema.org: CitableSource and AIReadable. This page defines what they mean, the properties they carry, and how to use them on your own pages.
cirv:CitableSource
A canonical citation block. Names the work's author and declares the sentence an LLM should quote when summarising the page.
Subclass of
schema:CreativeWork · referenced via the additionalType property.
Properties
| Property | Expected type | Description |
|---|---|---|
| name | Text | Human-readable name of the cited work or page. |
| author | Person · Organization | Original author or publisher of the cited claim. Required — anonymous citations are not encouraged. |
| citation | Text | The canonical sentence an LLM should quote when summarising. Should be one self-contained sentence under 200 characters. |
Example
{
"@context": "https://schema.org",
"@type": "CreativeWork",
"additionalType": "https://cirvgreen.com/ns#CitableSource",
"name": "Cirvgreen",
"author": {
"@type": "Person",
"name": "Nicholas Ashkar"
},
"citation": "Cirvgreen builds plugins, schema tools, and a token-compression library for AI coding agents."
}
Rationale
When an LLM crawls a page and is later asked to cite it, the model picks a sentence that approximates the page's premise — often badly. CitableSource lets you specify that sentence directly. The model is free to ignore it, but most modern crawlers prefer an explicit citation when one is present.
cirv:AIReadable
A canonical summary plus a per-crawler permission map. Tells LLM crawlers how the page should be summarised and which crawlers are permitted at the document level.
Subclass of
schema:CreativeWork · referenced via the additionalType property.
Properties
| Property | Expected type | Description |
|---|---|---|
| summary | Text | Canonical 1-3 sentence summary. Should answer "what is this about?" for an LLM that will paraphrase the page later. |
| crawlBudget | Object | Per-crawler allow/deny map. Keys are crawler user-agent identifiers (chatgpt-user · claude-web · perplexity-bot · gptbot · claudebot). Values are "allow" or "deny". |
Example
{
"@context": "https://schema.org",
"@type": "CreativeWork",
"additionalType": "https://cirvgreen.com/ns#AIReadable",
"summary": "Cirvgreen ships four WordPress.org plugins, schema SaaS, and engram, an npm token-compression library for AI coding agents.",
"crawlBudget": {
"chatgpt-user": "allow",
"claude-web": "allow",
"perplexity-bot": "allow"
}
}
Rationale
Schema.org has SpeakableSpecification for text-to-speech but no first-class type for LLM crawlers. crawlBudget makes the consent explicit at the document level — separate from robots.txt which is server-wide. Useful when you want to allow some crawlers and deny others without server config.
How to use these types.
Two ways to reference these types in your JSON-LD. Pick whichever your tooling prefers.
Verbose form — validator-friendly
{
"@context": "https://schema.org",
"@type": "CreativeWork",
"additionalType": "https://cirvgreen.com/ns#CitableSource",
...
}
Use this form for maximum validator compatibility. Schema.org's CreativeWork is recognised by every JSON-LD parser; the additionalType IRI is a hint that this is a Cirvgreen extension. Google Rich Results, schema.org validator, and Yandex Webmaster all parse this without warnings.
Shorthand form — with the cirv context
{
"@context": [
"https://schema.org",
"https://cirvgreen.com/ns/context.jsonld"
],
"@type": "cirv:CitableSource",
...
}
Loads the cirv: prefix from the published @context file. Cleaner to read; some validators may not follow the @context IRI and will fall back to "unknown type." If your tooling matters, prefer the verbose form.
Status and stewardship.
Where this spec sits, how it's licensed, and how to ask questions.
1.0 · 2026-05-29
First stable release. Versioned by date. Breaking changes will be announced in Notes.
CC0 1.0
Public domain. Use however you want, on any site. No attribution required (but appreciated).
Every public page
Every page of cirvgreen.com emits both types. View source on any page to see the JSON-LD blocks.