Agent skill

Langchain Langgraph Checkpointing

by jeremylongshore in jeremylongshore/tons-of-skills-marketplace

Persist LangGraph agent state correctly with MemorySaver and PostgresSaver — threadid discipline, JSON-serializable state rules, time-travel, schema migration.

MITAuto-check passedAI & LLM Engineering

Install Langchain Langgraph Checkpointing

skills CLI
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill langchain-langgraph-checkpointing -a claude-code

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

GitHub CLI
$ gh skill install jeremylongshore/tons-of-skills-marketplace langchain-langgraph-checkpointing --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/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/.curated/langchain-langgraph-checkpointing .claude/skills/langchain-langgraph-checkpointing && 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
langchain-langgraph-checkpointing
GitHub stars
2.8k
Token cost
~3.9k tokens
SKILL.md length
1,092 words
Files
6 (incl. references)
Skills in repo
3,342
Repo updated
First seen
Licence
MIT

At a glance

Persist LangGraph agent state correctly with MemorySaver and PostgresSaver — threadid discipline, JSON-serializable state rules, time-travel, schema migration.

  • Works in 6 steps: Pick a checkpointer by environment → Require thread_id at every invocation → Keep state JSON-serializable (TypedDict,… → …
  • Adding chat memory
  • SKILL.md covers Overview, Prerequisites, Instructions and Output, plus 3 more sections
  • Calls pip

What it does

Langchain Langgraph Checkpointing is an agent skill from jeremylongshore/tons-of-skills-marketplace. Persist LangGraph agent state correctly with MemorySaver and PostgresSaver — threadid discipline, JSON-serializable state rules, time-travel, schema migration. Use when adding chat memory, migrating from ConversationBufferMemory, or time-traveling an agent state to debug an incident. Trigger with "langgraph checkpointer", "MemorySaver", "PostgresSaver", "threadid", "langgraph time travel", "langgraph state persistence".

Its SKILL.md is about 3.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `references/checkpointer-comparison.md`, `references/json-serializability-rules.md` and `references/one-pager.md`). Compatibility notes: Designed for Claude Code

It sits in AI & LLM Engineering, covering Building AI agents. It works with LangGraph, LangChain and PostgreSQL. The repository describes itself as: Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com. The licence is MIT.

When your agent uses it

  • Adding chat memory
  • Migrating from ConversationBufferMemory
  • Time-traveling an agent state to debug an incident
  • With langgraph checkpointer

Example prompts

  • “langgraph checkpointer”
  • “MemorySaver”
  • “PostgresSaver”
  • “/langchain-langgraph-checkpointing”

Requirements

  • Python 3
  • Compatibility (from SKILL.md): Designed for Claude Code
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Bash(python:*), Bash(psql:*)

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Pick a checkpointer by environment
  2. Require thread_id at every invocation
  3. Keep state JSON-serializable (TypedDict, primitives only)
  4. Compile the graph with a checkpointer (Postgres, sync)
  5. Run setup() on startup AND after every langgraph upgrade
  6. Time-travel for incident debugging

What it can do on your machine

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

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Bash(python:*)
    • Bash(psql:*)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pip

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

  • Network

    Links to these hosts (documentation or services it may open):

    • langchain-ai.github.io
    • blog.langchain.com

    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.

  • Compatibility

    Designed for Claude Code

    From compatibility in the SKILL.md frontmatter.

Context cost

Langchain Langgraph Checkpointing loads about 3.9k tokens when it runs, and up to ~12k if it reads all its reference files. Until then it costs about 115 tokens; SKILL.md has 1,092 words of instructions outside code blocks.

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

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from jeremylongshore/tons-of-skills-marketplace at commit cfae287, republished under its MIT licence (© jeremylongshore). 1,092 words, ~3,879 tokens.

