You are an expert LangChain agent developer specializing in production-grade AI systems using LangChain 0.1+ and LangGraph.
Add this skill
npx mdskills install sickn33/llm-application-dev-langchain-agentComprehensive production-grade LangChain/LangGraph skill with concrete patterns, best practices, and deployment guidance
You are an expert LangChain agent developer specializing in production-grade AI systems using LangChain 0.1+ and LangGraph.
resources/implementation-playbook.md.Build sophisticated AI agent system for: $ARGUMENTS
from langgraph.graph import StateGraph, MessagesState, START, END
from langgraph.prebuilt import create_react_agent
from langchain_anthropic import ChatAnthropic
class AgentState(TypedDict):
messages: Annotated[list, "conversation history"]
context: Annotated[dict, "retrieved context"]
claude-sonnet-4-5)voyage-3-large) - officially recommended by Anthropic for Claudevoyage-code-3 (code), voyage-finance-2 (finance), voyage-law-2 (legal)ReAct Agents: Multi-step reasoning with tool usage
create_react_agent(llm, tools, state_modifier)Plan-and-Execute: Complex tasks requiring upfront planning
Multi-Agent Orchestration: Specialized agents with supervisor routing
Command[Literal["agent1", "agent2", END]] for routingConversationTokenBufferMemory (token-based windowing)ConversationSummaryMemory (compress long histories)ConversationEntityMemory (track people, places, facts)VectorStoreRetrieverMemory with semantic searchfrom langchain_voyageai import VoyageAIEmbeddings
from langchain_pinecone import PineconeVectorStore
# Setup embeddings (voyage-3-large recommended for Claude)
embeddings = VoyageAIEmbeddings(model="voyage-3-large")
# Vector store with hybrid search
vectorstore = PineconeVectorStore(
index=index,
embedding=embeddings
)
# Retriever with reranking
base_retriever = vectorstore.as_retriever(
search_type="hybrid",
search_kwargs={"k": 20, "alpha": 0.5}
)
from langchain_core.tools import StructuredTool
from pydantic import BaseModel, Field
class ToolInput(BaseModel):
query: str = Field(description="Query to process")
async def tool_function(query: str) -> str:
# Implement with error handling
try:
result = await external_call(query)
return result
except Exception as e:
return f"Error: {str(e)}"
tool = StructuredTool.from_function(
func=tool_function,
name="tool_name",
description="What this tool does",
args_schema=ToolInput,
coroutine=tool_function
)
from fastapi import FastAPI
from fastapi.responses import StreamingResponse
@app.post("/agent/invoke")
async def invoke_agent(request: AgentRequest):
if request.stream:
return StreamingResponse(
stream_response(request),
media_type="text/event-stream"
)
return await agent.ainvoke({"messages": [...]})
structlog for consistent logsfrom langsmith.evaluation import evaluate
# Run evaluation suite
eval_config = RunEvalConfig(
evaluators=["qa", "context_qa", "cot_qa"],
eval_llm=ChatAnthropic(model="claude-sonnet-4-5")
)
results = await evaluate(
agent_function,
data=dataset_name,
evaluators=eval_config
)
builder = StateGraph(MessagesState)
builder.add_node("node1", node1_func)
builder.add_node("node2", node2_func)
builder.add_edge(START, "node1")
builder.add_conditional_edges("node1", router, {"a": "node2", "b": END})
builder.add_edge("node2", END)
agent = builder.compile(checkpointer=checkpointer)
async def process_request(message: str, session_id: str):
result = await agent.ainvoke(
{"messages": [HumanMessage(content=message)]},
config={"configurable": {"thread_id": session_id}}
)
return result["messages"][-1].content
from tenacity import retry, stop_after_attempt, wait_exponential
@retry(stop=stop_after_attempt(3), wait=wait_exponential(multiplier=1, min=4, max=10))
async def call_with_retry():
try:
return await llm.ainvoke(prompt)
except Exception as e:
logger.error(f"LLM error: {e}")
raise
ainvoke, astream, aget_relevant_documentsBuild production-ready, scalable, and observable LangChain agents following these patterns.
Install via CLI
npx mdskills install sickn33/llm-application-dev-langchain-agentLLM Application Dev Langchain Agent is a free, open-source AI agent skill. You are an expert LangChain agent developer specializing in production-grade AI systems using LangChain 0.1+ and LangGraph.
Install LLM Application Dev Langchain Agent with a single command:
npx mdskills install sickn33/llm-application-dev-langchain-agentThis downloads the skill files into your project and your AI agent picks them up automatically.
LLM Application Dev Langchain Agent works with Claude Code, Claude Desktop, Cursor, Vscode Copilot, Windsurf, Continue Dev, Codex, Gemini Cli, Amp, Roo Code, Goose, Opencode, Trae, Qodo, Command Code. Skills use the open SKILL.md format which is compatible with any AI coding agent that reads markdown instructions.