Releases: FinNotes-Intelligence/finnotes-news-and-data-skill
Release list
v0.2.1 — Naming alignment (drop -pack, repo rename)
Pure rename patch on top of v0.2.0. No script, schema, or behavior changes — only identifier strings. Runtimes that cached the v0.2.0 \$<name> need a one-time refresh.
Why this exists
After v0.2.0 shipped, three identifier strings were drifting:
| Surface | Before | After |
|---|---|---|
| Repo slug | finnotes-agent-skill |
finnotes-news-and-data-skill |
SKILL.md name: |
finnotes-global-market-news-and-data-researcher-pack |
finnotes-global-market-news-and-data-researcher |
openai.yaml display_name |
FinNotes Global Market News and Data Researcher |
FinNotes Global Market News & Data Researcher |
README.md title |
Skill: FinNotes Global Market News & Data Researcher Pack |
Skill: FinNotes Global Market News & Data Researcher |
What changed
- Repo renamed to
FinNotes-Intelligence/finnotes-news-and-data-skill. GitHub serves a permanent 301 redirect on the old URL — existing clones, bookmarks, and~/.<runtime>/skills/finnotes-api/working trees continue to function. New installs should use the new URL. - Dropped
-packsuffix from the SKILLname:. The README'sSkill:prefix already telegraphs the artifact type, andresearcher-packwas double-tagging the noun. - Ampersand in display_name for visual density and consistency with the README title.
default_promptupdated to reference the new\$<name>.- All four install-path examples in
README.mdupdated to the new clone URL.
Why the repo got a new name too
The previous repo name finnotes-agent-skill claimed the whole "FinNotes agent skill" namespace for one specific product. The new finnotes-news-and-data-skill opens a finnotes-<scope>-skill pattern that leaves room for future scoped skills (e.g. a portfolio-analysis or calendar-event skill) without renaming back.
Upgrade
cd ~/.<runtime>/skills/finnotes-api
git pull # 301-redirect resolves; your local remote still points at the old URLOr optionally update your local remote to the new canonical URL:
git remote set-url origin https://github.com/FinNotes-Intelligence/finnotes-news-and-data-skill.git
git pullIf your agent runtime cached the previous \$finnotes-global-market-news-and-data-researcher-pack in a default-prompt template, refresh it to the new \$finnotes-global-market-news-and-data-researcher.
v0.2.0 — Protocol revamp + news helper
v0.2.0 — first non-cosmetic release. Reworks the skill manifest around an explicit routing protocol and adds a dedicated news helper script. Backwards-incompatible at the skill-name reference level.
Highlights
New: scripts/finnotes_news.py
One helper covers every common news workflow — no more building query strings by hand:
python scripts/finnotes_news.py 1 # today's summary
python scripts/finnotes_news.py full # every today's article in full body
python scripts/finnotes_news.py 7 # last 7 days summary
python scripts/finnotes_news.py date 2026-06-20 # specific-date summary
python scripts/finnotes_news.py detail mn_174 # one article by id
python scripts/finnotes_news.py detail market-news <slug> # one article by type+slugSupports --type all,market-news,chart-news,column-article and --limit N.
SKILL.md rewritten as a four-section routing protocol
- Control plane — direct execution by default, two-phase progressive disclosure, negative-restraint rule against redundant detail fetches after
full. - Execution branch — strict intent → command-syntax mapping table.
- Exception routing —
NO_KEY, permission, quota, 404, contract-question matrix. - Output protocol — phase-1 identifier exposure, phase-2 implication analysis, no analytical noise.
Skill name kebab-cased
Global_Market_News_and_Data_Researcher_pack_(FinNotes) → finnotes-global-market-news-and-data-researcher-pack. Required for OpenAI Skills indexing. Backwards-incompatible: runtimes that cached the previous \$<name> reference need a one-time re-registration.
Description: entertainment EXCLUSION
The skill is now explicitly off-limits for entertainment, pop culture, sports, and celebrity topics — routing systems should not invoke FinNotes for those intents.
Cloudflare 403 distinguished from FinNotes 403
Both finnotes_request.py and finnotes_news.py now emit CLOUDFLARE_ACCESS_DENIED when the WAF blocks a request before it reaches FinNotes, instead of the generic PERMISSION_REQUIRED. The agent will no longer tell users to fix permissions when the firewall is the actual problem.
Real User-Agent header
User-Agent: FinNotes-Agent-Skill/0.1 is now set on every request, so platform analytics can separate skill traffic from generic Python-urllib calls.
Beta notice clarification (re-applied from v0.1.x)
references/create-api-key-guide.md keeps:
- Free access notice — 6-month Pro free, sign-up cutoff 2027-01-01.
- Grandfathering — existing unexpired Pro subscriptions remain valid through their original 6-month term after the program closes. Only sign-ups after 2027-01-01 are subject to post-Beta pricing.
references/* re-synced
api-platform-contract.md and platform-guide-for-ai.md are re-pulled from the live platform docs, so the bundled /v1/news/today/full endpoint (§10.4 + guide §3.1) is included.
Upgrade
cd ~/.<runtime>/skills/finnotes-api
git pullOr re-download the release ZIP and overwrite. No credential, profile, or interface file changes — your existing key works as-is. If your agent runtime cached the previous skill name in a default-prompt template, refresh it.
Live docs
For the freshest reference copy: https://platform.finnotes.com/docs/for-ai/
v0.1.1 — Today Full Bundle endpoint snapshot
Snapshot-refresh release. No script, manifest, or interface changes — this release synchronizes the bundled references/* docs with the FinNotes platform contract dated 2026-06-24, which now ships the new GET /v1/news/today/full bundled endpoint.
What changed
references/api-platform-contract.md— new §10.4 "Today Full Bundle" + §5.2 pricing row.references/platform-guide-for-ai.md— new §3.1 "One-shot variant" explaining when to use the bundle vs the 2-step (list + detail) flow.references/platform-for-ai-index.md— synced.
How agents call it
python scripts/finnotes_request.py GET "/news/today/full"Optional type filter (comma-separated, kebab-case):
python scripts/finnotes_request.py GET "/news/today/full?type=market-news,chart-news"Pricing is the sum of the detail-endpoint costs for what is returned: 1.00 × N(market-news) + 1.25 × N(chart-news) + 5.50 × N(column-article). Empty days charge 0 pt. The endpoint hard-caps at 100 articles and returns 422 too_many_articles (no charge) above that — treat it as a "something upstream is off" signal, not a paging hint.
Upgrading from v0.1.0
cd ~/.<runtime>/skills/finnotes-api
git pullOr re-download the release ZIP and extract over your existing install. No credential file, profile file, or script CLI flag changes — your existing key works as-is.
Live docs
For the freshest copy of any references/* snapshot, fetch https://platform.finnotes.com/docs/for-ai/.
v0.1.0 — initial public release
Changelog
All notable changes to this skill are recorded here. Versioning follows SemVer.
[0.1.0] — 2026-06-24
Initial public release.
Added
SKILL.mdmanifest (entry point read by agent runtimes)agents/openai.yamlOpenAI-format interface descriptorreferences/— snapshots of FinNotes machine-readable platform docs:api-platform-contract.md(API spec)platform-guide-for-ai.md(integration patterns)platform-for-ai-index.md(AI docs directory index)create-api-key-guide.md(skill-specific exception handling)finnotes-agent-key-handoff.sample.json(downloadable key JSON shape)
scripts/:store_finnotes_key.py— import downloaded handoff JSON → write~/.finnotes/credentials.env(mode 0600) +~/.finnotes/profile.jsonfinnotes_request.py— wrapurllibto call/v1/*with the stored Bearer key, classify HTTP errors intoFINNOTES_*agent signalsfinnotes_profile.py— show non-secret metadata;--require <permission>for pre-call gatingdelete_finnotes_handoff.py— delete downloaded JSON after user-confirmed import (--confirmedrequired)
Notes
- This version targets the FinNotes API at
https://api.finnotes.com/v1(commercial API base, separate from theplatform.finnotes.comdeveloper console). - All scripts use Python 3 stdlib only — no third-party dependencies.
- The skill is expected to mount under
~/.<runtime>/skills/finnotes-api/for user-level installs, or./.agent/skills/finnotes-api/for project-local.
Known limitations
- No automatic 429 backoff / retry. If your agent hits the per-second rate limit (Pro: 3 req/s, Max: 10 req/s), it's responsible for honoring
Retry-After. - No multi-profile support. One key per machine (
~/.finnotes/credentials.env). references/*files are point-in-time snapshots; the live URLs athttps://platform.finnotes.com/docs/for-ai/may be newer.
Compatibility
- Agent runtimes: Claude Code, Codex, OpenClaw, any runtime that loads
skills/from user or project folder - Python: 3.8+
- OS: macOS / Linux (Windows paths in
store_finnotes_key.pyshould work but untested)