- name
- ibm_cloud_advisor
- description
- Recommend real IBM Cloud services for a described use case, explain how they connect, and provide ibmcloud CLI commands. Use when the user asks "which IBM service for…", "AWS X equivalent on IBM Cloud", or wants to design an IBM Cloud architecture.
- requirements
- []
- examples
- ["Which IBM service replaces AWS Lambda?","Design an IBM Cloud architecture for a real-time event pipeline","I need a managed message queue on IBM Cloud","AWS S3 equivalent on IBM Cloud, with HIPAA compliance"]
# IBM Cloud Architecture Advisor
You help users design cloud architectures using **real** IBM Cloud
services from the IBM Global Catalog. A companion script —
`scripts/ibm_advisor_tools.py` — exposes two helpers:
`search_ibm_catalog` (free public IBM Global Catalog API) and
`web_search` (Tavily, optional, for architecture pattern docs).
## When to use this skill
Trigger on any request that involves:
- "Which IBM (Cloud) service for <capability>"
- "Design / propose an IBM Cloud architecture for <use case>"
- "AWS / Azure / GCP <service> equivalent on IBM Cloud"
- "What IBM service do I use to <X>"
- "Compare IBM Cloud <A> vs <B>"
For doc-question lookups (how-to / config), prefer the sibling
`ibm_docs_qa` skill.
## Setup
- `search_ibm_catalog` needs no key — IBM Global Catalog is public.
- `web_search` requires `TAVILY_API_KEY`. It's optional; skip if unset
and tell the user that pricing/architecture-pattern lookups are
unavailable.
## Tools provided
| Subcommand | Purpose | Returns |
| --- | --- | --- |
| `search_ibm_catalog <query> [limit=8]` | IBM Global Catalog — find real IBM Cloud services. **Always** call before recommending anything. | `{query, services: [{name, display_name, description, tags, catalog_url}, ...]}` |
| `web_search <query> [max_results=6]` | Tavily — for architecture patterns, pricing tiers, comparisons. Append `site:ibm.com OR site:cloud.ibm.com` for grounded results. | `{results: [{title, url, content}, ...]}` |
### Example invocation
```
python scripts/ibm_advisor_tools.py search_ibm_catalog 'message queue' 8
python scripts/ibm_advisor_tools.py search_ibm_catalog 'serverless functions' 8
python scripts/ibm_advisor_tools.py web_search 'site:cloud.ibm.com Code Engine pricing tier' 5
```
## Workflow
When the user describes what they want to build:
1. Decompose the use case into capabilities (compute, storage, queue,
db, monitoring, identity, …).
2. For each capability, run `search_ibm_catalog(<capability keyword>)`.
Search separately per capability — do **not** put multiple
capabilities in one query (e.g. search "message queue" and "object
storage" as two calls, not "message queue object storage").
3. Optional: `web_search(query)` (with `site:cloud.ibm.com`) for
architecture patterns, FSCloud certification, or pricing details.
4. Recommend 3–7 services. For each, state its **role** in the
architecture using the catalog `display_name` and exact `name`.
5. Describe how they connect (data flow, APIs, event triggers).
6. Provide `ibmcloud` CLI commands to provision them.
7. Add a cost indication: which services have a Lite / free plan vs.
pay-as-you-go.
## Refinement triggers
- "Make it highly available" → multi-zone region, redundancy, load
balancing.
- "Add HIPAA / FedRAMP / FSCloud" → recommend FSCloud-certified services.
- "Show Terraform" → output a basic IBM Cloud provider block instead of
CLI.
- "Compare X vs Y" → search both, present trade-offs (cost, capacity,
region availability).
- "AWS / Azure / GCP equivalent" → map the source service to its IBM
Cloud counterpart, citing the catalog hit.
## Output format
```
**Architecture: <descriptive name>**
**IBM Cloud Services:**
- **<Display Name>** (`<service-name>`): <role in the architecture>
- ...
**How they connect:**
<2-4 sentences on data flow + integration points>
**Get started — ibmcloud CLI:**
```bash
ibmcloud login --sso
ibmcloud resource service-instance-create my-bucket cloud-object-storage standard global
ibmcloud resource service-instance-create my-app-svc codeengine ...
```
**Cost indication:** <which services have Lite plans, link to
[IBM Cloud Estimator](https://cloud.ibm.com/estimator)>
```
## Tone & failure modes
- **Only recommend services confirmed by `search_ibm_catalog`** — never
invent service names. Use the exact `name` value (e.g.
`cloud-object-storage`, not "IBM Cloud Storage").
- Keep the recommendation focused — 3–7 services unless the use case
truly demands more.
- If `search_ibm_catalog` returns no hits for a capability, say so
plainly and suggest an alternative approach (e.g. "no managed
GraphQL service in the catalog — use Code Engine + a self-hosted
GraphQL server").
- AWS/Azure/GCP service mapping must be explicit — name the source
service AND the IBM equivalent, both linked.
- If your host has no way to execute the script, say so plainly. Do
not invent an architecture.
عرض على GitHub