skills/langchain-ai/langchain-skills/LangChain Agent Starter Kit

LangChain Agent Starter Kit

SKILL.md

It answers two questions that every project must resolve upfront:

  1. Which framework should I use? — LangChain, LangGraph, or Deep Agents
  2. What do I need to install? — packages, versions, and environment setup

Load this skill first. Once you've made these decisions, invoke the framework-specific skill for implementation details.


Step 1 — Pick Your Framework

The three frameworks are layered, not competing. Each builds on the one below:

┌─────────────────────────────────────────┐
│              Deep Agents                │  ← batteries included
│   (planning, memory, skills, files)     │
├─────────────────────────────────────────┤
│               LangGraph                 │  ← custom orchestration
│    (nodes, edges, state, persistence)   │
├─────────────────────────────────────────┤
│               LangChain                 │  ← foundation
│      (models, tools, prompts, RAG)      │
└─────────────────────────────────────────┘

Answer these questions in order to land on the right choice:

Question Yes → No →
User wants to include or needs planning, persistent memory, complex task management, long running tasks, out-of-the-box file management, or on-demand skills? Or out of the box middleware? Deep Agents
Need custom control flow and higher degrees of dereminism — specified loops, branching, determined parallel workers, or manually instrumented human-in-the-loop? LangGraph
Single-purpose agent with a fixed set of tools? LangChain (create_agent)
ReACT style agent? LangChain (LCEL / chain)

Higher layers depend on lower ones only when necessary — which means you can mix them. A LangGraph graph can be a subagent inside Deep Agents; LangChain tools work inside both.

LangChain LangGraph Deep Agents
Control flow Fixed (tool loop) Custom (graph) Managed (middleware)
Middleware layer Callbacks only ✗ None ✓ Explicit, configurable
Planning Manual ✓ TodoListMiddleware
File management Manual ✓ FilesystemMiddleware
Persistent memory With checkpointer ✓ MemoryMiddleware
Subagent delegation Manual ✓ SubAgentMiddleware
On-demand skills ✓ SkillsMiddleware
Human-in-the-loop Manual interrupt ✓ HumanInTheLoopMiddleware
Custom graph edges ✓ Full control Limited
Setup complexity Low Medium Low
Next skill to load langchain-agents langgraph-fundamentals deep-agents-core

Middleware is a concept specific to LangChain (callbacks) and Deep Agents (explicit middleware layer). LangGraph has no middleware — behavior is wired directly into nodes and edges. If a user asks for built in hooks, route to LangChain or DeepAgents

Deep Agents built-in middleware

Deep Agents ships with a built-in middleware layer — six components pre-wired out of the box, with the ability to add your own. The first three are always active; the rest are opt-in via configuration:

Middleware Always on? What it gives the agent
TodoListMiddleware write_todos tool — breaks work into a tracked task list
FilesystemMiddleware ls, read_file, write_file, edit_file, glob, grep tools
SubAgentMiddleware task tool — delegates subtasks to named subagents
SkillsMiddleware Opt-in Loads SKILL.md files on demand from a configured skills directory
MemoryMiddleware Opt-in Long-term memory across sessions via a Store instance
HumanInTheLoopMiddleware Opt-in Pauses execution and requests human approval before specified tool calls

You configure middleware — you don't implement it. See deep-agents-core for setup details.


Step 2 — Set Up Your Dependencies

Environment requirements

Python TypeScript / Node
Runtime Python 3.10+ Node.js 20+
LangChain 1.0+ (LTS) 1.0+ (LTS)
LangSmith SDK >= 0.1.99 >= 0.1.99

Always use LangChain 1.0+. LangChain 0.3 is maintenance-only until December 2026 — do not start new projects on it.


Core packages — always required

Package Role Version
langchain Agents, chains, retrieval >=1.0,<2.0
langchain-core Base types & interfaces >=1.0,<2.0
langsmith Tracing, evaluation, datasets >=0.1.99
Package Role Version
@langchain/core Base types & interfaces (peer dep — install explicitly) ^1.0.0
langchain Agents, chains, retrieval ^1.0.0
langsmith Tracing, evaluation, datasets ^0.1.99

Orchestration — add based on your framework choice

Framework Python TypeScript
LangGraph langgraph>=1.0,<2.0 @langchain/langgraph ^1.0.0
Deep Agents deepagents (depends on LangGraph; installs it as a transitive dep) deepagents

Model providers — pick the one(s) you use

Provider Python TypeScript
OpenAI langchain-openai @langchain/openai
Anthropic langchain-anthropic @langchain/anthropic
Google Gemini langchain-google-genai @langchain/google-genai
Mistral langchain-mistralai @langchain/mistralai
Groq langchain-groq @langchain/groq
Cohere langchain-cohere @langchain/cohere
AWS Bedrock langchain-aws @langchain/aws
Azure AI langchain-azure-ai @langchain/azure-openai
Ollama (local) langchain-ollama @langchain/ollama
Hugging Face langchain-huggingface
Fireworks AI langchain-fireworks
Together AI langchain-together

Common tools & retrieval — add as needed

Package Adds Notes
langchain-tavily / @langchain/tavily Tavily web search Keep at latest; frequently updated for compatibility
langchain-text-splitters Text chunking Semver; keep current
langchain-chroma / @langchain/community Chroma vector store Dedicated integration package; keep at latest
langchain-pinecone / @langchain/pinecone Pinecone vector store Dedicated integration package; keep at latest
langchain-qdrant / @langchain/qdrant Qdrant vector store Dedicated integration package; keep at latest
faiss-cpu FAISS vector store (Python only, local) Via langchain-community
langchain-community / @langchain/community 1000+ integrations fallback Python: NOT semver — pin to minor series
langsmith[pytest] pytest plugin Requires langsmith>=0.3.4

Prefer dedicated integration packages over langchain-community when one exists — they are independently versioned and more stable. Keep tool packages (Tavily, vector stores) at latest since they release compatibility fixes alongside core updates.


Dependency templates

Add your model provider:

langchain-openai | langchain-anthropic | langchain-google-genai | ...

Add tools/retrieval as needed:

langchain-tavily | langchain-chroma | langchain-text-splitters | ...

</python>
</ex-langgraph-python>

<ex-langgraph-typescript>
<typescript>
LangGraph project — provider-agnostic starting point.
```json
{
  "dependencies": {
    "@langchain/core": "^1.0.0",
    "langchain": "^1.0.0",
    "@langchain/langgraph": "^1.0.0",
    "langsmith": "^0.1.99"
  }
}

Add your model provider:

langchain-openai | langchain-anthropic | langchain-google-genai | ...

</python>
</ex-deepagents-python>

<ex-deepagents-typescript>
<typescript>
Deep Agents project — provider-agnostic starting point.
```json
{
  "dependencies": {
    "deepagents": "latest",
    "@langchain/core": "^1.0.0",
    "langchain": "^1.0.0",
    "langsmith": "^0.1.99"
  }
}

Step 3 — Set Your Environment Variables

Model provider — set the one(s) you use

OPENAI_API_KEY= ANTHROPIC_API_KEY= GOOGLE_API_KEY= MISTRAL_API_KEY= GROQ_API_KEY= COHERE_API_KEY= FIREWORKS_API_KEY= TOGETHER_API_KEY= HUGGINGFACEHUB_API_TOKEN=

Common tool/retrieval services

TAVILY_API_KEY= PINECONE_API_KEY=

</environment-variables>

---

## Step 4 — Load the Right Skill Next To Dive Deeper
Weekly Installs
0
GitHub Stars
336
First Seen
Jan 1, 1970