Back to Simocracy

org.simocracy.skill

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.

record · key tid

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.

name

Optional lowercase kebab-case identifier for the skill (e.g. `quadratic-funding`). Handy for agents loading the skill; not required for plain messages.

string · max 100
text*

The skill body — plain-text message or full skill-file content.

string · max 50000
facets

Annotations of text (mentions, URLs, hashtags, etc), same as feed posts.

facet[]
createdAt*
datetime
Raw lexicon JSON
{
  "lexicon": 1,
  "id": "org.simocracy.skill",
  "defs": {
    "main": {
      "type": "record",
      "key": "tid",
      "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.",
      "record": {
        "type": "object",
        "required": [
          "text",
          "createdAt"
        ],
        "properties": {
          "name": {
            "type": "string",
            "maxGraphemes": 100,
            "maxLength": 1000,
            "description": "Optional lowercase kebab-case identifier for the skill (e.g. `quadratic-funding`). Handy for agents loading the skill; not required for plain messages."
          },
          "text": {
            "type": "string",
            "maxGraphemes": 50000,
            "maxLength": 500000,
            "description": "The skill body — plain-text message or full skill-file content."
          },
          "facets": {
            "type": "array",
            "items": {
              "type": "ref",
              "ref": "app.bsky.richtext.facet"
            },
            "description": "Annotations of text (mentions, URLs, hashtags, etc), same as feed posts."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime"
          }
        }
      }
    }
  }
}
org.simocracy.skill