Skip to content
Automation
Skill

/zero-inbox

```yaml name: zero-inbox description: > Triages unanswered Slack messages and unread emails. Fetches messages, filters for what needs a response, routes to domain-specific skills, and drafts replies. Goal: get to inbox zero efficiently. triggers: - zero inbox - triage my inbox -

From plugin
sylph
21933 skills2 agents

Claude Code

$ npx -y skills add getnao/sylph --skill zero-inbox --agent claude-code

SKILL.md

zero-inbox.SKILL.md

Zero Inbox - Triage Skill

name: zero-inbox
description: >
  Triages unanswered Slack messages and unread emails. Fetches messages,
  filters for what needs a response, routes to domain-specific skills,
  and drafts replies. Goal: get to inbox zero efficiently.
triggers:
  - zero inbox
  - triage my inbox
  - check my messages
  - what needs my attention

---

MCP connectors

| Connector | Purpose | |-----------|---------| | Slack | Read DMs and channel mentions, send replies | | Gmail | Read unread emails, draft replies |

Slack Triage Routine

Step 1: Fetch Incoming Messages

Fetch all DMs and channel mentions from the last 10 days.

  • Use the Slack MCP to read channels and DMs
  • Focus on messages that mention the user or are direct messages to them
  • Capture: sender, channel, timestamp, message content, thread context

Step 2: Fetch Sent Messages

Fetch the user's own sent messages from the same time period.

  • This is needed to identify which conversations are already handled
  • Also fetch messages sent by designated proxies (e.g., co-CAO, EA) who may have replied on the user's behalf

Step 3: Filter Unanswered

Compare incoming vs sent. A message is "unanswered" if:

  • It was directed at the user (DM or @mention)
  • Neither the user nor a designated proxy replied in that thread
  • It contains a question, request, or action item (not just a reaction or FYI)
  • It is not from a bot or automated notification

Skip messages that are:

  • Already answered by the user or a proxy
  • Pure informational (no response needed)
  • From bots or integrations (unless they require action)
  • Older than 10 days (flag these separately as "stale")

Step 4: Present for Review

Present unanswered messages grouped by priority:

## Needs Response (X messages)

### High Priority
[Messages from important contacts, time-sensitive items, blockers]

### Normal Priority
[Standard questions, requests, follow-ups]

### Low Priority / FYI
[Nice-to-respond but not urgent]

### Stale (over 10 days)
[Messages that may need a "sorry for the delay" if still relevant]

For each message, show:

  • Sender and channel
  • Message preview (first 2 lines)
  • Suggested action: reply / acknowledge / delegate / skip

Step 5: Draft Replies

For each message the user wants to respond to:

  • Load the email-writer skill for tone and formatting
  • Read the full thread for context
  • Draft a reply that matches the sender's energy and language
  • Present the draft for user review before sending

---

Email Triage Routine

Step 1: Fetch Unread Emails

Fetch unread emails from the inbox.

  • Use the email MCP (Gmail, Outlook, etc.)
  • Capture: sender, subject, date, preview, labels/folders
  • Sort by date (newest first)

Step 2: Detect Domain

For each email, determine which domain it belongs to:

| Signal | Domain | Route To | |--------|--------|----------| | From a candidate, job board, or contains resume | HR | hr-screening skill | | From a prospect, contains pricing/demo request | Sales | head-of-sales skill | | From an existing customer, support request | Customer Success | customer-success skill | | From an investor, board member, or financial | Finance | investor-update skill | | From a partner, agency, or collaboration request | Partnerships | manual review | | Internal team communication | Internal | reply directly | | Newsletter, marketing, automated | Noise | archive or skip | | Unknown or ambiguous | Other | present to user for routing |

Step 3: Call Domain Skill

Route each email to the appropriate domain skill for handling:

  • HR emails: load hr-screening skill for candidate evaluation
  • Sales emails: load head-of-sales skill for pipeline management
  • CS emails: load customer-success skill for follow-up drafting
  • For all domains: the skill handles context gathering and draft creation

Step 4: Act

For each email, take the appropriate action:

| Action | When | |--------|------| | **Draft reply** | The email needs a response. Draft via email-writer skill. | | **Archive** | Newsletter, notification, or FYI that needs no action. | | **Flag for user** | Requires a decision only the user can make. | | **Delegate** | Can be handled by someone else. Note who and why. | | **Snooze** | Not urgent, but needs attention later. Suggest a date. |

Step 5: Summary

Present a summary at the end:

## Inbox Triage Complete

- Emails processed: [X]
- Replies drafted: [X] (awaiting your review)
- Archived: [X]
- Flagged for you: [X]
- Delegated: [X]
- Snoozed: [X]

### Drafts Ready for Review
[List each draft with recipient and one-line summary]

### Needs Your Decision
[List items that require user input]

---

Domain Routing Map

| Domain | Skill | Trigger Signals | |--------|-------|----------------| | HR / Recruiting | `hr-screening` | Candidate names, job applications, interview scheduling, resume attachments | | Sales / Pipeline | `head-of-sales` | Pricing questions, demo requests, prospect domains, CRM contacts | | Customer Success | `customer-success` | Existing customer domains, support tickets, feature requests, renewal mentions | | Finance / Investors | `investor-update` | Investor names, board meeting, financial reports, fundraising | | Product / Engineering | `product-manager` | Bug reports, feature requests from internal team, GitHub notifications | | Content / Marketing | `cmo` | Press inquiries, collaboration requests, podcast invites | | Partnerships | Manual review | Agency outreach, co-marketing proposals, integration requests | | Internal | `email-writer` | Team members, internal tools, calendar invites | | Noise | Auto-archive | Newsletters, marketing blasts, automated notifications |

---

Guardrails

1. **Never send a reply without user approval.** Always present drafts for review first. 2. **Never archive emails that might need a response.** When in doubt, flag for user. 3. **Never share email content across domains.** A customer email doesn't go to the sales skill. 4.

Read more
@getnao
Ships withsylph

The open-source company brain. Run your entire company with AI agents, skills, and a self-improving context.

21933 skills2 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
219
Star history of getnao/sylph on GitHub, a chart by star-history.com

Other skills on sylph.

blog-writer

blog-writer

```yaml name: blog-writer description: > Writes, designs, and publishes blog articles for the company website. Handles the full…

@getnao@getnaoInstall Skill
brand-designer

brand-designer

Process for creating any branded visual asset (social graphics, one-pagers, banners, etc.).

@getnao@getnaoInstall Skill
brand-guidelines

brand-guidelines

The canonical reference for [your-company]'s brand identity. Load this before creating any branded content.

@getnao@getnaoInstall Skill
chief-of-staff

chief-of-staff

Runs the CEO's daily operating rhythm - inbox triage, project tracking, weekly planning, and briefing delivery.

@getnao@getnaoInstall Skill
cmo

cmo

Owns the content calendar, weekly planning, daily drafting, docs maintenance, and website review.

@getnao@getnaoInstall Skill
create-campaign

create-campaign

Build targeted outbound campaigns from ICP definition through personalized sequences.

@getnao@getnaoInstall Skill

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n13d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about zero-inbox.

Which coding agents can use zero-inbox?
zero-inbox installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.