A shareable skill file posted to a community. Deliberately mirrors org.simocracy.feed.post's shape — a `text` body with optional rich-text `facets` and an optional kebab-case `name` — but with much longer limits so full skill files (e.g. SKILL.md bodies) fit in a single record. Required fields are just `text` and `createdAt`, same as a feed post.
tid
Timestamp-based ID
Properties
createdAt
string
datetime
Required
An RFC 3339 formatted timestamp.
facets
array
of
ref
app.bsky.richtext.facet
Optional
Annotations of text (mentions, URLs, hashtags, etc), same as feed posts.
name
string
Optional
Optional lowercase kebab-case identifier for the skill (e.g. `quadratic-funding`). Handy for agents loading the skill; not required for plain messages.
maxLength: 1000 bytesmaxGraphemes: 100 graphemestext
string
Required
The skill body — plain-text message or full skill-file content.
maxLength: 500000 bytesmaxGraphemes: 50000 graphemesView raw schema
{
"description": "A shareable skill file posted to a community. Deliberately mirrors org.simocracy.feed.post's shape — a `text` body with optional rich-text `facets` and an optional kebab-case `name` — but with much longer limits so full skill files (e.g. SKILL.md bodies) fit in a single record. Required fields are just `text` and `createdAt`, same as a feed post.",
"key": "tid",
"record": {
"properties": {
"createdAt": {
"format": "datetime",
"type": "string"
},
"facets": {
"description": "Annotations of text (mentions, URLs, hashtags, etc), same as feed posts.",
"items": {
"ref": "app.bsky.richtext.facet",
"type": "ref"
},
"type": "array"
},
"name": {
"description": "Optional lowercase kebab-case identifier for the skill (e.g. `quadratic-funding`). Handy for agents loading the skill; not required for plain messages.",
"maxGraphemes": 100,
"maxLength": 1000,
"type": "string"
},
"text": {
"description": "The skill body — plain-text message or full skill-file content.",
"maxGraphemes": 50000,
"maxLength": 500000,
"type": "string"
}
},
"required": [
"text",
"createdAt"
],
"type": "object"
},
"type": "record"
}