Agent skill

Langgraph State Management

by soba-labs in soba-labs/langchain-agent-skills

Design state schemas, implement reducers, configure persistence, and debug state issues for LangGraph applications.

MITAuto-check passedAI & LLM Engineering

Install Langgraph State Management

skills CLI
$ npx skills add soba-labs/langchain-agent-skills --skill langgraph-state-management -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install soba-labs/langchain-agent-skills langgraph-state-management --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/soba-labs/langchain-agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/langgraph-state-management .claude/skills/langgraph-state-management && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
langgraph-state-management
GitHub stars
107
Token cost
~3.4k tokens
SKILL.md length
688 words
Files
14 (incl. scripts, references, assets)
Skills in repo
9
Repo updated
First seen
Licence
MIT

At a glance

Design state schemas, implement reducers, configure persistence, and debug state issues for LangGraph applications.

  • Works in 5 steps: Identify data requirements — What data… → Choose a schema pattern — Match the use… → Define reducers — Decide how concurrent… → …
  • Define state schemas for LangGraph graphs
  • SKILL.md covers State Design Workflow, Quick Start, Schema Patterns and Reducers, plus 4 more sections
  • Runs Python scripts from its folder; calls uv

What it does

Langgraph State Management is an agent skill from soba-labs/langchain-agent-skills. Design state schemas, implement reducers, configure persistence, and debug state issues for LangGraph applications. Use when users want to (1) design or define state schemas for LangGraph graphs, (2) implement reducer functions for state accumulation, (3) configure persistence with checkpointers (InMemorySaver/MemorySaver, SqliteSaver, PostgresSaver), (4) debug state update issues or unexpected state behavior, (5) migrate state schemas between versions, (6) validate state schema structure, (7) choose between…

Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 16 other files, including scripts, reference files and assets (for example `assets/chat_state.py`, `assets/research_state.py` and `assets/tool_calling_state.py`).

It sits in AI & LLM Engineering, covering State management and Building AI agents. It works with LangGraph, Python and TypeScript. The repository describes itself as: A collection of agent-optimized LangChain, LangGraph and LangSmith skills for AI coding assistants. The licence is MIT.

