Skip to main content
skill CX Codex

spark-recipe-newsletter-cleanup — Claude Code skill: prune newsletters

Audits your Spark newsletter subscriptions: blocks unwanted senders, unsubscribes from noisy lists, and turns on AI summaries for the ones worth keeping.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add readdle/spark-cli-skills --skill spark-recipe-newsletter-cleanup -a claude-code
npx skills add readdle/spark-cli-skills --skill recipe-newsletter-cleanup -a claude-code
Open on GitHub

What spark-recipe-newsletter-cleanup does

The skill walks the agent through five steps. It starts by listing Inbox mail filtered to the newsletter category, so you get the full picture of who is sending what. From there you can open a single thread and decide its fate.

For mailing lists that offer an unsubscribe mechanism, the skill runs spark action unsubscribe <id>. Senders you want gone entirely get blocked by contact or by whole domain. Newsletters you keep but never read in full can get an auto-summary, and frequent senders can be collapsed into a single grouped entry.

It runs on top of the use-spark base skill, which supplies the command reference and filter syntax. Access level triage is required. Before blocking anything, the skill tells the agent to ask which senders you actually read — otherwise it is easy to cut something you wanted. Unsubscribing is the cleaner move than blocking, since it goes through the list's own mechanism.

What it helps with

  • audit a newsletter list and spot senders you never open
  • unsubscribe from noisy mailing lists through their own mechanism
  • block a spammer or an entire domain
  • turn on AI summaries for newsletters worth keeping
  • group frequent mail from one sender into a single entry

Example prompts for the agent

  • list every newsletter in my Inbox and group the senders
  • unsubscribe me from this list: spark action unsubscribe <id>
  • enable autosummary for [email protected]

How to install spark-recipe-newsletter-cleanup

1Skills CLI (Vercel)

npx skills add readdle/spark-cli-skills --skill spark-recipe-newsletter-cleanup -a claude-code
npx skills add readdle/spark-cli-skills --skill recipe-newsletter-cleanup -a claude-code

2Manually: put the files in place

~/.claude/skills/recipe-newsletter-cleanup/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/recipe-newsletter-cleanup/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about spark-recipe-newsletter-cleanup

How do I install spark-recipe-newsletter-cleanup in Claude?

Run npx skills add readdle/spark-cli-skills --skill spark-recipe-newsletter-cleanup -a claude-code. The skill lands at ~/.claude/skills/recipe-newsletter-cleanup/SKILL.md.

What does spark-recipe-newsletter-cleanup do?

It audits subscriptions: finds newsletters in the Inbox, unsubscribes from unwanted lists, blocks senders and domains, enables auto-summaries for keepers, and groups frequent senders.

What does the skill need to work?

The use-spark base skill for the command reference and filter syntax, plus access level triage.

Source text

SKILL.md · MIT
---
name: spark-recipe-newsletter-cleanup
description: >-
  Audit newsletter subscriptions: block unwanted senders, unsubscribe from
  mailing lists, and enable AI summaries for worth-keeping ones.
metadata:
  version: 1.0.0
  requires:
    skills:
      - use-spark
    accessLevel: triage
---

# Recipe: Newsletter Cleanup

Audit and prune newsletter subscriptions. Block the unwanted, unsubscribe from the noisy, and enable AI summaries for the ones worth keeping.

**Prerequisite:** Read the `use-spark` base skill for command reference and filter syntax.

**Access level required:** triage.

## Steps

### Step 1: List all newsletters

```bash
spark emails Inbox --filter "category:newsletter"
```

Review the senders. Look for patterns: senders the user never reads, duplicates, or obsolete subscriptions.

### Step 2: Review individual newsletters

For each sender the user wants to evaluate:

```bash
spark thread <id>
```

### Step 3: Remove unwanted subscriptions

For mailing lists with an unsubscribe mechanism:

```bash
spark action unsubscribe <id>
```

For senders that should be blocked entirely:

```bash
spark contact-action blockContact [email protected]
```

To block an entire domain:

```bash
spark contact-action blockDomain example.com
```

### Step 4: Enable AI summaries for keepers

For newsletters the user wants to keep but not read in full:

```bash
spark contact-action enableAutosummaryForContact [email protected]
```

### Step 5: Group repetitive senders

For senders that send frequently, group their emails to reduce inbox clutter:

```bash
spark contact-action groupEmailsFromContact [email protected]
```

## Tips

- Start with `spark emails Inbox --filter "category:newsletter" --page-size 50` to see a broad list of senders.
- Ask the user which senders they actually read before blocking anything.
- `unsubscribe` works through the mailing list's unsubscribe mechanism - it's cleaner than blocking.
- `blockContact` stops all future mail from appearing; `blockDomain` is more aggressive.
- Auto-summary generates a brief AI summary at the top of each email from that sender - great for digests.
- Grouping (`groupEmailsFromContact`) collapses repeated messages from the same sender into a single entry.
- Run this recipe periodically (monthly) to keep the newsletter list pruned.

© readdle · MIT · readdle/spark-cli-skills

Similar skills

Everything for Notes, tasks and projects →

From the same set19

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor