AI agent development with LangChain, CrewAI, AutoGen, and tool integration patterns.
View on GitHubpluginagentmarketplace/custom-plugin-ai-engineer
ai-engineer-plugin
January 20, 2026
Select agents to install to:
npx add-skill https://github.com/pluginagentmarketplace/custom-plugin-ai-engineer/blob/main/skills/agent-frameworks/SKILL.md -a claude-code --skill agent-frameworksInstallation paths:
.claude/skills/agent-frameworks/# Agent Frameworks
Build autonomous AI agents with tools, planning, and multi-agent collaboration.
## Quick Start
### LangChain Agent
```python
from langchain.agents import create_react_agent, AgentExecutor
from langchain.tools import Tool
from langchain_openai import ChatOpenAI
from langchain import hub
# Define tools
def search(query: str) -> str:
return f"Search results for: {query}"
def calculate(expression: str) -> str:
return str(eval(expression))
tools = [
Tool(name="Search", func=search, description="Search the web"),
Tool(name="Calculator", func=calculate, description="Do math")
]
# Create agent
llm = ChatOpenAI(model="gpt-4", temperature=0)
prompt = hub.pull("hwchase17/react")
agent = create_react_agent(llm, tools, prompt)
# Execute
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
result = executor.invoke({"input": "What is 2+2 and who invented calculus?"})
```
### OpenAI Function Calling
```python
from openai import OpenAI
import json
client = OpenAI()
# Define tools
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get current weather in a location",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string", "description": "City name"},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}
},
"required": ["location"]
}
}
}
]
# Chat with tool use
response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "What's the weather in Paris?"}],
tools=tools,
tool_choice="auto"
)
# Handle tool calls
if response.choices[0].message.tool_calls:
tool_call = response.choices[0].message.tool_calls[0]
args = json.loads(tool_call.function.arguments)
# Execute the tool and continue conversation
```
## Framework Comparis