Langchain Dependencies
langchain-ai/langchain-skills
INVOKE THIS SKILL when setting up a new project or when asked about package versions, installation, or dependency management for LangChain, LangGraph, LangSmith, or Deep Agents.
A skill your agent uses when migrating inline code samples from LangChain docs (MDX files) into external, testable code files that are extracted by this repo’s snippet scripts and used as Mintlify…
$ npx skills add langchain-ai/docs --skill docs-code-samples -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install langchain-ai/docs docs-code-samples --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/langchain-ai/docs.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/docs-code-samples .claude/skills/docs-code-samples && rm -rf skills-srcUse ~/.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/
Install the "docs-code-samples" agent skill from https://github.com/langchain-ai/docs/tree/main/.agents/skills/docs-code-samples into .claude/skills/docs-code-samples/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-code-samples", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/langchain-ai/docs/tree/main/.agents/skills/docs-code-samplesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add langchain-ai/docs --skill docs-code-samples -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install langchain-ai/docs docs-code-samples --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/langchain-ai/docs.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/docs-code-samples .agents/skills/docs-code-samples && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "docs-code-samples" agent skill from https://github.com/langchain-ai/docs/tree/main/.agents/skills/docs-code-samples into .agents/skills/docs-code-samples/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-code-samples", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add langchain-ai/docs --skill docs-code-samples -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install langchain-ai/docs docs-code-samples --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/langchain-ai/docs.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/docs-code-samples .cursor/skills/docs-code-samples && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "docs-code-samples" agent skill from https://github.com/langchain-ai/docs/tree/main/.agents/skills/docs-code-samples into .cursor/skills/docs-code-samples/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-code-samples", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/langchain-ai/docs.git --path .agents/skills/docs-code-samples--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add langchain-ai/docs --skill docs-code-samples -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install langchain-ai/docs docs-code-samples --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/langchain-ai/docs.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/docs-code-samples .gemini/skills/docs-code-samples && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "docs-code-samples" agent skill from https://github.com/langchain-ai/docs/tree/main/.agents/skills/docs-code-samples into .gemini/skills/docs-code-samples/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-code-samples", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install langchain-ai/docs docs-code-samplesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add langchain-ai/docs --skill docs-code-samples -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/langchain-ai/docs.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/docs-code-samples .github/skills/docs-code-samples && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "docs-code-samples" agent skill from https://github.com/langchain-ai/docs/tree/main/.agents/skills/docs-code-samples into .github/skills/docs-code-samples/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-code-samples", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add langchain-ai/docs --skill docs-code-samples -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install langchain-ai/docs docs-code-samples --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/langchain-ai/docs.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/docs-code-samples .opencode/skills/docs-code-samples && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "docs-code-samples" agent skill from https://github.com/langchain-ai/docs/tree/main/.agents/skills/docs-code-samples into .opencode/skills/docs-code-samples/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-code-samples", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
docs-code-samplesA skill your agent uses when migrating inline code samples from LangChain docs (MDX files) into external, testable code files that are extracted by this repo’s snippet scripts and used as Mintlify…
Docs Code Samples is an agent skill from langchain-ai/docs, published by the product's own GitHub organization. Use this skill when migrating inline code samples from LangChain docs (MDX files) into external, testable code files that are extracted by this repo’s snippet scripts and used as Mintlify snippets. Applies when extracting code blocks from documentation, creating runnable code samples, using snippet delineators, or wiring snippet output into MDX includes.
Its SKILL.md is about 4.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: LangChain docs monorepo with Mintlify. Requires Python and Make (Node.js is also required for TypeScript samples).
It sits in AI & LLM Engineering, covering Building AI agents and Markdown. It works with LangChain, LangGraph, LangSmith and TypeScript. The repository describes itself as: Unified LangChain documentation. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 85713b3. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
makegocurlbashpythonFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
api.smith.langchain.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
LANGSMITH_API_KEYOPENAI_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
LangChain docs monorepo with Mintlify. Requires Python and Make (Node.js is also required for TypeScript samples).
From compatibility in the SKILL.md frontmatter.
Docs Code Samples loads about 4.6k tokens when it runs. Until then it costs about 94 tokens; SKILL.md has 1,837 words of instructions outside code blocks.
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.
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.
The full file from langchain-ai/docs at commit 85713b3, republished under its MIT licence (© langchain-ai). 1,837 words, ~4,584 tokens.
.claude/skills/docs-code-samples/SKILL.md (or your agent's skills folder).This skill documents the workflow for moving inline code samples from LangChain documentation into standalone, testable files that this repo extracts into snippets for use in MDX using Mintlify.
Code samples live under src/code-samples/ in folders that match the product:
langchain/ — LangChain docslanggraph/ — LangGraph docsdeepagents/ — Deep Agents docslangsmith/ — LangSmith docsExample:
src/
├── code-samples/ # Source: testable code with snippet tags
│ ├── langchain/
│ │ ├── return-a-string.py
│ │ └── return-a-string.ts
│ ├── langgraph/
│ │ ├── langgraph-sql-agent.py
│ │ └── langgraph-sql-agent.ts
│ ├── deepagents/
│ │ └── example-skill.py
│ └── langsmith/
│ ├── trace-example.py
│ └── trace-example.java
├── code-samples-generated/ # Snippet output (gitignored)
│ ├── return-a-string.snippet.tool-return-values.py
│ ├── return-a-string.snippet.tool-return-values.ts
│ └── ...
└── snippets/
└── code-samples/ # MDX snippets for docs (all products)
├── tool-return-values-py.mdx
├── tool-return-values-js.mdx
└── ...Prefer one file per doc page or topic: Collocate related snippets in a single code sample file whenever they belong to the same MDX page, tutorial flow, or feature (for example, setup plus invocation, or a do/don't pair). Use multiple :snippet-start: / :snippet-end: pairs in that file rather than splitting into several .py or .ts files. Reserve separate files for unrelated samples or when a page genuinely needs independent test entry points.
More than one snippet in one file: A single code sample file can contain more than one named snippet using different :snippet-start: snippet-name and :snippet-end: pairs. Each snippet must have a unique name. Shared imports, helpers, and :remove-start: test harness code live once in the file; only the fenced regions between snippet tags appear in the generated MDX snippets.
When to split TypeScript samples into separate files: Python samples can usually keep multiple snippets in one file because later definitions overwrite earlier ones at module scope. TypeScript and JavaScript cannot: make test-code-samples runs the entire .ts file, and every snippet's code executes in the same module scope. Split into separate .ts files when snippets would collide, for example:
import bindings (for example two snippets both import { interrupt } from "@langchain/langgraph")const / let / class / function declarations with the same name (for example two snippets both declare const State = ...)Keep related snippets in one Python file when possible. For TypeScript, use one file per independently runnable snippet when imports or top-level bindings would conflict. Name sibling files clearly, for example langgraph-interrupts-validate-conditional-edge-pattern.ts and langgraph-interrupts-validate-conditional-edge.ts. Put shared test-only setup in :remove-start: blocks inside each file rather than importing between sample files.
Within a single TypeScript file, :remove-start: blocks and snippet regions share the same module scope when make test-code-samples runs the file. Do not import the same binding in both places. Keep imports that appear in the docs snippet inside the snippet; limit :remove-start: imports to symbols used only by the test harness (for example Command, MemorySaver) that the snippet does not import.
Place the file under src/code-samples/ in the folder for the product: langchain/, langgraph/, deepagents/, or langsmith/ (for example, src/code-samples/langgraph/langgraph-sql-agent.py for LangGraph docs).
Use a descriptive filename, for example, return-a-string.py, return-a-string.ts, or traceable-pipeline.java. When a doc page needs several code blocks for the same feature, add them as multiple snippets in one Python file (for example, rubric-configure.py with rubric-configure-py and rubric-invoke-py) instead of creating rubric-configure.py and rubric-invoke.py. For TypeScript, use one file per snippet when module-scope imports or bindings would conflict (see When to split TypeScript samples into separate files above).
Wrap the code that should appear in the docs with snippet tags:
Python:
# :snippet-start: snippet-name-py
from langchain.tools import tool
@tool
def get_weather(city: str) -> str:
"""Get weather for a city."""
return f"It is currently sunny in {city}."
# :snippet-end:TypeScript/JavaScript:
// :snippet-start: snippet-name-js
import { tool } from "langchain";
// ... tool definition ...
// :snippet-end:Java:
// :snippet-start: snippet-name-java
public class Example {
public static void main(String[] args) {
System.out.println("hello");
}
}
// :snippet-end:Go:
// :snippet-start: snippet-name-go
package main
import "fmt"
func main() {
fmt.Println("hello")
}
// :snippet-end:Bash (cURL):
# :snippet-start: snippet-name-sh
curl "https://api.smith.langchain.com/api/v1/runs" \
-H "x-api-key: $LANGSMITH_API_KEY"
# :snippet-end:Choose a unique snippet-name in kebab-case. All snippet names must include a language suffix: -py for Python files, -js for TypeScript/JavaScript files, -java for Java files, -kt for Kotlin files, -go for Go files, and -sh for bash/cURL files (for example, tool-return-values-py, tool-return-values-js, traceable-pipeline-java, traceable-pipeline-kt, traceable-pipeline-go, traceable-pipeline-sh). This becomes the base of the output filename.
Wrap any code that makes the sample executable but should not appear in docs.
Run snippet code before exiting. make test-code-samples must execute the snippet body, not skip it. Do not put raise SystemExit(0), process.exit(0), or exit 0 at the top of a file (or before :snippet-start:) so the test passes without running imports, constructors, or API calls. That only checks that the file parses; it does not validate function signatures, option shapes, or import paths.
Place :remove-start: blocks after the snippet when you can, so the harness runs assertions on values the snippet created:
Python (preferred):
# :snippet-start: example-py
from deepagents import create_deep_agent
agent = create_deep_agent(model="google_genai:gemini-3.6-flash")
# :snippet-end:
# :remove-start:
assert agent is not None
print("✓ example validated")
# :remove-end:TypeScript (preferred):
// :snippet-start: example-js
import { DeepAgentsServer } from "deepagents-acp";
const server = new DeepAgentsServer({
agents: { name: "careful-agent", interruptOn: { write_file: true } },
});
// :snippet-end:
// :remove-start:
if (!server) throw new Error("server not created");
console.log("✓ example validated");
// :remove-end:For samples whose docs show a blocking tail (for example await server.start(), asyncio.run(main()), or agent.invoke() with a live model), keep setup and construction in the snippet so types and signatures are checked, then move only the blocking call into a trailing :remove-start: block—or omit it when construction alone is enough:
# :snippet-start: server-example-py
server = AgentServerACP(agent)
# :snippet-end:
# :remove-start:
# Do not call await run_agent(server) here — it blocks on stdio.
assert server is not None
print("✓ server-example validated")
# :remove-end:Do not short-circuit before the snippet:
# :remove-start:
raise SystemExit(0) # BAD: snippet below never runs
# :remove-end:
# :snippet-start: example-py
...The examples below show harness code that invokes behavior when the snippet defines callable helpers:
Python:
# :remove-start:
if __name__ == "__main__":
result = get_weather.invoke({"city": "San Francisco"})
assert result == "It is currently sunny in San Francisco."
print("✓ Tool works as expected")
# :remove-end:TypeScript:
// :remove-start:
async function main() {
const result = await getWeather.invoke({ city: "San Francisco" });
if (result !== "It is currently sunny in San Francisco.") {
throw new Error(`Expected "...", got "${result}"`);
}
console.log("✓ Tool works as expected");
}
main();
// :remove-end:The extraction script strips :remove-start: / :remove-end: content when extracting snippets.
Before extracting snippets, verify the code sample runs correctly:
# Test the file(s) you added (faster)
make test-code-samples FILES="src/code-samples/langchain/return-a-string.py"
# Or run all code samples
make test-code-samplesFor multiple files: FILES="path1 path2". Fix any failures before proceeding—do not extract snippets until the samples pass.
Java files (.java) under src/code-samples/ are run using jbang. To keep CI green, Java samples must:
OPENAI_API_KEY for LLM callsmanage-prompts-0-push.java without LANGSMITH_API_KEYmake test-code-samples runs every .java file under src/code-samples/ in lexical path order (after all Python and TypeScript samples). That order is unrelated to section order in the docs. If one sample must run before another (for example creating a hub prompt before pulling it), name the source files so they sort correctly. For example, manage-prompts-pull.java runs before manage-prompts-push.java because pull sorts before push; use prefixes such as manage-prompts-0-push.java and manage-prompts-1-pull.java when you need push to run first.
Go files (.go) under src/code-samples/ are run with go run from src/code-samples/, which shares a single go.mod/go.sum at that directory (add new dependencies there with go get, then go mod tidy, similar to how .ts samples share src/code-samples/package.json). go run <file>.go only compiles that one file, not its sibling files in the same directory, so — like Kotlin — put each snippet variant in its own file (topic-before.go, topic-after.go) rather than multiple snippets sharing one file: two files in the same package cannot both declare func main(). Go samples do not guard on missing keys — let the SDK call fail fast (matching Python's behavior) rather than skipping with a printed message. make test-code-samples runs .go files last, after Kotlin, in lexical path order.
Bash/cURL files (.sh) under src/code-samples/ are run with bash <file>.sh from src/code-samples/. Like Go, put each snippet variant in its own file (topic-before.sh, topic-after.sh) rather than sharing one file. Hide test-only setup (#!/usr/bin/env bash, set -euo pipefail, resolving a real ID/value for a <placeholder> shown in the docs) in # :remove-start:/# :remove-end: blocks so the visible snippet is exactly the illustrative curl command a reader would copy — including no shebang or set -e line. curl does not exit non-zero on an HTTP error status by itself, so when a script pipes a response into jq to extract a value used by a later request (for example resolving a project ID), add a hidden check that the resolved value is non-empty and not the literal string null before continuing, so a bad API response fails the test loudly instead of silently propagating into later requests. make test-code-samples runs .sh files last, after Go, in lexical path order.
Check formatting with:
make lintFix any ruff or mypy issues before proceeding. Run make format to auto-fix formatting.
From the repo root:
make code-snippetsTo limit extraction to specific samples (faster while iterating), set CODE_SNIPPET_SOURCES to space-separated repo-relative paths under src/code-samples/:
CODE_SNIPPET_SOURCES="src/code-samples/langsmith/trace.java" make code-snippetsThis command:
python scripts/extract_code_snippets.py (line-based, Bluehawk-compatible; handles /** in TS strings). Optional env CODE_SNIPPET_SOURCES limits extraction to specific paths under src/code-samples/; other stems already in src/code-samples-generated/ are left alone.scripts/generate_code_snippet_mdx.py to produce MDX snippets in src/snippets/code-samples/ (always regenerates MDX from everything under src/code-samples-generated/)Output files:
return-a-string.snippet.tool-return-values.py → tool-return-values-py.mdxreturn-a-string.snippet.tool-return-values.ts → tool-return-values-js.mdxAdd an import at the top of the MDX file (after frontmatter):
import ToolReturnValuesPy from '/snippets/code-samples/tool-return-values-py.mdx';
import ToolReturnValuesJs from '/snippets/code-samples/tool-return-values-js.mdx';Replace the inline code blocks with the snippet components:
:::python
<ToolReturnValuesPy />
:::
:::js
<ToolReturnValuesJs />
:::| Element | Convention | Example |
|---|---|---|
| Code file | Descriptive, kebab-case | return-a-string.py, return-a-string.ts, traceable-pipeline.java, traceable-pipeline.kt, traceable-pipeline.go, traceable-pipeline.sh |
| Snippet name | Kebab-case with language suffix: -py for Python, -js for JS/TS, -java for Java, -kt for Kotlin, -go for Go, -sh for bash/cURL | tool-return-values-py, tool-return-values-js, traceable-pipeline-java, traceable-pipeline-kt, traceable-pipeline-go, traceable-pipeline-sh |
| MDX snippet (Python) | {snippet-name}.mdx (snippet name ends in -py) | tool-return-values-py.mdx |
| MDX snippet (JS) | {snippet-name}.mdx (snippet name ends in -js) | tool-return-values-js.mdx |
| Component name | PascalCase | ToolReturnValuesPy, ToolReturnValuesJs |
scripts/generate_code_snippet_mdx.py:
*.snippet.*.py and *.snippet.*.ts from src/code-samples-generated/```python or ```ts)<CodeGroup> with the seven quickstart provider tabs (Google, OpenAI, Anthropic, OpenRouter, Fireworks, Baseten, Ollama):model="…" or model = "…"model: "…" or model = "…" (including let model = "…")# KEEP MODEL / // KEEP MODEL on the line before a model string to leave that occurrence unchangedsrc/snippets/code-samples/{snippet-name}-py.mdx or -js.mdxTo support additional languages, add config entries in that script.
:remove-start: harnesses must not exit before the snippet runs. Let imports, constructors, and configuration execute so make test-code-samples catches wrong signatures, renamed options, and broken import paths. Put SystemExit / process.exit only after the snippet (or use them to skip a trailing blocking call such as server.start(), not the whole sample).<RubricConfigurePy /> then <RubricInvokePy /> from the same source file). For TypeScript, split into separate .ts files when snippets duplicate imports or top-level bindings; still import each generated MDX snippet in the MDX file the same way.unittest.mock.patch on init_chat_model helpers) so that imports resolve real chat model instances. Do not use fake chat models in docs code samples (for example GenericFakeChatModel, FakeListChatModel, or other langchain_core testing fakes). Wire a real chat model (for example ChatOpenAI) so snippets match what readers run; make test-code-samples requires a valid API key when the sample calls the model.pyproject.toml when making code sample changes.make test-code-samples FILES="path/to/your/file.py" before make code-snippets to ensure new samples pass.make lint once the code sample is written; fix any issues (or run make format to auto-fix).src/code-samples-generated/ is gitignored; regenerate with make code-snippets, narrowing to specific files with CODE_SNIPPET_SOURCES while iterating.AGENTS.md for docs style and rules.:::python and :::js fences for language-specific content; the build produces separate Python and JavaScript doc versions.# type: ignore[arg-type]© 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
Just SKILL.md in .agents/skills/docs-code-samples of langchain-ai/docs.
Open the folder on GitHubat commit 85713b3
Docs Code Samples 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Docs Code Samples this skilllangchain-ai/docs | 424 | — | ~4.6k | Automated safety check: Pass | MIT | |
| Langchain Dependencieslangchain-ai/langchain-skills | 1.3k | 1 repos | ~3.6k | Automated safety check: Pass | MIT | |
| Langgraph Testing Evaluationsoba-labs/langchain-agent-skills | 107 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Langgraph Typescript Quickstartlangchain-ai/langchain-skills | 1.3k | — | ~455 | Automated safety check: Notes | MIT | |
| LangSmith Trace DebuggingComposioHQ/awesome-claude-skills | 77k | 9 repos | ~2.7k | Automated safety check: Pass | None | |
| Add Example AgentGetBindu/Bindu | 10k | — | ~1.1k | Automated safety check: Notes | Custom licence |
langchain-ai/langchain-skills
INVOKE THIS SKILL when setting up a new project or when asked about package versions, installation, or dependency management for LangChain, LangGraph, LangSmith, or Deep Agents.
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…
langchain-ai/langchain-skills
Scaffold a minimal local LangGraph agent in TypeScript by following the official quickstart.
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.
GetBindu/Bindu
Add a new self-contained example agent under examples/. An agent skill from GetBindu/Bindu.
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.
langchain-ai/docs
Add, move, rename, or delete a page on the LangChain docs site.
langchain-ai/docs
Build batteries-included agents with planning, context management, subagent delegation, and sandboxed execution.
langchain-ai/docs
Edit a docs page that already has an open pull request, or revise a page in place.
langchain-ai/docs
Restructure documentation that spans several pages. An agent skill from langchain-ai/docs.
langchain-ai/docs
Write or revise documentation prose so it reads like the rest of this site, in the docs team's shared voice.
langchain-ai/docs
Build agents with a prebuilt architecture and integrations for any model or tool.
Works with
Categories
A skill your agent uses when migrating inline code samples from LangChain docs (MDX files) into external, testable code files that are extracted by this repo’s snippet scripts and used as Mintlify…. Docs Code Samples is an agent skill from langchain-ai/docs, published by the product's own GitHub organization. Use this skill when migrating inline code samples from LangChain docs (MDX files) into external, testable code files that are extracted by this repo’s snippet scripts and used as Mintlify snippets.
Docs Code Samples fits situations like: migrating inline code samples from LangChain docs (MDX files) into external; testable code files that are extracted by this repos snippet scripts and used as Mintlify snippets.
Run `npx skills add langchain-ai/docs --skill docs-code-samples -a claude-code`. Or copy the skill folder (.agents/skills/docs-code-samples in langchain-ai/docs) into .claude/skills/docs-code-samples in your project. Claude Code loads it when a task matches its description.
Run `npx skills add langchain-ai/docs --skill docs-code-samples -a codex`. Or copy the skill folder (.agents/skills/docs-code-samples in langchain-ai/docs) into .agents/skills/docs-code-samples in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add langchain-ai/docs --skill docs-code-samples -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/docs-code-samples, .gemini/skills/docs-code-samples, .github/skills/docs-code-samples and .opencode/skills/docs-code-samples in your project.
Going by SKILL.md and its folder, Docs Code Samples needs the command-line tools its instructions call (make, go, curl, bash and python) and credentials named LANGSMITH_API_KEY and OPENAI_API_KEY. Our summary lists: Python 3; Node.js; A credential in LANGSMITH_API_KEY; A credential in OPENAI_API_KEY. Compatibility (from SKILL.md): LangChain docs monorepo with Mintlify. Requires Python and Make (Node.js is also required for TypeScript samples)..
SKILL.md names 1 domain. In commands or code: api.smith.langchain.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
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.
Docs Code Samples is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.6k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Docs Code Samples: Langchain Dependencies (langchain-ai/langchain-skills, 1.3k stars), Langgraph Testing Evaluation (soba-labs/langchain-agent-skills, 107 stars), Langgraph Typescript Quickstart (langchain-ai/langchain-skills, 1.3k stars) and LangSmith Trace Debugging (ComposioHQ/awesome-claude-skills, 77k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
langchain-ai (a GitHub organization, an official publisher) maintains it in langchain-ai/docs, which has 424 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 7, 2026.
Source: langchain-ai/docs on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.