Official agent skill

Deep Agents Core

by langchain-ai in langchain-ai/langchain-skills

Explains how to build agents with the Deep Agents framework: create_deep_agent, the built-in middleware, the harness, SKILL.md format and configuration options.

OfficialMITAuto-check passedAI & LLM Engineering

Install Deep Agents Core

skills CLI
$ npx skills add langchain-ai/langchain-skills --skill deep-agents-core -a claude-code

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

GitHub CLI
$ gh skill install langchain-ai/langchain-skills deep-agents-core --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/langchain-ai/langchain-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/config/skills/deep-agents-core .claude/skills/deep-agents-core && 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
deep-agents-core
GitHub stars
1.3k
Token cost
~3.1k tokens
SKILL.md length
505 words
Files
1
Skills in repo
22
Repo updated
First seen
Licence
MIT

At a glance

Explains how to build agents with the Deep Agents framework: create_deep_agent, the built-in middleware, the harness, SKILL.md format and configuration options.

  • Works in 3 steps: Planning: write_todos - Track multi-step… → Filesystem: ls, read_file, write_file,… → Delegation: task - Spawn specialized…
  • Building an agent that must plan multi-step work and manage files
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Choosing between Deep Agents and a plain LangChain create_agent

What it does

Deep Agents is described as an opinionated agent framework on top of LangChain and LangGraph that ships with middleware: task planning through TodoListMiddleware, file-based context management with pluggable backends, delegation to specialized subagents, long-term memory across threads via a Store, human approval for sensitive operations, and on-demand skills. The harness supplies these, so you configure rather than implement them.

A comparison table helps choose between Deep Agents and LangChain's create_agent: Deep Agents for multi-step planning, large context needing file management, specialized subagents or persistent memory, and create_agent for simple single-purpose or single-session tasks. A middleware table maps each need to its middleware and notes, for example that HumanInTheLoopMiddleware requires a checkpointer and MemoryMiddleware requires a Store instance.

Examples in both Python and TypeScript show a basic agent with a custom tool and a full configuration with subagents, skills and persistence, using FilesystemBackend and MemorySaver. The excerpt is truncated, so further sections on the SKILL.md format are not covered here.

When your agent uses it

  • Building an agent that must plan multi-step work and manage files
  • Choosing between Deep Agents and a plain LangChain create_agent
  • Adding subagents, memory or human approval to a Deep Agents application

Example prompts

  • “Create a deep agent in Python with a custom search tool and a researcher subagent.”
  • “Add human approval for file writes to my Deep Agents project in TypeScript.”
  • “Should this support bot use create_agent or a deep agent? It handles short single-turn questions.”

Requirements

  • The deepagents package for Python or TypeScript

Workflow steps

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

  1. Planning: write_todos - Track multi-step tasks
  2. Filesystem: ls, read_file, write_file, edit_file, glob, grep
  3. Delegation: task - Spawn specialized subagents

What it can do on your machine

Read from SKILL.md and the folder at commit 16a992f. 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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python, typescript and markdown).

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

  • Network

    No URLs in SKILL.md.

    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

Deep Agents Core loads about 3.1k tokens when it runs. Until then it costs about 43 tokens; SKILL.md has 505 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~43
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k

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 langchain-ai/langchain-skills at commit 16a992f, republished under its MIT licence (© langchain-ai). 505 words, ~3,066 tokens.

