← All runbooks
gooseworks-ai / composites-kol-content-monitor

KOL Content Monitor

Track what key opinion leaders in a target market are posting on LinkedIn and Twitter/X, then identify trending narratives, high-engagement posts, early signals, and content actions. This runbook converts the upstream `kol-content-monitor` skill into a Jetty-friendly workflow tha

agent codexmodel gpt-5.5snapshot python312-uveval programmatic9 stepsv1.0.0

Deploy KOL Content Monitor to your jetty.io

One-click installs this runbook into a collection on your Jetty account. You can run it from the Spot dashboard, schedule it, or pipe inputs in via the API.

The shape of the run

9 steps · start to finish.

  1. 1
    Step 1

    Environment Setup

    Create the output directory, load the monitor config, and verify the tools and credentials needed for the selected sources.

    mkdir -p /app/results
    test -f "${CONFIG_PATH:-kol-monitor.json}" || {
      echo "ERROR: missing KOL monitor config"
      exit 1
    }
    command -v python3 >/dev/null || {
      echo "ERROR: python3 is required"
      exit 1
    }
    

    Validate the config before scraping. It must include at least one KOL with a LinkedIn URL or Twitter/X handle, days_back, min_reactions, and an output path. If LinkedIn profiles are present and the upstream scraper requires Apify, verify APIFY_API_TOKEN is set without printing the secret.

  2. 2
    Step 2

    Intake and Config Normalization

    Read `config_path` and normalize each KOL entry into a consistent schema:

  3. 3
    Step 3

    Scrape LinkedIn Posts

    Run `linkedin-profile-post-scraper` for all configured LinkedIn profiles:

  4. 4
    Step 4

    Scrape Twitter/X Posts

    For each configured handle, run `twitter-mention-tracker` over the same date window:

  5. 5
    Step 5

    Topic Clustering

    Group all retained posts by topic or theme:

  6. 6
    Step 6

    Generate the Monitor Report

    Write `/app/results/kol-monitor-report.md` with:

  7. 7
    Step 7

    Build Trigger-Based Content Calendar

    When `include_calendar=true`, write `/app/results/content-calendar.md` with one entry for each strong "Ride the Wave" opportunity:

  8. 8
    Step 8

    Iterate on Errors (max 3 rounds)

    If scraping, clustering, or report validation fails, perform at most 3 rounds of targeted fixes:

  9. 9
    Step 9

    Scheduling

    For a weekly Friday afternoon monitor, schedule the equivalent command after validating the config: