Pane types / tweet

tweet

Someone else's social post, reproduced as they wrote it — X, Mastodon, Bluesky, LinkedIn.

A short post or tweet with author + counts.

A rendered tweet pane (tweet-v1)
tweet-v1

Fields in data

The envelope around data (publisher, label, expiresAt…) is the same on every type: see the envelope.

FieldTypeNotes
variant"v1"optionalDesign variant to render (defaults to v1).
authorstringrequired1–80 chars
handlestringrequired1–40 chars
textstringrequired1–800 chars
likesstringoptionalup to 16 chars
repliesintegeroptional≥ 0
urlstringoptionalformat: uri

Craft

  • Reproduce text verbatim, including line breaks. Don't clean up punctuation or trim it to fit.
  • handle keeps its "@" and author is the display name — the card renders them as a pair.
  • likes is a pre-formatted string ("4.2K"); replies is a plain integer. They are deliberately different types.
  • Omit likes/replies entirely rather than sending zeros — a post with no engagement shouldn't advertise it.
  • publisher is the network ("X", "Bluesky"); label is why it's here ("From people you follow").

Avoid

  • Don't paraphrase or summarize the post — if you're rewriting it, publish a quote or news instead.
  • Don't send threads as one pane; pick the post that carries the point.
  • Don't put your own commentary in text. Context belongs in label.

Examples

Complete payloads for POST /api/v1/feed/items or the MCP publish_pane tool.

A post from an account the user follows

{
  "type": "tweet",
  "publisher": "X",
  "publisherInit": "X",
  "publisherColor": "#000000",
  "label": "From people you follow",
  "data": {
    "author": "Paul Graham",
    "handle": "@paulg",
    "text": "The most underrated skill in startups isn't writing code or talking to users. It's deciding what not to do.",
    "likes": "4.2K",
    "replies": 318
  }
}

A post surfaced by topic, with a link back to the original

{
  "type": "tweet",
  "publisher": "Bluesky",
  "publisherInit": "BS",
  "publisherColor": "#0085FF",
  "label": "Matches “design systems”",
  "data": {
    "author": "Jenny Chen",
    "handle": "@jenny.bsky.social",
    "text": "Shipped our token pipeline today. Figma → JSON → every platform, one command. Six months of arguing about naming, one afternoon of actual code.",
    "likes": "612",
    "replies": 24,
    "url": "https://bsky.app/profile/example/post/123"
  }
}