When your agent uses it

  • Define state schemas for LangGraph graphs
  • Implement reducer functions for state accumulation
  • Configure persistence with checkpointers (InMemorySaver/MemorySaver
  • Debug state update issues

Example prompts

  • “/langgraph-state-management”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Identify data requirements — What data flows through the graph?
  2. Choose a schema pattern — Match the use case to a template
  3. Define reducers — Decide how concurrent updates merge
  4. Configure persistence — Select and set up a checkpointer
  5. Validate and test — Run schema validation and reducer tests

What it can do on your machine

Read from SKILL.md and the folder at commit a2d4a10. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 4 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • uv

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Langgraph State Management loads about 3.4k tokens when it runs, and up to ~25k if it reads all its reference files. Until then it costs about 198 tokens; SKILL.md has 688 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~198
When it runs · the whole SKILL.md, loaded when a task matches
~3.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~25k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from soba-labs/langchain-agent-skills at commit a2d4a10, republished under its MIT licence (© soba-labs). 688 words, ~3,359 tokens.

Download SKILL.mdSave it as .claude/skills/langgraph-state-management/SKILL.md (or your agent's skills folder). This skill also uses 13 other files; get the full folder from GitHub.
name
langgraph-state-management
description
Design state schemas, implement reducers, configure persistence, and debug state issues for LangGraph applications. Use when users want to (1) design or define state schemas for LangGraph graphs, (2) implement reducer functions for state accumulation, (3) configure persistence with checkpointers (InMemorySaver/MemorySaver, SqliteSaver, PostgresSaver), (4) debug state update issues or unexpected state behavior, (5) migrate state schemas between versions, (6) validate state schema structure, (7) choose between TypedDict and MessagesState patterns, (8) implement custom reducers for lists, dicts, or sets, (9) use the Overwrite type to bypass reducers, (10) set up thread-based persistence for multi-turn conversations, or (11) inspect checkpoints for debugging.

LangGraph State Management

State Design Workflow

Follow this workflow when designing or modifying state for a LangGraph application:

  1. Identify data requirements — What data flows through the graph?
  2. Choose a schema pattern — Match the use case to a template
  3. Define reducers — Decide how concurrent updates merge
  4. Configure persistence — Select and set up a checkpointer
  5. Validate and test — Run schema validation and reducer tests

Quick Start

Python — Minimal Chat State
python
from langgraph.graph import StateGraph, START, END, MessagesState
from langchain_core.messages import AIMessage

class State(MessagesState):
    pass

def chat_node(state: State):
    return {"messages": [AIMessage(content="Hello!")]}

graph = StateGraph(State).add_node("chat", chat_node)
graph.add_edge(START, "chat").add_edge("chat", END)
app = graph.compile()
Python — Subclass MessagesState

For convenience, subclass the built-in MessagesState (includes messages with add_messages reducer):

python
from langgraph.graph import MessagesState

class State(MessagesState):
    documents: list[str]
    query: str
TypeScript — StateSchema with Zod
typescript
import { StateGraph, StateSchema, MessagesValue, ReducedValue, START, END } from "@langchain/langgraph";
import { AIMessage } from "@langchain/core/messages";
import { z } from "zod/v4";

const State = new StateSchema({
  messages: MessagesValue,
  documents: z.array(z.string()).default(() => []),
  count: new ReducedValue(
    z.number().default(0),
    { reducer: (current, update) => current + update }
  ),
});

const graph = new StateGraph(State)
  .addNode("chat", (state) => ({ messages: [new AIMessage("Hello!")] }))
  .addEdge(START, "chat")
  .addEdge("chat", END)
  .compile();

Schema Patterns

Choose the pattern matching the application type. See references/schema-patterns.md for complete examples with both Python and TypeScript.

PatternUse CaseKey Fields
ChatConversational agentsBuilt-in messages from MessagesState
ResearchInformation gatheringquery, search_results, summary
WorkflowTask orchestrationtask, status (Literal), steps_completed
Tool-CallingAgents with toolsmessages, tool_calls_made, should_continue
RAGRetrieval-augmented generationquery, retrieved_docs, response

Template files are available in assets/ for each pattern:

  • assets/chat_state.py — Chat application
  • assets/research_state.py — Research agent
  • assets/workflow_state.py — Workflow orchestration
  • assets/tool_calling_state.py — Tool-calling agent

For RAG state patterns, use reference examples in references/schema-patterns.md.

Reducers

Reducers control how state updates merge when nodes write to the same field.

Key Concepts
  • No reducer → value is overwritten (last-write-wins)
  • With reducer → values are merged using the reducer function
  • A reducer takes (existing_value, new_value) and returns the merged result
Python: Annotated Type with Reducer
python
from typing import Annotated
import operator
from langgraph.graph import MessagesState

class State(MessagesState):
    # Overwrite (no reducer)
    query: str

    # Sum integers
    count: Annotated[int, operator.add]

    # Custom reducer
    results: Annotated[list[str], lambda left, right: left + right]
TypeScript: ReducedValue and MessagesValue
typescript
const State = new StateSchema({
  query: z.string(),                    // Last-write-wins
  messages: MessagesValue,              // Built-in message reducer
  count: new ReducedValue(              // Custom reducer
    z.number().default(0),
    { reducer: (current, update) => current + update }
  ),
});
Built-in Reducers
ReducerImportBehavior
add_messageslanggraph.graph.messageAppend, update by ID, delete
operator.addoperatorNumeric addition or list concatenation
MessagesValue@langchain/langgraphJS equivalent of add_messages
Bypass Reducers with Overwrite

Replace accumulated state instead of merging:

python
from langgraph.types import Overwrite

def reset_messages(state: State):
    return {"messages": Overwrite(["fresh start"])}
Delete Messages
python
from langchain_core.messages import RemoveMessage
from langgraph.graph.message import REMOVE_ALL_MESSAGES

# Delete specific message
{"messages": [RemoveMessage(id="msg_123")]}

# Delete all messages
{"messages": [RemoveMessage(id=REMOVE_ALL_MESSAGES)]}

For advanced reducer patterns (deduplication, deep merge, conditional update, size-limited accumulators), see references/reducers.md.

Persistence

Persistence enables multi-turn conversations, human-in-the-loop, time travel, and crash recovery.

Choosing a Backend
BackendPackageUse Case
InMemorySaverlanggraph-checkpoint (included)Development, testing
SqliteSaverlanggraph-checkpoint-sqliteLocal workflows, single-instance
PostgresSaverlanggraph-checkpoint-postgresProduction, multi-instance
CosmosDBSaverlanggraph-checkpoint-cosmosdbAzure production

Agent Server note: When using LangGraph Agent Server, checkpointers are configured automatically — no manual setup needed.

Python Setup
python
# Development
from langgraph.checkpoint.memory import InMemorySaver
graph = builder.compile(checkpointer=InMemorySaver())

# Production (PostgreSQL)
from langgraph.checkpoint.postgres import PostgresSaver

DB_URI = "postgresql://user:pass@host:5432/db"
with PostgresSaver.from_conn_string(DB_URI) as checkpointer:
    # checkpointer.setup()  # Run once for initial schema
    graph = builder.compile(checkpointer=checkpointer)

    result = graph.invoke(
        {"messages": [{"role": "user", "content": "Hi"}]},
        {"configurable": {"thread_id": "session-1"}}
    )
TypeScript Setup
typescript
// Development
import { MemorySaver } from "@langchain/langgraph";
const graph = builder.compile({ checkpointer: new MemorySaver() });

// Production (PostgreSQL)
import { PostgresSaver } from "@langchain/langgraph-checkpoint-postgres";
const checkpointer = PostgresSaver.fromConnString(DB_URI);
// await checkpointer.setup();  // Run once
const graph = builder.compile({ checkpointer });
Thread Management

Every invocation requires a thread_id to identify the conversation:

python
config = {"configurable": {"thread_id": "user-123-session-1"}}
result = graph.invoke({"messages": [...]}, config)
Subgraph Persistence

Provide the checkpointer only on the parent graph — LangGraph propagates it to subgraphs automatically:

python
parent_graph = parent_builder.compile(checkpointer=checkpointer)
# Subgraphs inherit the checkpointer

To give a subgraph its own separate memory:

python
subgraph = sub_builder.compile(checkpointer=True)

For backend-specific configuration, migration between backends, and TTL settings, see references/persistence-backends.md.

State Typing

python
from typing import TypedDict, Annotated, Literal

class AgentState(TypedDict):
    messages: Annotated[list[BaseMessage], add_messages]
    next: Literal["agent1", "agent2", "FINISH"]
    context: dict

Note: create_agent state schemas support TypedDict for custom agent state. Prefer TypedDict for agent state extensions.

TypeScript: StateSchema with Zod
typescript
import { StateSchema, MessagesValue, ReducedValue, UntrackedValue } from "@langchain/langgraph";
import { z } from "zod/v4";

const AgentState = new StateSchema({
  messages: MessagesValue,
  currentStep: z.string(),
  retryCount: z.number().default(0),

  // Custom reducer
  allSteps: new ReducedValue(
    z.array(z.string()).default(() => []),
    { inputSchema: z.string(), reducer: (current, newStep) => [...current, newStep] }
  ),

  // Transient state (not checkpointed)
  tempCache: new UntrackedValue(z.record(z.string(), z.unknown())),
});

// Extract types for use outside the graph builder
type State = typeof AgentState.State;
type Update = typeof AgentState.Update;

For Pydantic validation, advanced type patterns, and migration from untyped state, see references/state-typing.md.

Show full SKILL.md (270 more words)Show less

Validation and Debugging

Validate State Schema

Run the validation script to check schema structure:

bash
uv run scripts/validate_state_schema.py my_agent/state.py:MyState --verbose

Checks for: schema parsing issues, empty schemas, reducer annotation problems, message fields without reducers, routing fields without Literal types, and unsupported/unclear schema class patterns.

Test Reducers

Test reducer functions for correctness and edge cases:

bash
uv run scripts/test_reducers.py my_agent/reducers.py:extend_list --verbose

Tests: basic merge, empty inputs, None handling, type consistency, nested structures, large inputs.

Inspect Checkpoints

Debug state evolution by inspecting saved checkpoints:

bash
# List recent checkpoints
uv run scripts/inspect_checkpoints.py ./checkpoints.db

# Inspect specific checkpoint
uv run scripts/inspect_checkpoints.py ./checkpoints.db --checkpoint-id abc123 --thread-id thread-1

# View full history for a thread
uv run scripts/inspect_checkpoints.py ./checkpoints.db --thread-id thread-1 --history

inspect_checkpoints.py accepts either a direct SQLite DB path or a directory containing checkpoints.db.

Migrate Persisted State

When state shape changes require updating persisted checkpoint values:

bash
# Dry run first
uv run scripts/migrate_state.py ./checkpoints.db migrations/add_field.py --dry-run

# Apply migration
uv run scripts/migrate_state.py ./checkpoints.db migrations/add_field.py

Migration script format:

python
def migrate(old_state: dict) -> dict:
    new_state = old_state.copy()
    new_state["new_field"] = "default_value"    # Add field
    new_state.pop("deprecated_field", None)      # Remove field
    return new_state
Common State Issues
SymptomLikely CauseFix
State not updatingMissing reducerAdd Annotated[type, reducer]
Messages overwrittenNo add_messages reducerUse MessagesState (or Annotated[list[BaseMessage], add_messages])
Duplicate entriesReducer appends without dedupUse dedup reducer from references/reducers.md
State grows unboundedNo cleanupUse RemoveMessage or trim strategy
Agent state schema rejectedNon-TypedDict state_schema in create_agentUse a TypedDict agent state schema
Parallel update conflictMultiple Overwrite on same keyOnly one node per super-step can use Overwrite

For detailed debugging techniques, LangSmith tracing, and checkpoint inspection patterns, see references/state-debugging.md.

Resources

Scripts
ScriptPurpose
scripts/validate_state_schema.pyValidate schema structure and typing
scripts/test_reducers.pyTest reducer functions
scripts/inspect_checkpoints.pyInspect checkpoint data
scripts/migrate_state.pyMigrate checkpoint state values
References
FileContent
references/schema-patterns.mdSchema examples for chat, research, workflow, RAG, tool-calling
references/reducers.mdReducer patterns, Overwrite, custom reducers, testing
references/persistence-backends.mdBackend setup, thread management, migration
references/state-typing.mdTypedDict, Pydantic, Zod, validation strategies
references/state-debugging.mdDebugging techniques, LangSmith tracing, common issues
State Templates
FilePattern
assets/chat_state.pyChat with MessagesState
assets/research_state.pyResearch with custom reducers
assets/workflow_state.pyWorkflow with Literal status
assets/tool_calling_state.pyTool-calling agent with MessagesState

© soba-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 13 other files (scripts, references, assets) in skills/langgraph-state-management of soba-labs/langchain-agent-skills.

  • SKILL.md
  • assets/chat_state.py
  • assets/research_state.py
  • assets/tool_calling_state.py
  • assets/workflow_state.py
  • references/persistence-backends.md
  • references/reducers.md
  • references/schema-patterns.md
  • references/state-debugging.md
  • references/state-typing.md
  • scripts/inspect_checkpoints.py
  • scripts/migrate_state.py
  • scripts/test_reducers.py
  • scripts/validate_state_schema.py

Open the folder on GitHubat commit a2d4a10

Compare with similar skills

Langgraph State Management next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Langgraph State Management compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Langgraph State Management this skillsoba-labs/langchain-agent-skills107—~3.4kAutomated safety check: PassMIT
Add Example AgentGetBindu/Bindu10k—~1.1kAutomated safety check: NotesCustom licence
Failproof AI SDK IntegrationFailproofAI/failproofai5.3k—~6kAutomated safety check: PassCustom licence
Langgraph Human In The Looplangchain-ai/langchain-skills1.3k1 repos~4.1kAutomated safety check: PassMIT
Langgraph Persistencelangchain-ai/langchain-skills1.3k1 repos~4.6kAutomated safety check: PassMIT
Tool Designagentailor/fullstack-langgraph-nextjs-agent132—~3.2kAutomated safety check: PassMIT

Similar skills

  • Add Example Agent

    GetBindu/Bindu

    Add a new self-contained example agent under examples/. An agent skill from GetBindu/Bindu.

    10k GitHub stars~1.1k tokensUpdated 1 mo ago
    AI & LLM EngineeringAuto-check: notes
  • Failproof AI SDK Integration

    FailproofAI/failproofai

    Helps instrument a custom Python or TypeScript agent to record events for Failproof AI, verify what gets written, and run an evaluator worker that scores the runs.

    5.3k GitHub stars~6k tokensUpdated 2 days ago
    AI & LLM EngineeringAuto-check passed
  • Langgraph Human In The Loop

    langchain-ai/langchain-skills

    Official

    INVOKE THIS SKILL when implementing human-in-the-loop patterns, pausing for approval, or handling errors in LangGraph.

    1.3k GitHub starsUsed in 1 repo~4.1k tokens
    AI & LLM EngineeringAuto-check passed
  • Langgraph Persistence

    langchain-ai/langchain-skills

    Official

    INVOKE THIS SKILL when your LangGraph needs to persist state, remember conversations, travel through history, or configure subgraph checkpointer scoping.

    1.3k GitHub starsUsed in 1 repo~4.6k tokens
    AI & LLM EngineeringAuto-check passed
  • Tool Design

    agentailor/fullstack-langgraph-nextjs-agent

    Design and verify tools that AI agents can actually use — for any framework or language (MCP servers, LangChain/LangGraph, function-calling, raw JSON schema; TypeScript, Python, or otherwise).

    132 GitHub stars~3.2k tokensUpdated 1 mo ago
    AI & LLM EngineeringAuto-check passed
  • Uipath Functions

    UiPath/skills

    UiPath Coded Functions — deterministic Python or TypeScript/JavaScript units built with the uip function CLI (new -l py|ts|js, init, serve, run, pack, publish); the functions map in uipath.json…

    168 GitHub stars~3.6k tokensUpdated today
    AI & LLM EngineeringAuto-check: notes

More from soba-labs/langchain-agent-skills

All 9 skills in this repo
  • Deepagents Planning Todos

    soba-labs/langchain-agent-skills

    Use the writetodos tool effectively for task planning and decomposition in Deep Agents.

    107 GitHub stars~2.3k tokensUpdated 1 mo ago
    Auto-check passed
  • Deepagents Setup Configuration

    soba-labs/langchain-agent-skills

    Initialize, validate, and troubleshoot Deep Agents projects in Python or JavaScript using the deepagents package.

    107 GitHub stars~1.9k tokensUpdated 1 mo ago
    Auto-check passed
  • Langgraph Agent Patterns

    soba-labs/langchain-agent-skills

    Implement multi-agent coordination patterns (supervisor-subagent, router, orchestrator-worker, handoffs) for LangGraph applications.

    107 GitHub stars~3.6k tokensUpdated 1 mo ago
    Auto-check passed
  • Langgraph Error Handling

    soba-labs/langchain-agent-skills

    Implement LangGraph error handling with current v1 patterns.

    107 GitHub stars~1.5k tokensUpdated 1 mo ago
    Auto-check passed
  • Langgraph Project Setup

    soba-labs/langchain-agent-skills

    Initialize and configure LangGraph projects with proper structure, langgraph.json configuration, environment variables, and dependency management.

    107 GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check: notes
  • Langgraph Testing Evaluation

    soba-labs/langchain-agent-skills

    A skill your agent uses when you need to test or evaluate LangGraph/LangChain agents: writing unit or integration tests, generating test scaffolds, mocking LLM/tool behavior, running trajectory…

    107 GitHub stars~2.3k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Langgraph State Management

What does Langgraph State Management do?

Design state schemas, implement reducers, configure persistence, and debug state issues for LangGraph applications. Langgraph State Management is an agent skill from soba-labs/langchain-agent-skills. Design state schemas, implement reducers, configure persistence, and debug state issues for LangGraph applications.

When should I use Langgraph State Management?

Langgraph State Management fits situations like: define state schemas for LangGraph graphs; implement reducer functions for state accumulation; configure persistence with checkpointers (InMemorySaver/MemorySaver; debug state update issues.

How do I install Langgraph State Management in Claude Code?

Run `npx skills add soba-labs/langchain-agent-skills --skill langgraph-state-management -a claude-code`. Or copy the skill folder (skills/langgraph-state-management in soba-labs/langchain-agent-skills) into .claude/skills/langgraph-state-management in your project. Claude Code loads it when a task matches its description.

How do I install Langgraph State Management in Codex?

Run `npx skills add soba-labs/langchain-agent-skills --skill langgraph-state-management -a codex`. Or copy the skill folder (skills/langgraph-state-management in soba-labs/langchain-agent-skills) into .agents/skills/langgraph-state-management in your project. Codex loads it when a task matches its description.

Can I use Langgraph State Management in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add soba-labs/langchain-agent-skills --skill langgraph-state-management -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/langgraph-state-management, .gemini/skills/langgraph-state-management, .github/skills/langgraph-state-management and .opencode/skills/langgraph-state-management in your project.

What does Langgraph State Management need to run?

Going by SKILL.md and its folder, Langgraph State Management needs Python for the scripts in its folder and the command-line tools its instructions call (uv). Our summary lists: Python 3.

Does Langgraph State Management access the network?

SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Langgraph State Management safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Langgraph State Management use?

Langgraph State Management is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Langgraph State Management use?

About 3.4k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 21k tokens, read only when the agent opens those files.

What are the alternatives to Langgraph State Management?

Skills that share tags, products or a category with Langgraph State Management: Add Example Agent (GetBindu/Bindu, 10k stars), Failproof AI SDK Integration (FailproofAI/failproofai, 5.3k stars), Langgraph Human In The Loop (langchain-ai/langchain-skills, 1.3k stars) and Langgraph Persistence (langchain-ai/langchain-skills, 1.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Langgraph State Management?

soba-labs (a GitHub organization) maintains it in soba-labs/langchain-agent-skills, which has 107 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on August 17, 2026.

Source: soba-labs/langchain-agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.