22 skills · 72 min
Skills
Skill 15 of 22
INVOKE THIS SKILL when writing ANY LangGraph code. Covers StateGraph, state schemas, nodes, edges, Command, Send, invoke, streaming, and error handling.
3 minutes · 658 words · 10 sections
Install
npx skills add langchain-ai/langchain-skills --skill langgraph-fundamentalsnpx skills add langchain-ai/langchain-skills/plugin marketplace add langchain-ai/langchain-skillsThe first command installs just this skill, by the name in its SKILL.md; the second installs the whole repository.
Graphs must be compile()d before execution.
Follow these 5 steps when building a new graph:
| Use LangGraph When | Use Alternatives When |
|---|---|
| Need fine-grained control over agent orchestration | Quick prototyping → LangChain agents |
| Building complex workflows with branching/loops | Simple stateless workflows → LangChain direct |
| Require human-in-the-loop, persistence | Batteries-included features → Deep Agents |
| Need | Solution | Example |
|---|---|---|
| Overwrite value | No reducer (default) | Simple fields like counters |
| Append to list | Reducer (operator.add / concat) | Message history, logs |
| Custom logic | Custom reducer function | Complex merging |
Node functions return partial state updates. Signatures for configuration and runtime access differ by language; use the applicable implementation reference.
| Need | Edge Type | When to Use |
|---|---|---|
| Always go to same node | add_edge() | Fixed, deterministic flow |
| Route based on state | add_conditional_edges() | Dynamic branching |
| Update state AND route | Command | Combine logic in single node |
| Fan-out to multiple nodes | Send | Parallel processing with dynamic inputs |
Command combines state updates and routing in a single return value. Fields:
update: State updates to apply (like returning a dict from a node)goto: Node name(s) to navigate to nextresume: Value to resume after interrupt() — see human-in-the-loop skillPython: Use Command[Literal["node_a", "node_b"]] as the return type annotation to declare valid goto destinations.
TypeScript: Pass { ends: ["node_a", "node_b"] } as the third argument to addNode to declare valid goto destinations.
Warning: Command only adds dynamic edges — static edges defined with add_edge / addEdge still execute. If node_a returns Command(goto="node_c") and you also have graph.add_edge("node_a", "node_b"), both node_b and node_c will run.
Fan-out with Send: return [Send("worker", {...})] from a conditional edge to spawn parallel workers. Requires a reducer on the results field.
Call graph.invoke(input, config) to run a graph to completion and return the final state.
| Mode | What it Streams | Use Case |
|---|---|---|
values | Full state after each step | Monitor complete state |
updates | State deltas | Track incremental updates |
messages | LLM tokens + metadata | Chat UIs |
custom | User-defined data | Progress indicators |
Match the error type to the right handler:
| Error Type | Who Fixes | Strategy | Example |
|---|---|---|---|
| Transient (network, rate limits) | System | RetryPolicy(max_attempts=3) | add_node(..., retry_policy=...) |
| LLM-recoverable (tool failures) | LLM | ToolNode(tools, handle_tool_errors=True) | Error returned as ToolMessage |
| User-fixable (missing info) | Human | interrupt({"message": ...}) | Collect missing data (see HITL skill) |
| Unexpected | Developer | Let bubble up | raise |
START is entry-only.Command with goto, because both routes execute.If writing, modifying, or debugging LangGraph code, determine the project’s language from its existing files, then read the applicable reference before implementing:
Read both only when the task covers both languages. For conceptual questions that require no code, do not load either reference.
main, last pushed 23 September 2026.SKILL.md, not by matching a directory convention. One layout observed: config/skills/*/SKILL.md.h1 and no skipped levels:.claude-plugin/marketplace.json by LangChain, declaring 1 plugin. It is read for editorial metadata only — never as the skill index, which is always the repository tree./langchain-ai/langchain-skills.md.md2 files · 18 KB
Everything this skill ships beside its prose. All of it is set here, as subchapters of skill 15.
Documentation the agent loads on demand, rather than up front.