← Back to Skills Marketplace
quantx-heiko

Economic Calendar

by quantx-heiko · GitHub ↗ · v1.0.1
cross-platform ✓ Security Clean
565
Downloads
0
Stars
5
Active Installs
2
Versions
Install in OpenClaw
/install economic-calendar
Description
Fetch and display filtered macro-economic events from Investing.com with no API key, supporting date range, importance, country, timezone, and JSON output.
README (SKILL.md)

economic-calendar

Fetch macro-economic events (Fed, ECB, CPI, etc.) from Investing.com. No API key required — pure scraping.

Usage

# Today's high-importance US events (table output)
python scripts/economic_calendar.py

# Specific date with custom filters
python scripts/economic_calendar.py --date 2026-03-01 --importance high medium --countries "united states" germany

# Multiple days (next 7 days)
python scripts/economic_calendar.py --days 7 --importance high medium --countries "united states"

# JSON to stdout (for automation/piping)
python scripts/economic_calendar.py --date tomorrow --json stdout

# JSON to file (default: calendar_YYYYMMDD.json)
python scripts/economic_calendar.py --days 3 --json file

Options

Flag Description Default
--date Start date: today, tomorrow, yesterday, or YYYY-MM-DD today
--days Fetch range of N days (overrides --date)
--importance Filter levels: low, medium, high (space-separated) high
--countries Countries (space-separated, quotes for multi-word) united states
--timezone Timezone for event times GMT +1:00
--json JSON mode: file, stdout, none file

Countries

Available country names (use quotes for multi-word):

  • united states
  • germany
  • united kingdom
  • france
  • japan
  • china
  • canada
  • australia
  • switzerland
  • eurozone

Timezones

Common timezones:

  • GMT +1:00 — Berlin/Vienna (CET) ✓ default
  • GMT +2:00 — Berlin/Vienna (CEST)
  • GMT -5:00 — New York (EST)
  • GMT -4:00 — New York (EDT)
  • GMT — UTC

Output Formats

Table (default)

Human-readable formatted table to stdout:

================================================================================
  Economic Calendar  |  25.02.2026
  Countries: United States  |  Timezone: GMT +1:00  |  Importance: high
================================================================================
  Time    Imp.     Curr.  Event                          Forecast  Previous  Actual
  ------- -------- ------ ------------------------------ --------- --------- --------
  14:30   high     USD    Unemployment Claims            215K      219K      —
  14:30   high     USD    Core PPI m/m                   0.3%      0.4%      —
================================================================================
  2 event(s) found.

JSON

{
  "from": "2026-02-25",
  "to": "2026-02-25",
  "timezone": "GMT +1:00",
  "importances": ["high"],
  "countries": ["united states"],
  "events": [
    {
      "date": "Tuesday, February 25, 2026",
      "time": "14:30",
      "currency": "USD",
      "importance": 3,
      "event": "Unemployment Claims",
      "actual": "",
      "forecast": "215K",
      "previous": "219K"
    }
  ]
}

Dependencies

pip install requests beautifulsoup4 lxml

Notes

  • Source: Investing.com (server-side rendered, reliable CSS selectors)
  • Rate limiting: Built-in delays between requests
  • Session handling: Maintains cookies across requests for proper session state
  • Data validity: Historical data + 1+ years forward
  • No API key: All data is publicly scraped

Use in Workflows

# Daily briefing — get today's high/medium US events as JSON
python3 skills/economic-calendar/scripts/economic_calendar.py \
  --date today \
  --importance high medium \
  --countries "united states" \
  --json stdout
Usage Guidance
This skill appears to do exactly what it says: scrape Investing.com and output filtered events. Before installing or running it: (1) review the full scripts/economic_calendar.py file (the copy provided here was truncated) to confirm there are no hidden network calls or unexpected behavior; (2) be aware scraping can violate a site's terms of service and may be blocked — the script mimics a browser and uses delays, which is expected for scraping; (3) fix the packaging mismatch (requirements.txt omits lxml even though BeautifulSoup('lxml') is used) to ensure proper dependency installation; (4) run in a restricted environment or sandbox if you want to be extra cautious, since the script makes outbound HTTP requests and writes files to disk. If you want higher assurance, provide the full, untruncated script for a line-by-line review.
Capability Analysis
Type: OpenClaw Skill Name: economic-calendar Version: 1.0.1 The skill bundle is a straightforward web scraper for economic calendar data from Investing.com. The `SKILL.md` provides clear, benign usage instructions without any prompt injection attempts. The `scripts/economic_calendar.py` code uses standard libraries (requests, beautifulsoup4) for web scraping, includes robust input validation (e.g., argparse choices, country validation), and limits network activity to the stated source (investing.com). File operations are restricted to saving JSON output to predictably named local files. There is no evidence of data exfiltration, malicious execution, persistence mechanisms, or obfuscation.
Capability Assessment
Purpose & Capability
Name/description (economic calendar from Investing.com) match the included script and SKILL.md: the code builds POST requests to Investing.com, parses returned HTML, and formats output. No unrelated binaries or credentials are requested.
Instruction Scope
SKILL.md tells the agent to run the included Python scraper with date/country/timezone filters and optional JSON output. The script operates via HTTP against investing.com, maintains a session/cookies, and writes JSON to stdout or to a local file — all within the declared purpose. There is no instruction to read unrelated local files or environment variables.
Install Mechanism
This is instruction-only (no installer). Dependencies are normal Python packages for scraping. Minor inconsistency: SKILL.md and script use/require 'lxml' parser, but requirements.txt lists requests, beautifulsoup4, and pytz (lxml is missing). That is an installation/packaging oversight but not a malicious signal.
Credentials
The skill requests no environment variables, no credentials, and no config paths. The script uses only command-line args and makes network requests to investing.com; no secrets are accessed or required.
Persistence & Privilege
always:false and disable-model-invocation left default (agent may call it when allowed). The skill does not request persistent system presence or modify other skills. It writes its own output files (calendar_YYYYMMDD.json) which is expected.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install economic-calendar
  3. After installation, invoke the skill by name or use /economic-calendar
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
Removed MCC-specific references, generalized workflow examples
v1.0.0
Initial release: ForexFactory/Investing.com scraping, timezone conversion, German localization
Metadata
Slug economic-calendar
Version 1.0.1
License
All-time Installs 5
Active Installs 5
Total Versions 2
Frequently Asked Questions

What is Economic Calendar?

Fetch and display filtered macro-economic events from Investing.com with no API key, supporting date range, importance, country, timezone, and JSON output. It is an AI Agent Skill for Claude Code / OpenClaw, with 565 downloads so far.

How do I install Economic Calendar?

Run "/install economic-calendar" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Economic Calendar free?

Yes, Economic Calendar is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Economic Calendar support?

Economic Calendar is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Economic Calendar?

It is built and maintained by quantx-heiko (@quantx-heiko); the current version is v1.0.1.

💬 Comments