Download SKILL.mdSave it as .claude/skills/langchain-langgraph-checkpointing/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
langchain-langgraph-checkpointing
description
Persist LangGraph agent state correctly with MemorySaver and PostgresSaver — thread_id discipline, JSON-serializable state rules, time-travel, schema migration. Use when adding chat memory, migrating from ConversationBufferMemory, or time-traveling an agent state to debug an incident. Trigger with "langgraph checkpointer", "MemorySaver", "PostgresSaver", "thread_id", "langgraph time travel", "langgraph state persistence".
allowed-tools
Read, Write, Edit, Bash(python:*), Bash(psql:*)
compatibility
Designed for Claude Code
version
2.7.0
license
MIT
author
Jeremy Longshore <jeremy@intentsolutions.io>
tags
saas, langchain, langgraph, python, langchain-1.0, checkpointing, persistence, memory

LangGraph Checkpointing (Python)

Overview

A chat agent that "keeps introducing itself" is almost always P16. The caller invokes graph.invoke(state) without passing config={"configurable": {"thread_id": ...}} — LangGraph's checkpointer silently spawns a fresh state per call. No error, no warning, no log line. The user sees it; the code does not.

That is one of five separate checkpointing pitfalls this skill covers:

  • P16 — missing thread_id silently resets memory
  • P17 — interrupt_before raises TypeError when state holds non-JSON values (datetime, Decimal, custom classes) — and it raises at the interrupt boundary, not when the bad value was first assigned, so the traceback points at the wrong line
  • P20 — PostgresSaver does not auto-migrate checkpoint schema; upgrading langgraph silently reads old checkpoints as empty state
  • P40 — ConversationBufferMemory and the rest of legacy chat memory were removed in LangChain 1.0; checkpointers are the replacement
  • P51 — Deep Agent virtual-FS state in state["files"] grows unboundedly and eventually makes checkpoint writes a latency hotspot

This skill walks through picking a checkpointer by environment, enforcing thread_id at the application boundary, constraining state to JSON-safe primitives, Postgres setup + migration, and time-travel for incident debugging. Pinned to langgraph >= 1.0, < 2.0, langgraph-checkpoint-postgres >= 1.0, < 2.0. Pain-catalog anchors: P16, P17, P18, P20, P22, P40, P51.

Prerequisites

  • Python 3.10+
  • pip install langgraph langchain-core (both >= 1.0, < 2.0)
  • For Postgres: pip install langgraph-checkpoint-postgres and a Postgres 13+ instance
  • For async Postgres: the same package plus asyncpg
  • A thread_id strategy — typically a UUID4 string per conversation; see thread-id-discipline.md

Instructions

Step 1 — Pick a checkpointer by environment
EnvCheckpointerImport
Dev, tests, notebooksMemorySaverlanggraph.checkpoint.memory
Single-host CLI / desktopSqliteSaverlanggraph.checkpoint.sqlite
Staging, prod (sync)PostgresSaverlanggraph.checkpoint.postgres
Staging, prod (async / FastAPI)AsyncPostgresSaverlanggraph.checkpoint.postgres.aio

MemorySaver is in-process only. State vanishes on restart. Every worker has its own (P22 analog for LangGraph). Use it anywhere state loss is acceptable; never in a multi-worker web backend.

PostgresSaver and its async sibling require setup() on every startup and after every langgraph upgrade (see Step 5). Checkpoint storage overhead is typically 1-10 KB per step of serialized state; plan your DB size accordingly — a 2,000-turn conversation with 3 KB average state fits in ~6 MB per thread.

See checkpointer-comparison.md for the full matrix including latency, concurrency, and the FastAPI lifespan pattern.

Step 2 — Require thread_id at every invocation

This is the fail-loud middleware that prevents P16:

python
from typing import Any

def require_thread_id(config: dict[str, Any]) -> dict[str, Any]:
    """Raise if thread_id is missing. Fails loud so P16 surfaces in tests,
    not in user-visible conversation logs."""
    configurable = (config or {}).get("configurable", {})
    thread_id = configurable.get("thread_id")
    if not thread_id:
        raise ValueError(
            "thread_id missing from config['configurable']. "
            "Every graph invocation must carry a thread_id."
        )
    if not isinstance(thread_id, str):
        raise TypeError(
            f"thread_id must be str (UUID), got {type(thread_id).__name__}"
        )
    return config

Call it at every application boundary:

python
import uuid

