vibe_dm
Send a direct message to any developer on /vibe. Your message arrives immediately if they are online, or waits until their next session, so no one needs to be present to receive it.
Instructions
Send a direct message to someone on /vibe. It lands in their session now if they're around, or waits for their next turn — nobody has to be online. Sends exactly the text you give it; /vibe doesn't attach repository or session context.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| handle | Yes | Who to message (e.g., @alex) | |
| origin | No | How this message came to be. Omit for a normal message you're composing. Pass the value the drafting tool told you to use when sending a draft it produced: 'intro' (vibe_intro), 'stuck_solver' (vibe_weave solve), 'held_half' (a Fable-held reply), 'fable'. | |
| message | No | Your message | |
| payload | No | Optional structured data (game state, code review, handoff, etc.) | |
| reply_to | No | Optional: Message ID to reply to (creates a threaded reply) | |
| artifact_slug | No | Optional artifact slug to share (e.g., "pizza-guide-abc123"). The artifact will be shown as a rich card. | |
| approved_sha256 | No | Optional (#392): hex SHA-256 over UTF-8 of "<recipient> <message>" — recipient lowercased without a leading @, message trimmed — binding this send to exactly what the person approved. The server refuses a send that would store anything different. Drafting tools set it. | |
| idempotency_key | No | Optional: a stable key for this exact send, so a retry delivers once. Drafting tools set it; omit when composing by hand. | |
| tip_amount_cents | No | Optional: Attach an instant USDC tip (100 = $1, 500 = $5, 1000 = $10) |