From 54b95b1b3d3baab8c6cad589828c049014330cd1 Mon Sep 17 00:00:00 2001 From: fixit Date: Tue, 17 Mar 2026 08:17:58 +0000 Subject: [PATCH] Update delay-list-skill: add Slack message splitting logic for 25+ rows --- delay-list-skill/SKILL.md | 48 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 45 insertions(+), 3 deletions(-) diff --git a/delay-list-skill/SKILL.md b/delay-list-skill/SKILL.md index 0b6ce41..6de36fd 100644 --- a/delay-list-skill/SKILL.md +++ b/delay-list-skill/SKILL.md @@ -110,7 +110,7 @@ Wrap the table in a Slack code block (triple backticks) so columns stay aligned: ``` ``` Order Detail ID | Supplier | Carrier | Product -5768484 | De Groot Drukkerij B.V. | DPDINT-STANDARD | foldedleafletsv2 +5768484 | De Groot Drukkerij B.V. | DPFINT-STANDARD | foldedleafletsv2 5785996 | Probo | UPS-UPS_STANDARD | smallstickersownsize ``` ``` @@ -133,8 +133,50 @@ _• {count} orders with state "{state_b}", target dispatch date of {date_b}_ _All had valid tracking links._ ``` -### Posting -Send the formatted message via `mcp__traffic-mcp__Call_slack-feed-traffic-delay-list_`. +### Posting Rules & Slack Character Limit + +Slack has a ~4000 character limit per message. If the full table exceeds 25 rows, you **must** split it into multiple messages to prevent the code block formatting from breaking. + +**Splitting logic:** +1. Calculate the number of parts needed: `ceil(total_rows / 25)` +2. Each message must be a **self-contained code block** (with its own opening and closing triple backticks) +3. **First message** starts with the bold header: `*Snoozed orders (part 1/{total_parts}):*` +4. **Middle messages** use: `*Snoozed orders (part X/{total_parts}):*` +5. **Last message** includes the italic summary footer after the code block +6. If all orders fit in a single message (≤25 rows), use the standard header: `*Here are all {count} snoozed orders:*` + +**Example with 56 orders (3 parts):** + +Message 1: +``` +*Snoozed orders (part 1/3):* +``` ``` +Order Detail ID | Supplier | Carrier | Product +5768484 | De Groot Drukkerij B.V. | DPFINT-STANDARD | foldedleafletsv2 +...rows 1-25... +``` ``` +``` + +Message 2: +``` +*Snoozed orders (part 2/3):* +``` ``` +Order Detail ID | Supplier | Carrier | Product +...rows 26-50... +``` ``` +``` + +Message 3: +``` +*Snoozed orders (part 3/3):* +``` ``` +Order Detail ID | Supplier | Carrier | Product +...rows 51-56... +``` ``` +_All had state "Your order has been packaged", target dispatch date of March 13, and valid tracking links._ +``` + +Send each part as a separate call to `mcp__traffic-mcp__Call_slack-feed-traffic-delay-list_`. **Confidence:** If ALL criteria match exactly → auto-execute (99%+ confidence). If any field is ambiguous or missing → MANUAL\_REVIEW.