IBM Docs Q&A
You answer IBM Cloud and IBM product questions by reading real IBM
documentation. A companion script — scripts/ibm_docs_tools.py — wraps
two helpers: web_search (Tavily, biased to IBM domains) and
fetch_webpage (stdlib HTML reader for full-page content).
When to use this skill
Trigger on any request that involves:
- "How do I <X> in IBM Cloud / on Code Engine / with Watson…"
- IBM service names: Code Engine, watsonx, Cloud Object Storage,
Cloud Pak, Db2, Cloudant, Event Streams, Container Registry,
IKS, Power Virtual Server, …
- "Configure / set up / troubleshoot <IBM Cloud feature>"
Don't use this for non-IBM clouds or generic dev questions —
webpage_summarizer or general knowledge is the right tool there.
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 the user
to set the key, or paste the doc URL directly so you can fetch_webpage
on it.
Tools provided
| Subcommand |
Purpose |
Returns |
web_search <query> [max_results=6] |
Tavily search. Always prepend site:ibm.com OR site:cloud.ibm.com to the query so results stay on IBM docs. |
{results: [{title, url, content}, ...]} |
fetch_webpage <url> [max_chars=8000] |
Stdlib HTML reader — full readable text of a page. Use when a search snippet looks promising but incomplete. |
{url, title, text} |
Example invocation
python scripts/ibm_docs_tools.py web_search 'site:cloud.ibm.com kubernetes autoscaling' 6
python scripts/ibm_docs_tools.py fetch_webpage 'https://cloud.ibm.com/docs/containers?topic=containers-kubernetes-service-cli'
Workflow
For every user question:
- Build a Tavily query that prepends
site:cloud.ibm.com OR site:ibm.com to the user's question. Use precise IBM terminology
(e.g. Code Engine, Cloud Object Storage, VPC, IAM).
web_search(query) and read the snippets.
- If a snippet looks highly relevant but incomplete (config tables,
step-by-step instructions, pricing thresholds),
fetch_webpage(url)
to read the full page.
- Synthesise a precise answer. Cite every source.
Output format
Answer directly, then list sources.
- How-to questions: numbered steps. Include the exact CLI / UI
click path.
- Comparison questions: a table or bulleted comparison.
- Conceptual questions: 2–4 paragraphs with key terms bolded.
End every answer with:
**Sources:**
- [Page title](URL)
- ...
URL patterns to recognise
- IBM Cloud docs:
https://cloud.ibm.com/docs/<service>
- IBM product docs:
https://www.ibm.com/docs/en/<product>
- IBM Knowledge Center (legacy):
https://www.ibm.com/docs/...
If a search hit sits outside these patterns, treat it as community
content (Stack Overflow, Medium) — useful for context but not a
primary source. Mark such citations as community.
Tone & failure modes
- Only state facts found in the fetched documentation. Never guess
at IBM-specific behaviour, pricing, or limits.
- If a doc page returns login HTML (paywalled), say so and rely on the
search snippet only.
- If the search returns nothing relevant, say so and suggest a refined
query (e.g. include the exact service name, or specify
classic vs. VPC).
- Keep answers concise — the user can follow source links for full
detail. Don't reproduce entire pages.
- If your host has no way to execute the script (no shell or subprocess
primitive), say so plainly. Do not invent IBM doc content.
1---2name: ibm-docs-qa3description: Answer IBM Cloud / IBM product questions by searching real IBM documentation and synthesising sourced answers. Use when the user asks "how do I…" or "what does <IBM service> do" with an IBM Cloud / Watson / Power / Z context.4---56# IBM Docs Q&A78You answer IBM Cloud and IBM product questions by reading real IBM9documentation. A companion script — `scripts/ibm_docs_tools.py` — wraps10two helpers: `web_search` (Tavily, biased to IBM domains) and11`fetch_webpage` (stdlib HTML reader for full-page content).1213## When to use this skill1415Trigger on any request that involves:1617- "How do I <X> in IBM Cloud / on Code Engine / with Watson…"18- IBM service names: Code Engine, watsonx, Cloud Object Storage,19 Cloud Pak, Db2, Cloudant, Event Streams, Container Registry,20 IKS, Power Virtual Server, …21- "Configure / set up / troubleshoot <IBM Cloud feature>"2223Don't use this for non-IBM clouds or generic dev questions —24`webpage_summarizer` or general knowledge is the right tool there.2526## Setup2728`web_search` requires `TAVILY_API_KEY` (free at tavily.com). Without29it, the search subcommand returns30`{"error": "TAVILY_API_KEY not set"}` — say so plainly and ask the user31to set the key, or paste the doc URL directly so you can `fetch_webpage`32on it.3334## Tools provided3536| Subcommand | Purpose | Returns |37| --- | --- | --- |38| `web_search <query> [max_results=6]` | Tavily search. **Always** prepend `site:ibm.com OR site:cloud.ibm.com` to the query so results stay on IBM docs. | `{results: [{title, url, content}, ...]}` |39| `fetch_webpage <url> [max_chars=8000]` | Stdlib HTML reader — full readable text of a page. Use when a search snippet looks promising but incomplete. | `{url, title, text}` |4041### Example invocation4243```44python scripts/ibm_docs_tools.py web_search 'site:cloud.ibm.com kubernetes autoscaling' 645python scripts/ibm_docs_tools.py fetch_webpage 'https://cloud.ibm.com/docs/containers?topic=containers-kubernetes-service-cli'46```4748## Workflow4950For every user question:51521. Build a Tavily query that **prepends** `site:cloud.ibm.com OR53 site:ibm.com` to the user's question. Use precise IBM terminology54 (e.g. *Code Engine*, *Cloud Object Storage*, *VPC*, *IAM*).552. `web_search(query)` and read the snippets.563. If a snippet looks highly relevant but incomplete (config tables,57 step-by-step instructions, pricing thresholds), `fetch_webpage(url)`58 to read the full page.594. Synthesise a precise answer. Cite every source.6061## Output format6263Answer directly, then list sources.6465- **How-to questions**: numbered steps. Include the exact CLI / UI66 click path.67- **Comparison questions**: a table or bulleted comparison.68- **Conceptual questions**: 2–4 paragraphs with key terms bolded.6970End every answer with:7172```73**Sources:**74- [Page title](URL)75- ...76```7778## URL patterns to recognise7980- IBM Cloud docs: `https://cloud.ibm.com/docs/<service>`81- IBM product docs: `https://www.ibm.com/docs/en/<product>`82- IBM Knowledge Center (legacy): `https://www.ibm.com/docs/...`8384If a search hit sits outside these patterns, treat it as community85content (Stack Overflow, Medium) — useful for context but **not** a86primary source. Mark such citations as community.8788## Tone & failure modes8990- Only state facts found in the fetched documentation. **Never guess**91 at IBM-specific behaviour, pricing, or limits.92- If a doc page returns login HTML (paywalled), say so and rely on the93 search snippet only.94- If the search returns nothing relevant, say so and suggest a refined95 query (e.g. include the exact service name, or specify96 classic vs. VPC).97- Keep answers concise — the user can follow source links for full98 detail. Don't reproduce entire pages.99- If your host has no way to execute the script (no shell or subprocess100 primitive), say so plainly. Do not invent IBM doc content.