name: langchain-context description: "Answers questions about the LangChain Python ecosystem — the langchain-ai/langchain monorepo (langchain-core, v1 agents, langchain-classic, in-tree partners, text-splitters) plus companion repos LangGraph, LangSmith SDK, Deep Agents, out-of-tree partner monorepos langchain-google and langchain-aws, and the docs.langchain.com source. Includes a thin orientation pointer for the LangChain.js port. References load on demand from references/."
LangChain context navigator
Overview
This navigator covers the LangChain Python ecosystem in depth, plus a thin orientation pointer for the JS port:
- Primary: the langchain-ai/langchain Python monorepo —
langchain-core, the newlangchainpackage (v1; built fromlibs/langchain_v1/), the legacylangchain-classicpackage (built fromlibs/langchain/), in-tree partner integrations, and the auxiliary libs (text-splitters, model-profiles, standard-tests). - Python companion repos: LangGraph (
langchain-ai/langgraph), LangSmith SDK (langchain-ai/langsmith-sdk), Deep Agents (langchain-ai/deepagents), and the out-of-tree partner monoreposlangchain-ai/langchain-googleandlangchain-ai/langchain-aws. Plus the docs source atlangchain-ai/docs. - JS port (thin coverage only):
langchain-ai/langchainjsis included as a pointer reference for orienting JS questions — full JS depth is out of scope; follow source links into the JS repo for non-trivial questions.
When asked a question this navigator's domain covers:
- Scan the Catalog below for the matching topic.
- Follow the link to read the reference file.
- If the question spans multiple references, consult the Cross-reference map.
- If a reference points at a source URL for deeper detail, follow it only if the reference itself didn't answer the question.
For first-time orientation — what packages exist, how langchain vs langchain-classic differ, where companion repos live — start with langchain-overview.md.
Claims policy
Cite by default, and make load-bearing claims verifiable:
- Inline-cite every load-bearing claim with its SHA-pinned permalink — the
https://github.com/langchain-ai/langchain/blob/<sha>/libs/langchain_v1/langchain/agents/factory.py#L17-L25-style link the reference gives for that fact (versions, defaults, signatures, deprecations, behavior a user could get wrong by guessing). Put the permalink inline, on the claim. Use a bare filename parenthetical (e.g. (langchain-v1-agents.md)) only when the reference genuinely provides no permalink. This inline permalink is what the grounded-citation eval (SELF-AUDIT Check 8) grades. - Don't cite orientational prose — "what is X?", "when did X launch?" — answer those from this navigator alone; opening a reference is itself a citation gesture.
- End with a one-line provenance footer, emitted italic, formatted
*References consulted: foo.md, bar.md. Grounded in {{LIBRARY}}@{{VERSION}} — [reference index]({{INDEX_URL}}).*The footer is a summary of what you read — not a substitute for the inline permalinks on the claims. The{{LIBRARY}}/{{VERSION}}/{{INDEX_URL}}tokens are agent-substituted at answer time, so they appear literally in the stampedSKILL.md. - If no reference was opened, say so in the footer ("Answered from general knowledge — no {{LIBRARY}} references consulted") — never fake it.
The voice is competent and careful — no "as an AI assistant" hedging.
Catalog
Main monorepo (langchain-ai/langchain)
| Reference | Description |
|---|---|
| langchain-overview | Monorepo layout, langchain vs langchain-classic split, where every companion repo lives. |
| langchain-core-runnables | The Runnable protocol and LCEL — | pipe, .bind, .with_config, RunnableSequence/Parallel/Lambda/Branch, streaming events. |
| langchain-core-models | Chat models, LLMs, messages (Human/AI/System/Tool), tools and bind_tools, prompts, output parsers, structured output. |
| langchain-core-retrieval | Documents, BaseRetriever, VectorStore, similarity search / MMR, Embeddings, document loaders, RAG pipelines. |
| langchain-core-callbacks | Callback handlers, tracers, astream_events v2, LangSmith integration, run trees, streaming protocol. |
| langchain-v1-agents | The v1 agent API: create_agent, the middleware system, AgentState, init_chat_model, LangGraph backend. |
| langchain-classic | The legacy langchain-classic package: chains, AgentExecutor, memory, indexing API, and what's deprecated. |
| langchain-partners | In-tree partner integration packages (anthropic, openai, etc.), the chat-model contract, langchain-tests standard suite. |
| langchain-text-splitters | langchain-text-splitters: RecursiveCharacterTextSplitter, token splitters, Markdown/HTML/JSON/code splitters. |
Python companion repos
| Reference | Description |
|---|---|
| langgraph-overview | langchain-ai/langgraph — StateGraph, checkpointers, prebuilt helpers, the SDK and CLI, and how it relates to langchain.create_agent. |
| langsmith-sdk-overview | langchain-ai/langsmith-sdk — the langsmith package: @traceable, framework wrappers (wrap_openai etc.), Client, evaluate, and the env-var-only LangChain integration. |
| deepagents-overview | langchain-ai/deepagents — create_deep_agent (planning, filesystem, shell, sub-agent tools), pluggable sandbox backends, the deepagents-cli. |
| langchain-google-overview | langchain-ai/langchain-google — out-of-tree partner monorepo: langchain-google-genai (Gemini API), langchain-google-vertexai (GCP Vertex), langchain-google-community (Drive/Gmail/BigQuery/etc.). |
| langchain-aws-overview | langchain-ai/langchain-aws — out-of-tree partner monorepo: langchain-aws (Bedrock/SageMaker/Kendra/Neptune/S3-Vectors/AgentCore), langgraph-checkpoint-aws, langchain-agentcore-codeinterpreter. |
| docs-overview | langchain-ai/docs — source for docs.langchain.com (Mintlify MDX); also the home of packages.yml, the central registry of every LangChain package across every owning repo. |
JS port (thin pointer only)
| Reference | Description |
|---|---|
| langchainjs-overview | langchain-ai/langchainjs — orientation pointer for the TypeScript port. Lists the npm package mapping; defers depth to the JS docs. |
Cross-reference map
- Building a RAG pipeline → start at
langchain-core-retrievalfor the protocol shape; cross tolangchain-text-splittersfor the chunking step andlangchain-core-runnablesfor composing the prompt-model-parser tail with LCEL. - Building an agent → start at
langchain-v1-agentsforcreate_agentand middleware; cross tolangchain-core-modelsfor tool definitions and structured output, tolanggraph-overviewfor the underlying graph runtime (create_agentreturns aStateGraph), and tolangchain-classiconly if the user has 0.xAgentExecutorcode to migrate. - Building a "batteries-included" agent (planning, filesystem, sub-agents) → start at
deepagents-overviewforcreate_deep_agent; cross tolangchain-v1-agentsfor the underlyingcreate_agentit composes with, and tolanggraph-overviewfor streaming/persistence. - Durable agents / pause-resume / human-in-the-loop / checkpoints → start at
langgraph-overviewfor the LangGraph checkpoint and interrupt surface (thelangchainrepo doesn't implement these — LangGraph does). For AWS-managed checkpoint backends specifically, cross tolangchain-aws-overview(langgraph-checkpoint-aws). - Adding support for a new model provider → start at
langchain-partnersfor the in-tree package layout; cross tolangchain-core-modelsfor theBaseChatModelcontract details. For Google or AWS specifically, those are out-of-tree — seelangchain-google-overvieworlangchain-aws-overview. - Observability / tracing / streaming UI → start at
langchain-core-callbacksfor the event surface; cross tolangchain-core-runnablesfor howastream_eventsis wired into the Runnable protocol. For LangSmith specifically — when you'd reach for the SDK directly vs. let env vars do the work — cross tolangsmith-sdk-overview. - Migrating 0.x code → start at
langchain-classicfor what moved where; cross tolangchain-v1-agentsfor the v1 replacement ofinitialize_agent + AgentExecutor + memory, and tolanggraph-overviewif the user is asking about graph-level customization the v1 agent surface doesn't expose. - "Why is
LLMChaindeprecated / what replaces it" → start atlangchain-classic; cross tolangchain-core-runnablesfor the LCEL replacement pattern. - "Where is the docs page for X / where do I file a docs issue" → start at
docs-overviewfor the docs.langchain.com source layout, thepackages.ymlregistry, and the distinction between docs.langchain.com vs. reference.langchain.com. - "What's the JS equivalent of
" → start atlangchainjs-overviewfor the npm package mapping; for non-trivial JS questions follow the source links into the JS repo and JS docs.
Instructions to Claude
When loading a reference file, the path syntax depends on the platform:
Claude Code: Read the reference using the platform-provided skill-directory variable:
Read $CLAUDE_SKILL_DIR/references/<source-slug>-<topic>.mdClaude Desktop: Read the reference using a relative path; the platform resolves it from the skill's installed location:
Read references/<source-slug>-<topic>.md
Loading rules:
- Load one reference at a time unless the Cross-reference map says to load both.
- If the primary reference doesn't fully answer the question, follow any source URL pointers it provides for deeper detail.
- Do not eagerly load companion files; only follow companion links when the primary reference says to.
- If the user's question is clearly out of scope for this contextualizer, don't invoke this skill at all.
- The repo's two same-looking package directories (
libs/langchain/andlibs/langchain_v1/) publish to PyPI under different names (langchain-classicandlangchainrespectively). Always disambiguate when discussing them —langchain-overviewand the first sections oflangchain-v1-agentsandlangchain-classiccover this.
Progressive disclosure
References prioritize curated insight over re-specifying upstream sources:
- Gotchas, cross-system patterns, and "why" context are kept in the reference (curation value).
- Exact schemas, API signatures, and parameter lists are summarized in the reference and linked to their authoritative source via SHA-pinned URLs.
When a reference includes a source URL pointer, follow it only when the reference's own summary didn't cover the question. The contextualizer is optimized for the common case; the upstream source is the long tail.
File URLs in references are pinned to per-source SHAs at the time of the last /skill-engine:refresh run (2026-05-18). Each reference's links point at the SHA captured when that source was discovered. Run /skill-engine:refresh to re-pin against current HEAD across all sources. Per-source SHAs are recorded in research/source-paths.json.