Champion Tracker
Track product champions for job changes and qualify their new companies against ICP. Takes a CSV of known champions (with LinkedIn URLs), creates a baseline snapshot via Apify enrichment, then detects when champions move to new companies. Scores new companies on a 0-4 ICP fit sca
8 steps · start to finish.
- 1Step 1
Environment Setup
▶- Create
results_dirand confirm it is writable. - Verify
APIFY_API_TOKENis present in the environment. - Locate
champion_tracker.py; prefer the source skill pathskills/champion-tracker/scripts/champion_tracker.py. - Validate that
python3can start the script without import errors.
mkdir -p /app/results test -n "$APIFY_API_TOKEN" || { echo "ERROR: APIFY_API_TOKEN is not set"; exit 1; } python3 skills/champion-tracker/scripts/champion_tracker.py --help >/tmp/champion-tracker-help.txt - Create
- 2Step 2
Prepare Champion Inputs
▶For a first run, build `champions.csv` from known customer champions, review-site authors, LinkedIn product advocates, or CRM exports. The CSV must include `name` and `linkedin_url`; include `original_company`, `original_title`, `email`, `source`, and `notes` when available so do
- 3Step 3
Initialize Baseline
▶Run this step when no baseline exists or when intentionally refreshing the baseline. First run a dry-run cost estimate, then create the baseline only after the estimate is acceptable.
- 4Step 4
Check for Job Changes
▶For recurring runs, detect movers against the latest baseline and write the normalized CSV to the required output path.
- 5Step 5
Validate Output CSV
▶Confirm that the mover CSV exists, has the required columns, and can be parsed. Treat an empty CSV with headers as a valid no-movers result.
- 6Step 6
Review ICP Qualification
▶Inspect every mover with `icp_verdict` of `Strong Fit`, `Good Fit`, or `Possible Fit`. Prioritize recent role changes, senior titles, and companies with clear B2B sales, growth, or revenue motions.
- 7Step 7
Write Reports
▶Write `/app/results/summary.md` with the mode, baseline/check status, mover count, highest-priority accounts, and any enrichment or scoring issues. Write `/app/results/validation_report.json` with stage-by-stage pass/fail results for setup, input validation, tracker execution, CS
- 8Step 8
Iterate on Errors (max 3 rounds)
▶If setup, tracker execution, or CSV validation fails, apply one targeted fix and rerun the failed step. Stop after max 3 rounds and write the failure into both `summary.md` and `validation_report.json` rather than continuing with incomplete outputs.