HueLifeCMO Knowledge Base

Spark CLI Triage Playbook (team system design)

Read-only dry-run designed June 2026 against jloss@steammn.com. Built to be templated for the CEO's 34K backlog and the wider team. Nothing here has been executed — both accounts are still read-only.

Prerequisites before ANY action runs

  1. Spark Pro on the operator's account (you).
  2. Settings → AI Agents → Spark CLI Access → set account to triage.
  3. Enable Smart Categories + GateKeeper on each mailbox (in this dry-run most mail came back uncategorized — category-first triage needs these on to work well).

Safety tiers (we roll out in this order, never skip ahead)

The recipe (intent → exact command)

Step 1 — Protect the important people first (so they're never bulk-touched)

# Mark the CEO + key contacts as Primary (auto-prioritized going forward)
spark contact-action markContactAsPrimary teri.wheeler@<domain>
spark contact-action markContactAsPrimary <other VIPs>

Step 2 — Surface what truly needs a human (category-first)

spark emails Inbox --filter "category:priority is:unread"     # do first
spark emails Inbox --filter "category:personal is:unread"     # real people
spark emails Inbox --filter "category:invitation is:unread"   # calendar invites

Step 3 — Bulk-clear the noise (Tier 1, reversible)

# Old notifications/receipts → archive
spark emails Inbox --filter "category:notification older_than:30d" --page-size 2000
spark action archive <ids...>

# Newsletters/marketing older than a week → archive (or label then archive)
spark emails Inbox --filter "category:newsletter older_than:7d" --page-size 2000
spark action archive <ids...>

Step 4 — Tune senders so the noise stops coming back (Tier 2)

# Repeat-offender marketing senders → reclassify or block
spark contact-action changeCategoryNewsletters campaign@<domain>
spark contact-action blockDomain <pure-spam-domain>
spark contact-action groupEmailsFromContact orders@<vendor>   # group receipts

Step 5 — New-sender queue (GateKeeper)

spark emails Inbox --new-senders            # review unknown senders
spark contact-action acceptContact <good>   # or blockContact <bad>

The 34K backlog plan (CEO) — batch processing

The recipe-vacation-catchup pattern, adapted: 1. Snapshot counts by category + older_than:90d (read-only). 2. Bulk-archive ruthless tier: everything older_than:90d in category:notification and category:newsletter → archive (reversible). 3. Keep a safety net: archive ≠ delete; all of it stays searchable. 4. Surface the keepers: anything category:priority, category:personal, or from a Primary contact, in the last 90d → leave in inbox for human review. 5. Iterate in batches of ~500, show the plan each batch, confirm, execute. 6. Expected outcome: 34K → a few hundred genuinely-needs-attention, in a few passes.

Operator guardrails (for whoever runs this on the team)

Live learnings (validated on jloss@steammn.com, June 2 2026)

Status / next action