Tripwire 是做什麼的?
Tripwire 會在競爭對手更改重要頁面時通知你,並告訴你該如何應對。
掃描器是 scripts/tripwire.py(需要 Python 3.9+ 和 pyyaml,無需 API 金鑰)。
它會將所有資料存放在目前專案的監控清單 watch/targets.yml 旁邊:
watch/targets.yml 要監控的目標
watch/snapshots/*.txt 每個頁面最後一次擷取的可讀文字
watch/data/changes.json 所有變更事件,最新的在前
watch/data/status.json 每次掃描後每個頁面的健康狀態
watch/reports/latest.md 最新掃描或摘要的 Markdown 報告
下方 SKILL_DIR 代表包含此檔案的目錄。
1. 確保有監控清單
如果 watch/targets.yml 不存在,請執行 python SKILL_DIR/scripts/tripwire.py init,然後詢問使用者要監控哪些競爭對手與頁面,並將其寫入檔案中。適合監控的頁面:首頁、定價頁面、更新日誌/版本發布說明、徵才頁面、「vs」或比較頁面。請使用官方網址,並確認該網址可以正常載入。
要新增或移除項目,請編輯 watch/targets.yml(將 enabled: false 設定為暫停監控某個頁面)。
2. 取得資料
根據使用者的要求選擇對應指令:
| 詢問內容 | 指令 |
|---|---|
| "有什麼改變" / "執行掃描"(今天尚未掃描過) | python SKILL_DIR/scripts/tripwire.py scan |
| 單一競爭對手 | python SKILL_DIR/scripts/tripwire.py scan --only "名稱" |
| "本週" / 摘要 | python SKILL_DIR/scripts/tripwire.py report --days 7 |
| "上個月" | python SKILL_DIR/scripts/tripwire.py report --days 30 |
如果倉庫今天已經有掃描記錄(請檢查 watch/data/status.json 中的 last_run),請跳過掃描並直接讀取報告。首次掃描某個頁面只會記錄基準資料;請告知使用者這一點,並說明變更將從下一次掃描開始顯示。
然後讀取 watch/reports/latest.md(或直接輸出到終端機的報告)。對於你要特別標註的任何變更,請查看 watch/data/changes.json 中完整的 added / removed 行,以便準確引用。
3. 撰寫 GTM 分析報告
請使用使用者的語言回覆。保持簡潔,並從最重要的內容開始:
- 最重要的變動(最多 5 項,最重要的在前)。每項包含:競爭對手名稱、用白話說明的變更內容(附上具體細節,例如舊價格 → 新價格、新功能名稱、新標題),並提供頁面連結。
- 為什麼重要:每項一行。優先級:定價與包裝方案 > 新產品/發布 > 定位/標題 > 招聘跡象 > 文案微調。
- 該怎麼做:1–3 個具體行動(更新戰情卡、在我們的定價頁面上回應、告知銷售團隊、發布比較文章)。如果沒有值得採取行動的內容則跳過。
- 覆蓋範圍:如有無法讀取的頁面,用一行說明。
規則:
- 只報告差異比對顯示的內容。不要將動機當作事實來猜測;推測時請使用「可能」。
- 將輪播的推薦語、計數器、日期以及 Cookie 文字視為雜訊;不要報告這些內容。如果某個頁面每次掃描都充滿雜訊,可提議在
watch/targets.yml中為其新增一個ignore正則表達式。 - 「沒有變更」也是一個有效的答案。用一行說明即可,並提及覆蓋範圍。
修復無法讀取的頁面
HTTP Error 403:該網站封鎖了爬蟲。嘗試尋找相同資訊的官方網址(文件或幫助中心頁面、RSS 訂閱源);否則將enabled: false設定為false,並在註解中說明原因。no readable text (JS-only page?):該頁面需要在瀏覽器中渲染。尋找靜態替代方案(使用/pricing而非/、部落格訂閱源、網站地圖頁面)。- 網址錯誤或已變更:找到官方頁面並更新
watch/targets.yml。