Community程式設計與開發github.com

CDCStream/skills

追蹤競爭對手在 Meta、Google、LinkedIn 及 TikTok 公開廣告檔案庫中的廣告活動,並報告上週以來的變動——包含新廣告、停止投放的廣告以及新的創意角度。使用 Captapi API(MCP 工具或 REST 搭配 CAPTAPI_API_KEY)。執行前會顯示點數估算、在執行間保留快照檔案,並為每項聲明引用資料來源端點。當有人要求監控競爭對手廣告、比較每週廣告活動或稽核品牌的付費創意時使用。

skills 是什麼?

此技能可自動監控競爭對手在 Meta (Facebook)、Google、LinkedIn 及 TikTok 等主要平台的公開廣告庫存。它會定期擷取目前可見的廣告,與上週的快照進行比對,然後產生一份簡潔的差異報告,重點說明新的廣告、已停止的廣告以及持續中的廣告活動。此技能對於競爭情報、品牌稽核以及付費媒體策略分析非常有價值。它支援透過 MCP 工具或 REST API 使用 Captapi API,並透過保留本機快照檔案來確保增量檢查的效率。在開始之前,它會根據競爭對手數量與國家數量顯示清晰的點數估算,以防止意外費用。最終報告會明確指出其限制(例如,無法取得一般商業廣告的支出或轉換資料),並標記需要人工審查的領域,例如解讀廣告主題。支援的平台包括 Claude Code、Cursor、Codex 和其他自訂 AI 代理程式整合。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/CDCStream/skills/tree/HEAD/skills/ad-library-weekly-diff

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

廣告檔案庫每週差異報告

從公開廣告檔案庫中擷取每位競爭對手目前可見的廣告,與上週的快照進行比對,並撰寫一份簡短的報告,說明哪些是新的、哪些已停止、以及新廣告的內容。

公開廣告檔案庫能告訴你什麼以及不能告訴你什麼

請在每份報告中陳述這些限制。不要讓讀者推斷更多資訊。

  • 公開廣告檔案庫不顯示一般商業廣告的支出、曝光次數或轉換次數。Google 僅針對選舉廣告發布支出和曝光次數範圍;Meta 僅對部分歐盟投放的廣告和政治廣告顯示觸及人數細分;LinkedIn 僅對部分廣告子集顯示曝光次數和目標對象。切勿以廣告數量來估算預算或成效。
  • 「不在檔案庫中」不等於「沒有投放廣告」:檔案庫是依國家範圍劃分,且可能延遲一天或更久。
  • TikTok 的廣告檔案庫僅涵蓋在歐盟/歐洲經濟區、英國和瑞士顯示的廣告。在這些國家之外,請回報「TikTok:未涵蓋」——不要回報零則廣告。
  • 廣告的首次/最後顯示日期為日曆日,而非精確時間。

首先需要收集的輸入資料

  1. 競爭對手:品牌名稱,以及(如果已知)他們的 Meta 頁面 URL、Google 廣告客戶名稱和 LinkedIn 公司名稱。
  2. 國家(兩位字母代碼)。預設值:US。如果 TikTok 很重要,請加入一個歐盟/英國國家,例如 GB 或 DE。
  3. 快照檔案路徑。預設值:工作目錄中的 ad-library-snapshot.json。
  4. 是否要為新廣告拉取廣告詳細資訊和文案(需要更多點數,但可產生更好的報告)。

信用點數估算——在執行前顯示

每位競爭對手、每個國家:

步驟端點點數
尋找 Meta 頁面/v1/ad-library/facebook/search-companies2
Meta 廣告/v1/ad-library/facebook/company-ads2
尋找 Google 廣告客戶/v1/ad-library/google/advertiser-search1
Google 廣告/v1/ad-library/google/company-ads2
LinkedIn 廣告/v1/ad-library/linkedin/search-ads2
TikTok 廣告(僅限歐盟/歐洲經濟區/英國/瑞士)/v1/ad-library/tiktok/search2(其備援路徑最多 5)

