Official agent skill

Framework Selection

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

INVOKE THIS SKILL at the START of any LangChain/LangGraph/Deep Agents project, before writing any agent code.

OfficialMITAuto-check passedAI & LLM Engineering

Install Framework Selection

skills CLI
$ npx skills add langchain-ai/skills-benchmarks --skill framework-selection -a claude-code

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

GitHub CLI
$ gh skill install langchain-ai/skills-benchmarks framework-selection --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/skills-benchmarks.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/benchmarks/framework-selection .claude/skills/framework-selection && 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
framework-selection
GitHub stars
118
Token cost
~1.8k tokens
SKILL.md length
769 words
Files
1
Skills in repo
8
Repo updated
First seen
Licence
MIT

At a glance

INVOKE THIS SKILL at the START of any LangChain/LangGraph/Deep Agents project, before writing any agent code.

  • Tasks that involve Building AI agents
  • SKILL.md covers Decision Guide, Framework Profiles, Mixing Layers and Quick Reference
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Framework Selection is an agent skill from langchain-ai/skills-benchmarks, published by the product's own GitHub organization. INVOKE THIS SKILL at the START of any LangChain/LangGraph/Deep Agents project, before writing any agent code. Determines which framework layer is right for the task: LangChain, LangGraph, Deep Agents, or a combination. Must be consulted before other agent skills.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in AI & LLM Engineering, covering Building AI agents. It works with LangChain and LangGraph. The licence is MIT.

When your agent uses it

  • Tasks that involve Building AI agents

Example prompts

  • “/framework-selection”

What it can do on your machine

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

    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

Framework Selection loads about 1.8k tokens when it runs. Until then it costs about 71 tokens; SKILL.md has 769 words of instructions outside code blocks.

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

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/skills-benchmarks at commit 9195f8c, republished under its MIT licence (© langchain-ai). 769 words, ~1,810 tokens.

