Chief-of-Staff is the orchestrator plugin for personal productivity. Use this knowledge when: - User asks about email management, inbox triage, or filing - User mentions packages, shipping, or Parcel app - User wants to create reminders from emails - User mentions newsletters or unsubscribing - User asks about their daily routine or productivity workflow - User asks about iMessages, text messages, or SMS - User wants to read, search, or send a text/iMessage - User says "pause packages", "vacation hold", or "hold my mail" - User summons their persona by name (e.g., "Friday", "Max", "Jarvis")
Orchestrates personal productivity by managing email, packages, reminders, and messages through configurable sub-agents and workflows.
npx claudepluginhub omarshahine/agent-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/email-provider-setup.mdreferences/persona-system.mdChief-of-Staff is an uber-orchestrator plugin that consolidates multiple email and productivity capabilities into one unified system.
Configurable persona with custom identity and dynamic summon command (e.g., /friday, /jarvis). Set up via /chief-of-staff:setup. See references/persona-system.md for configuration details, greeting styles, and sub-commands.
Chief-of-Staff contains these sub-agents:
| Agent | Purpose |
|---|---|
inbox-interviewer | Interactive questions-first inbox triage |
inbox-to-parcel | Package tracking from shipping emails |
inbox-to-reminder | Create reminders from action items |
newsletter-unsubscriber | Unsubscribe from unwanted newsletters |
digest-generator | Summarize automated emails |
organization-analyzer | Analyze Trash/Archive patterns |
pattern-learner | Bootstrap filing rules from folders |
inbox-triage | Apply learned rules to inbox |
folder-optimizer | Suggest folder reorganization |
decision-learner | Learn from triage decisions |
batch-html-generator | Visual batch triage interface |
batch-processor | Execute batch triage decisions |
imessage-assistant | Read and send iMessages via CLI |
package-pause | Vacation hold automation for USPS/UPS/FedEx |
Action routes extend the triage system to route emails to specialized agents for active processing. While filing rules route emails to folders, action routes route emails to agents.
Email arrives in inbox
↓
Triage (batch or interactive)
↓
Route matcher checks email-action-routes.yaml
↓
Match found? → Suggest "Process: [label]" as action
↓ (user confirms)
Invoke agent via Task tool
↓
Post-action (archive/delete/keep)
Routes are checked in priority order (same as filing rules):
sender_email — Exact sender email match (highest priority)sender_domain — Domain-level matchsubject_pattern — Subject line regex matchcombined — Domain + subject combinationEach route specifies:
route.plugin + route.agent (resolves to Task subagent_type)Routes are configured in email-action-routes.yaml (mirrors filing-rules.yaml structure):
routes:
sender_email:
- email: "accounting@example.com"
attachment_required: true
route:
plugin: "my-plugin"
agent: "invoice-processor"
label: "Process Vendor Invoice"
pass_attachments: true
post_action: "archive"
post_action_folder: "Invoices"
confidence: 0.95
source: "manual"
enabled: true
Use /chief-of-staff:routes to list, add, remove, and toggle routes.
| Command | Description |
|---|---|
/chief-of-staff:setup | Configure email provider and integrations |
/chief-of-staff:daily | Full daily orchestration routine |
/chief-of-staff:status | Quick dashboard of inbox status |
/chief-of-staff:triage | Interactive inbox interview |
/chief-of-staff:parcel | Process shipping emails |
/chief-of-staff:reminders | Create reminders from emails |
/chief-of-staff:unsubscribe | Unsubscribe from newsletters |
/chief-of-staff:digest | Summarize automated emails |
/chief-of-staff:learn | Bootstrap or update filing rules |
/chief-of-staff:analyze | Analyze Trash/Archive patterns |
/chief-of-staff:optimize | Suggest folder reorganization |
/chief-of-staff:batch | Visual HTML batch interface |
/chief-of-staff:rules | View/manage filing rules |
/chief-of-staff:routes | View/manage email action routes |
/chief-of-staff:imessage | Read, search, and send iMessages |
/chief-of-staff:package-pause | Set vacation delivery holds on USPS/UPS/FedEx |
All data is stored in the plugin's data/ directory:
| File | Purpose |
|---|---|
settings.yaml | Provider configuration (email, parcel, reminders) |
user-preferences.yaml | Sender overrides, never-file lists, digest prefs |
filing-rules.yaml | Learned filing patterns with confidence |
delete-patterns.yaml | Patterns for delete suggestions |
decision-history.yaml | Learning data from triage sessions |
interview-state.yaml | Resume state for triage sessions |
batch-state.yaml | HTML batch triage session state |
newsletter-lists.yaml | Allowlist and unsubscribed senders |
email-action-routes.yaml | Action routes mapping emails to agents |
Pattern files for email classification in assets/:
| File | Purpose |
|---|---|
shipping-patterns.json | Carrier patterns, tracking regex, search queries |
newsletter-patterns.json | RFC headers, bulk sender patterns, unsubscribe detection |
batch-triage.html | HTML template for visual batch interface |
The core workflow is questions-first:
COLLECT → EXECUTE → LEARN
Chief-of-Staff integrates with:
ToolSearch "+parcel")playwright@claude-plugins-official or bundled in chief-of-staff (loaded via ToolSearch "+playwright browser")brew install nicholasgriffintn/tap/playwright-cliproviders.playwright.active: mcp | cli~/.config/apple-pim/profiles/. Set APPLE_PIM_PROFILE env var to select a profile.brew install steipete/tap/imsg)Chief-of-Staff does NOT bundle an email MCP server. Run /chief-of-staff:setup to configure. Supports Fastmail, Gmail, and Outlook. See references/email-provider-setup.md for setup instructions, Cowork configuration, and troubleshooting.
Users can extend Chief-of-Staff with private capabilities by:
chief-of-staff-private)Example private extension skill:
# skills/private-capabilities/SKILL.md
---
description: |
Private agents available to Chief-of-Staff:
- filing-cabinet-organizer: Manage Filing Cabinet documents
- inbox-action-vendor: Download vendor invoices
---
# Private Chief-of-Staff Capabilities
[Documentation of private agents]
When displaying information to the user:
NO EMOJIS IN TABLE CELLS: Emojis have inconsistent display widths and break markdown table column alignment in terminal rendering. Use plain text in tables.
Bad:
| Folder | Unread |
|--------|--------|
| 📦 Orders | 222 |
| 🛩️ Flights | 29 |
Good:
| Folder | Unread |
|--------|--------|
| Orders | 222 |
| Flights | 29 |
EMOJIS IN HEADERS ARE OK: Section headers like ## 📬 Inbox Overview render fine.
EMOJIS IN LISTS ARE OK: Bullet points with emojis work correctly.
KEEP TABLES SIMPLE: Avoid complex formatting, long text, or special characters in table cells.
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.