{
  "id": "inbox-digest",
  "slug": "inbox-digest",
  "name": "Inbox Digest",
  "tagline": "Know which five emails matter before you open your inbox.",
  "description": "Sorts recent mail into Reply today, Waiting on you, FYI, and Safe to ignore, and offers reply drafts for the urgent ones.",
  "category": "Productivity",
  "platforms": [
    "Grok Bot",
    "Muse",
    "Dots"
  ],
  "schedule": "Weekdays, 8:00 AM",
  "outputType": "digest",
  "previewImage": "previews/inbox-digest.png",
  "installSteps": {
    "grokBot": {
      "label": "Grok Bot",
      "status": "verified",
      "steps": [
        "Copy skills/inbox-digest/SKILL.md (the whole file, including the --- header).",
        "Open a one-to-one chat with your Grok Bot and paste the prompt below, with the file where it says.",
        "When the Bot asks, connect: Gmail or Outlook (required). It shows a connect card right in the chat.",
        "Try it once now: \"Run Inbox Digest.\"",
        "The routine shows in the Bot's info pane (click the Bot's name in the chat header) under Routines, where you can pause or edit it."
      ],
      "prompt": "Save the following as a skill called \"Inbox Digest\". Then create a routine that runs it every weekday at 8:00 AM and posts the result here. Before the first run, ask me the setup questions in the skill and remember my answers.\n\n<paste SKILL.md here>",
      "note": "Skills and routines are saved by asking the Bot; no settings to dig through.",
      "promptFull": "Save the following as a skill called \"Inbox Digest\". Then create a routine that runs it every weekday at 8:00 AM and posts the result here. Before the first run, ask me the setup questions in the skill and remember my answers.\n\n---\nname: inbox-digest\ndescription: Use when the user asks to triage their inbox, for an email digest, \"what needs my attention in email\", or when a scheduled daily email routine runs. Sorts recent mail into Reply today, Waiting on you, FYI, and Safe to ignore, with drafts offered for replies. Read-only; never sends, archives, or deletes without approval.\nmetadata:\n  id: inbox-digest\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Inbox Digest\n\n> Know which five emails matter before you open your inbox.\n\n## What it does\n\nTurn an overflowing inbox into a short list: what needs a reply today, what's waiting on you, what's worth knowing, and what can go.\n\n## When to use\n\n- \"Triage my inbox\", \"what did I miss in email\", \"daily email digest\", \"anything urgent?\"\n- A scheduled routine (e.g. weekdays at 8:00 AM and 4:00 PM).\n\n## Requires\n\nAn email connector (Gmail, Outlook, or similar) with read access. If none is connected, say so and stop. Don't ask for a password.\n\n## Schedule\n\nDefault: Weekdays, 8:00 AM. Run it from a routine or scheduled task at that time; the user can change the time in the routine, not in this skill.\n\n## Inputs\n\n| Setting | Default | Notes |\n|---|---|---|\n| `window` | since last digest, max 24 h | Or \"last 3 days\" after a vacation. |\n| `vip_senders` | none | People or domains that always rank first. |\n| `mute` | newsletters, receipts, social notifications | Categories to drop into Safe to ignore. |\n| `max_items` | 15 | Cap across all buckets. |\n| `draft_replies` | offer | `off`, `offer` (ask first), or `auto-draft` (save drafts, never send). |\n| `tone` | the user's own | Learn from their sent mail when drafting. |\n\n## Steps\n\n1. **Fetch** threads in the window from the inbox (skip spam and trash). Read the latest message in each thread plus enough history to understand it.\n2. **Classify** each thread:\n   - **Reply today:** a direct question or request to the user, a deadline within 48 hours, or anything from a VIP that asks for something.\n   - **Waiting on you:** the user owes something but it isn't urgent, including threads where the user said \"I'll get back to you\".\n   - **FYI:** worth knowing, no action (decisions made, status updates, confirmations).\n   - **Safe to ignore:** muted categories, automated mail, cold outreach.\n3. **Extract** for each actionable thread: sender, subject, the ask in one line, any deadline (in the user's timezone), and a link to the thread.\n4. **Rank** within buckets: VIP, then deadline, then age.\n5. **Draft** (if enabled): for Reply today items, write a short reply in the user's voice. Save as drafts only when the setting is `auto-draft`; otherwise show them inline and ask.\n6. **Deliver** the digest in the format below.\n\n## Output format\n\n```markdown\n# Inbox digest \u00b7 {date, time tz}\n{N} new threads \u00b7 {R} need a reply today\n\n## Reply today\n1. **{Sender}**: {Subject}. {The ask in one line.} Due {deadline}. [Open]({thread link})\n\n## Waiting on you\n- **{Sender}**: {what you owe}, {age}\n\n## FYI\n- {One-line summary} ({sender})\n\n## Safe to ignore ({count})\n{Comma-separated senders or categories}\n\n*Reply \"draft 1\" to get a reply drafted, or \"mute {sender}\" to hide them next time.*\n```\n\n## Edge cases\n\n- **Sensitive content** (medical, legal, HR, financial account numbers): summarize at the subject level only.\n- **Possible phishing** (urgent payment requests, credential links, lookalike domains): put in a separate \"Looks suspicious\" line and never click its links.\n- **Very long threads:** summarize the current state, not the history.\n- **Empty window:** reply \"Inbox is clear since {time}.\" and stop.\n\n## Boundaries\n\nNever send, archive, label, delete, unsubscribe, or forward without the user's explicit approval for that specific action."
    },
    "muse": {
      "label": "Muse",
      "status": "partially-verified",
      "steps": [
        "Copy skills/inbox-digest/SKILL.md.",
        "Open Muse and paste the prompt below with the file where it says.",
        "Try it: \"Run Inbox Digest.\" Muse has no skill install for outside skills, so it follows the pasted instructions.",
        "Ask Muse to make it a recurring task every weekday at 8:00 AM. It then shows under the Assistant icon > Upcoming.",
        "Muse Code (developer CLI): unzip downloads/inbox-digest.zip, run `muse skills validate ./inbox-digest` then `muse skills install ./inbox-digest --scope user`. Optional: add the BotPlaza connector (https://botplaza.vercel.app/api/mcp) under mcpServers in ~/.config/muse/settings.json."
      ],
      "sourceUrl": "https://www.meta.com/help/superintelligence/1484325780075655/",
      "note": "Recurring tasks and Muse Code skill install are documented by Meta. Installing outside skills in the Muse app is not.",
      "prompt": "Here are instructions for a task called \"Inbox Digest\". Follow them whenever I say \"Run Inbox Digest\". Ask me the setup questions first and remember my answers.\n\n<paste SKILL.md here>\n\nIf you can save this as a skill, please do.",
      "promptFull": "Here are instructions for a task called \"Inbox Digest\". Follow them whenever I say \"Run Inbox Digest\". Ask me the setup questions first and remember my answers.\n\n---\nname: inbox-digest\ndescription: Use when the user asks to triage their inbox, for an email digest, \"what needs my attention in email\", or when a scheduled daily email routine runs. Sorts recent mail into Reply today, Waiting on you, FYI, and Safe to ignore, with drafts offered for replies. Read-only; never sends, archives, or deletes without approval.\nmetadata:\n  id: inbox-digest\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Inbox Digest\n\n> Know which five emails matter before you open your inbox.\n\n## What it does\n\nTurn an overflowing inbox into a short list: what needs a reply today, what's waiting on you, what's worth knowing, and what can go.\n\n## When to use\n\n- \"Triage my inbox\", \"what did I miss in email\", \"daily email digest\", \"anything urgent?\"\n- A scheduled routine (e.g. weekdays at 8:00 AM and 4:00 PM).\n\n## Requires\n\nAn email connector (Gmail, Outlook, or similar) with read access. If none is connected, say so and stop. Don't ask for a password.\n\n## Schedule\n\nDefault: Weekdays, 8:00 AM. Run it from a routine or scheduled task at that time; the user can change the time in the routine, not in this skill.\n\n## Inputs\n\n| Setting | Default | Notes |\n|---|---|---|\n| `window` | since last digest, max 24 h | Or \"last 3 days\" after a vacation. |\n| `vip_senders` | none | People or domains that always rank first. |\n| `mute` | newsletters, receipts, social notifications | Categories to drop into Safe to ignore. |\n| `max_items` | 15 | Cap across all buckets. |\n| `draft_replies` | offer | `off`, `offer` (ask first), or `auto-draft` (save drafts, never send). |\n| `tone` | the user's own | Learn from their sent mail when drafting. |\n\n## Steps\n\n1. **Fetch** threads in the window from the inbox (skip spam and trash). Read the latest message in each thread plus enough history to understand it.\n2. **Classify** each thread:\n   - **Reply today:** a direct question or request to the user, a deadline within 48 hours, or anything from a VIP that asks for something.\n   - **Waiting on you:** the user owes something but it isn't urgent, including threads where the user said \"I'll get back to you\".\n   - **FYI:** worth knowing, no action (decisions made, status updates, confirmations).\n   - **Safe to ignore:** muted categories, automated mail, cold outreach.\n3. **Extract** for each actionable thread: sender, subject, the ask in one line, any deadline (in the user's timezone), and a link to the thread.\n4. **Rank** within buckets: VIP, then deadline, then age.\n5. **Draft** (if enabled): for Reply today items, write a short reply in the user's voice. Save as drafts only when the setting is `auto-draft`; otherwise show them inline and ask.\n6. **Deliver** the digest in the format below.\n\n## Output format\n\n```markdown\n# Inbox digest \u00b7 {date, time tz}\n{N} new threads \u00b7 {R} need a reply today\n\n## Reply today\n1. **{Sender}**: {Subject}. {The ask in one line.} Due {deadline}. [Open]({thread link})\n\n## Waiting on you\n- **{Sender}**: {what you owe}, {age}\n\n## FYI\n- {One-line summary} ({sender})\n\n## Safe to ignore ({count})\n{Comma-separated senders or categories}\n\n*Reply \"draft 1\" to get a reply drafted, or \"mute {sender}\" to hide them next time.*\n```\n\n## Edge cases\n\n- **Sensitive content** (medical, legal, HR, financial account numbers): summarize at the subject level only.\n- **Possible phishing** (urgent payment requests, credential links, lookalike domains): put in a separate \"Looks suspicious\" line and never click its links.\n- **Very long threads:** summarize the current state, not the history.\n- **Empty window:** reply \"Inbox is clear since {time}.\" and stop.\n\n## Boundaries\n\nNever send, archive, label, delete, unsubscribe, or forward without the user's explicit approval for that specific action.\n\nIf you can save this as a skill, please do."
    },
    "dots": {
      "label": "Dots",
      "status": "partially-verified",
      "steps": [
        "Copy skills/inbox-digest/SKILL.md.",
        "Paste the prompt below into your dot's conversation in ChatGPT, with the file where it says.",
        "Wait for the dot to confirm the schedule, time zone and end date.",
        "Optional: in ChatGPT, Plugins > + > Add custom MCP server with https://botplaza.vercel.app/api/mcp (no authentication). Dots can use installed plugins, but OpenAI hasn't said whether that includes custom ones.",
        "Business, Enterprise, Healthcare and Edu workspaces can also upload downloads/inbox-digest.zip under Plugins > Skills > Create > Upload from your computer."
      ],
      "sourceUrl": "https://learn.chatgpt.com/docs/dots",
      "note": "Dots are available on ChatGPT Pro, Business Premium and Enterprise, and are still rolling out. Pasting instructions in and scheduled check-ins are documented.",
      "prompt": "Here are instructions for a task called \"Inbox Digest\". Take this on as an ongoing responsibility and follow them whenever I say \"Run Inbox Digest\". Ask me the setup questions first and remember my answers.\n\n<paste SKILL.md here>\n\nCheck in every weekday at 8:00 AM Eastern time for the next 3 months, and confirm the schedule back to me.",
      "promptFull": "Here are instructions for a task called \"Inbox Digest\". Take this on as an ongoing responsibility and follow them whenever I say \"Run Inbox Digest\". Ask me the setup questions first and remember my answers.\n\n---\nname: inbox-digest\ndescription: Use when the user asks to triage their inbox, for an email digest, \"what needs my attention in email\", or when a scheduled daily email routine runs. Sorts recent mail into Reply today, Waiting on you, FYI, and Safe to ignore, with drafts offered for replies. Read-only; never sends, archives, or deletes without approval.\nmetadata:\n  id: inbox-digest\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Inbox Digest\n\n> Know which five emails matter before you open your inbox.\n\n## What it does\n\nTurn an overflowing inbox into a short list: what needs a reply today, what's waiting on you, what's worth knowing, and what can go.\n\n## When to use\n\n- \"Triage my inbox\", \"what did I miss in email\", \"daily email digest\", \"anything urgent?\"\n- A scheduled routine (e.g. weekdays at 8:00 AM and 4:00 PM).\n\n## Requires\n\nAn email connector (Gmail, Outlook, or similar) with read access. If none is connected, say so and stop. Don't ask for a password.\n\n## Schedule\n\nDefault: Weekdays, 8:00 AM. Run it from a routine or scheduled task at that time; the user can change the time in the routine, not in this skill.\n\n## Inputs\n\n| Setting | Default | Notes |\n|---|---|---|\n| `window` | since last digest, max 24 h | Or \"last 3 days\" after a vacation. |\n| `vip_senders` | none | People or domains that always rank first. |\n| `mute` | newsletters, receipts, social notifications | Categories to drop into Safe to ignore. |\n| `max_items` | 15 | Cap across all buckets. |\n| `draft_replies` | offer | `off`, `offer` (ask first), or `auto-draft` (save drafts, never send). |\n| `tone` | the user's own | Learn from their sent mail when drafting. |\n\n## Steps\n\n1. **Fetch** threads in the window from the inbox (skip spam and trash). Read the latest message in each thread plus enough history to understand it.\n2. **Classify** each thread:\n   - **Reply today:** a direct question or request to the user, a deadline within 48 hours, or anything from a VIP that asks for something.\n   - **Waiting on you:** the user owes something but it isn't urgent, including threads where the user said \"I'll get back to you\".\n   - **FYI:** worth knowing, no action (decisions made, status updates, confirmations).\n   - **Safe to ignore:** muted categories, automated mail, cold outreach.\n3. **Extract** for each actionable thread: sender, subject, the ask in one line, any deadline (in the user's timezone), and a link to the thread.\n4. **Rank** within buckets: VIP, then deadline, then age.\n5. **Draft** (if enabled): for Reply today items, write a short reply in the user's voice. Save as drafts only when the setting is `auto-draft`; otherwise show them inline and ask.\n6. **Deliver** the digest in the format below.\n\n## Output format\n\n```markdown\n# Inbox digest \u00b7 {date, time tz}\n{N} new threads \u00b7 {R} need a reply today\n\n## Reply today\n1. **{Sender}**: {Subject}. {The ask in one line.} Due {deadline}. [Open]({thread link})\n\n## Waiting on you\n- **{Sender}**: {what you owe}, {age}\n\n## FYI\n- {One-line summary} ({sender})\n\n## Safe to ignore ({count})\n{Comma-separated senders or categories}\n\n*Reply \"draft 1\" to get a reply drafted, or \"mute {sender}\" to hide them next time.*\n```\n\n## Edge cases\n\n- **Sensitive content** (medical, legal, HR, financial account numbers): summarize at the subject level only.\n- **Possible phishing** (urgent payment requests, credential links, lookalike domains): put in a separate \"Looks suspicious\" line and never click its links.\n- **Very long threads:** summarize the current state, not the history.\n- **Empty window:** reply \"Inbox is clear since {time}.\" and stop.\n\n## Boundaries\n\nNever send, archive, label, delete, unsubscribe, or forward without the user's explicit approval for that specific action.\n\nCheck in every weekday at 8:00 AM Eastern time for the next 3 months, and confirm the schedule back to me."
    }
  },
  "author": "BotPlaza",
  "tags": [
    "email",
    "inbox zero",
    "triage",
    "daily digest",
    "gmail",
    "outlook"
  ],
  "featured": false,
  "longDescription": "Inbox Digest reads what came in since your last check and sorts it the way a good assistant would: what needs an answer today, what you've promised someone, what's simply worth knowing, and what can wait forever. It pulls out the ask and the deadline from each thread, flags phishing, and can draft replies in your voice. It never sends, archives, or deletes anything on its own.",
  "customization": [
    {
      "key": "cadence",
      "label": "When",
      "type": "select",
      "options": [
        "Weekdays 8:00 AM",
        "Twice daily (8 AM & 4 PM)",
        "On demand"
      ],
      "default": "Weekdays 8:00 AM"
    },
    {
      "key": "vipSenders",
      "label": "VIP senders",
      "type": "text-list",
      "default": []
    },
    {
      "key": "mute",
      "label": "Always mute",
      "type": "multi-toggle",
      "options": [
        "Newsletters",
        "Receipts",
        "Social notifications",
        "Cold outreach",
        "Calendar notices"
      ],
      "default": [
        "Newsletters",
        "Receipts",
        "Social notifications"
      ]
    },
    {
      "key": "draftReplies",
      "label": "Reply drafts",
      "type": "select",
      "options": [
        "Off",
        "Offer",
        "Auto-draft (never send)"
      ],
      "default": "Offer"
    },
    {
      "key": "maxItems",
      "label": "Max items",
      "type": "number",
      "default": 15
    }
  ],
  "whatYouGet": [
    "A ranked Reply today list with the ask and deadline",
    "Promises you've made that are still open",
    "A one-line FYI list",
    "Suspicious messages called out",
    "Optional reply drafts in your voice"
  ],
  "dataSources": [
    {
      "name": "Gmail or Outlook",
      "required": true
    }
  ],
  "setupTime": "2 minutes",
  "sampleOutput": "samples/inbox-digest.md",
  "skillFile": "skills/inbox-digest/SKILL.md",
  "version": "1.0.0",
  "previewAlt": "Example inbox digest: 3 emails that need a reply today with deadlines, one flagged suspicious email, and 29 safe-to-ignore messages grouped by type.",
  "writesOrSends": "Read-only by default. Saves drafts only if you turn on auto-draft; never sends.",
  "safety": {
    "dataAccess": [
      "Email from the last 24 hours: senders, subjects, and message bodies",
      "Drafts folder, write access, only if you turn on auto-draft"
    ],
    "writesOrSends": "Read-only by default. Saves drafts only if you turn on auto-draft; never sends.",
    "estCost": "Medium: ~22 runs a month (weekdays). Cost grows with inbox volume.",
    "costLevel": "medium",
    "warnings": [
      "Read access to email is sensitive: connect only the account you want summarized.",
      "It never sends. Auto-draft only saves drafts for you to review.",
      "Emails can contain instructions aimed at AI; the skill treats email content as data and won't act on it."
    ]
  },
  "urls": {
    "page": "https://botplaza.vercel.app/skills/inbox-digest/",
    "markdown": "https://botplaza.vercel.app/skills/inbox-digest.md",
    "skillMd": "https://botplaza.vercel.app/skills/inbox-digest/SKILL.md",
    "json": "https://botplaza.vercel.app/skills/inbox-digest.json",
    "zip": "https://botplaza.vercel.app/downloads/inbox-digest.zip",
    "mcp": "https://botplaza.vercel.app/api/mcp"
  }
}