mcpField
S
spark-recipe-unsubscribe-audit

spark-recipe-unsubscribe-audit

github.com/readdle生産性154305 回インストール6 日前に更新
リポジトリ

spark-recipe-unsubscribe-audit について

Spark向けに、メール量とエンゲージメントを基にニュースレターを監査するスキルレシピです。ユーザーの承認後にのみ配信停止し、フィッシングや重複配信も識別します。

主な機能

  1. 01受信トレイ、アーカイブ、GateKeeperを確認
  2. 02量と反応に基づき送信者を分類
  3. 03重複する購読を照合
  4. 04承認済み送信者の配信を停止
  5. 05不要な連絡先やドメインをブロック
  6. 06要約とメールのグループ化を設定

活用シーン

  1. 01未読率の高いニュースレターを特定
  2. 02フィッシングの疑いがあるメールを確認
  3. 03ニュースレターの重複配信を解決
  4. 04大量送信者からのメールを減らす

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/readdle/spark-cli-skills --skill spark-recipe-unsubscribe-audit

インストール後、Claude Code で/spark-recipe-unsubscribe-auditを入力して読み込まれたか確認します。

詳細

レシピ:ニュースレターの購読解除監査

すべてのニュースレタープールを監査し、エンゲージメントデータに基づいて購読解除候補を提示します。実行するのは、ユーザーがリストを承認してからにします。Spark がデータ(送信者、件数、既読フラグ、本文)を提供し、分類、重複の確認、実行はエージェントが担当します。

前提条件: コマンドのリファレンスとフィルター構文について、use-spark の基本スキルを読んでください。

必要なアクセスレベル: triage。

手順

ステップ 1:3 つのプールをすべてスキャンする

受信トレイだけのスキャンでは、件数の大半を見落とします。3 つすべてを確認してください。

# Unified inbox, all accounts (paginate to get everything)
spark emails Inbox --filter "category:newsletter newer_than:30d" --page-size 100

# Auto-archived mail — Gmail filters/automations often skip the inbox
# entirely; repeat per Gmail-backed account. This pool can be the largest.
spark emails "[email protected]:Archive" --filter "category:newsletter newer_than:14d" --page-size 100

# GateKeeper queue — new senders held outside the inbox view
spark emails Inbox --new-senders --page-size 50
ステップ 2:集計して分類する

送信者ごとに、30 日間のメール件数と未読率(Flags 列から)を数えます。次の段階に分類してください。

段階シグナル対応
購読解除純粋なマーケティング/ステップ配信で、ほぼ 100% が未読解除を推奨
検討件数が多く、エンゲージメントは部分的判断はユーザーに委ねます。ダイジェストまたは自動要約を提案
継続ほとんど既読そのままにする
トランザクション請求書、PIN、注文/セキュリティ通知監査から除外
フィッシング以下を参照迷惑メールとしてマーク — 絶対に購読解除しない
アプリ通知Instagram/LinkedIn 形式の通知メールアプリの通知設定で修正

フィッシングの検出ポイント: 表示名にブランド名が含まれているのに、送信者のドメインが無関係(例:[email protected] から届いた「SpotifyUS」)、または請求/セキュリティに関する緊急性の高い件名。購読解除を含め、何かをクリックすると、そのアドレスが有効だと確認されてしまいます。目立つようにフラグを付け、代わりに迷惑メールとしてマークすることを推奨してください。迷惑メールフォルダーにすでに入っているメールも同様に、絶対に購読解除しないでください。

分類結果を提示し、実行に移る前にユーザーがリストを確認または修正するのを待ってください。いくつかの送信者を残すよう求められることを想定してください。

ステップ 3:実行前に重複コピーを確認する

同じニュースレターが 2 通以上届いても、購読が 2 つあるとは限りません。

  1. spark thread <id> で各コピーの To: ヘッダーを比較します。アドレスが異なる場合は、実際に別々の購読です。解除するコピーに含まれるリンクを使って、不要な方を解除してください(トークンは購読ごとに異なります)。
  2. Substack:https://substack.com/redirect/2/<base64url-JSON> の購読解除リンクをデコードし、ペイロードの u フィールドを確認します。両方のコピーで u が同じ場合は、1 つの購読が 2 回配信されています(エイリアス/転送)。購読解除すると完全に停止するため、実行せずに報告してください。
  3. To: が同じで、同じアカウント(例:Patreon)から届いている場合も、同じ状況です。解除せず、報告してください。
ステップ 4:承認された送信者の購読を解除する

承認された送信者ごとに、まず Spark の組み込み機能を試してください。

spark action unsubscribe <id>

インストール済みの CLI バージョンでコマンドが使えない場合、または送信者に List-Unsubscribe の仕組みがない場合は、フッターリンクの抽出に切り替えてください。

spark thread <id> > /tmp/unsub/<id>.txt
grep -i -o 'https://[^][ )(>"<]*' /tmp/unsub/<id>.txt | grep -i 'unsub\|optout\|opt-out\|preference\|darse de baja'

その後、ブラウザーで各リンクを完了します(エージェントによるブラウザー自動化を使うか、リストをユーザーに渡してください)。ブラウザーでのルール:ワンクリックで完了する確認が一般的です。設定センターでは「すべてのマーケティングメールの購読を解除」を選び、保存する必要があります。個人情報は入力しないでください(メールアドレス欄にあらかじめ入力されている場合は問題ありません)。ログインが必要なページ、CAPTCHA、エラーが発生した場合は、ブロックされたものとして記録し、次に進んでください。フッターは言語や ESP によって異なります。パターンで見つからない場合は、本文の末尾約 25 行を読み、隣接するトラッキングリンクではなく、実際の購読解除リンクを選んでください。

完全にブロックすべき送信者(コールドアウトリーチ、スパムに近いもの)には、次を実行してください。

spark contact-action blockContact [email protected]
spark contact-action blockDomain example.com
ステップ 5:継続する送信者を整理する

ユーザーが継続を選んだ、件数の多い送信者については、次のようにします。

spark contact-action enableAutosummaryForContact [email protected]
spark contact-action groupEmailsFromContact [email protected]
ステップ 6:報告する

次の内容を要約します。購読を解除した送信者、削減できたメール件数(月あたり)、手動での次の対応が必要なブロック対象、アプリ内で修正するアプリ通知の送信者、迷惑メールとしてマークしたフィッシングメール、アカウント単位での修正が必要な重複(例:Substack のアカウント設定、転送ルール)。

ヒント

  • エンゲージメントデータがあると、推奨に説得力が生まれます。「月に30通のメール、すべて未読」は「マーケティングメールのように見える」より効果的です。
  • grep が失敗するとシェルループは中断されます。まずページを一時ファイルに保存してから解析し、|| true を追加してください。
  • クリック追跡用のリダイレクトリンク(SendGrid、Braze、e.zoom.us、klclick、webengage)で問題ありません。ブラウザーが実際の配信停止ページに移動します。
  • Sendy のフッターには /l/...(追跡用)と /unsubscribe/... の両方のリンクが含まれています。後者を選んでください。
  • メーリングリスト独自の仕組みで unsubscribe するほうが、ブロックするより適切です。配信停止を無視する送信者に対してのみ、blockContact/blockDomain を使用してください。
  • この手順は四半期ごとに実行してください。購読はまた増えていきます。

コメント