From f2db3b1b3e3f15add06f66827841d7da2d635d6d Mon Sep 17 00:00:00 2001 From: Jared Vititoe Date: Wed, 7 Oct 2026 23:30:31 -0400 Subject: [PATCH] hookshot: DevDesk "Claude needs you" webhook (devdesk#28) devdesk-notify-matrix on CT 126 posts here when a Claude session waits for input and no browser tab or SSH client is attached. Deploying this transform creates the Devdesk hook in Spam and Stuff. Co-Authored-By: Claude Opus 5.5 --- hookshot/devdesk.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 hookshot/devdesk.js diff --git a/hookshot/devdesk.js b/hookshot/devdesk.js new file mode 100644 index 0000000..61b9aca --- /dev/null +++ b/hookshot/devdesk.js @@ -0,0 +1,19 @@ +// DevDesk "Claude needs you" (devdesk#28) +// Receives: { session, message, url, host, text } from devdesk-notify-matrix on +// CT 126 when a Claude session waits for input and no browser tab or SSH client +// is attached to it. +var session = String(data.session || 'a session'); +var message = String(data.message || 'Claude is waiting for your input'); +var url = data.url ? String(data.url) : ''; +function esc(t) { + return t.replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); +} +// m.text, not m.notice: notices are muted by default push rules, and this one +// exists to reach your phone. +result = { + version: 'v2', + plain: '🔔 Claude needs you in ' + session + ': ' + message + (url ? ' — ' + url : ''), + html: '🔔 Claude needs you in ' + esc(session) + ': ' + esc(message) + + (url ? ' — open in DevDesk' : ''), + msgtype: 'm.text', +};