dbos-inc/dbos-demo-apps/modify-agent

Claude Code and agent skill by dbos-inc/dbos-demo-apps

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Modify agent code, add tools, or change configuration. Use when: (1) User says 'modify agent', 'add tool', 'change model', or 'edit agent.py', (2) Adding MCP servers to agent, (3) Changing agent instructions, (4) Understanding SDK patterns.

Install

npx vskill@latest install dbos-inc/dbos-demo-apps/modify-agent

SKILL.md

Modify the Agent

Main File

`agent_server/agent.py` - Agent logic, model selection, instructions, MCP servers

Key Files

FilePurpose
agent_server/agent.pyAgent logic, model, instructions, MCP servers
agent_server/start_server.pyFastAPI server + MLflow setup
agent_server/evaluate_agent.pyAgent evaluation with MLflow scorers
agent_server/utils.pyDatabricks auth helpers, stream processing
databricks.ymlBundle config & resource permissions

SDK Setup

python
import mlflow
from databricks_openai import AsyncDatabricksOpenAI
from agents import set_default_openai_api, set_default_openai_client, Agent
from agents.tracing import set_trace_processors
# Set up async client (recommended for agent servers)
set_default_openai_client(AsyncDatabricksOpenAI())
set_default_openai_api("chat_completions")
# Use MLflow for tracing (disables SDK's built-in tracing)
set_trace_processors([])
mlflow.openai.autolog()

Adding MCP Servers

python
from databricks_openai.agents import McpServer
# UC Functions
uc_server = McpServer(
url=f"{host}/api/2.0/mcp/functions/{catalog}/{schema}",
name="uc functions",
)
# Genie Space
genie_server = McpServer(
url=f"{host}/api/2.0/mcp/genie/{space_id}",
name="genie space",
)
# Vector Search
vector_server = McpServer(
url=f"{host}/api/2.0/mcp/vector-search/{catalog}/{schema}/{index}",
name="vector search",
)
# Add to agent
agent = Agent(
name="my agent",
instructions="You are a helpful agent.",
model="databricks-claude-3-7-sonnet",
mcp_servers=[uc_server, genie_server, vector_server],
)

After adding MCP servers: Grant permissions in databricks.yml (see add-tools skill)

Changing the Model

Available models (check workspace for current list):

  • databricks-claude-3-7-sonnet
  • databricks-claude-3-5-sonnet
  • databricks-meta-llama-3-3-70b-instruct
python
agent = Agent(
name="my agent",
model="databricks-claude-3-7-sonnet", # Change here
...
)

Note: Some workspaces require granting the app access to the serving endpoint in databricks.yml. See the add-tools skill and examples/serving-endpoint.yaml.

Changing Instructions

python
agent = Agent(
name="my agent",
instructions="""You are a helpful data analyst assistant.
You have access to:
- Company sales data via Genie
- Product documentation via vector search
Always cite your sources when answering questions.""",
...
)

Running the Agent

python
from agents import Runner
# Non-streaming
messages = [{"role": "user", "content": "hi"}]
result = await Runner.run(agent, messages)
# Streaming
result = Runner.run_streamed(agent, input=messages)
async for event in result.stream_events():
# Process stream events
pass

Converting to Responses API format: Use process_agent_stream_events() from agent_server/utils.py to convert streaming output to Responses API compatible format:

python
from agent_server.utils import process_agent_stream_events
result = Runner.run_streamed(agent, input=messages)
async for event in process_agent_stream_events(result.stream_events()):
yield event # Yields ResponsesAgentStreamEvent objects

External Resources

  1. databricks-openai SDK
  2. Agent examples
  3. Agent Framework docs
  4. Adding tools
  5. OpenAI Agents SDK
  6. Responses API

Next Steps

  • Discover available tools: see discover-tools skill
  • Grant resource permissions: see add-tools skill
  • Test locally: see run-locally skill
  • Deploy: see deploy skill

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
77
Repository forks
30
7-day trend score
22

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 20 Mar 2026, 7 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/dbos-inc/dbos-demo-apps/modify-agent/badge)](https://verified-skill.com/skills/dbos-inc/dbos-demo-apps/modify-agent)

Something wrong with this skill or its page? Tell us.