LangChain Agents Workflow
This skill is the entry point — read it first, then load the more specific skill for the step you're on.
Version floors this bundle assumes
langchain >= 1.2 (v1 series — middleware-first create_agent)
langgraph >= 1.1, langgraph-cli >= 0.4
deepagents >= 0.5.3 (async sub-agents, structured sub-agent responses, filesystem permissions; model=None deprecated)
langsmith >= 0.7 (pytest plugin + new evaluator API)
langchain-anthropic >= 1.4, langchain-openai >= 1.0
If a project pins anything below these floors, suggest the bump before writing code — the API shapes in this bundle assume the v1+ surface.
You have two complementary tools
This skill bundle pairs with the mcpdoc MCP server. The two have distinct roles; use both.
|
mcpdoc (MCP server) |
This skill bundle |
| Purpose |
Live API reference |
Opinionated playbook |
| Content |
Whatever's on docs.langchain.com right now |
How to think about LangChain projects |
| When to use |
"What's the signature of SummarizationMiddleware?" / "What kwargs does create_agent take?" / "What import path for X?" |
"What's the production middleware stack?" / "How do I wire Cloud Run + Secret Manager + Postgres checkpointer together?" / "Which mistakes does an agent typically make here?" |
| How to use |
Call fetch_docs(url) or list_doc_sources() |
Load skills based on description triggers |
| Drift risk |
Zero — always live |
Owner updates as ecosystem evolves; some rot tolerated |
Rule of thumb: when you need an exact API detail, fetch from mcpdoc. When you need to make a design decision, load a skill. When in doubt, do both.
When to load which skill
| Goal |
Skill |
| Start a new agent project |
langchain-agents-scaffold |
| Build a modern agent (most cases) |
langchain-agents-middleware ← first; uses create_agent(...) with middleware |
| Add nodes/edges/tools to a custom LangGraph |
langchain-agents-langgraph-code |
| Customize a DeepAgent |
langchain-agents-deepagents-code |
| Build a non-agentic LCEL pipeline (chains, RAG) |
langchain-agents-langchain-code |
| Write or run evals; unit/integration test agents |
langchain-agents-langsmith-evals |
| Deploy + productionise |
langchain-agents-deploy |
| Debug / read traces / OTEL |
langchain-agents-observability |
Mental model
Three layers in the modern stack:
create_agent(model, tools, middleware=...) — the v1 default for building agents. Middleware is how you add retries, fallbacks, summarization, HITL, PII handling, call limits. Read the middleware skill for the production stack.
- Raw LangGraph (
StateGraph) — drop down when create_agent isn't enough (multi-graph workflows, custom state, parallel branches). Read langgraph-code.
- DeepAgents —
create_deep_agent(...) is create_agent(...) pre-loaded with FilesystemMiddleware + SubAgentMiddleware + TodoListMiddleware. Read deepagents-code.
For non-agentic flows (RAG, classification), use plain LCEL chains — middleware does not apply to chains.
Common commands by lifecycle stage
| Stage |
Command(s) |
| Scaffold a LangGraph project |
langgraph new my-agent --template react-agent |
| Scaffold a DeepAgent / chain |
No scaffolder — write a small agent.py (see scaffold skill) |
| Install deps |
pip install -e . or uv sync |
| Iterate on a graph |
langgraph dev |
| Run an agent ad hoc |
python -c "from agent.agent import agent; print(agent.invoke({'messages': [...] }))" |
| Run evals |
python evals/run.py |
| Unit-test agents (no API calls) |
pytest with LLMToolEmulator middleware |
| Deploy to LangSmith Cloud |
langgraph build -t my-agent && langgraph deploy |
| Deploy to Cloud Run |
gcloud run deploy my-agent --source . |
| Deploy as a Docker image |
docker build && docker run --env-file .env |
Hard rules
- Look up exact APIs via
mcpdoc, don't guess. If mcpdoc isn't configured, ask the user to set it up (see this repo's README) before you write LangChain code.
- Always check what's already installed before suggesting
pip install — pip show langchain langgraph deepagents langsmith.
- Never print
.env contents — refer to keys by name only.
- For ANY production agent, add the production middleware stack (call limits, retries, fallback, summarization). Copy-paste-ready in the middleware skill.
- Run smoke evals before any deploy. Not enforced — you must do it.
- Read the project structure first (
ls, tree -L 2) before assuming layout.
Required environment variables (most projects)
LANGSMITH_API_KEY — for tracing and evals.
LANGSMITH_TRACING=true — enables trace capture.
LANGSMITH_PROJECT — trace bucket name.
- One of
OPENAI_API_KEY, ANTHROPIC_API_KEY, etc.
If any are missing when needed, fail fast with a clear message that names the missing variable.
Source: cwijayasundara/agent_cli_langchain — distributed by TomeVault.
1---2name: langchain-agents-workflow3description: Use when starting work on any LangChain / LangGraph / DeepAgents project. Entry point for the develop -> middleware -> evaluate -> deploy lifecycle, mapping each step to the right official tool.4---56# LangChain Agents Workflow78This skill is the entry point — read it first, then load the more specific skill for the step you're on.910## Version floors this bundle assumes1112- `langchain >= 1.2` (v1 series — middleware-first `create_agent`)13- `langgraph >= 1.1`, `langgraph-cli >= 0.4`14- `deepagents >= 0.5.3` (async sub-agents, structured sub-agent responses, filesystem permissions; `model=None` deprecated)15- `langsmith >= 0.7` (pytest plugin + new evaluator API)16- `langchain-anthropic >= 1.4`, `langchain-openai >= 1.0`1718If a project pins anything below these floors, suggest the bump before writing code — the API shapes in this bundle assume the v1+ surface.1920## You have two complementary tools2122This skill bundle pairs with the **`mcpdoc` MCP server**. The two have distinct roles; use both.2324| | `mcpdoc` (MCP server) | This skill bundle |25|---|---|---|26| Purpose | Live API reference | Opinionated playbook |27| Content | Whatever's on `docs.langchain.com` right now | How to *think* about LangChain projects |28| When to use | "What's the signature of `SummarizationMiddleware`?" / "What kwargs does `create_agent` take?" / "What import path for X?" | "What's the production middleware stack?" / "How do I wire Cloud Run + Secret Manager + Postgres checkpointer together?" / "Which mistakes does an agent typically make here?" |29| How to use | Call `fetch_docs(url)` or `list_doc_sources()` | Load skills based on description triggers |30| Drift risk | Zero — always live | Owner updates as ecosystem evolves; some rot tolerated |3132**Rule of thumb:** when you need an exact API detail, fetch from `mcpdoc`. When you need to make a design decision, load a skill. When in doubt, do both.3334## When to load which skill3536| Goal | Skill |37|---|---|38| Start a new agent project | `langchain-agents-scaffold` |39| Build a modern agent (most cases) | `langchain-agents-middleware` ← first; uses `create_agent(...)` with middleware |40| Add nodes/edges/tools to a custom LangGraph | `langchain-agents-langgraph-code` |41| Customize a DeepAgent | `langchain-agents-deepagents-code` |42| Build a non-agentic LCEL pipeline (chains, RAG) | `langchain-agents-langchain-code` |43| Write or run evals; unit/integration test agents | `langchain-agents-langsmith-evals` |44| Deploy + productionise | `langchain-agents-deploy` |45| Debug / read traces / OTEL | `langchain-agents-observability` |4647## Mental model4849Three layers in the modern stack:50511. **`create_agent(model, tools, middleware=...)`** — the v1 default for building agents. Middleware is how you add retries, fallbacks, summarization, HITL, PII handling, call limits. Read the **middleware** skill for the production stack.522. **Raw LangGraph (`StateGraph`)** — drop down when `create_agent` isn't enough (multi-graph workflows, custom state, parallel branches). Read **langgraph-code**.533. **DeepAgents** — `create_deep_agent(...)` is `create_agent(...)` pre-loaded with `FilesystemMiddleware` + `SubAgentMiddleware` + `TodoListMiddleware`. Read **deepagents-code**.5455For non-agentic flows (RAG, classification), use plain LCEL chains — middleware does **not** apply to chains.5657## Common commands by lifecycle stage5859| Stage | Command(s) |60|---|---|61| Scaffold a LangGraph project | `langgraph new my-agent --template react-agent` |62| Scaffold a DeepAgent / chain | No scaffolder — write a small `agent.py` (see scaffold skill) |63| Install deps | `pip install -e .` or `uv sync` |64| Iterate on a graph | `langgraph dev` |65| Run an agent ad hoc | `python -c "from agent.agent import agent; print(agent.invoke({'messages': [...] }))"` |66| Run evals | `python evals/run.py` |67| Unit-test agents (no API calls) | `pytest` with `LLMToolEmulator` middleware |68| Deploy to LangSmith Cloud | `langgraph build -t my-agent && langgraph deploy` |69| Deploy to Cloud Run | `gcloud run deploy my-agent --source .` |70| Deploy as a Docker image | `docker build && docker run --env-file .env` |7172## Hard rules7374- **Look up exact APIs via `mcpdoc`, don't guess.** If `mcpdoc` isn't configured, ask the user to set it up (see this repo's README) before you write LangChain code.75- **Always check what's already installed before suggesting `pip install`** — `pip show langchain langgraph deepagents langsmith`.76- **Never print `.env` contents** — refer to keys by name only.77- **For ANY production agent, add the production middleware stack** (call limits, retries, fallback, summarization). Copy-paste-ready in the middleware skill.78- **Run smoke evals before any deploy.** Not enforced — you must do it.79- **Read the project structure first** (`ls`, `tree -L 2`) before assuming layout.8081## Required environment variables (most projects)8283- `LANGSMITH_API_KEY` — for tracing and evals.84- `LANGSMITH_TRACING=true` — enables trace capture.85- `LANGSMITH_PROJECT` — trace bucket name.86- One of `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, etc.8788If any are missing when needed, fail fast with a clear message that names the missing variable.8990---91> Source: [cwijayasundara/agent_cli_langchain](https://github.com/cwijayasundara/agent_cli_langchain) — distributed by [TomeVault](https://tomevault.io).92<!-- tomevault:4.0:skill_md:2026-05-23 -->