Langgraph
Curated collection of AI agent skills for Hermes and other agent frameworks
npx -y skills add magnus919/agent-skills --skill langgraphAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 25 days oldThe repository was created 25 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 21 stars21 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Build multi-agent AI systems with LangGraph — the low-level orchestration framework for stateful, graph-based agent workflows. Covers supervisor, swarm, and hierarchical multi-agent patterns; subgraph composition; state management (checkpointers/stores); persistence; evals; and production debugging. Reach for this when designing agent architectures that need cycles, conditional branching, parallel execution, or human-in-the-loop patterns.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
10.8 KB, as published. Nobody here has run it
LangGraph
LangGraph is LangChain's low-level orchestration framework for building stateful, long-running, multi-agent AI workflows using directed graph architectures (inspired by Pregel/Beam and NetworkX). It models agents as nodes in a graph, with edges controlling flow — enabling cycles, conditional branching, parallel execution, human-in-the-loop, and subgraph composition that linear chains cannot express.
This skill covers all major patterns for building and deploying LangGraph systems: core graph architecture, the three canonical multi-agent patterns (supervisor, swarm, hierarchical), persistence and state management, production debugging, and evaluation methodology.
Before you begin: Install dependencies:
pip install langgraph langchain langchain-openai langsmith
Quick Start
Create your first LangGraph agent in under 10 lines:
from langgraph.graph import StateGraph, MessagesState, START, END
def hello_agent(state: MessagesState):
return {"messages": [{"role": "ai", "content": "Hello, world!"}]}
graph = StateGraph(MessagesState)
graph.add_node("agent", hello_agent)
graph.add_edge(START, "agent")
graph.add_edge("agent", END)
graph = graph.compile()
graph.invoke({"messages": [{"role": "user", "content": "hi!"}]})
Next steps:
- Use the Pattern Selection Guide below to choose supervisor, swarm, or hierarchical architecture — each pattern links to its recommended template
- Load the corresponding reference file for the deep pattern walkthrough
- Use the Choosing Your Starting Point table below to pick scaffold, template, or reference based on your task
- For a complete runnable example matching your pattern, use the linked template in assets/templates/
Design Principles — These Govern Every Graph Decision
- State is the source of truth — all inter-node communication happens through state, not through side channels or global variables.
- Nodes are pure-ish — a node receives state, does work, returns updates. It should not depend on state that isn't passed to it.
- Reducers prevent conflicts — any state key written by multiple nodes in parallel MUST have a reducer.
- Start simple — a single agent with good prompts beats a multi-agent system with bad routing. Add agents only when a single prompt or toolset becomes unwieldy.
- Use
Send()for dynamic fan-out — when you don't know how many workers you'll need at compile time, spawn them dynamically from the orchestrator node.- Subgraph state isolation — subgraphs with different state schemas need a wrapper function to transform state at the boundary. Shared-schema subgraphs can be added directly as nodes.
When to Reach For This
| Context | What to load |
|---|---|
| Building a new LangGraph workflow from scratch | references/architecture.md — core concepts first |
| Designing a multi-agent routing system | references/multi-agent-supervisor.md or references/multi-agent-swarm.md — compare patterns |
| Composing nested agent teams | references/multi-agent-hierarchical.md — subgraph composition |
| Adding persistence, interrupts, or long-term memory | references/persistence.md — checkpointers and stores |
| Deploying to production or debugging failures | references/production.md — deployment, observability, failure modes |
| Setting up eval pipelines for routing accuracy | references/evals.md — evaluation methodology |
| Diagnosing a specific failure (loop, context loss, crash) | references/troubleshooting.md — known failure modes |
Pattern Selection Guide
| Your constraint | Prefer | Why |
|---|---|---|
| Routing accuracy > latency | Supervisor | Centralized routing node, focused prompt: ~94% accuracy |
| Latency is primary constraint | Swarm | Direct agent-to-agent handoffs, ~40% fewer LLM calls |
| Clear domain boundaries | Swarm | Agents rarely misroute, handoffs are crisp |
| Ambiguous domain boundaries | Supervisor | Overlapping concerns resolved by dedicated router |
| < 3 distinct domains | Skip multi-agent | A specialized single agent is simpler |
| Multi-domain requests common | Swarm | Latency savings compound across handoffs |
| Need centralized audit trail | Supervisor | Every routing decision visible in traces |
| Nested team structures | Hierarchical | Subgraphs as nodes, each team self-contained |
Choosing Your Starting Point
| Your goal | Start with | Why |
|---|---|---|
| Build a project from scratch, need generated code | scripts/lg-supervisor-scaffold.py or scripts/lg-swarm-scaffold.py | Scaffolds generate complete project structure (state.py, agents.py, graph.py) with placeholders to fill in |
| Understand a complete, working example | assets/templates/ matching your chosen pattern | Templates are self-contained runnable files with all patterns wired — best for learning by reading |
| Deep dive into a pattern's internals | Corresponding reference in references/ | References explain tradeoffs, failure modes, and design rationale — best for customization |
| Debug or optimize an existing system | references/production.md or references/troubleshooting.md | Production reference covers deployment + observability; troubleshooting reference covers symptom→fix tables |
Core Primitives
LangGraph uses two APIs:
| API | When to use | Pattern |
|---|---|---|
Graph API (StateGraph) | Full control over graph structure, conditional edges, subgraphs | add_node() + add_edge()/add_conditional_edges() |
Functional API (@task + @entrypoint) | Simpler linear workflows, less boilerplate | Decorator-based, Pythonic |
Both APIs produce the same compiled graph — choose based on how much control you need.
Key Gotchas
- Subgraph persistence defaults to per-invocation — each subgraph call starts fresh. Set
checkpointer=Truefor per-thread memory,checkpointer=Falsefor fully stateless. - Per-thread subgraphs cannot run in parallel — same-namespace checkpoint conflicts. Use
ToolCallLimitMiddlewareor disable parallel tool calls. - The supervisor bottleneck — every interaction requires a routing LLM call, even for obvious intents. Add a fast-path classifier (keyword matching or small model) for unambiguous requests.
- Swarm ping-pong — no natural recursion guard. Track
handoff_countin state and hard-limit at 3, then escalate to human or fallback agent. - Lost messages on handoff —
Command.updatemust include paired messages from the specialist's tool-calling loop, or the next agent sees malformed history. - State access from parent to subgraph — subgraphs manage their own checkpoint namespace. Use Store for cross-graph-boundary data.
- Checkpoint bloat — long conversations accumulate checkpoints. Prune periodically or set retention policies on DB-backed checkpointers.
- No auto-load-on-install — skills aren't auto-discovered at session start by name mention. The agent must explicitly call
skill_view(name='langgraph')to load this skill.
Reference Files
| File | Load when |
|---|---|
references/architecture.md | You need to understand LangGraph core concepts: graph structure, nodes, edges, state, the two APIs, and basic agent loop construction. Read this first if you're new to LangGraph. |
references/multi-agent-supervisor.md | You're designing a supervisor-based multi-agent system with a central routing node. Contains architecture, structured output routing, specialist wrappers, and full code examples. |
references/multi-agent-swarm.md | You're designing a swarm-based multi-agent system with direct agent-to-agent handoffs. Contains handoff tool patterns, Command-based routing, and comparative metrics vs supervisor. |
references/multi-agent-hierarchical.md | You're composing nested agent teams using subgraphs. Covers subgraph wiring (shared vs different state schemas), persistence modes, namespace isolation, and hierarchical team structures. |
references/persistence.md | You're adding checkpointer-based short-term memory or store-based long-term memory. Covers per-invocation vs per-thread vs stateless modes, checkpoint backends, and cross-thread memory patterns. |
references/production.md | You're deploying a LangGraph system to production. Covers Agent Server deployment, LangSmith observability, streaming patterns, and common production failure modes with fixes. |
references/evals.md | You're setting up evaluation pipelines for multi-agent systems. Covers routing accuracy, resolution coverage, LangSmith eval datasets, and LLM-as-judge evaluators. |
references/troubleshooting.md | You're debugging a specific LangGraph failure. Covers routing loops, context loss, checkpointer conflicts, token waste, and state inspection techniques. |
assets/templates/supervisor-graph.py | Runnable supervisor example with billing, tech support, and account specialists — fast-path classifier, structured output routing, audit trail, and recursion guard. |
assets/templates/swarm-graph.py | Runnable swarm example with triage agent plus 3 specialists — direct agent-to-agent handoffs via Command, recursion guard, and full traceability. |
assets/templates/subgraph-agent.py | Runnable subgraph composition examples — all 3 wiring patterns (different state schemas, shared state keys, per-thread with namespace isolation). |
Scripts
| Script | What it does |
|---|---|
scripts/lg-supervisor-scaffold.py | Generates a complete supervisor pattern project with state schema, routing agent, specialist nodes, and graph assembly |
scripts/lg-swarm-scaffold.py | Generates a complete swarm pattern project with handoff tools, triage agent, specialist agents, and conditional routing |
scripts/lg-eval-generator.py | Generates evaluation datasets and runs LangSmith evaluators for routing accuracy and resolution coverage |