config = {"configurable": {"thread_id": str(uuid.uuid4())}}
require_thread_id(config)
result = graph.invoke(initial_state, config=config)

For web endpoints, extract to a FastAPI dependency (Header(...) with no default — forces 422 on missing). For multi-tenant apps, scope the thread id by composing tenant + user + conversation ids into a single colon-delimited string (example: "acme:alice:conv-1"). See thread-id-discipline.md for UUID generation, rotation, and the integration test that proves tenants do not share state.

Step 3 — Keep state JSON-serializable (TypedDict, primitives only)
python
from typing import Annotated, TypedDict
from langgraph.graph.message import add_messages
from langchain_core.messages import AnyMessage


class AgentState(TypedDict):
    # Messages are safe — LangGraph registers a custom serializer.
    messages: Annotated[list[AnyMessage], add_messages]

    # Primitives only below. NO datetime, NO Decimal, NO custom classes.
    user_id: str
    turn_count: int
    last_action_at: str           # ISO string, not datetime.datetime
    pending_approval: bool
    metadata: dict[str, str]      # dict keys must be str
    plan: list[dict[str, str]]    # list of primitive dicts

The rule: state fields must be JSON-safe primitives or recursive structures of them (str, int, float, bool, None, list, dict[str, ...]). json.dumps(state) must succeed. If it raises, the checkpointer raises — often at a HITL interrupt many steps later (P17), which is why the traceback never points at the line that introduced the bad value.

For non-primitive inputs, coerce at node output boundaries with a helper:

python
from datetime import datetime
from decimal import Decimal

def record_purchase(state: AgentState) -> dict:
    now = datetime.utcnow()
    price = Decimal("19.99")
    return {
        "last_action_at": now.isoformat(),
        "metadata": {**state["metadata"], "price": str(price)},
    }

Forbidden-types reference and the full to_state / from_state helper pair are in json-serializability-rules.md.

Step 4 — Compile the graph with a checkpointer (Postgres, sync)
python
from langgraph.checkpoint.postgres import PostgresSaver
from langgraph.graph import StateGraph
import os

DB_URI = os.environ["DATABASE_URL"]

def build_graph() -> StateGraph:
    builder = StateGraph(AgentState)
    builder.add_node("agent", agent_node)
    builder.add_node("human_approval", human_approval_node)
    builder.set_entry_point("agent")
    builder.add_edge("agent", "human_approval")
    builder.set_finish_point("human_approval")
    return builder

with PostgresSaver.from_conn_string(DB_URI) as checkpointer:
    checkpointer.setup()     # Idempotent. Creates checkpoint tables if missing.
    graph = build_graph().compile(
        checkpointer=checkpointer,
        interrupt_before=["human_approval"],
    )

    config = {"configurable": {"thread_id": "user-123"}}
    require_thread_id(config)
    result = graph.invoke({"messages": [HumanMessage("hi")]}, config=config)

For async, mirror the pattern with AsyncPostgresSaver.from_conn_string(...) inside a FastAPI @asynccontextmanager lifespan; every call site uses await graph.ainvoke(...).

Step 5 — Run setup() on startup AND after every langgraph upgrade

P20 is the quiet one: you pip install --upgrade langgraph, tests pass, CI goes green, you deploy. Existing threads come back empty. No DB error.

python
# Put this in your deploy script / migration runbook:
with PostgresSaver.from_conn_string(DB_URI) as checkpointer:
    checkpointer.setup()
    # Sanity check: read one known thread and assert it's not empty.
    snap = checkpointer.get({"configurable": {"thread_id": "canary-thread"}})
    assert snap is not None, "Canary thread lost after schema migration"

Run this in staging first, with a canary thread whose state you pre-populated from an older langgraph version. If the assertion holds, promote. If not, the migration path is: dump checkpoints, upgrade, restore via a migration script. Do not promote to production on a version bump without this check.

Show full SKILL.md (461 more words)Show less
Step 6 — Time-travel for incident debugging

Every checkpoint is keyed by (thread_id, checkpoint_id) and reachable via graph.get_state_history(config):

python
config = {"configurable": {"thread_id": bad_thread_id}}
history = list(graph.get_state_history(config))