Download SKILL.mdSave it as .claude/skills/deep-agents-core/SKILL.md (or your agent's skills folder).
name
deep-agents-core
description
INVOKE THIS SKILL when building ANY Deep Agents application. Covers create_deep_agent(), harness architecture, SKILL.md format, and configuration options.
<overview>
Deep Agents are an opinionated agent framework built on LangChain/LangGraph with built-in middleware:
  • Task Planning: TodoListMiddleware for breaking down complex tasks
  • Context Management: Filesystem tools with pluggable backends
  • Task Delegation: SubAgent middleware for spawning specialized agents
  • Long-term Memory: Persistent storage across threads via Store
  • Human-in-the-loop: Approval workflows for sensitive operations
  • Skills: On-demand loading of specialized capabilities

The agent harness provides these capabilities automatically - you configure, not implement. </overview>

<when-to-use>
Use Deep Agents WhenUse LangChain's create_agent When
Multi-step tasks requiring planningSimple, single-purpose tasks
Large context requiring file managementContext fits in a single prompt
Need for specialized subagentsSingle agent is sufficient
Persistent memory across sessionsEphemeral, single-session work
</when-to-use>
<middleware-selection>
If you need to...MiddlewareNotes
Track complex tasksTodoListMiddlewareDefault enabled
Manage file contextFilesystemMiddlewareConfigure backend
Delegate workSubAgentMiddlewareAdd custom subagents
Add human approvalHumanInTheLoopMiddlewareRequires checkpointer
Load skillsSkillsMiddlewareProvide skill directories
Access memoryMemoryMiddlewareRequires Store instance
</middleware-selection>
<ex-basic-agent>
<python>
Create a basic deep agent with a custom tool and invoke it with a user message.
python
from deepagents import create_deep_agent
from langchain.tools import tool

@tool
def get_weather(city: str) -> str:
    """Get the weather for a given city."""
    return f"It is always sunny in {city}"

agent = create_deep_agent(
    model="claude-sonnet-4-5-20250929",
    tools=[get_weather],
    system_prompt="You are a helpful assistant"
)

config = {"configurable": {"thread_id": "user-123"}}
result = agent.invoke({
    "messages": [{"role": "user", "content": "What's the weather in Tokyo?"}]
}, config=config)
</python>
<typescript>
Create a basic deep agent with a custom tool and invoke it with a user message.
typescript
import { createDeepAgent } from "deepagents";
import { tool } from "@langchain/core/tools";
import { z } from "zod";

const getWeather = tool(
  async ({ city }) => `It is always sunny in ${city}`,
  { name: "get_weather", description: "Get weather for a city", schema: z.object({ city: z.string() }) }
);

const agent = await createDeepAgent({
  model: "claude-sonnet-4-5-20250929",
  tools: [getWeather],
  systemPrompt: "You are a helpful assistant"
});

const config = { configurable: { thread_id: "user-123" } };
const result = await agent.invoke({
  messages: [{ role: "user", content: "What's the weather in Tokyo?" }]
}, config);
</typescript>
</ex-basic-agent>
<ex-full-configuration>
<python>
Configure a deep agent with all available options including subagents, skills, and persistence.
python
from deepagents import create_deep_agent
from deepagents.backends import FilesystemBackend
from langgraph.checkpoint.memory import MemorySaver
from langgraph.store.memory import InMemoryStore

agent = create_deep_agent(
    name="my-assistant",
    model="claude-sonnet-4-5-20250929",
    tools=[custom_tool1, custom_tool2],
    system_prompt="Custom instructions",
    subagents=[research_agent, code_agent],
    backend=FilesystemBackend(root_dir=".", virtual_mode=True),
    interrupt_on={"write_file": True},
    skills=["./skills/"],
    checkpointer=MemorySaver(),
    store=InMemoryStore()
)
</python>
<typescript>
Configure a deep agent with all available options including subagents, skills, and persistence.
typescript
import { createDeepAgent, FilesystemBackend } from "deepagents";
import { MemorySaver, InMemoryStore } from "@langchain/langgraph";

const agent = await createDeepAgent({
  name: "my-assistant",
  model: "claude-sonnet-4-5-20250929",
  tools: [customTool1, customTool2],
  systemPrompt: "Custom instructions",
  subagents: [researchAgent, codeAgent],
  backend: new FilesystemBackend({ rootDir: ".", virtualMode: true }),
  interruptOn: { write_file: true },
  skills: ["./skills/"],
  checkpointer: new MemorySaver(),
  store: new InMemoryStore()
});
</typescript>
</ex-full-configuration>
<built-in-tools>
Every deep agent has access to:
  1. Planning: write_todos - Track multi-step tasks
  2. Filesystem: ls, read_file, write_file, edit_file, glob, grep
  3. Delegation: task - Spawn specialized subagents
    </built-in-tools>

SKILL.md Format

<skill-md-format>
Skills use **progressive disclosure** - agents only load content when relevant.
Directory Structure
skills/
└── my-skill/
    ├── SKILL.md        # Required: main skill file
    ├── examples.py     # Optional: supporting files
    └── templates/      # Optional: templates
Show full SKILL.md (236 more words)Show less
SKILL.md Format
markdown
---
name: my-skill
description: Clear, specific description of what this skill does
---

# Skill Name

## Overview
Brief explanation of the skill's purpose.

## When to Use
Conditions when this skill applies.

## Instructions
Step-by-step guidance for the agent.
</skill-md-format>
<skills-vs-memory>
SkillsMemory (AGENTS.md)
On-demand loadingAlways loaded at startup
Task-specific instructionsGeneral preferences
Large documentationCompact context
SKILL.md in directoriesSingle AGENTS.md file
</skills-vs-memory>
<ex-skills-with-filesystem-backend>
<python>
Set up an agent with skills directory and filesystem backend for on-demand skill loading.
python
from deepagents import create_deep_agent
from deepagents.backends import FilesystemBackend
from langgraph.checkpoint.memory import MemorySaver

agent = create_deep_agent(
    backend=FilesystemBackend(root_dir=".", virtual_mode=True),
    skills=["./skills/"],
    checkpointer=MemorySaver()
)

result = agent.invoke({
    "messages": [{"role": "user", "content": "Use the python-testing skill"}]
}, config={"configurable": {"thread_id": "session-1"}})
</python>
<typescript>
Set up an agent with skills directory and filesystem backend for on-demand skill loading.
typescript
import { createDeepAgent, FilesystemBackend } from "deepagents";
import { MemorySaver } from "@langchain/langgraph";

const agent = await createDeepAgent({
  backend: new FilesystemBackend({ rootDir: ".", virtualMode: true }),
  skills: ["./skills/"],
  checkpointer: new MemorySaver()
});

const result = await agent.invoke({
  messages: [{ role: "user", content: "Use the python-testing skill" }]
}, { configurable: { thread_id: "session-1" } });
</typescript>
</ex-skills-with-filesystem-backend>
<ex-skills-with-store-backend>
<python>
Load skill content into a Store backend for environments without filesystem access.
python
from deepagents import create_deep_agent
from deepagents.backends import StoreBackend
from deepagents.backends.utils import create_file_data
from langgraph.store.memory import InMemoryStore

store = InMemoryStore()

# Load skill content into store
skill_content = """---
name: python-testing
description: Best practices for Python testing with pytest
---
# Python Testing Skill
..."""

store.put(
    namespace=("filesystem",),
    key="/skills/python-testing/SKILL.md",
    value=create_file_data(skill_content)
)

agent = create_deep_agent(
    backend=lambda rt: StoreBackend(rt),
    store=store,
    skills=["/skills/"]
)
</python>
</ex-skills-with-store-backend>
<boundaries>
What Agents CAN Configure
  • Model selection and parameters
  • Additional custom tools
  • System prompt customization
  • Backend storage strategy
  • Which tools require approval
  • Custom subagents with specialized tools
What Agents CANNOT Configure
  • Core middleware removal (TodoList, Filesystem, SubAgent always present)
  • The write_todos, task, or filesystem tool names
  • The SKILL.md frontmatter format
    </boundaries>
<fix-checkpointer-for-interrupts>
<python>
Interrupts require a checkpointer.
python
# WRONG
agent = create_deep_agent(interrupt_on={"write_file": True})

# CORRECT
agent = create_deep_agent(interrupt_on={"write_file": True}, checkpointer=MemorySaver())
</python>
<typescript>
Interrupts require a checkpointer.
typescript
// WRONG
const agent = await createDeepAgent({ interruptOn: { write_file: true } });

// CORRECT
const agent = await createDeepAgent({ interruptOn: { write_file: true }, checkpointer: new MemorySaver() });
</typescript>
</fix-checkpointer-for-interrupts>
<fix-store-for-memory>
<python>
StoreBackend requires a Store instance for persistent memory across threads.
python
# WRONG
agent = create_deep_agent(backend=lambda rt: StoreBackend(rt))

# CORRECT
agent = create_deep_agent(backend=lambda rt: StoreBackend(rt), store=InMemoryStore())
</python>
<typescript>
StoreBackend requires a Store instance for persistent memory across threads.
typescript
// WRONG
const agent = await createDeepAgent({ backend: (config) => new StoreBackend(config) });

// CORRECT
const agent = await createDeepAgent({ backend: (config) => new StoreBackend(config), store: new InMemoryStore() });
</typescript>
</fix-store-for-memory>
<fix-thread-id-for-conversations>
<python>
Use consistent thread_id to maintain conversation context across invocations.
python
# WRONG: Each invocation is isolated
agent.invoke({"messages": [{"role": "user", "content": "Hi"}]})
agent.invoke({"messages": [{"role": "user", "content": "What did I say?"}]})

# CORRECT
config = {"configurable": {"thread_id": "user-123"}}
agent.invoke({"messages": [...]}, config=config)
agent.invoke({"messages": [...]}, config=config)
</python>
<typescript>
Use consistent thread_id to maintain conversation context across invocations.
typescript
// WRONG: Each invocation is isolated
await agent.invoke({ messages: [{ role: "user", content: "Hi" }] });
await agent.invoke({ messages: [{ role: "user", content: "What did I say?" }] });

// CORRECT
const config = { configurable: { thread_id: "user-123" } };
await agent.invoke({ messages: [...] }, config);
await agent.invoke({ messages: [...] }, config);
</typescript>
</fix-thread-id-for-conversations>
<fix-frontmatter-required>
markdown
# WRONG: Missing frontmatter in SKILL.md
# My Skill
This is my skill...

# CORRECT: Include YAML frontmatter
---
name: my-skill
description: Python testing best practices with pytest fixtures and mocking
---
# My Skill
This is my skill...
</fix-frontmatter-required>
<fix-backend-for-skills>
<python>
Skills require a proper backend to load from the filesystem.
python
# WRONG: Skills won't load without proper backend
agent = create_deep_agent(skills=["./skills/"])

# CORRECT: Use FilesystemBackend for local skills
agent = create_deep_agent(
    backend=FilesystemBackend(root_dir=".", virtual_mode=True),
    skills=["./skills/"]
)
</python>
</fix-backend-for-skills>
<fix-specific-skill-descriptions>
Use specific descriptions to help agents decide when to use a skill.
markdown
# WRONG: Vague description
---
name: helper
description: Helpful skill
---

# CORRECT: Specific description
---
name: python-testing
description: Python testing best practices with pytest fixtures, mocking, and async patterns
---
</fix-specific-skill-descriptions>
<fix-subagent-skills>
<python>
Skills are not inherited by subagents - provide them explicitly.
python
# WRONG: Custom subagents don't inherit skills
agent = create_deep_agent(
    skills=["/main-skills/"],
    subagents=[{"name": "helper", ...}]  # No skills
)

# CORRECT: Provide skills explicitly
agent = create_deep_agent(
    skills=["/main-skills/"],
    subagents=[{"name": "helper", "skills": ["/helper-skills/"], ...}]
)
</python>
</fix-subagent-skills>

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

Files

Just SKILL.md in config/skills/deep-agents-core of langchain-ai/langchain-skills.

Open the folder on GitHubat commit 16a992f

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders. This page covers the copy in langchain-ai/langchain-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Deep Agents Core 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.

Deep Agents Core compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Deep Agents Core this skilllangchain-ai/langchain-skills1.3k—~3.1kAutomated safety check: PassMIT
Add Example AgentGetBindu/Bindu10k—~1.1kAutomated safety check: NotesCustom licence
Failproof AI SDK IntegrationFailproofAI/failproofai5.3k—~6kAutomated safety check: PassCustom licence
Dive Into LangGraphluochang212/dive-into-langgraph457—~837Automated safety check: NotesCustom licence
Tool Designagentailor/fullstack-langgraph-nextjs-agent132—~3.2kAutomated safety check: PassMIT
Langgraph Testing Evaluationsoba-labs/langchain-agent-skills107—~2.3kAutomated 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
  • Dive Into LangGraph

    luochang212/dive-into-langgraph

    A Chinese-language guide and reference for building agents with LangGraph 1.0, from a first ReAct agent through middleware, memory, MCP, RAG and web search.

    457 GitHub stars~837 tokensUpdated 28 days ago
    AI & LLM EngineeringAuto-check: notes
  • 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
  • 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
    AI & LLM EngineeringAuto-check passed
  • Cloudbase Agent

    TencentCloudBase/CloudBase-AI-Toolkit

    Build and deploy AI agents with CloudBase Agent SDK (TypeScript & Python).

    1.1k GitHub starsUsed in 2 repos~476 tokens
    AI & LLM EngineeringAuto-check passed

More from langchain-ai/langchain-skills

All 22 skills in this repo
  • Agent Eval Engineering

    langchain-ai/langchain-skills

    Official

    Builds agent evaluations in stages: inspect the repository and traces, agree a Task Spec with you, then build, audit and run a Harbor task with an independent verifier.

    1.3k GitHub stars~4k tokensUpdated today
    Auto-check passed
  • Swarm Parallel Dispatch

    langchain-ai/langchain-skills

    Official

    Fans a list of independent items out to subagents in parallel, merges the results back into a table and supports retrying only the rows that failed.

    1.3k GitHub stars~3k tokensUpdated today
    Auto-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
    Auto-check passed
  • LangGraph Decision Models

    langchain-ai/langchain-skills

    Official

    Routes LangGraph agents with typed decision models that return probabilities, and finds LLM calls that only exist to produce a routing decision.

    1.3k GitHub stars~2.3k tokensUpdated today
    Auto-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
    Auto-check passed
  • Deep Agents Orchestration

    langchain-ai/langchain-skills

    Official

    INVOKE THIS SKILL when using subagents, task planning, or human approval in Deep Agents.

    1.3k GitHub stars~3.4k tokensUpdated today
    Auto-check passed

Questions about Deep Agents Core

What does Deep Agents Core do?

Explains how to build agents with the Deep Agents framework: create_deep_agent, the built-in middleware, the harness, SKILL.md format and configuration options. Deep Agents is described as an opinionated agent framework on top of LangChain and LangGraph that ships with middleware: task planning through TodoListMiddleware, file-based context management with pluggable backends, delegation to specialized subagents, long-term memory across threads via a Store, human approval for sensitive operations, and on-demand skills. The harness supplies these, so you configure rather than implement them.

When should I use Deep Agents Core?

Deep Agents Core fits situations like: building an agent that must plan multi-step work and manage files; choosing between Deep Agents and a plain LangChain create_agent; adding subagents, memory or human approval to a Deep Agents application.

How do I install Deep Agents Core in Claude Code?

Run `npx skills add langchain-ai/langchain-skills --skill deep-agents-core -a claude-code`. Or copy the skill folder (config/skills/deep-agents-core in langchain-ai/langchain-skills) into .claude/skills/deep-agents-core in your project. Claude Code loads it when a task matches its description.

How do I install Deep Agents Core in Codex?

Run `npx skills add langchain-ai/langchain-skills --skill deep-agents-core -a codex`. Or copy the skill folder (config/skills/deep-agents-core in langchain-ai/langchain-skills) into .agents/skills/deep-agents-core in your project. Codex loads it when a task matches its description.

Can I use Deep Agents Core 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 langchain-ai/langchain-skills --skill deep-agents-core -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/deep-agents-core, .gemini/skills/deep-agents-core, .github/skills/deep-agents-core and .opencode/skills/deep-agents-core in your project.

What does Deep Agents Core need to run?

SKILL.md names no scripts, command-line tools or credentials: Deep Agents Core is instructions for the agent only. Our summary lists: The deepagents package for Python or TypeScript.

Does Deep Agents Core access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Deep Agents Core 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 Deep Agents Core use?

Deep Agents Core 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 Deep Agents Core use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Deep Agents Core?

Skills that share tags, products or a category with Deep Agents Core: Add Example Agent (GetBindu/Bindu, 10k stars), Failproof AI SDK Integration (FailproofAI/failproofai, 5.3k stars), Dive Into LangGraph (luochang212/dive-into-langgraph, 457 stars) and Tool Design (agentailor/fullstack-langgraph-nextjs-agent, 132 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Deep Agents Core?

langchain-ai (a GitHub organization, an official publisher) maintains it in langchain-ai/langchain-skills, which has 1,274 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on October 8, 2026.

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