Skip to content

Document the markdown→blocks conversion and the fallback-text trap (--help + skill) #34

Description

@ygpark80

Problem

chat send/edit --help says only "Message text in markdown format". It doesn't say the text is converted to Slack blocks (markdownToBlocks), nor that the API text field is kept as the raw-markdown fallback (used for notifications only).

That fallback field is a diagnosis trap. Re-fetching a sent message shows:

text:   '**bold** and [link](<https://example.com>)'            ← raw fallback, looks broken
blocks: '*bold* and <https://example.com|link>'                  ← what actually renders, correct

Newlines look collapsed in text too (para one para two) while blocks preserve paragraphs and soft breaks.

Verified fallout (2026-07-16, two independent Claude Code sessions):

  • one concluded "holla collapses newlines" and bypassed holla with raw chat.update calls;
  • another concluded "markdown conversion doesn't happen, **bold** renders literally" and started hand-writing mrkdwn — which the skill itself warns double-converts.

Both messages were in fact rendering perfectly; both sessions were reading the fallback text field.

Proposal

  1. --help for chat send/reply/edit: one NOTE line — "standard markdown, rendered via Slack blocks; the API text field is a raw fallback — verify rendering via blocks, not text".
  2. skills/slack/SKILL.md: add a "Verifying what was sent" section stating the same (check blocks, never judge rendering by text).
  3. (Optional) chat get / post-send echo: render from blocks instead of message.text so the CLI itself doesn't display the misleading fallback.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions