Phase03/.claude/skills/openai-agents/SKILL.md
Build AI agents with OpenAI Agents SDK, tool registration, conversation history, and stateless execution. Use when creating AI agents, registering tools, or handling conversations.
npx skillsauth add jawad-chaudhary/hackathone-2-todo-spec-driven-development openai-agentsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
from openai import OpenAI
from openai.agents import Agent, Runner
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
agent = Agent(
name="TaskAssistant",
instructions="""You are a helpful task management assistant.
Use the provided tools to help users manage their todo list.
Always confirm actions with friendly responses.
If a user's request is ambiguous, ask for clarification.""",
model="gpt-4o",
tools=[] # MCP tools registered here
)
tools = [
{
"type": "function",
"function": {
"name": "add_task",
"description": "Create a new task",
"parameters": {
"type": "object",
"properties": {
"user_id": {"type": "string"},
"title": {"type": "string"},
"description": {"type": "string"}
},
"required": ["user_id", "title"]
}
}
}
]
agent.tools = tools
async def run_agent(messages: list[dict]) -> tuple[str, list[str]]:
"""Run agent with conversation history."""
runner = Runner(agent=agent)
result = await runner.run(messages=messages)
# Extract response
response = result.messages[-1].content[0].text.value
# Extract tool calls
tool_calls = [
call.function.name
for msg in result.messages
if hasattr(msg, 'tool_calls')
for call in msg.tool_calls
]
return response, tool_calls
messages = [
{"role": "user", "content": "Add a task"},
{"role": "assistant", "content": "I've added the task"},
{"role": "user", "content": "Show my tasks"}
]
development
Async testing with pytest, pytest-asyncio, httpx, fixtures, coverage reports, and test-first development. Use when writing tests, test fixtures, or measuring coverage.
development
Integrate OpenAI ChatKit in Next.js 15 App Router with domain allowlist, authentication, and API connections. Use when building chat interfaces or ChatKit integration.
tools
Create MCP server tools with Official Python MCP SDK for AI agents. Use when building MCP tools, registering tool schemas, or creating AI-accessible functions.
data-ai
SQLModel async database operations with Neon PostgreSQL, migrations, user isolation, and proper indexing. Use when defining models, queries, or database operations.