Skip to content

Plan: Slack live cards for coding-session progress - #8

Open
Yeshwanthyk wants to merge 1 commit into
mainfrom
cursor/slack-live-cards-plan-8ed8
Open

Plan: Slack live cards for coding-session progress#8
Yeshwanthyk wants to merge 1 commit into
mainfrom
cursor/slack-live-cards-plan-8ed8

Conversation

@Yeshwanthyk

Copy link
Copy Markdown
Owner

Slack’s “live cards” are Thinking Steps: task_card / plan blocks streamed through chat.startStreamappendStreamstopStream. Linear Agent is using that surface for coding sessions (title, current action, file edits, link back). There is no separate Live Cards API.

What I checked

Hermes Agent main today (8018f9e, 2026-08-13)

  • Native Slack task cards are not shipped. Current plugins/platforms/slack/adapter.py has zero startStream / task_update usage.
  • Open competing PRs: #29496 (minimal, stale adapter path) and #59010 (richest: plan mode, reasoning, subagent streams, ~306s rollover, live-probed Slack quirks). Both still unmerged / needs-decision.
  • What did merge: #67080 live per-tool Assistant status (is reading docs/api.md…). Ziggy already has a simpler Using <tool>… version of this.
  • Today’s Hermes commits are desktop inbox cards, not Slack. Do not import them.

Slack docs

  • Existing chat:write is enough.
  • Channel streams need recipient_user_id + recipient_team_id.
  • Ziggy currently drops team_id from auth.test and does not decode it from Socket Mode.

Ziggy today

  • Already has reactions, native status, placeholder + progressive chat.update, and Pi tool progress events.
  • ChatProgressEvent keeps tool names and drops Pi args, so file paths cannot appear on a card yet.

Recommended shape

Keep 👀 / status / fallback placeholder. Replace the working-message compositor with one native plan stream:

  1. Slice 0 — carry team/user recipient IDs; typed start/append/stop in the raw Slack adapter (no @slack/web-api).
  2. Slice 1 — native stream is the working message; today’s placeholder is the fallback if startStream fails.
  3. Slice 2 — each Pi tool call becomes a task_update (in_progresscomplete).
  4. Slice 3 — sanitize path / command from known coding tools so titles look like Linear’s Edit LoginView.swift.
  5. Slice 4 — rollover before Slack’s ~306s stream lifetime; live workspace proof.

Do not copy Hermes’ full reasoning/subagent SlackTaskStream, OpenClaw’s Slack SDK, or Linear’s issue tracker.

Full write-up: docs/research/slack-live-cards-plan.md.

This PR is research only. No runtime change until a slice is approved.

Open in Web Open in Cursor 

Record how Slack task/plan stream chunks map onto Ziggy's existing
placeholder and tool-status stack, after checking Hermes main (native
cards still unmerged) and Slack/Linear docs.

Co-authored-by: Yesh Yendamuri <Yeshwanthyk@users.noreply.github.com>
@Yeshwanthyk
Yeshwanthyk marked this pull request as ready for review August 13, 2026 03:31
@cursor

cursor Bot commented Aug 13, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants