Community코딩 & 개발github.com

tripwire

GTM 팀을 위한 경쟁사 변경 추적기. 경쟁사 페이지(홈페이지, 가격, 변경 로그, 채용)를 스냅샷하고, 마지막 스캔과 비교하여 변경 사항을 GTM 리포트로 제공합니다 - 무엇이 변경되었는지, 왜 중요한지, 무엇을 해야 할지.

tripwire란 무엇인가요?

Tripwire는 GTM(Go-to-Market) 팀이 경쟁사의 중요한 페이지 변경을 실시간으로 추적하고 대응할 수 있도록 돕는 AI 에이전트 스킬입니다. Python 3.9+와 `pyyaml` 라이브러리만 있으면 실행 가능한 가벼운 스크립트(`scripts/tripwire.py`)로 동작하며, API 키가 필요하지 않습니다. 사용자가 '경쟁사가 무엇을 변경했는지', '주간 경쟁사 다이제스트', '특정 경쟁사의 가격 변동' 등을 질문하면, 이 스킬은 자동으로 스캔을 실행하여 결과를 마크다운 보고서로 생성하고, 변경 사항을 강조하여 GTM 관점에서 분석합니다. 분석 결과는 '핵심 변화', '중요성', '대응 방안'으로 구성된 실질적인 인사이트를 제공하며, 홈페이지, 가격, 채용, 변경 로그 등 주요 페이지의 텍스트 변화만을 추적합니다. 또한, 읽을 수 없는 페이지에 대한 문제 해결 가이드(403 오류, JS 전용 페이지 등)도 포함되어 있어, Claude Code, Cursor, Codex 등 다양한 개발 환경에서 경쟁사 인텔리전스를 자동화하는 데 매우 유용합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/thisisconnielin/tripwire/tree/main/skills/tripwire

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

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" 또는 비교 페이지. 공식 URL을 사용하고, 로드되는지 확인하세요.

대상을 추가하거나 제거하려면 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 리포트 작성

사용자의 언어로 응답하세요. 간결하게 유지하고 중요한 것부터 먼저 제시하세요:

  1. 핵심 변화 (최대 5개, 가장 중요한 순서). 각 항목: 경쟁사, 변경된 내용을 평이한 말로, 구체적인 세부 사항 포함(이전 → 새 가격, 새 기능 이름, 새 헤드라인). 페이지 링크를 포함하세요.
  2. 중요성: 각 항목당 한 줄. 가격 및 패키징 > 신제품/출시 > 포지셔닝/헤드라인 > 채용 신호 > 사소한 텍스트 수정 순으로 중요도 평가.
  3. 대응 방안: 1~3가지 구체적인 조치(배틀카드 업데이트, 자사 가격 페이지에 답변, 영업팀에 전달, 비교 포스트 게시). 실행할 가치가 있는 것이 없으면 건너뛰세요.
  4. 커버리지: 읽을 수 없었던 페이지가 있다면 한 줄로 언급.

규칙:

  • diff에 표시된 것만 보고하세요. 동기를 사실로 추측하지 말고, 추론할 때는 "가능성이 높습니다"라고 말하세요.
  • 회전식 추천사, 카운터, 날짜, 쿠키 텍스트는 노이즈로 간주하여 보고하지 마세요. 페이지가 매 스캔마다 노이즈가 많다면 watch/targets.yml에 해당 페이지의 ignore 정규식을 추가하겠다고 제안하세요.
  • "변경 사항 없음"도 유효한 답변입니다. 한 줄로 말하고 커버리지를 언급하세요.

읽을 수 없는 페이지 문제 해결

  • HTTP Error 403: 사이트가 봇을 차단합니다. 동일한 정보를 제공하는 다른 공식 URL(문서나 도움말 센터 페이지, RSS 피드)을 시도해 보세요. 그렇지 않으면 enabled: false로 설정하고 이유를 설명하는 주석을 추가하세요.
  • no readable text (JS-only page?): 브라우저에서 렌더링되는 페이지입니다. 정적 대안(/ 대신 /pricing, 블로그 피드, 사이트맵 페이지)을 찾아보세요.
  • 잘못되었거나 이동된 URL: 공식 페이지를 찾아 watch/targets.yml을 업데이트하세요.

관련 스킬