gdelt

SkillDev tools

Global multilingual news event stream with tone scoring via GDELT 2.0 Doc API.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the gdelt skill

What this skill tells your AI

The instructions your AI receives, as published by kansoku-trade/kansoku in .claude/skills/gdelt/SKILL.md and read by ahel’s review.

Response language: match user input.

⚠️ GDELT is a rolling recent-window API, not a historical event archive. Time windows are anchored to absolute timestamps (UTC) for reproducibility — the same query asked tomorrow will return different results.

⚠️ 5-second throttle between requests (enforced). Plan batches accordingly.

When to use

Trigger phrases:

  • 全球新闻 / 全球事件 / 多语种新闻
  • 媒体 tone / sentiment trend / 国际关系
  • geopolitical / event tone
  • GDELT

Useful for "what is the world saying about X right now" — i.e. retrieving articles from non-English / non-financial sources that don't surface in Longbridge's curated newsfeed.

Workflow

  1. Build a query in GDELT DSL (the user's term, optionally with operators like domain:bloomberg.com, sourcelang:eng).
  2. Pick a mode:
    • artlist — list of articles (default).
    • timelinetone — per-15-min tone time series (-10 = very negative, +10 = very positive).
    • timelinevol / timelinevolinfo — article volume over time.
    • tonechart — tone histogram.
  3. Specify the window — prefer --start/--end (absolute), fall back to --timespan. The script converts relative timespans to absolute timestamps before the call and echoes them in meta.window so the journal can be re-run.

CLI examples

# Articles about Nvidia in the last 24h
python3 .claude/skills/gdelt/scripts/doc.py "Nvidia"

# 7-day window, English + Chinese articles about TSMC
python3 .claude/skills/gdelt/scripts/doc.py "TSMC OR \"Taiwan Semiconductor\"" --timespan 7d --lang eng,zho

# Tone timeline for Federal Reserve over 30 days
python3 .claude/skills/gdelt/scripts/doc.py "Federal Reserve" --mode timelinetone --timespan 30d

# Absolute window
python3 .claude/skills/gdelt/scripts/doc.py "AI chips" --start 20260501000000 --end 20260528000000

Output shape (artlist)

{
  "data": [
    {
      "url": "https://...",
      "title": "...",
      "seendate": "20260527T161500Z",
      "domain": "...",
      "language": "English",
      "sourcecountry": "United States",
      "socialimage": "..."
    }
  ],
  "meta": {
    "mode": "artlist",
    "query": "Nvidia",
    "window": { "start": "20260527071804", "end": "20260528071804" },
    "max_records": 75
  },
  "ok": true
}

Output shape (timelinetone)

{
  "ok": true,
  "data": [
    {"date": "20260520T000000Z", "value": 1.42},
    {"date": "20260520T001500Z", "value": 1.05},
    ...
  ],
  "meta": {"mode": "timelinetone", ...}
}

Error handling

Exit codeMeaningLLM action
0SuccessParse data.
1Invalid args (e.g. bad timespan / lang)Read hint.
3HTTP 4xx / non-JSON responseIf body contains "Please limit requests", the throttle was tripped — wait and retry.
4NetworkSuggest retry.

Known limitations

  • 5-second minimum between requests; batch tone + artlist queries must be sequenced.
  • --max-records cap is 250.
  • GDELT's tone metric is a heuristic — useful for direction-of-narrative, not ground truth.
  • Results are not cached (window-sensitive).

Related skills

  • longbridge-news for curated equity-specific newsfeed (Chinese-language UX).
  • sec-edgar for primary-source filings as the contrast to media narrative.
  • fred for macro data referenced in the narrative.

Signals

GitHub stars
314
Forks
36
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
gdelt
Source
github.com/kansoku-trade/kansoku