AugmentClaude

GDELT News Events

Search global news events with sentiment scoring across multiple languages.

Installation

  1. Make sure Claude is on your device and in your terminal.

    Skills load from ~/.claude/skills/ when Claude Code starts up — so you need it on your machine first. If you don't have it yet, install it once with the command below, then run claude in any terminal to verify.

    One-time setup
    npm i -g @anthropic-ai/claude-code

    Already have it? Skip ahead.

  2. Paste into Claude Code or into your terminal.

    This copies the whole skill folder into ~/.claude/skills/gdelt-innei/ — the SKILL.md plus any scripts, reference docs, or templates the skill ships with. Safe default: works for every skill.

    Faster alternative (instruction-only skills)

    Skips the clone and grabs only the SKILL.md file. Don't use this if the skill ships Python scripts, reference markdowns, or asset templates — they won't be downloaded and the skill will fail when it tries to load them.

    Quick install (SKILL.md only)
    Sign up to copy
  3. Restart Claude Code.

    Quit and reopen Claude Code (or any other agent that loads from ~/.claude/skills/). New skills are picked up on startup.

  4. Just ask Claude.

    Skills auto-activate when your request matches the skill's description — no slash command needed. Trigger phrases live in the skill's own frontmatter; you can read them in the “What this skill does” section above.

Prefer to read the source first? Open on GitHub.

When Claude uses it

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

What this skill does

gdelt

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)

{
  "ok": true,
  "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
  }
}

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.

Related skills