每位競爭對手、每個國家約需 11 點(在未涵蓋 TikTok 的國家為 9 點)。在後續執行中,可以透過將頁面 ID 和廣告客戶 ID 儲存在快照中來跳過查找步驟。

可選項目,僅限於新廣告:詳細資訊(.../ad-details,每則 2 點)和 Meta 廣告文案(/v1/ad-library/facebook/ad-transcript,每則 2 點)。請設定上限——例如每位競爭對手 5 則新廣告——並在估算中說明。

列印估算值(競爭對手數量 × 國家數量 × 11,加上詳細資訊上限),並使用 GET /v1/account/balance(免費)檢查餘額。在花費前要求使用者確認。

如何呼叫 Captapi

兩種方式皆可;使用環境中可用的任一方式。

  • MCP: 以端點命名的工具,例如 facebook_ad_library_company_ads、google_ad_library_company_ads、linkedin_ad_library_search_ads、tiktok_ad_library_search。
  • REST: GET https://api.captapi.com<path>?<params> 搭配標頭 Authorization: Bearer $CAPTAPI_API_KEY。

失敗的呼叫不會消耗點數。若出現 retryable: true 錯誤,可在短暫等待後重試一次;retryable: false 則為最終答案——請記錄它,不要迴圈。

步驟

  1. 載入快照(如果存在的話)。它將 競爭對手 → 國家 → 廣告庫 → {ids: [...], meta: {...}} 以及已儲存的查找 ID 對應起來。
  2. 解析 ID,僅在快照中沒有的情況下進行:
    • Meta:facebook/search-companies?q=<品牌>&country=<國家代碼> → 選取名稱相符的頁面;保留其 pageId。如果有多個看似正確,請詢問。
    • Google:google/advertiser-search?q=<品牌>&country=<國家代碼> → 保留相符結果的廣告客戶 ID。
  3. 拉取目前廣告,針對每位競爭對手和每個國家:
    • facebook/company-ads?url=<pageId 或頁面 URL>&country=<國家代碼>&status=active
    • google/company-ads?advertiser=<廣告客戶 ID 或名稱>&country=<國家代碼>
    • linkedin/search-ads?company=<名稱>&country=<國家代碼>
    • tiktok/search?q=<品牌>&country=<國家代碼>——僅限於歐盟/歐洲經濟區/英國/瑞士。
  4. 依廣告 ID 進行差異比對:new(現在有,之前沒有)、stopped(之前有,現在沒有)、continuing。
  5. 豐富新廣告資訊,最多到同意的上限:.../ad-details(用於日期和媒體)、facebook/ad-transcript(用於 Meta 標題/內文/號召性按鈕/到達網頁 URL)。
  6. 撰寫報告(格式如下)並儲存新的快照——僅在報告撰寫完成後才進行,這樣失敗的執行就不會覆蓋上週的資料。

報告格式

針對每位競爭對手:

  • 每個廣告庫一行:新 N · 停止 N · 執行中 N,或者缺失的原因(在此國家未涵蓋、查找失敗、找到 0 則廣告)。
  • 新廣告: 標題或第一行文案、格式(圖片/影片/輪播)、首次顯示日期、到達網域,以及資料來源端點,例如 (來源: /v1/ad-library/facebook/company-ads)。
  • 主題: 2 至 4 點關於新廣告共有的角度(優惠、目標對象、產品)。將每一點標記為 [需要人工審查]——這是一種解讀。
  • 已停止的廣告: 數量,以及已停止的廣告中執行時間最長的那一個。

以「安全限制」部分、一行本次執行的總點數,以及快照路徑作為結尾。

需要人工審查的地方

  • 當查找結果傳回多個時,哪個頁面或廣告客戶是「該」競爭對手。
  • 每個主題或策略聲明——廣告庫顯示的是創意,而非意圖。
  • 任何關於預算或成效的結論:沒有相關數據;報告必須說明這一點,而不是猜測。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相關技能