$npx -y skills add getnao/sylph --skill zero-inbox---
| 1 | # Zero Inbox - Triage Skill |
| 2 | |
| 3 | ```yaml |
| 4 | name: zero-inbox |
| 5 | description: > |
| 6 | Triages unanswered Slack messages and unread emails. Fetches messages, |
| 7 | filters for what needs a response, routes to domain-specific skills, |
| 8 | and drafts replies. Goal: get to inbox zero efficiently. |
| 9 | triggers: |
| 10 | - zero inbox |
| 11 | - triage my inbox |
| 12 | - check my messages |
| 13 | - what needs my attention |
| 14 | ``` |
| 15 | |
| 16 | --- |
| 17 | |
| 18 | ## MCP connectors |
| 19 | |
| 20 | | Connector | Purpose | |
| 21 | |-----------|---------| |
| 22 | | Slack | Read DMs and channel mentions, send replies | |
| 23 | | Gmail | Read unread emails, draft replies | |
| 24 | |
| 25 | ## Slack Triage Routine |
| 26 | |
| 27 | ### Step 1: Fetch Incoming Messages |
| 28 | Fetch all DMs and channel mentions from the last 10 days. |
| 29 | - Use the Slack MCP to read channels and DMs |
| 30 | - Focus on messages that mention the user or are direct messages to them |
| 31 | - Capture: sender, channel, timestamp, message content, thread context |
| 32 | |
| 33 | ### Step 2: Fetch Sent Messages |
| 34 | Fetch the user's own sent messages from the same time period. |
| 35 | - This is needed to identify which conversations are already handled |
| 36 | - Also fetch messages sent by designated proxies (e.g., co-CAO, EA) who may have replied on the user's behalf |
| 37 | |
| 38 | ### Step 3: Filter Unanswered |
| 39 | Compare incoming vs sent. A message is "unanswered" if: |
| 40 | - It was directed at the user (DM or @mention) |
| 41 | - Neither the user nor a designated proxy replied in that thread |
| 42 | - It contains a question, request, or action item (not just a reaction or FYI) |
| 43 | - It is not from a bot or automated notification |
| 44 | |
| 45 | Skip messages that are: |
| 46 | - Already answered by the user or a proxy |
| 47 | - Pure informational (no response needed) |
| 48 | - From bots or integrations (unless they require action) |
| 49 | - Older than 10 days (flag these separately as "stale") |
| 50 | |
| 51 | ### Step 4: Present for Review |
| 52 | Present unanswered messages grouped by priority: |
| 53 | |
| 54 | ``` |
| 55 | ## Needs Response (X messages) |
| 56 | |
| 57 | ### High Priority |
| 58 | [Messages from important contacts, time-sensitive items, blockers] |
| 59 | |
| 60 | ### Normal Priority |
| 61 | [Standard questions, requests, follow-ups] |
| 62 | |
| 63 | ### Low Priority / FYI |
| 64 | [Nice-to-respond but not urgent] |
| 65 | |
| 66 | ### Stale (over 10 days) |
| 67 | [Messages that may need a "sorry for the delay" if still relevant] |
| 68 | ``` |
| 69 | |
| 70 | For each message, show: |
| 71 | - Sender and channel |
| 72 | - Message preview (first 2 lines) |
| 73 | - Suggested action: reply / acknowledge / delegate / skip |
| 74 | |
| 75 | ### Step 5: Draft Replies |
| 76 | For each message the user wants to respond to: |
| 77 | - Load the email-writer skill for tone and formatting |
| 78 | - Read the full thread for context |
| 79 | - Draft a reply that matches the sender's energy and language |
| 80 | - Present the draft for user review before sending |
| 81 | |
| 82 | --- |
| 83 | |
| 84 | ## Email Triage Routine |
| 85 | |
| 86 | ### Step 1: Fetch Unread Emails |
| 87 | Fetch unread emails from the inbox. |
| 88 | - Use the email MCP (Gmail, Outlook, etc.) |
| 89 | - Capture: sender, subject, date, preview, labels/folders |
| 90 | - Sort by date (newest first) |
| 91 | |
| 92 | ### Step 2: Detect Domain |
| 93 | For each email, determine which domain it belongs to: |
| 94 | |
| 95 | | Signal | Domain | Route To | |
| 96 | |--------|--------|----------| |
| 97 | | From a candidate, job board, or contains resume | HR | hr-screening skill | |
| 98 | | From a prospect, contains pricing/demo request | Sales | head-of-sales skill | |
| 99 | | From an existing customer, support request | Customer Success | customer-success skill | |
| 100 | | From an investor, board member, or financial | Finance | investor-update skill | |
| 101 | | From a partner, agency, or collaboration request | Partnerships | manual review | |
| 102 | | Internal team communication | Internal | reply directly | |
| 103 | | Newsletter, marketing, automated | Noise | archive or skip | |
| 104 | | Unknown or ambiguous | Other | present to user for routing | |
| 105 | |
| 106 | ### Step 3: Call Domain Skill |
| 107 | Route each email to the appropriate domain skill for handling: |
| 108 | - HR emails: load hr-screening skill for candidate evaluation |
| 109 | - Sales emails: load head-of-sales skill for pipeline management |
| 110 | - CS emails: load customer-success skill for follow-up drafting |
| 111 | - For all domains: the skill handles context gathering and draft creation |
| 112 | |
| 113 | ### Step 4: Act |
| 114 | For each email, take the appropriate action: |
| 115 | |
| 116 | | Action | When | |
| 117 | |--------|------| |
| 118 | | **Draft reply** | The email needs a response. Draft via email-writer skill. | |
| 119 | | **Archive** | Newsletter, notification, or FYI that needs no action. | |
| 120 | | **Flag for user** | Requires a decision only the user can make. | |
| 121 | | **Delegate** | Can be handled by someone else. Note who and why. | |
| 122 | | **Snooze** | Not urgent, but needs attention later. Suggest a date. | |
| 123 | |
| 124 | ### Step 5: Summary |
| 125 | Present a summary at the end: |
| 126 | |
| 127 | ``` |
| 128 | ## Inbox Triage Complete |
| 129 | |
| 130 | - Emails processed: [X] |
| 131 | - Replies drafted: [X] (awaiting your review) |
| 132 | - Archived: [X] |
| 133 | - Flagged for you: [X] |
| 134 | - Delegated: [X] |
| 135 | - Snoozed: [X] |
| 136 | |
| 137 | ### Drafts Ready for Review |
| 138 | [List each draft with recipient and one-line summary] |
| 139 | |
| 140 | ### Needs Your Decision |
| 141 | [List items that require user input] |
| 142 | ``` |
| 143 | |
| 144 | --- |
| 145 | |
| 146 | ## Domain Routing Map |
| 147 | |
| 148 | | Domain | Skill | Trigger Signals | |
| 149 | |--------|-------|----------------| |
| 150 | | HR / Recruiting | `hr-screening` | Candidate names, job applications, interview scheduling, resume attachments | |
| 151 | | Sales / Pipeline | `head-of-sales` | Pricing questions, demo requests, prospect domains, CRM contac |