Download SKILL.mdSave it as .claude/skills/framework-selection/SKILL.md (or your agent's skills folder).
name
framework-selection
description
INVOKE THIS SKILL at the START of any LangChain/LangGraph/Deep Agents project, before writing any agent code. Determines which framework layer is right for the task: LangChain, LangGraph, Deep Agents, or a combination. Must be consulted before other agent skills.
<overview>
LangChain, LangGraph, and Deep Agents are **layered**, not competing choices. Each builds on the one below it:
┌─────────────────────────────────────────┐
│              Deep Agents                │  ← highest level: batteries included
│   (planning, memory, skills, files)     │
├─────────────────────────────────────────┤
│               LangGraph                 │  ← orchestration: graphs, loops, state
│    (nodes, edges, state, persistence)   │
├─────────────────────────────────────────┤
│               LangChain                 │  ← foundation: models, tools, chains
│      (models, tools, prompts, RAG)      │
└─────────────────────────────────────────┘

Picking a higher layer does not cut you off from lower layers — you can use LangGraph graphs inside Deep Agents, and LangChain primitives inside both.

This skill should be loaded at the top of any project before selecting other skills or writing agent code. The framework you choose dictates which other skills to invoke next.

</overview>

Decision Guide

<decision-table>

Answer these questions in order:

QuestionYes →No →
Does the task require breaking work into sub-tasks, managing files across a long session, persistent memory, or loading on-demand skills?Deep Agents↓
Does the task require complex control flow — loops, dynamic branching, parallel workers, human-in-the-loop, or custom state?LangGraph↓
Is this a single-purpose agent that takes input, runs tools, and returns a result?LangChain (create_agent)↓
Is this a pure model call, retrieval pipeline, or simple prompt chain with no agent loop?LangChain (direct model / chain)—
</decision-table>

Framework Profiles

<langchain-profile>
LangChain — Use when the task is focused and self-contained

Best for:

  • Single-purpose agents that use a fixed set of tools
  • RAG pipelines and document Q&A
  • Model calls, prompt templates, output parsing
  • Quick prototypes where agent logic is simple

Not ideal when:

  • The agent needs to plan across many steps
  • State needs to persist across multiple sessions
  • Control flow is conditional or iterative

Skills to invoke next: langchain-fundamentals, langchain-rag, langchain-middleware

</langchain-profile>
<langgraph-profile>
LangGraph — Use when you need to own the control flow

Best for:

  • Agents with branching logic or loops (e.g. retry-until-correct, reflection)
  • Multi-step workflows where different paths depend on intermediate results
  • Human-in-the-loop approval at specific steps
  • Parallel fan-out / fan-in (map-reduce patterns)
  • Persistent state across invocations within a session

Not ideal when:

  • You want planning, file management, and subagent delegation handled for you (use Deep Agents instead)
  • The workflow is straightforward enough for a simple agent

Skills to invoke next: langgraph-fundamentals, langgraph-human-in-the-loop, langgraph-persistence

</langgraph-profile>
<deep-agents-profile>
Deep Agents — Use when the task is open-ended and multi-dimensional

Best for:

  • Long-running tasks that require breaking work into a todo list
  • Agents that need to read, write, and manage files across a session
  • Delegating subtasks to specialized subagents
  • Loading domain-specific skills on demand
  • Persistent memory that survives across multiple sessions

Not ideal when:

  • The task is simple enough for a single-purpose agent
  • You need precise, hand-crafted control over every graph edge (use LangGraph directly)

Middleware — built-in and extensible:

Deep Agents ships with a built-in middleware layer out of the box — you configure it, you don't implement it. The following come pre-wired; you can also add your own on top:

MiddlewareWhat it providesAlways on?
TodoListMiddlewarewrite_todos tool — agent plans and tracks multi-step tasks✓
FilesystemMiddlewarels, read_file, write_file, edit_file, glob, grep tools✓
SubAgentMiddlewaretask tool — delegate work to named subagents✓
SkillsMiddlewareLoad SKILL.md files on demand from a skills directoryOpt-in
MemoryMiddlewareLong-term memory across sessions via a Store instanceOpt-in
HumanInTheLoopMiddlewareInterrupt and request human approval before sensitive tool callsOpt-in

Skills to invoke next: deep-agents-core, deep-agents-memory, deep-agents-orchestration

</deep-agents-profile>

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

Mixing Layers

<mixing-layers>
Because the frameworks are layered, they can be combined in the same project. The most common pattern is using Deep Agents as the top-level orchestrator while dropping down to LangGraph for specialized subagents.
When to mix
ScenarioRecommended pattern
Main agent needs planning + memory, but one subtask requires precise graph controlDeep Agents orchestrator → LangGraph subagent
Specialized pipeline (e.g. RAG, reflection loop) is called by a broader agentLangGraph graph wrapped as a tool or subagent
High-level coordination but low-level graph for a specific domainDeep Agents + LangGraph compiled graph as a subagent
How it works in practice

A LangGraph compiled graph can be registered as a subagent inside Deep Agents. This means you can build a tightly-controlled LangGraph workflow (e.g. a retrieval-and-verify loop) and hand it off to the Deep Agents task tool as a named subagent — the Deep Agents orchestrator delegates to it without caring about its internal graph structure.

LangChain tools, chains, and retrievers can be used freely inside both LangGraph nodes and Deep Agents tools — they are the shared building blocks at every level.

</mixing-layers>

Quick Reference

<quick-reference>
LangChainLangGraphDeep Agents
Control flowFixed (tool loop)Custom (graph)Managed (middleware)
Middleware layerCallbacks only✗ None✓ Explicit, configurable
Planning✗Manual✓ TodoListMiddleware
File management✗Manual✓ FilesystemMiddleware
Persistent memory✗With checkpointer✓ MemoryMiddleware
Subagent delegation✗Manual✓ SubAgentMiddleware
On-demand skills✗✗✓ SkillsMiddleware
Human-in-the-loop✗Manual interrupt✓ HumanInTheLoopMiddleware
Custom graph edges✗✓ Full controlLimited
Setup complexityLowMediumLow
FlexibilityMediumHighMedium

Middleware is a concept specific to LangChain (callbacks) and Deep Agents (explicit middleware layer). LangGraph has no middleware — you wire behavior directly into nodes and edges.

</quick-reference>

© 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 skills/benchmarks/framework-selection of langchain-ai/skills-benchmarks.

Open the folder on GitHubat commit 9195f8c

Compare with similar skills

Framework Selection 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.

Framework Selection compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Framework Selection this skilllangchain-ai/skills-benchmarks118—~1.8kAutomated safety check: PassMIT
Mem0 Platform SDKmem0ai/mem067k1 repos~1.9kAutomated safety check: PassApache-2.0
LangSmith Trace DebuggingComposioHQ/awesome-claude-skills77k9 repos~2.7kAutomated safety check: PassNone
Add Example AgentGetBindu/Bindu10k—~1.1kAutomated safety check: NotesCustom licence
Failproof AI SDK IntegrationFailproofAI/failproofai5.3k—~6kAutomated safety check: PassCustom licence
Edgeone Makers MigrationTencentEdgeOne/edgeone-makers-tools1.9k1 repos~4.1kAutomated safety check: PassMIT

Similar skills

  • 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~1.9k 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 9 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
  • 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 yesterday
    AI & LLM EngineeringAuto-check passed
  • Edgeone Makers Migration

    TencentEdgeOne/edgeone-makers-tools

    Migrate existing AI agent projects (LangChain, LangGraph, OpenAI Agents SDK, Claude Agent SDK, CrewAI) to EdgeOne Makers platform conventions.

    1.9k GitHub starsUsed in 1 repo~4.1k tokens
    AI & LLM EngineeringAuto-check passed
  • Omnigent Framework Detection

    omnigent-ai/omnigent

    Scans Python agent code for framework imports and recommends the matching Omnigent executor type, or says when the framework is not natively supported yet.

    11k GitHub stars~610 tokensUpdated today
    AI & LLM EngineeringAuto-check passed

More from langchain-ai/skills-benchmarks

All 8 skills in this repo
  • Langchain Agents

    langchain-ai/skills-benchmarks

    Official

    Build LangChain agents with modern patterns. An agent skill from langchain-ai/skills-benchmarks.

    118 GitHub stars~2.5k tokensUpdated 15 days ago
    Auto-check passed
  • Langchain Oss Primer

    langchain-ai/skills-benchmarks

    Official

    ALWAYS START HERE for any LangChain, Deep Agents, or LangGraph agent building project.

    118 GitHub stars~4.1k tokensUpdated 15 days ago
    Auto-check passed
  • React Components

    langchain-ai/skills-benchmarks

    Official

    Modern React component patterns with hooks and TypeScript. An agent skill from langchain-ai/skills-benchmarks.

    118 GitHub stars~437 tokensUpdated 15 days ago
    Auto-check passed
  • Testing Patterns

    langchain-ai/skills-benchmarks

    Official

    Unit testing and integration testing best practices. An agent skill from langchain-ai/skills-benchmarks.

    118 GitHub stars~447 tokensUpdated 15 days ago
    Auto-check passed
  • API Docs

    langchain-ai/skills-benchmarks

    Official

    OpenAPI documentation and REST API design patterns. An agent skill from langchain-ai/skills-benchmarks.

    118 GitHub stars~358 tokensUpdated 15 days ago
    Auto-check passed
  • Database Migrations

    langchain-ai/skills-benchmarks

    Official

    Database migration patterns and schema versioning. An agent skill from langchain-ai/skills-benchmarks.

    118 GitHub stars~350 tokensUpdated 15 days ago
    Auto-check passed

Questions about Framework Selection

What does Framework Selection do?

INVOKE THIS SKILL at the START of any LangChain/LangGraph/Deep Agents project, before writing any agent code. Framework Selection is an agent skill from langchain-ai/skills-benchmarks, published by the product's own GitHub organization. INVOKE THIS SKILL at the START of any LangChain/LangGraph/Deep Agents project, before writing any agent code.

When should I use Framework Selection?

Framework Selection fits situations like: tasks that involve Building AI agents.

How do I install Framework Selection in Claude Code?

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

How do I install Framework Selection in Codex?

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

Can I use Framework Selection 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/skills-benchmarks --skill framework-selection -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/framework-selection, .gemini/skills/framework-selection, .github/skills/framework-selection and .opencode/skills/framework-selection in your project.

What does Framework Selection need to run?

SKILL.md names no scripts, command-line tools or credentials: Framework Selection is instructions for the agent only.

Does Framework Selection 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 Framework Selection 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 Framework Selection use?

Framework Selection 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 Framework Selection use?

About 1.8k tokens (SKILL.md is roughly 7.2k 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 Framework Selection?

Skills that share tags, products or a category with Framework Selection: Mem0 Platform SDK (mem0ai/mem0, 67k stars), LangSmith Trace Debugging (ComposioHQ/awesome-claude-skills, 77k stars), Add Example Agent (GetBindu/Bindu, 10k stars) and Failproof AI SDK Integration (FailproofAI/failproofai, 5.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Framework Selection?

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

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