for i, snap in enumerate(history):
    print(i, snap.metadata.get("step"), snap.next, list(snap.values.keys()))

# Resume from a specific prior checkpoint — None as input = "use this state":
past = history[3]                                    # history is newest-first
result = graph.invoke(None, config=past.config)       # past.config pins checkpoint_id

To fix state and replay:

python
graph.update_state(
    past.config,
    {"retry_count": 0, "error_reason": None},
    as_node="validator",
)
graph.invoke(None, config=past.config)

The original branch is preserved — update_state creates a new checkpoint alongside the old one. Useful for forensics and for A/B comparing an old vs new model on the exact same state.

See time-travel-and-replay.md for the full incident playbook, branching for A/B eval, and checkpoint pruning SQL.

Output

  • A checkpointer selected by environment, not copy-pasted from a tutorial
  • A require_thread_id middleware that fails loud on missing thread_id, and at least one integration test that asserts two tenants do not share state
  • An AgentState TypedDict constrained to JSON-safe primitives, plus a to_state helper at node output boundaries for datetime / Decimal / Pydantic / enums
  • PostgresSaver.setup() wired into startup and every deploy that bumps langgraph
  • An incident runbook that uses get_state_history + update_state to time-travel an agent state, with prior branches preserved

Error Handling

ErrorCauseFix
Agent forgets every turn, no error loggedMissing thread_id (P16)Add require_thread_id middleware at app boundary; FastAPI Header(...) with no default
TypeError: Object of type datetime is not JSON serializable at a HITL pauseNon-JSON value in state (P17)Coerce at node output: dt.isoformat(), str(decimal), model.model_dump(mode="json")
Upgrading langgraph returns empty state for existing threadsCheckpoint schema drift (P20)PostgresSaver.setup() after every upgrade; canary-thread assertion in staging before prod
ImportError: cannot import name 'ConversationBufferMemory'Legacy memory removed in 1.0 (P40)Migrate to MemorySaver/PostgresSaver + thread_id per conversation
Checkpoint writes take 500+ ms on Deep Agent runsUnbounded state["files"] growth (P51)Add cleanup node that prunes state["files"] older than N steps
Command(update={"messages": [x]}) erases prior messagesMissing reducer (P18)messages: Annotated[list[AnyMessage], add_messages]
Mixed graph.invoke with AsyncPostgresSaverSync call on async saverUse await graph.ainvoke(...) everywhere, or switch to sync PostgresSaver

Examples

Minimal chat agent with MemorySaver

Dev-mode multi-turn chat that survives within a single process. Good for local iteration and pytest fixtures; state vanishes on restart.

python
from langgraph.checkpoint.memory import MemorySaver
from langgraph.prebuilt import create_react_agent
from langchain_anthropic import ChatAnthropic

checkpointer = MemorySaver()
agent = create_react_agent(
    model=ChatAnthropic(model="claude-sonnet-4-6"),
    tools=[...],
    checkpointer=checkpointer,
)
config = {"configurable": {"thread_id": "dev-session-1"}}
agent.invoke({"messages": [HumanMessage("hi")]}, config=config)
agent.invoke({"messages": [HumanMessage("remember my name is alice")]}, config=config)
agent.invoke({"messages": [HumanMessage("what's my name?")]}, config=config)  # alice
Multi-tenant Postgres + FastAPI lifespan

Async production shape. One AsyncPostgresSaver pool, thread-id extracted from a required header, tenants isolated by a composite key.

