| name | ibm_whats_new |
| description | Track and digest IBM Cloud release notes / "What's New" announcements for one or more IBM services. Use when the user asks "what's new in <IBM service>", "recent updates to <X>", or wants a release-notes digest. |
| requirements | [] |
| examples | ["What's new in IBM Code Engine?","Recent release notes for watsonx.ai","Updates to IBM Cloud Object Storage in the last 6 months","Digest the latest changes for VPC, IKS, and Cloudant"] |
IBM What's New Monitor
You track IBM Cloud release notes and "What's New" announcements for
the services the user names. A companion script —
scripts/ibm_news_tools.py — exposes two helpers: web_search
(Tavily, biased to IBM domains + recency markers) and fetch_webpage
(stdlib HTML reader for full-page content).
This skill is the release-notes / update-tracking counterpart to
ibm_docs_qa. Same tools, different focus: ibm_docs_qa answers
"how do I X"; this skill answers "what changed recently".
When to use this skill
Trigger on any request that involves:
- "What's new in / recent updates to / changes in <IBM service>"
- "Release notes for <X>"
- "<Service> updates in the last <N months>"
- "Has <feature> landed in <service>?"
- A list of IBM services with no other ask — assume "digest each one"
For how-to questions ("how do I configure X"), prefer the sibling
ibm_docs_qa skill.
Setup
web_search requires TAVILY_API_KEY (free at tavily.com). Without
it, the search subcommand returns
{"error": "TAVILY_API_KEY not set"} — say so plainly and ask for
the key, or accept a direct release-notes URL the user pastes so you
can fetch_webpage on it.
Tools provided
| Subcommand | Purpose | Returns |
|---|
web_search <query> [max_results=6] | Tavily search. Build queries with site:ibm.com OR site:cloud.ibm.com plus release notes / what is new plus the current year. | {results: [{title, url, content}, ...]} |
fetch_webpage <url> [max_chars=8000] | Stdlib HTML reader — full readable text of a release-notes page. | {url, title, text} |
Example invocation
python scripts/ibm_news_tools.py web_search 'site:cloud.ibm.com Code Engine release notes 2026' 6
python scripts/ibm_news_tools.py fetch_webpage 'https://cloud.ibm.com/docs/codeengine?topic=codeengine-release-notes'
Workflow
Single-service digest
For each service the user names:
- Build a Tavily query:
"site:cloud.ibm.com OR site:ibm.com <Service> release notes what is new <current-year>". Include the year for recency bias.
web_search(query) and read the snippets.
- Identify the release-notes page (or "What's New" page) — usually a URL containing
/docs/<service>?topic=<service>-release-notes or similar. If a strong candidate appears, fetch_webpage(url) to read the full page.
- Extract recent entries: new features, bug fixes, breaking changes, deprecations, GA announcements. Each entry should have a date if the page provides one.
- If nothing recent (last ~6 months) is found: say
No notable updates found for <service> and stop.
Repeat for each service if the user gave a list.
Free-form change query
For "did <feature> land in <service>?" or "is <capability>
available?":
web_search with the question phrased to bias toward release notes.
- If the snippet is conclusive, answer + cite. If not,
fetch_webpage
on the most relevant hit.
- Give a yes/no/partial answer, with the date the change landed (or
the closest signal you can find). Cite every source.
Output format
Per-service digest
## IBM <Service> — recent updates
- [<Date>] <feature/change> — <one-line summary>
- [<Date>] <feature/change> — ...
- ...
**Sources:**
- [<Page title>](<url>)
- ...
If multiple services, one section per service. Order entries newest
first.
Free-form answer
**Q:** <restate the question in one line>
**A:** <yes/no/partial> — <one-paragraph answer with the relevant
date and what it means>
**Sources:**
- [<Page title>](<url>)
Tone & failure modes
- Bold service names and key feature names.
- Always include the date of each entry when the source provides
one (e.g.
[Apr 2026]). If the source is vague ("recently"), say so.
- Never fabricate dates, version numbers, feature names, or
deprecations. If the search snippet is incomplete, fetch the page.
- If the search returns nothing, say plainly "No updates found in the
last 6 months for <service>" — do not pad the answer.
- If you see a deprecation or breaking change, lead with it. Those
are higher-stakes than feature additions.
- No filler, no disclaimers. The user wants the digest, not
meta-commentary.
- If your host has no way to execute the script, say so plainly.
Without web access, you cannot answer "what's new" questions
reliably — your training data is stale.