mcpbeat

Langgraph

langchain-ai/langgraph

Build stateful, durable agent workflows with LangGraph. Use when you need custom graph-based control flow, human-in-the-loop, persistence, or multi-agent orchestration.

1k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
388
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/langchain-ai/docs --skill langgraph

What it tells the agent to use

found in the instruction text
Task spawns other agents

The instruction itself

12 sections, as written by the author

LangGraph

LangGraph is a low-level orchestration framework and runtime for building, managing, and deploying long-running, stateful agents. It provides durable execution, streaming, human-in-the-loop interactions, and time-travel debugging.

When to use

Use LangGraph when you need to:

  • Design custom agent workflows with explicit graph-based control flow
  • Add durable execution so agents survive failures and restarts
  • Implement human-in-the-loop with interrupts and approval steps
  • Build multi-agent systems with state shared across agents
  • Stream intermediate results from long-running agent tasks
  • Time-travel debug by replaying agent execution from any checkpoint

When NOT to use

  • For a simple tool-calling agent, use LangChain agents instead—less boilerplate for common patterns
  • For a batteries-included agent with planning and subagents, use Deep Agents instead
  • LangGraph is the orchestration layer—use it when you need fine-grained control over agent behavior

Install

# Python
pip install -U langgraph

# JavaScript/TypeScript
npm install @langchain/langgraph @langchain/core

Quick reference

from langgraph.graph import StateGraph, MessagesState, START, END

def my_node(state: MessagesState):
    return {"messages": [{"role": "ai", "content": "hello world"}]}

graph = StateGraph(MessagesState)
graph.add_node(my_node)
graph.add_edge(START, "my_node")
graph.add_edge("my_node", END)
graph = graph.compile()

result = graph.invoke(
    {"messages": [{"role": "user", "content": "Hello!"}]}
)

Functional API (for simple pipelines)

from langgraph.func import entrypoint, task

@task
def step_one(input: str) -> str:
    return f"processed: {input}"

@entrypoint()
def pipeline(input: str) -> str:
    return step_one(input).result()

Add human-in-the-loop

from langgraph.types import interrupt

def human_approval(state: MessagesState):
    answer = interrupt({"question": "Approve this action?"})
    return {"messages": [{"role": "user", "content": answer}]}

Key concepts

| Concept | Description |

|---------|-------------|

| StateGraph | Define nodes and edges that form your agent's control flow |

| MessagesState | Built-in state schema for chat-based agents |

| compile() | Compile a graph builder into an executable graph |

| interrupt() | Pause execution and wait for human input |

| Checkpointer | Persist state for durable execution and time-travel |

| Graph API vs Functional API | Graph API for complex workflows; Functional API for linear pipelines |

Key documentation

API reference

For SDK class and method details, use the LangChain API Reference site:

  • Browse: https://reference.langchain.com/python/langgraph
  • MCP server: https://reference.langchain.com/mcp
  • langchain—Core building blocks for models, tools, and simple agents
  • deep-agents—High-level agent harness built on LangGraph
  • langsmith—Trace, evaluate, and deploy your LangGraph agents

How to use it

Copy the folder

Take langchain-ai/langgraph from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference pip, npm. Without those the skill loads but fails at the first command.