mcpField
C
champion-tracker

champion-tracker

github.com/gooseworks-aiMarketing & growth1.3k46 installsUpdated 3d ago
Repository

About champion-tracker

champion-tracker is a marketing skill and Python CLI for tracking known product champions’ job changes and scoring their new companies against an ICP. It combines profile snapshots with repeatable checks and CSV results for sales teams.

Key features

  1. 01Build a champion list from public sources
  2. 02Initialize a job-history baseline
  3. 03Detect changes in company and title
  4. 04Score new companies against ICP
  5. 05Export change reports as CSV
  6. 06Preview costs with dry runs

Use cases

  1. 01Monitor former product users for job moves
  2. 02Prioritize outreach after a champion changes jobs
  3. 03Review ICP fit before contacting a new company

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/gooseworks-ai/goose-skills --skill champion-tracker

After installing, type/champion-trackerin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

skill.meta.json
input/
champions_template.csv
champions.csv
scripts/
champion_tracker.py

Details

From the project README

Champion Tracker

Detect when product champions change jobs and qualify their new companies against ICP.

When to Use

  • You have a list of known product users/champions (from reviews, LinkedIn posts, CRM exports)
  • You want to detect when they change companies (high-intent re-sell signal)
  • You want each job change scored against ICP before reaching out

Two Phases

Phase A: Discover Champions (agent-driven, one-time)

Build the initial champion list from public sources. This is done by the agent, not the script.

  1. Scrape reviews — Use review-site-scraper skill to pull G2/Trustpilot reviews. Extract reviewer names + companies.
  2. Search LinkedIn posts — Use the linkedin-post-research skill (Apify-based) to find people who posted about the product.
  3. Resolve LinkedIn URLs — Use Fiber /v1/kitchen-sink/person (name + company → profile URL) or ContactOut via Orthogonal.
  4. Compile CSV — Merge all sources into champions.csv with required columns.
Phase B: Track Job Changes (script-driven, repeatable)

Use champion_tracker.py for ongoing tracking.

Script Usage

Prerequisites
  • APIFY_API_TOKEN in .env (for LinkedIn profile enrichment)
  • Champion CSV with columns: name, linkedin_url (required); original_company, original_title, email, source, notes (optional)
Commands

Initialize baseline (first run):

# Dry run — see cost estimate
python3 skills/champion-tracker/scripts/champion_tracker.py init -i champions.csv --dry-run

# Create baseline
python3 skills/champion-tracker/scripts/champion_tracker.py init -i champions.csv

Check for job changes (subsequent runs):

# Dry run
python3 skills/champion-tracker/scripts/champion_tracker.py check --dry-run

# Detect changes and output CSV
python3 skills/champion-tracker/scripts/champion_tracker.py check -o changes.csv

View status:

python3 skills/champion-tracker/scripts/champion_tracker.py status

Output CSV Columns

ColumnDescription
champion_nameFull name
linkedin_urlLinkedIn profile URL
previous_companyCompany at baseline
previous_titleTitle at baseline
new_companyCurrent company (changed)
new_titleCurrent title
change_detected_dateDate this check was run
position_start_dateWhen they started the new role
days_since_changeDays since new position started
icp_score0-4 ICP qualification score
icp_verdictStrong Fit / Good Fit / Possible Fit / Weak Fit
icp_notesScoring breakdown
emailEmail if available
notesOriginal notes from champion CSV

ICP Scoring (0-4)

SignalPointsWhat it checks
B2B signal1.0Title contains sales/SDR/revenue/growth keywords
Outbound motion1.0Sales leadership title (VP Sales, Head of Growth, etc.)
Company size1.0 / 0.5SMB/mid-market = 1.0; unknown = 0.5 benefit-of-doubt
Seniority1.0VP, Director, Head of, C-level, Founder

Verdicts: Strong Fit (>=3) / Good Fit (>=2) / Possible Fit (>=1.5) / Weak Fit (<1.5)

Cost

  • ~$3 per 1,000 LinkedIn profiles enriched
  • 50-80 champions ≈ $0.15-0.25 per run
  • --dry-run always shows cost before any API calls

File Structure

skills/champion-tracker/
  SKILL.md                    # This file
  scripts/
    champion_tracker.py       # Main CLI script
  input/
    champions_template.csv    # Template for manual additions
  snapshots/                  # Created at runtime
    baseline.json             # Latest full snapshot
    archive/                  # Timestamped copies
  output/                     # Created at runtime
    changes-YYYY-MM-DD.csv    # Generated output

Dependencies

  • Reuses LinkedInEnricher from skills/lead-qualification/scripts/enrich_leads.py
  • Falls back to inline implementation if import fails
  • Requires: requests (Python package), APIFY_API_TOKEN (env var)

Comments

Markdown supported