diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..effe2c5 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,72 @@ +# Agent Market Data Terminal (aMDT) — Claude Code Project Context + +Agent Market Data Terminal (aMDT) is a lightweight, no-auth LLM skill that provides direct access to market and macro data from BEA, Treasury FiscalData, Treasury rates feeds, BLS, World Bank, OECD, Kenneth French Data Library, FRED, VIXCentral, Macrotrends, Yahoo Finance via yfinance, Westmetall, EIA DNAV, Multpl, CBOE, and dougransom/vix_utils. All providers use public endpoints that require no API keys. + +## Skill invocation + +The skill definition lives in `SKILL.md` with frontmatter `name: "agent-market-data-terminal"`. + +**Claude Code** — invoke with: +``` +/agent-market-data-terminal +``` + +**Codex** — invoke with: +``` +$agent-market-data-terminal +``` + +## Repository layout + +| Path | Purpose | +|------|---------| +| `SKILL.md` | Skill trigger metadata and workflow — shared by Codex and Claude Code | +| `agents/openai.yaml` | Codex UI metadata only | +| `agents/claude.md` | Claude Code metadata only | +| `references/` | Provider-specific reference docs (16 files) | +| `scripts/` | Python fetch helpers, one per provider (16 files) | + +## Provider routing summary + +| Provider | Reference | Script | +|----------|-----------|--------| +| BEA | `references/bea.md` | `scripts/fetch_bea.py` | +| Treasury FiscalData | `references/fiscaldata.md` | `scripts/fetch_fiscaldata.py` | +| Treasury Rates | `references/treasury_rates.md` | `scripts/fetch_treasury_rates.py` | +| BLS | `references/bls.md` | `scripts/fetch_bls.py` | +| World Bank | `references/worldbank.md` | `scripts/fetch_worldbank.py` | +| OECD | `references/oecd.md` | `scripts/fetch_oecd.py` | +| Fama/French | `references/famafrench.md` | `scripts/fetch_famafrench.py` | +| FRED | `references/fred.md` | `scripts/fetch_fred.py` | +| Macrotrends | `references/macrotrends.md` | `scripts/fetch_macrotrends.py` | +| VIXCentral | `references/vixcentral.md` | `scripts/fetch_vixcentral.py` | +| Westmetall | `references/westmetall.md` | `scripts/fetch_westmetall.py` | +| EIA | `references/eia.md` | `scripts/fetch_eia.py` | +| Multpl | `references/multpl.md` | `scripts/fetch_multpl.py` | +| CBOE | `references/cboe.md` | `scripts/fetch_cboe.py` | +| vix_utils | `references/vix_utils.md` | `scripts/fetch_vix_utils.py` | +| Yahoo Finance | `references/yahoo.md` | `scripts/fetch_yfinance.py` | + +Open the relevant `references/*.md` file before running a script. See `SKILL.md` for full provider routing rules and guardrails. + +## Workspace conventions + +- All output files go inside the current workspace directory. +- Every script invocation must include an explicit `--output` path. +- Never write files outside the workspace. +- Cross-source normalization (`references/normalization.md`) is only for tasks that explicitly require merging providers. + +## Optional Python dependencies + +Some helpers require optional packages. Install as needed: + +``` +pip install openpyxl # BEA .xlsx workbook parsing +pip install pandas # Yahoo Finance and some dataframe-backed providers +pip install yfinance # Yahoo Finance direct access +pip install xlrd # EIA history workbook parsing +pip install curl_cffi # VIXCentral TLS-impersonation fallback (optional) +pip install vix_utils # Standalone historical VIX term-structure provider +``` + +Scripts guard optional imports so syntax validation passes even when packages are absent. diff --git a/README.md b/README.md index a27dae6..4e1bee6 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,8 @@ The skill is native-first. It prefers direct machine-readable provider sources s ## Install +### Codex + Clone or copy this repository into your Codex skills directory as: ```text @@ -33,10 +35,32 @@ $CODEX_HOME/skills/agent-market-data-terminal After installation, Codex can use the skill as `$agent-market-data-terminal`. +### Claude Code + +Clone or copy this repository into your Claude Code skills directory. + +For a user-global install (available in all projects): + +```text +~/.claude/skills/agent-market-data-terminal/ +``` + +For a project-local install (available only in a specific project): + +```text +.claude/skills/agent-market-data-terminal/ +``` + +After installation, Claude Code can use the skill as `/agent-market-data-terminal`. + +Claude Code also reads `CLAUDE.md` automatically when you open this repository as a project directory, providing layout and routing context without an explicit invocation. + ## Layout -- [SKILL.md](./SKILL.md): trigger metadata and workflow +- [SKILL.md](./SKILL.md): trigger metadata and workflow (shared by Codex and Claude Code) - [agents/openai.yaml](./agents/openai.yaml): Codex UI metadata +- [agents/claude.md](./agents/claude.md): Claude Code metadata +- [CLAUDE.md](./CLAUDE.md): Claude Code auto-loaded project context - [references/](./references/): provider-specific guidance and source contracts - [scripts/](./scripts/): fetch helpers for each provider diff --git a/agents/claude.md b/agents/claude.md new file mode 100644 index 0000000..54806a0 --- /dev/null +++ b/agents/claude.md @@ -0,0 +1,22 @@ +--- +display_name: "Agent Market Data Terminal (aMDT)" +short_description: "Lightweight no-auth market and macro data for Claude Code agents" +--- + +# Agent Market Data Terminal (aMDT) + +## Claude Code metadata + +- **Invocation**: `/agent-market-data-terminal` +- **Skill file**: `SKILL.md` (shared with Codex) +- **User-global install**: `~/.claude/skills/agent-market-data-terminal/` +- **Project-local install**: `.claude/skills/agent-market-data-terminal/` + +## Default prompt + +Use /agent-market-data-terminal to fetch BEA, Treasury FiscalData, Treasury rates, BLS, World Bank, OECD, Kenneth French Data Library, FRED, VIXCentral, CBOE, vix_utils, Macrotrends, direct Yahoo Finance via yfinance, Westmetall, EIA DNAV, or Multpl data into this workspace. + +## Notes + +- The `description` field in `SKILL.md` frontmatter controls when Claude Code auto-triggers the skill. Do not modify the `SKILL.md` frontmatter. +- This file is Claude Code metadata only. Codex metadata lives in `agents/openai.yaml`.