Not in the top 1,000 by GitHub stars
garroshub/ai-economist-skill
An installable agent skill for macroeconomic nowcasting and monetary-policy analysis. Structural statistical baselines with ML calibration for GDP forecasts and policy-rate signals (US and Canada), with out-of-sample backtesting, data-timing controls, and interpretable model comparisons.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
economics-ml/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
50644e7e8508 → 50644e7e8508
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 50644e7e8508
No earlier version was observed for comparison.
Heat
0.3- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- economics-ml
economics-ml
How it works
When your agent uses it
What it loads into context
Frontmatter
0 tokensAlways available to the agent
SKILL.md
1,263 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Interface
- Operating Principles
- Default Agent Behavior
- Non-Script Analysis Mode
- Supported Analysis Layers
- Report Templates
- Commands
- Data Requirements
Scripts executed separately
backtest_engine.pymain.pysrc/__init__.pysrc/core/__init__.pysrc/core/modeling_core.pysrc/core/visual_oracle.pysrc/data_utils/__init__.pysrc/data_utils/macro_data_fetcher.pysrc/data_utils/statcan_fetcher.pysrc/engine/__init__.pysrc/engine/gdp_nowcast_engine.pysrc/engine/policy_rate_engine.py
Files
SKILL.mdcore6,181 bytesSKILL.mdcore6,181 bytesSKILL.mdcore6,181 bytesSKILL.mdcore6,181 bytesSKILL.mdcore6,181 bytesSKILL.mdcore6,181 bytesbacktest_engine.pyruns22,797 bytesmain.pyruns1,218 bytesrequirements.txtdoc65 bytessrc/__init__.pyruns0 bytessrc/core/__init__.pyruns0 bytessrc/core/modeling_core.pyruns2,682 bytessrc/core/visual_oracle.pyruns2,497 bytessrc/data_utils/__init__.pyruns0 bytessrc/data_utils/macro_data_fetcher.pyruns5,406 bytessrc/data_utils/statcan_fetcher.pyruns1,269 bytessrc/engine/__init__.pyruns0 bytessrc/engine/gdp_nowcast_engine.pyruns13,747 bytessrc/engine/policy_rate_engine.pyruns22,091 bytes
Read SKILL.md
# Economics ML Skill
Use this skill for macroeconomic nowcasting, central-bank policy diagnostics,
economics-oriented ML calibration, and validation reports.
## Interface
Treat this as an agent skill first. A runtime installation should include this
file, `requirements.txt`, `main.py`, `backtest_engine.py`, and `src/`. Use the
bundled Python scripts when the user asks for a live run, fresh backtest,
regenerated dashboard snapshot, or reproducible artifact. For interpretive
questions, answer from the latest available report, snapshot, user-supplied
numbers, or cited public data.
## Operating PrinciplesView the complete source on GitHubSkills included
Repository facts
- License
- MIT
- Created
- Feb 2, 2026
- Last pushed
- Oct 8, 2026
- Forks
- 5
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 5, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 5 notes
economics-ml/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedeconomics-ml/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedeconomics-ml/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedeconomics-ml/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedeconomics-ml/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 38 network referencesin 4 files: economics-ml/src/engine/gdp_nowcast_engine.py:31 economics-ml/src/data_utils/macro_data_fetcher.py:9 economics-ml/backtest_engine.py:21 and 1 more
- No hidden or obfuscated text
- No instruction overrides
- 12 executable scriptsin 12 files: economics-ml/backtest_engine.py:1 economics-ml/main.py:1 economics-ml/src/__init__.py:1 and 9 more
- 13 references to secretsin 4 files: economics-ml/src/engine/gdp_nowcast_engine.py:19 economics-ml/src/data_utils/macro_data_fetcher.py:9 economics-ml/backtest_engine.py:15 and 1 more
- No requests to vote in Hot
Show all 63 signals by file
economics-ml/SKILL.md
- Access to secretsline 206
[Credential-related source omitted]
economics-ml/backtest_engine.py
- Executable scriptline 1
Executable file - Access to secretsline 15
[Credential-related source omitted] - Network accessline 21
def __init__(self): self.fred_url = "https://api.stlouisfed.org/fred/series/observations" - Network accessline 22
self.fred_url = "https://api.stlouisfed.org/fred/series/observations" - Access to secretsline 92
[Credential-related source omitted] - Access to secretsline 97
[Credential-related source omitted] - Network accessline 101
} try: response = requests.get(self.fred_url, params=params, timeout=15) - Network accessline 102
try: response = requests.get(self.fred_url, params=params, timeout=15) response.raise_for_status() - Network accessline 103
response = requests.get(self.fred_url, params=params, timeout=15)
economics-ml/main.py
- Executable scriptline 1
Executable file
economics-ml/src/__init__.py
- Executable scriptline 1
Executable file
economics-ml/src/core/__init__.py
- Executable scriptline 1
Executable file
economics-ml/src/core/modeling_core.py
- Executable scriptline 1
Executable file
economics-ml/src/core/visual_oracle.py
- Executable scriptline 1
Executable file
economics-ml/src/data_utils/__init__.py
- Executable scriptline 1
Executable file
economics-ml/src/data_utils/macro_data_fetcher.py
- Executable scriptline 1
Executable file - Network accessline 9
[Credential-related source omitted] - Access to secretsline 9
[Credential-related source omitted] - Access to secretsline 10
[Credential-related source omitted] - Network accessline 11
self.fred_base_url = "https://api.stlouisfed.org/fred/series/observations" - Access to secretsline 15
[Credential-related source omitted] - Access to secretsline 20
[Credential-related source omitted] - Network accessline 24
} try: response = requests.get(self.fred_base_url, params=params, timeout=15) - Network accessline 25
try: response = requests.get(self.fred_base_url, params=params, timeout=15) response.raise_for_status() - Network accessline 26
response = requests.get(self.fred_base_url, params=params, timeout=15) - Network accessline 38
url = "https://www.bls.gov/news.release/empsit.t01.htm" - Network accessline 41
} try: response = requests.get(url, headers=headers, timeout=15) - Network accessline 42
try: response = requests.get(url, headers=headers, timeout=15) response.raise_for_status() - Network accessline 43
response = requests.get(url, headers=headers, timeout=15) - Network accessline 69
url = "https://www.bankofcanada.ca/rates/indicators/capacity-and-inflation-pressures/" - Network accessline 74
try: resp = requests.get(url, headers=headers, timeout=15) - Network accessline 75
resp = requests.get(url, headers=headers, timeout=15) - Network accessline 127
print("--- Testing BLS Direct Fetch (US Unemployment) ---")
economics-ml/src/data_utils/statcan_fetcher.py
- Executable scriptline 1
Executable file - Network accessline 8
class StatCanDataFetcher: RETAIL_SALES_URL = "https://www150.statcan.gc.ca/n1/tbl/csv/20100056-eng.zip" - Network accessline 9
RETAIL_SALES_URL = "https://www150.statcan.gc.ca/n1/tbl/csv/20100056-eng.zip" - Network accessline 31
def fetch_canada_retail_sales(self): try: response = requests.get(self.RETAIL_SALES_URL, timeout=20) - Network accessline 32
try: response = requests.get(self.RETAIL_SALES_URL, timeout=20) response.raise_for_status() - Network accessline 33
response = requests.get(self.RETAIL_SALES_URL, timeout=20)
economics-ml/src/engine/__init__.py
- Executable scriptline 1
Executable file
economics-ml/src/engine/gdp_nowcast_engine.py
- Executable scriptline 1
Executable file - Access to secretsline 19
[Credential-related source omitted] - Network accessline 31
def __init__(self, country="US"): self.country = country self.fred_url = "https://api.stlouisfed.org/fred/series/observations" - Network accessline 32
self.country = country self.fred_url = "https://api.stlouisfed.org/fred/series/observations" self.now = get_toronto_now() - Network accessline 33
self.fred_url = "https://api.stlouisfed.org/fred/series/observations" - Access to secretsline 77
[Credential-related source omitted] - Network accessline 80
[Credential-related source omitted] - Access to secretsline 80
[Credential-related source omitted] - Network accessline 81
try: r = requests.get(url, timeout=10).json() if "observations" not in r: - Network accessline 82
r = requests.get(url, timeout=10).json() - Network accessline 94
feeds = [ "https://www.investing.com/rss/news_25.rss", - Network accessline 95
"https://www.investing.com/rss/news_25.rss", - Network accessline 96
"https://www.bankofcanada.ca/feed/", - Network accessline 103
try: for url in feeds: resp = requests.get( - Network accessline 104
for url in feeds: resp = requests.get( url, timeout=10, headers={"User-Agent": "Mozilla/5.0"} - Network accessline 105
resp = requests.get( - Network accessline 187
base_url = "https://www150.statcan.gc.ca/n1/daily-quotidien" - Network accessline 197
try: resp = requests.get(url, timeout=3) - Network accessline 198
resp = requests.get(url, timeout=3) - Access to secretsline 267
[Credential-related source omitted] - Access to secretsline 290
[Credential-related source omitted]
economics-ml/src/engine/policy_rate_engine.py
- Executable scriptline 1
Executable file
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Declared and executed: 9 facts
- Contacts api.stlouisfed.org, which SKILL.md, the README and the plugin manifest do not mentioneconomics-ml/backtest_engine.py:22High confidence
- Contacts api.stlouisfed.org, which SKILL.md, the README and the plugin manifest do not mentioneconomics-ml/src/data_utils/macro_data_fetcher.py:11High confidence
- Contacts www.bls.gov, which SKILL.md, the README and the plugin manifest do not mentioneconomics-ml/src/data_utils/macro_data_fetcher.py:38High confidence
- Contacts www.bankofcanada.ca, which SKILL.md, the README and the plugin manifest do not mentioneconomics-ml/src/data_utils/macro_data_fetcher.py:69High confidence
- Contacts www150.statcan.gc.ca, which SKILL.md, the README and the plugin manifest do not mentioneconomics-ml/src/data_utils/statcan_fetcher.py:9High confidence
- Contacts api.stlouisfed.org, which SKILL.md, the README and the plugin manifest do not mentioneconomics-ml/src/engine/gdp_nowcast_engine.py:33High confidence
- Contacts www.investing.com, which SKILL.md, the README and the plugin manifest do not mentioneconomics-ml/src/engine/gdp_nowcast_engine.py:95High confidence
- Contacts www.bankofcanada.ca, which SKILL.md, the README and the plugin manifest do not mentioneconomics-ml/src/engine/gdp_nowcast_engine.py:96High confidence
- Contacts www150.statcan.gc.ca, which SKILL.md, the README and the plugin manifest do not mentioneconomics-ml/src/engine/gdp_nowcast_engine.py:187High confidence
Signal confidence: 63 facts
- Access to secrets in prose of the SKILL.mdeconomics-ml/SKILL.md:206Low confidence
- Executable script in code of a file that runseconomics-ml/backtest_engine.py:1High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueeconomics-ml/backtest_engine.py:15Low confidence
- Network access in code of a file that runseconomics-ml/backtest_engine.py:21High confidence
- Network access in code of a file that runseconomics-ml/backtest_engine.py:22High confidence
- Access to secrets in code of a file that runseconomics-ml/backtest_engine.py:92High confidence
- Access to secrets in code of a file that runseconomics-ml/backtest_engine.py:97High confidence
- Network access in code of a file that runseconomics-ml/backtest_engine.py:101High confidence
- Network access in code of a file that runseconomics-ml/backtest_engine.py:102High confidence
- Network access in code of a file that runseconomics-ml/backtest_engine.py:103High confidence
- Executable script in code of a file that runseconomics-ml/main.py:1High confidence
- Executable script in prose of a file that runseconomics-ml/src/__init__.py:1Low confidence
- Executable script in prose of a file that runseconomics-ml/src/core/__init__.py:1Low confidence
- Executable script in code of a file that runseconomics-ml/src/core/modeling_core.py:1High confidence
- Executable script in code of a file that runseconomics-ml/src/core/visual_oracle.py:1High confidence
- Executable script in prose of a file that runseconomics-ml/src/data_utils/__init__.py:1Low confidence
- Executable script in code of a file that runseconomics-ml/src/data_utils/macro_data_fetcher.py:1High confidence
- Network access in code of a file that runseconomics-ml/src/data_utils/macro_data_fetcher.py:9High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueeconomics-ml/src/data_utils/macro_data_fetcher.py:9Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueeconomics-ml/src/data_utils/macro_data_fetcher.py:10Low confidence
- Network access in code of a file that runseconomics-ml/src/data_utils/macro_data_fetcher.py:11High confidence
- Access to secrets in code of a file that runseconomics-ml/src/data_utils/macro_data_fetcher.py:15High confidence
- Access to secrets in code of a file that runseconomics-ml/src/data_utils/macro_data_fetcher.py:20High confidence
- Network access in code of a file that runseconomics-ml/src/data_utils/macro_data_fetcher.py:24High confidence
- Network access in code of a file that runseconomics-ml/src/data_utils/macro_data_fetcher.py:25High confidence
- Network access in code of a file that runseconomics-ml/src/data_utils/macro_data_fetcher.py:26High confidence
- Network access in code of a file that runseconomics-ml/src/data_utils/macro_data_fetcher.py:38High confidence
- Network access in code of a file that runseconomics-ml/src/data_utils/macro_data_fetcher.py:41High confidence
- Network access in code of a file that runseconomics-ml/src/data_utils/macro_data_fetcher.py:42High confidence
- Network access in code of a file that runseconomics-ml/src/data_utils/macro_data_fetcher.py:43High confidence
- Network access in code of a file that runseconomics-ml/src/data_utils/macro_data_fetcher.py:69High confidence
- Network access in code of a file that runseconomics-ml/src/data_utils/macro_data_fetcher.py:74High confidence
- Network access in code of a file that runseconomics-ml/src/data_utils/macro_data_fetcher.py:75High confidence
- Network access in code of a file that runseconomics-ml/src/data_utils/macro_data_fetcher.py:127High confidence
- Executable script in code of a file that runseconomics-ml/src/data_utils/statcan_fetcher.py:1High confidence
- Network access in code of a file that runseconomics-ml/src/data_utils/statcan_fetcher.py:8High confidence
- Network access in code of a file that runseconomics-ml/src/data_utils/statcan_fetcher.py:9High confidence
- Network access in code of a file that runseconomics-ml/src/data_utils/statcan_fetcher.py:31High confidence
- Network access in code of a file that runseconomics-ml/src/data_utils/statcan_fetcher.py:32High confidence
- Network access in code of a file that runseconomics-ml/src/data_utils/statcan_fetcher.py:33High confidence
- Executable script in prose of a file that runseconomics-ml/src/engine/__init__.py:1Low confidence
- Executable script in code of a file that runseconomics-ml/src/engine/gdp_nowcast_engine.py:1High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueeconomics-ml/src/engine/gdp_nowcast_engine.py:19Low confidence
- Network access in code of a file that runseconomics-ml/src/engine/gdp_nowcast_engine.py:31High confidence
- Network access in code of a file that runseconomics-ml/src/engine/gdp_nowcast_engine.py:32High confidence
- Network access in code of a file that runseconomics-ml/src/engine/gdp_nowcast_engine.py:33High confidence
- Access to secrets in code of a file that runseconomics-ml/src/engine/gdp_nowcast_engine.py:77High confidence
- Network access in code of a file that runseconomics-ml/src/engine/gdp_nowcast_engine.py:80High confidence
- Access to secrets in code of a file that runseconomics-ml/src/engine/gdp_nowcast_engine.py:80High confidence
- Network access in code of a file that runseconomics-ml/src/engine/gdp_nowcast_engine.py:81High confidence
and 13 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Unknown | No evidence | |
| Codex | Unknown | No evidence | |
| Cursor | Unknown | No evidence | |
| Gemini CLI | Unknown | No evidence | |
| GitHub Copilot | Unknown | No evidence | |
| OpenCode | Unknown | No evidence |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.