X skill: use X Chat's unread state

Closed
SA
6d ago
+18-2

X Chat now tracks read state, but the X MCP guide never told agents about it. A fresh agent asked what's unread said "X doesn't tell me which chats are unread" and scanned every conversation for messages newer than the read point.

The guide gets a short Unread section before Read / summarize. For "what's unread" it lists get_chat_conversations with unread_only true and the unread,last_read_event_id,newest_event_id fields, paging until meta.has_more is false since pages can be short or empty. Unread messages are the events after last_read_event_id. Message requests still come from their own list when meta.has_message_requests is true. Read / summarize points there for unread questions, and Don't gets one line against scanning. The plugin goes to 2.6.3.

The MCP doesn't expose mark-unread or archive tools yet, so they aren't documented.

This merges cleanly with #566. #563 also takes 2.6.3, so whichever lands second needs to rename its CHANGELOG heading. The skill text doesn't overlap.

Test plan

  • node scripts/validate-plugins.mjs passes.
  • Ask a fresh agent "what's unread in my X Chat?" It calls get_chat_conversations with unread_only and the unread fields, pages until has_more is false, and doesn't scan every thread.

[!NOTE]
Low Risk
Documentation and version bump only; no runtime or API code changes.

Overview
Bumps the X Cursor plugin to 2.6.3 and documents how agents should answer “what’s unread” in X Chat using server read state instead of scanning the whole inbox.

The X MCP guide (SKILL.md) adds an Unread section: call get_chat_conversations with unread_only true and fields unread,last_read_event_id,newest_event_id, paginate on meta.has_more (including short/empty pages), then load events after last_read_event_id per thread; message requests still come from the separate request flow when meta.has_message_requests is true. Read / summarize now points unread questions at that flow; Don't forbids inferring unread by scanning every conversation’s events.

Reviewed by Cursor Bugbot for commit 99979f1cf0299f3caf3977a85f29b7852ba48f4a. Bugbot is set up for automated code reviews on this repo. Configure here.