skills/deepagents-setup-configuration/SKILL.md
Initialize, validate, and troubleshoot Deep Agents projects in Python or JavaScript using the `deepagents` package. Use when users need to create agents with built-in planning/filesystem/subagents, configure middleware/backends/checkpointing/HITL, migrate from `create_react_agent` or `create_agent`, scaffold projects with repo scripts, validate agent config files, and confirm compatibility with current LangChain/LangGraph/LangSmith docs.
npx skillsauth add lubu-labs/langchain-agent-skills deepagents-setup-configurationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Deep Agents are an agent harness on top of LangChain + LangGraph with built-in planning, filesystem context management, and subagent delegation.
write_todos), or long-term memory patterns.create_react_agent flows.agent.py / agent.js / agent.ts config.scripts/init_deep_agent_project.py: scaffolds Python/JS projects with templates.scripts/validate_deep_agent_config.py: static checks for Deep Agent config quality.references/deep-agents-reference.md: detailed API, middleware, backends, migration, troubleshooting.assets/templates/deep-agent-simple/: minimal Python starter template.assets/examples/basic-deep-agent/: richer Python example.init_deep_agent_project.py (Python or JS).validate_deep_agent_config.py.references/deep-agents-reference.md for advanced configuration.| Need | Deep Agents | LangChain create_agent | LangGraph |
|------|-------------|--------------------------|-----------|
| Built-in planning/filesystem/subagents | ✅ Best fit | ⚠️ Manual middleware setup | ❌ Manual graph design |
| Fast path for complex multi-step tasks | ✅ | ⚠️ | ⚠️ |
| Fully custom graph topology | ❌ | ❌ | ✅ Best fit |
| Minimal/simple agent (1-3 steps) | ⚠️ Overhead | ✅ Best fit | ⚠️ |
Use repo-local scripts and prefer uv run.
# Python simple template
uv run skills/deepagents-setup-configuration/scripts/init_deep_agent_project.py my-agent --language python --template simple --path skills/
# Python with subagents
uv run skills/deepagents-setup-configuration/scripts/init_deep_agent_project.py my-agent --language python --template with-subagents --path skills/
# Python CLI-config template (memory/checkpointer toggles)
uv run skills/deepagents-setup-configuration/scripts/init_deep_agent_project.py my-agent --language python --template cli-config --path skills/
# JavaScript template
uv run skills/deepagents-setup-configuration/scripts/init_deep_agent_project.py my-agent --language javascript --template simple --path skills/
Templates currently supported by the script:
simplewith-subagentscli-configGenerated outputs include:
agent.py or agent.jstools/example_tools.py or tools/example_tools.js.env.exampleREADME.md.gitignorepyproject.toml (Python) or package.json (JavaScript)Run static validation before shipping examples/templates:
uv run skills/deepagents-setup-configuration/scripts/validate_deep_agent_config.py path/to/agent.py
uv run skills/deepagents-setup-configuration/scripts/validate_deep_agent_config.py path/to/agent.js
uv run skills/deepagents-setup-configuration/scripts/validate_deep_agent_config.py path/to/agent.ts
Validator behavior:
create_deep_agent(**kwargs), createDeepAgent(config)), with warning that some static checks are skipped.interrupt_on / interruptOn should be mapping/object, and requires checkpointer.Default middleware includes:
TodoListMiddlewareFilesystemMiddlewareSubAgentMiddlewareSummarizationMiddlewareAnthropicPromptCachingMiddlewarePatchToolCallsMiddlewareConditionally added middleware:
MemoryMiddleware when memory is setSkillsMiddleware when skills is setHumanInTheLoopMiddleware when interrupt_on / interruptOn is setagent = create_deep_agent(
model="anthropic:claude-sonnet-4-5-20250929", # string or model object
tools=[...],
system_prompt="...",
subagents=[...], # optional delegation specialists
middleware=[...], # optional custom middleware
store=store, # needed for StoreBackend patterns
backend=backend_factory, # State/Store/Filesystem/Composite
checkpointer=checkpointer # required for HITL interrupts
)
Backend guidance:
StateBackend (default): thread-scoped, ephemeral.StoreBackend: persistent files via LangGraph store (requires store=).CompositeBackend: route prefixes (common /memories/ -> StoreBackend).FilesystemBackend: direct disk access; use carefully, prefer virtual_mode=True with root_dir.If using human approval interrupts:
interrupt_on={...}interruptOn={...}InMemorySaver, MemorySaver, Sqlite/Postgres saver, etc.)langgraph.prebuilt.create_react_agent is deprecated in LangGraph v1.langchain.agents.create_agent.deepagents.create_deep_agent / createDeepAgent.deepagents is currently a pre-1.0 package, so minor-version upgrades may include API changes.deepagents versions.Before publishing this skill:
.env.example must stay placeholder-only).__pycache__/ and *.pyc from skill folders.agent.py / agent.js templates.StoreBackend route + store= wiring.create_agent or plain LangGraph.references/deep-agents-reference.md for detailed API and migration patterns.assets/templates/deep-agent-simple/ for minimal template files.assets/examples/basic-deep-agent/ for a fuller runnable example.tools
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
tools
Fetch, organize, and analyze LangSmith traces for debugging and evaluation. Use when you need to: query traces/runs by project, metadata, status, or time window; download traces to JSON; organize outcomes into passed/failed/error buckets; analyze token/message/tool-call patterns; compare passed vs failed behavior; or investigate benchmark and production failures.
tools
Use this skill when you need to test or evaluate LangGraph/LangChain agents: writing unit or integration tests, generating test scaffolds, mocking LLM/tool behavior, running trajectory evaluation (match or LLM-as-judge), running LangSmith dataset evaluations, and comparing two agent versions with A/B-style offline analysis. Use it for Python and JavaScript/TypeScript workflows, evaluator design, experiment setup, regression gates, and debugging flaky/incorrect evaluation results.
development
Design state schemas, implement reducers, configure persistence, and debug state issues for LangGraph applications. Use when users want to (1) design or define state schemas for LangGraph graphs, (2) implement reducer functions for state accumulation, (3) configure persistence with checkpointers (InMemorySaver/MemorySaver, SqliteSaver, PostgresSaver), (4) debug state update issues or unexpected state behavior, (5) migrate state schemas between versions, (6) validate state schema structure, (7) choose between TypedDict and MessagesState patterns, (8) implement custom reducers for lists, dicts, or sets, (9) use the Overwrite type to bypass reducers, (10) set up thread-based persistence for multi-turn conversations, or (11) inspect checkpoints for debugging.