offering command.
Before you begin
- Determine the type of agent that you currently have or that you want to create:
- External agent: is an agent that was developed with other frameworks or technologies.
- Native agent: is an agent that was developed with the ADK or within the watsonx Orchestrate platform.
- Both types of agents must be packaged.
Creating your folder structure
1
Create a folder
First, create a folder to store your agent package information, and enter the folder:
2
Create your offering scaffold
From this folder, run the following command:It creates the following folder structure:
3
Add or create your agent
In your
agents/my_agent.yaml file, you can add an existing agent.yaml definition file, if you already have an agent, or create a new agent based on that.To learn how to work with the agent definition files, see Authoring agents.If you have an existing agent.yaml, you must also include the following tags:4
Validate your agent
Run the agent validation routine. To learn more, see Validating your agent .Your must put the validation results under the
evaluations/ folder, for example:offerings/my_offering.yaml follows this template:
my_offering.yaml
Packaging your offering
From inside the folder that you created, run the following command:- Creates a new zip file called
my_offering-1.0.zip(the name matches the name of the offering that you previously defined). - Copies the
offerings/my_offering.yamlfile into the zip file as/publisher_name/offerings/my_offering/config.json - For each agent under
.assets[my-offering].agentsin the offerings file:- Validates if an agent with that name exists in the agents folder.
- Validates if the agent matches the agent specification (for both native or external agents).
- Copies the agents from the agents folder into the zip as
/publisher_name/offerings/my_offering/config.json. - For each tool under
.assets[my-offering].tools:- Validates if a tool with that tool-name exists in the
tools/tool_namefolder. - Validates if the tool is a valid python tool
- Validates if a tool with that tool-name exists in the
- Exports the tool specifications to
/publisher/tools/tool_name/config.json. - Exports the tool
artifact.zipfromtools/tool_nameto/publisher_name/tools/tool_name/artifacts/tool_name.zip. Therequirements.txtfor a tool can be assumed to be the origin folder.

