> ## Documentation Index
> Fetch the complete documentation index at: https://developer.watson-orchestrate.ibm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

The following sections cover a complete multi-skill agent setup. The agent handles two distinct domains, order placement and inventory management within a single agent configuration.

Each domain is packaged as a separate skill. A skill bundles its own instructions, the tools it can call, any Python scripts it needs for computation, and reference documents it consults during execution. The agent loads only the skill that matches the current request, so the instructions in context at any moment are limited to the task at hand.

One tool, `get_customer_profile`, sits outside both skills and is declared directly on the agent. It is available regardless of which skill is active, which makes it suitable for cross-cutting lookups that both domains might need.

The setup covers every layer:

| Page                                                         | What it shows                                                           |
| ------------------------------------------------------------ | ----------------------------------------------------------------------- |
| [Tools](/agent_skills/multi/tools)                           | Tool implementations. One per domain and an agent-level tool            |
| [Operations assistant](/agent_skills/multi/agent)            | The agent that wires the tools and skills together                      |
| [Order placement skill](/agent_skills/multi/order_placement) | Skill definition, validation script, and order policy reference         |
| [Inventory check skill](/agent_skills/multi/inventory_check) | Skill definition, stock analysis scripts, and inventory guide reference |

## How the pieces fit together

```yaml YAML theme={null}
agent-02
├── tools (agent-level)
│   └── get_customer_profile      # always available
└── skills
    ├── order-placement
    │   ├── allowed-tools: create_order, update_order_status
    │   ├── scripts/validate_order.py
    │   └── references/ORDER_POLICY.md
    └── inventory-check
        ├── allowed-tools: check_inventory
        ├── scripts/check_stock.py
        ├── scripts/calc_reorder.py
        └── references/INVENTORY_GUIDE.md
```

When a user sends a message, the agent matches it against each skill's `description`. It then loads the full instruction body for the matching skill and restricts tool access to that skill's `allowed-tools`. The agent-level tool `get_customer_profile` remains available across all skills.

## Next steps

* Start with the [Tools](/agent_skills/multi/tools) page to see the full tool implementations.
* Read the [Operations assistant](/agent_skills/multi/agent) page to understand how tools and skills are declared. The skill pages describe each skill's instructions, scripts, and reference documents in detail.
* See the [Sample query walkthrough](/agent_skills/multi/sample_query) to follow one request end-to-end through skill matching, tool calls, scripts, and a reference read.
