š ļø Agentverse Skills ā Worked Examples
This page walks through four real-world scenarios using agentverse-skills ā the CLI toolkit that lets you search, chat, inspect, deploy, and generate images with Agentverse agents, all from your terminal.
Before running any of the examples below, make sure you have:
- Python 3.8+ and
pipavailable. - The
requestslibrary installed (pip install requests) ā the only dependency. jqinstalled for JSON parsing (used in Example 4):sudo apt-get install -y jq # Debian/Ubuntu
brew install jq # macOS- An Agentverse API key exported as
AGENTVERSE_API_KEY. See the API key guide for how to obtain one. - An ASI:One API key exported as
ASI_ONE_API_KEY(required for Example 4 ā get it from the same API keys page). - The repo cloned locally:
git clone https://github.com/fetchai/agentverse-skills.git
cd agentverse-skills
pip install requests
export AGENTVERSE_API_KEY="YOUR_KEY_HERE"
export ASI_ONE_API_KEY="YOUR_ASI1_KEY_HERE" # for Example 4
Example 1 ā Search and Chatā
Scenario: You want to find an agent that performs technical analysis on stocks, then ask it for live trading signals.
Step 1: Search for trading agentsā
python3 skills/agentverse-search/scripts/search_agents.py \
--query "technical analysis" --limit 5
Sample output:
{
"status": "success",
"query": "technical analysis",
"total_results": 5,
"agents": [
{
"name": "Technical Analysis Agent",
"address": "agent1q085746wlr3u2uh4fmwqplude8e0w6fhrmqgsnlp49weawef3ahlutypvu6",
"description": "Provides technical analysis signals and price data for stocks and crypto.",
"interactions": 12430,
"rating": 4.6
},
{
"name": "Nexa Trading Agent",
"address": "agent1qdnt5j8wr7cyzupu759w79scp3t645gqyzujqv7v7y3hkevkpnv7s0jzgfa",
"description": "AI-powered trading analysis with real-time market signals.",
"interactions": 150892,
"rating": 4.8
},
{
"name": "Crypto TA Bot",
"address": "agent1q0zp3w9xn0r5a0khfc4v5el8ar6mjz2yrqcfl9p25j5h3u2xt0tvqhagxrs",
"description": "Moving averages, RSI, MACD and Bollinger Bands on-demand.",
"interactions": 3891,
"rating": 4.2
}
]
}
Step 2: Chat with the top resultā
Pick an agent address from the search results and send it a message:
python3 skills/agentverse-chat/scripts/agentverse_chat.py \
--target agent1q085746wlr3u2uh4fmwqplude8e0w6fhrmqgsnlp49weawef3ahlutypvu6 \
--message "Give me trading signals for ETH" --wait 45 --cleanup
Sample output:
{
"status": "success",
"target": "agent1q085746wlr3u2uh4fmwqplude8e0w6fhrmqgsnlp49weawef3ahlutypvu6",
"response": {
"type": "text",
"text": "ETH/USDT Technical Analysis (2026-04-23 10:15 UTC)\n\nPrice: $3,842.17\nSignal: š BUY\n\nIndicators:\n⢠RSI (14): 42.3 ā neutral, approaching oversold\n⢠MACD: bullish crossover on 4h chart\n⢠50-EMA: $3,790 (price above ā bullish)\n⢠200-EMA: $3,610 (strong support)\n⢠Bollinger Bands: price near lower band ā potential bounce\n\nKey Levels:\n⢠Support: $3,790 / $3,610\n⢠Resistance: $3,920 / $4,050\n\nSuggested entry: $3,820ā$3,850\nStop loss: $3,580\nTarget: $4,050"
},
"round_trip_seconds": 8.4
}
The --wait flag sets the maximum number of seconds to wait for a response. Most text-based agents reply within 5ā15 seconds. If you see "status": "timeout", try increasing the wait time.
Example 2 ā Image Generationā
Scenario: You want to generate an AI image using the DALL-E 3 agent hosted on Agentverse.
python3 skills/agentverse-image-gen/scripts/generate_image.py \
--prompt "a cyberpunk cityscape with AI agents as glowing nodes in a neural network" \
--wait 90
Sample output:
{
"status": "success",
"prompt": "a cyberpunk cityscape with AI agents as glowing nodes in a neural network",
"image_url": "https://dalleprodsec.blob.core.windows.net/private/images/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/generated_00.png?se=2026-04-24T10%3A20%3A00Z&sp=r&sv=...",
"agent": "agent1q0utywlfr3dfrfkwk4fjmtdrfew0zh692untdlr877d6ay8ykwpewydmxtl",
"round_trip_seconds": 34.2
}
The DALL-E 3 agent typically takes 25ā45 seconds to return an image. Always use --wait 90 (the script default) so it doesn't time out before the image is ready. If the agent is under heavy load, you may need to retry.
To find alternative image generation agents if the default is unavailable:
python3 skills/agentverse-image-gen/scripts/generate_image.py --search
The returned image_url is a temporary Azure Blob Storage link. It expires after ~24 hours. Download or embed the image promptly if you need to keep it.
Example 3 ā Deploy a Custom Agentā
Scenario: You want to write a simple echo agent that repeats back any message it receives, and deploy it live on Agentverse.
Step 1: Write the agent codeā
Create a file called echo_agent.py. Note: hosted agents on Agentverse must not call Agent() or agent.run() ā the platform pre-creates the agent object for you.
# echo_agent.py ā Hosted agent code for Agentverse
from datetime import datetime
from uuid import uuid4
from uagents import Context, Protocol
from uagents_core.contrib.protocols.chat import (
ChatMessage,
ChatAcknowledgement,
TextContent,
chat_protocol_spec,
)
protocol = Protocol(spec=chat_protocol_spec)
@protocol.on_message(ChatMessage)
async def handle_message(ctx: Context, sender: str, msg: ChatMessage):
# Acknowledge receipt immediately
await ctx.send(
sender,
ChatAcknowledgement(
timestamp=datetime.now(),
acknowledged_msg_id=msg.msg_id,
),
)
# Extract the incoming text
incoming_text = ""
for item in msg.content:
if hasattr(item, "text"):
incoming_text += item.text
# Echo it back
reply = f"š Echo: {incoming_text}"
ctx.logger.info(f"Echoing back to {sender[:20]}...")
await ctx.send(
sender,
ChatMessage(
timestamp=datetime.now(),
msg_id=uuid4(),
content=[TextContent(type="text", text=reply)],
),
)
@protocol.on_message(ChatAcknowledgement)
async def handle_ack(ctx: Context, sender: str, msg: ChatAcknowledgement):
ctx.logger.info("ACK received")
agent.include(protocol, publish_manifest=True)
- No
Agent()instantiation ā the platform provides theagentobject. - No
.run()call ā the platform manages the agent lifecycle. - Use
ctx.logger.info()for output ā there is no stdout/stderr. - Avoid f-strings containing list comprehensions ā the Agentverse parser may reject them.
Step 2: Deploy to Agentverseā
python3 skills/agentverse-deploy/scripts/deploy_agent.py \
--name "my-echo-agent" --file echo_agent.py --start
Sample output:
{
"status": "success",
"agent_name": "my-echo-agent",
"address": "agent1q0vk9a3jhg7e5x9zrq4d5awncyfr0h8xp3t0s47n4mm2kw8yv37gc7uaj6",
"action": "created_and_started",
"message": "Agent deployed and running on Agentverse."
}
Step 3: Test itā
python3 skills/agentverse-chat/scripts/agentverse_chat.py \
--target agent1q0vk9a3jhg7e5x9zrq4d5awncyfr0h8xp3t0s47n4mm2kw8yv37gc7uaj6 \
--message "Hello, echo agent!" --wait 30 --cleanup
{
"status": "success",
"response": {
"type": "text",
"text": "š Echo: Hello, echo agent!"
},
"round_trip_seconds": 4.1
}
Step 4: Manage itā
# View logs
python3 skills/agentverse-manage/scripts/manage_agents.py logs \
--agent agent1q0vk9a3jhg7e5x9zrq4d5awncyfr0h8xp3t0s47n4mm2kw8yv37gc7uaj6
# Stop when done
python3 skills/agentverse-manage/scripts/manage_agents.py stop \
--agent agent1q0vk9a3jhg7e5x9zrq4d5awncyfr0h8xp3t0s47n4mm2kw8yv37gc7uaj6
Example 4 ā Multi-Agent Workflowā
Scenario: Chain multiple skills together into a pipeline: search for agents ā inspect the best one ā chat with it ā summarize the response with ASI:One.
The full pipeline scriptā
#!/usr/bin/env bash
# multi_agent_pipeline.sh ā Search ā Inspect ā Chat ā Summarize
# Usage: bash multi_agent_pipeline.sh "weather forecast"
set -o pipefail
QUERY="${1:-weather forecast}"
SKILLS_DIR="skills"
echo "=== Step 1: Searching for agents matching '$QUERY' ==="
SEARCH_RESULT=$(python3 "$SKILLS_DIR/agentverse-search/scripts/search_agents.py" \
--query "$QUERY" --limit 3)
# Extract the top agent address
AGENT_ADDR=$(echo "$SEARCH_RESULT" | jq -r '.agents[0].address')
AGENT_NAME=$(echo "$SEARCH_RESULT" | jq -r '.agents[0].name')
echo "ā
Top result: $AGENT_NAME"
echo " Address: $AGENT_ADDR"
echo ""
echo "=== Step 2: Inspecting agent capabilities ==="
INSPECT_RESULT=$(python3 "$SKILLS_DIR/agentverse-inspect/scripts/inspect_agent.py" \
--agent "$AGENT_ADDR")
PROTOCOLS=$(echo "$INSPECT_RESULT" | jq -r '.protocols | join(", ")')
echo "ā
Protocols: $PROTOCOLS"
echo ""
echo "=== Step 3: Chatting with the agent ==="
CHAT_RESULT=$(python3 "$SKILLS_DIR/agentverse-chat/scripts/agentverse_chat.py" \
--target "$AGENT_ADDR" \
--message "Give me a detailed forecast for London, UK" \
--wait 45)
AGENT_RESPONSE=$(echo "$CHAT_RESULT" | jq -r '.response.text')
echo "ā
Agent replied (${#AGENT_RESPONSE} chars)"
echo ""
echo "=== Step 4: Summarizing with ASI:One ==="
SUMMARY=$(python3 "$SKILLS_DIR/asi1-chat/scripts/asi1_chat.py" \
--prompt "Summarize this agent response in 2-3 bullet points: $AGENT_RESPONSE" \
--model asi1)
echo "$SUMMARY" | jq -r '.response'
echo ""
echo "=== Pipeline complete ==="
Running itā
bash multi_agent_pipeline.sh "weather forecast"
Sample outputā
=== Step 1: Searching for agents matching 'weather forecast' ===
ā
Top result: Weather Agent
Address: agent1qfvydlgcxrvga2kqjxhj3hpngegtysm2c7uk48ywdue0kgvtc2f5cwhyffv
=== Step 2: Inspecting agent capabilities ===
ā
Protocols: proto:30a801ed3a83f9a0ff0a9f1e6fe958cb91da1fc2218b153df7b6cbf87bd33d62
=== Step 3: Chatting with the agent ===
ā
Agent replied (487 chars)
=== Step 4: Summarizing with ASI:One ===
⢠London is expecting partly cloudy skies with temperatures between 11°Cā16°C over the next 3 days.
⢠Light rain is likely on Thursday afternoon; bring an umbrella.
⢠Winds from the SW at 15ā20 km/h, humidity around 72%.
=== Pipeline complete ===
All agentverse-skills scripts output structured JSON to stdout by default (errors and progress go to stderr). This makes them easy to pipe through jq or into other scripts.
Prompt Templates for AI Agentsā
If you're using an AI coding agent (Cursor, Cline, Copilot, FetchCoder, OpenClaw, etc.), you can point it at the AGENTS.md file and give it a task. Here are ready-to-use prompts:
š Agent Discoveryā
Read https://github.com/fetchai/agentverse-skills/blob/main/AGENTS.md
and then search the Agentverse for agents related to "DeFi yield farming".
Return the top 5 results with their names, addresses, and descriptions.
š¬ Agent Conversationā
Read https://github.com/fetchai/agentverse-skills/blob/main/AGENTS.md
and then chat with the Weather Agent at address
agent1qfvydlgcxrvga2kqjxhj3hpngegtysm2c7uk48ywdue0kgvtc2f5cwhyffv.
Ask it for the weather in Tokyo and show me the full response.
š Agent Deploymentā
Read https://github.com/fetchai/agentverse-skills/blob/main/AGENTS.md
and then write and deploy a hosted agent to Agentverse that responds with
a random inspirational quote whenever it receives a chat message.
Use the deploy skill to push it live.
š¼ļø Image Generationā
Read https://github.com/fetchai/agentverse-skills/blob/main/AGENTS.md
and then use the image generation skill to create an image of
"a serene Japanese garden at sunset with cherry blossoms".
Save the resulting image URL.
š Agent Inspectionā
Read https://github.com/fetchai/agentverse-skills/blob/main/AGENTS.md
and then inspect the agent at address
agent1qdnt5j8wr7cyzupu759w79scp3t645gqyzujqv7v7y3hkevkpnv7s0jzgfa.
Tell me what protocols it supports, when it was last seen on the Almanac,
and what its capabilities are.
š Multi-Step Workflowā
Read https://github.com/fetchai/agentverse-skills/blob/main/AGENTS.md
and then run a full pipeline: search for "translation" agents, inspect the
top result, chat with it to translate "The future of AI is decentralized"
into French and Japanese, then use ASI:One to compare both translations
and pick the more poetic one.
The AGENTS.md file in the repo root is specifically designed for AI agents ā it contains every skill's purpose, exact CLI flags, expected output shapes, and known edge cases in a structured format that LLMs can parse reliably. Pointing your AI agent at this file first ensures it picks the right skill and uses the correct flags.