slack-delivery
$
npx mdskill add vercel-labs/vercel-openclaw/slack-deliveryDiagnose and fix Slack delivery failures using OAuth and signature checks.
- Resolves OAuth mismatches and webhook signature validation errors.
- Integrates with Vercel logs, sandbox listeners, and Bolt workflows.
- Analyzes raw body signatures and deduplication status for root causes.
- Executes repair workflows and displays status via Slack events.
SKILL.md
.github/skills/slack-deliveryView on GitHub ↗
--- name: slack-delivery description: "Slack channel specialist workflow: debug Slack OAuth vs delivery-ready, /slack/events fast path, raw-body signatures, route repair, boot-message cleanup, and lastForward." --- # Slack Delivery Use after `channel-debug-core` for Slack issues. ## Files - `src/app/api/channels/slack/webhook/route.ts` - `src/server/channels/slack/**` - `src/server/workflows/channels/drain-channel-workflow.ts` - `src/server/admin/why-not-ready.ts` - `src/app/api/channels/summary/route.ts` ## Runtime Path ```text Slack event -> /api/channels/slack/webhook -> Slack signature validation over raw body -> event/bot/subtype/user-message dedup -> fast path to port 3000 /slack/events OR workflow -> Bolt signature re-verification -> threaded Slack reply ``` ## Parallel Lane Inputs To Consume Before proposing a Slack fix, consume: - Vercel/app logs lane: `channels.slack_webhook_accepted`, fast-path event, fallback/workflow event, requestId/deliveryId, and project targeting proof. - Sandbox runtime lane: port 3000 listener, `/slack/events` probe behavior, OpenClaw plugin count, sanitized config has `channels.slack`. - Workflow lane: `drainChannelWorkflow` run state when fast path skipped/failed, with verified project targeting when `.vercel/project.json` differs from the incident target. - Prior-fix comparison: openclaw-42 zero-plugin wedge, stale sandbox URL, workflow retry exhaustion, Slack 401 raw-body/signature failure. ## Special Checks - Raw body and `x-slack-*` headers must survive forwarding. - Slack 401 from native handler usually means Bolt signature failure. - OAuth complete is not delivery-ready. - `liveConfigSync` failed can be overridden by recent accepted `lastForward`. - Route repair after 404 must be proven with before/after signals. - Pending boot message cleanup happens when bot reply events arrive. - `app_mention` plus `message.channels` can duplicate user intent.