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/