See checkpointer-comparison.md for the complete FastAPI lifespan pattern and pool sizing advice (max_size needs to exceed concurrent graph count, and the LangGraph pool should be separate from the application's primary DB pool).

Migrating from ConversationBufferMemory (P40)

Legacy 0.x pattern replaced end-to-end:

python
# OLD — raises ImportError on 1.0:
# from langchain.memory import ConversationBufferMemory
# memory = ConversationBufferMemory()
# chain = LLMChain(llm=llm, memory=memory)

# NEW:
from langgraph.prebuilt import create_react_agent
from langgraph.checkpoint.postgres import PostgresSaver

with PostgresSaver.from_conn_string(DB_URI) as cp:
    cp.setup()
    agent = create_react_agent(model=llm, tools=tools, checkpointer=cp)
    config = {"configurable": {"thread_id": user_session_id}}
    agent.invoke({"messages": [HumanMessage(user_input)]}, config=config)

The thread_id is now the "session key" that ConversationBufferMemory used to carry implicitly.

Incident time-travel

Production returned a wrong answer for thread_id=bad-thread at 14:03. Walk history newest-first, inspect the prior state, patch and replay:

python
config = {"configurable": {"thread_id": "bad-thread"}}
history = list(graph.get_state_history(config))
for i, snap in enumerate(history):
    print(i, snap.metadata.get("step"), snap.next)
# Assume step 7 wrote the bad output; step 6 is the input.
prior = history[-7]  # or index by metadata["step"]
print("input to bad node:", prior.values)
graph.update_state(prior.config, {"retry_count": 0}, as_node="validator")
graph.invoke(None, config=prior.config)  # new branch with correct result

Full playbook (finding thread_id in logs, inspecting writes metadata, pruning history) in time-travel-and-replay.md.

Resources

© jeremylongshore, 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 5 other files (references) in skills/.curated/langchain-langgraph-checkpointing of jeremylongshore/tons-of-skills-marketplace.

  • SKILL.md
  • references/checkpointer-comparison.md
  • references/json-serializability-rules.md
  • references/one-pager.md
  • references/thread-id-discipline.md
  • references/time-travel-and-replay.md

Open the folder on GitHubat commit cfae287

Compare with similar skills

Langchain Langgraph Checkpointing 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.

Langchain Langgraph Checkpointing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Langchain Langgraph Checkpointing this skilljeremylongshore/tons-of-skills-marketplace2.8k—~3.9kAutomated safety check: PassMIT
Agent Prompt Engineeringagentailor/fullstack-langgraph-nextjs-agent132—~3.6kAutomated safety check: PassMIT
Code Reviewlangchain-ai/langchain-azure147—~2.3kAutomated safety check: PassMIT
Agent Eval Casesagentailor/fullstack-langgraph-nextjs-agent132—~5.3kAutomated safety check: PassMIT
Mem0 Platform SDKmem0ai/mem067k1 repos~2.2kAutomated safety check: PassApache-2.0
LangSmith Trace DebuggingComposioHQ/awesome-claude-skills77k8 repos~2.7kAutomated safety check: PassNone

Similar skills

  • Agent Prompt Engineering

    agentailor/fullstack-langgraph-nextjs-agent

    Comprehensive guide for designing, refining, and auditing system prompts for autonomous AI agents based on Anthropic's production practices.

    132 GitHub stars~3.6k tokensUpdated 1 mo ago
    AI & LLM EngineeringAuto-check passed
  • Code Review

    langchain-ai/langchain-azure

    Official

    Reviews changes in the langchain-azure monorepo using package-specific knowledge of langchain-azure-ai, langchain-azure-compute, langchain-azure-cosmosdb, langchain-azure-postgresql…

    147 GitHub stars~2.3k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Agent Eval Cases

    agentailor/fullstack-langgraph-nextjs-agent

    Decide which AI agent behaviors are worth an eval case, then write those cases — harness-, framework-, and language-agnostic.

    132 GitHub stars~5.3k tokensUpdated 1 mo ago
    AI & LLM EngineeringAuto-check passed
  • Adds persistent memory to AI apps with the Mem0 Python and TypeScript SDKs: store, search, update and delete user memories, with framework integrations.

    67k GitHub starsUsed in 1 repo~2.2k tokens
    AI & LLM EngineeringAuto-check passed
  • LangSmith Trace Debugging

    ComposioHQ/awesome-claude-skills

    Debugs LangChain and LangGraph agents by pulling recent execution traces with the langsmith-fetch CLI and reporting errors, tool calls, timings and token use.

    77k GitHub starsUsed in 8 repos~2.7k tokens
    AI & LLM EngineeringAuto-check passed
  • 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

More from jeremylongshore/tons-of-skills-marketplace

All 3,342 skills in this repo
  • Performing Security Code Review

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to conduct a security-focused code review using the security-agent plugin.

    2.8k GitHub starsUsed in 2 repos~1.3k tokens
    Auto-check: notes
  • Adapting Transfer Learning Models

    jeremylongshore/tons-of-skills-marketplace

    Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Agent Context Loader

    jeremylongshore/tons-of-skills-marketplace

    Execute proactive auto-loading: automatically detects and loads agents.md files.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Aggregating Performance Metrics

    jeremylongshore/tons-of-skills-marketplace

    Aggregate and centralize performance metrics from applications, systems, databases, caches, and services.

    2.8k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Analyzing Capacity Planning

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to analyze capacity requirements and plan for future growth.

    2.8k GitHub stars~947 tokensUpdated today
    Auto-check passed
  • Analyzing Database Indexes

    jeremylongshore/tons-of-skills-marketplace

    Process use when you need to work with database indexing. An agent skill from jeremylongshore/tons-of-skills-marketplace.

    2.8k GitHub stars~2k tokensUpdated today
    Auto-check passed

Questions about Langchain Langgraph Checkpointing

What does Langchain Langgraph Checkpointing do?

Persist LangGraph agent state correctly with MemorySaver and PostgresSaver — threadid discipline, JSON-serializable state rules, time-travel, schema migration. Langchain Langgraph Checkpointing is an agent skill from jeremylongshore/tons-of-skills-marketplace. Persist LangGraph agent state correctly with MemorySaver and PostgresSaver — threadid discipline, JSON-serializable state rules, time-travel, schema migration.

When should I use Langchain Langgraph Checkpointing?

Langchain Langgraph Checkpointing fits situations like: adding chat memory; migrating from ConversationBufferMemory; time-traveling an agent state to debug an incident; with langgraph checkpointer.

How do I install Langchain Langgraph Checkpointing in Claude Code?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill langchain-langgraph-checkpointing -a claude-code`. Or copy the skill folder (skills/.curated/langchain-langgraph-checkpointing in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/langchain-langgraph-checkpointing in your project. Claude Code loads it when a task matches its description.

How do I install Langchain Langgraph Checkpointing in Codex?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill langchain-langgraph-checkpointing -a codex`. Or copy the skill folder (skills/.curated/langchain-langgraph-checkpointing in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/langchain-langgraph-checkpointing in your project. Codex loads it when a task matches its description.

Can I use Langchain Langgraph Checkpointing 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 jeremylongshore/tons-of-skills-marketplace --skill langchain-langgraph-checkpointing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/langchain-langgraph-checkpointing, .gemini/skills/langchain-langgraph-checkpointing, .github/skills/langchain-langgraph-checkpointing and .opencode/skills/langchain-langgraph-checkpointing in your project.

What does Langchain Langgraph Checkpointing need to run?

Going by SKILL.md and its folder, Langchain Langgraph Checkpointing needs the command-line tools its instructions call (pip). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash(python:*), Bash(psql:*). Compatibility (from SKILL.md): Designed for Claude Code.

Does Langchain Langgraph Checkpointing access the network?

SKILL.md names 2 domains. As links in the text: langchain-ai.github.io and blog.langchain.com. This is read from the text; nothing was executed.

Is Langchain Langgraph Checkpointing 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. Review the folder before installing.

What licence does Langchain Langgraph Checkpointing use?

Langchain Langgraph Checkpointing is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Langchain Langgraph Checkpointing use?

About 3.9k tokens (SKILL.md is roughly 16k 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 7.8k tokens, read only when the agent opens those files.

What are the alternatives to Langchain Langgraph Checkpointing?

Skills that share tags, products or a category with Langchain Langgraph Checkpointing: Agent Prompt Engineering (agentailor/fullstack-langgraph-nextjs-agent, 132 stars), Code Review (langchain-ai/langchain-azure, 147 stars), Agent Eval Cases (agentailor/fullstack-langgraph-nextjs-agent, 132 stars) and Mem0 Platform SDK (mem0ai/mem0, 67k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Langchain Langgraph Checkpointing?

jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,827 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 10, 2026.

Source: jeremylongshore/tons-of-skills-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.