A template for a tab for a group's site, published by whoever made it. A site names it by URI; an agent installs it as a skill. Keyed by the template's name.
any
Any valid record key
Properties
createdAt
string
datetime
Required
An RFC 3339 formatted timestamp.
description
string
Required
One line saying what it is and when to use it; what an agent matches a request against.
maxLength: 3000 bytesmaxGraphemes: 300 graphemesentry
ref
#entry
Optional
How a site uses it unless told otherwise; what it reads, writes and calls are what it needs to be allowed for it to work.
guide
string
Required
How to use it, in markdown: what it shows, what it reads and who can see that, how to make it a group's own.
maxLength: 50000 byteshtml
string
Required
The page: a whole HTML document, drawn in a sandboxed frame with the site kit in front of it.
maxLength: 200000 bytesname
string
Required
What a site and an agent call it: lowercase letters, digits and dashes. The same as the record key.
maxLength: 64 bytespreview
string
Optional
A small drawing of a tab of it, as SVG, for choosing it: drawn in the site's colours by the tokens var(--bg), var(--ink), var(--muted), var(--line), var(--accent), var(--surface) and var(--soft). Shown as an image, so nothing in it runs.
maxLength: 20000 bytesView raw schema
{
"description": "A template for a tab for a group's site, published by whoever made it. A site names it by URI; an agent installs it as a skill. Keyed by the template's name.",
"key": "any",
"record": {
"properties": {
"createdAt": {
"format": "datetime",
"type": "string"
},
"description": {
"description": "One line saying what it is and when to use it; what an agent matches a request against.",
"maxGraphemes": 300,
"maxLength": 3000,
"type": "string"
},
"entry": {
"description": "How a site uses it unless told otherwise; what it reads, writes and calls are what it needs to be allowed for it to work.",
"ref": "#entry",
"type": "ref"
},
"guide": {
"description": "How to use it, in markdown: what it shows, what it reads and who can see that, how to make it a group's own.",
"maxLength": 50000,
"type": "string"
},
"html": {
"description": "The page: a whole HTML document, drawn in a sandboxed frame with the site kit in front of it.",
"maxLength": 200000,
"type": "string"
},
"name": {
"description": "What a site and an agent call it: lowercase letters, digits and dashes. The same as the record key.",
"maxLength": 64,
"type": "string"
},
"preview": {
"description": "A small drawing of a tab of it, as SVG, for choosing it: drawn in the site's colours by the tokens var(--bg), var(--ink), var(--muted), var(--line), var(--accent), var(--surface) and var(--soft). Shown as an image, so nothing in it runs.",
"maxLength": 20000,
"type": "string"
}
},
"required": [
"name",
"description",
"guide",
"html",
"createdAt"
],
"type": "object"
},
"type": "record"
}