Deep Agents is an extensible agent harness that provides an out-of-the-box agent for long, multi-step tasks, with features such as planning, sub-agents, filesystem access, context management, memory, and human approval of tool calls. It is used by developers building agents with different language models, and its catalogue entries extend the harness with reusable skills, MCP servers, and instructions.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/langchain-ai/deepagents/deepagents-thread-inspectornpx skills add langchain-ai/deepagents --skill deepagents-thread-inspectorgit clone --depth 1 https://github.com/langchain-ai/deepagentsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/langchain-ai/deepagents/deepagents-thread-inspector)<a href="https://agentmods.dev/skills/langchain-ai/deepagents/deepagents-thread-inspector"><img src="https://agentmods.dev/badge/skills/langchain-ai/deepagents/deepagents-thread-inspector.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00082 | $0.00686 |
| Opus 5 | $0.00041 | $0.00343 |
| Sonnet 5 | $0.00016 | $0.00137 |
| Haiku 4.5 | $0.00008 | $0.00069 |
Grade A, and why
deepagents-thread-inspector scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 51 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Deep Agents Thread Inspector
If LangSmith tooling is available for a traced thread, prefer it. Otherwise, use scripts/inspect_sessions.py instead of manually decoding database blobs. It opens the database read-only and deserializes the root message channel with LangGraph's strict MsgPack loader — reading the materialized messages from the latest checkpoint, or replaying writes in checkpoint order when that fast path is unavailable — and emits JSON.
Inspect local state
Resolve SKILL_DIR to the directory containing this SKILL.md; do not assume a user, project, or installation-specific location. Start with the smallest useful view:
python3 "$SKILL_DIR/scripts/inspect_sessions.py" THREAD_ID --mode latest-turn
A unique thread-ID prefix is accepted. Select another view when needed:
python3 "$SKILL_DIR/scripts/inspect_sessions.py" THREAD_ID --mode summary
python3 "$SKILL_DIR/scripts/inspect_sessions.py" THREAD_ID --mode transcript
Use --include-metadata only when run, repository, model, checkpoint, or LangGraph metadata matters. Use --max-content N to raise or lower the default 4,000-character limit per message, tool result, or tool-call argument.
If the user does not know the ID, list recent threads first:
python3 "$SKILL_DIR/scripts/inspect_sessions.py" --list 20
Pass --db PATH only for a non-default session store. The default is $DEEPAGENTS_HOME/.state/sessions.db, or ~/.deepagents/.state/sessions.db when that variable is unset. DEEPAGENTS_SESSIONS_DB overrides both. The script applies the same rules dcode does, so a relative or ~user value is rejected rather than resolved to a database dcode never writes.
Explain the result
Synthesize the JSON rather than pasting it verbatim.
- State the user's request, the assistant's conclusion, and significant tool actions or failures.
- Distinguish stored facts from your interpretation.
- For the latest turn, describe only the final user message and subsequent activity unless earlier context is required to make it understandable.
- Mention truncation when a relevant record has
content_truncatedorargs_truncatedset. - Surface reconstruction problems when the result includes a top-level
warningsarray (for example, a corrupt checkpoint, a skipped write, or malformed metadata) so conclusions are appropriately hedged. - Do not expose unrelated credentials, tokens, personal data, or hidden reasoning that may appear in local records.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 51 lines · 82 tokens per session scan A 81cd94a5df4b
deepagents-thread-inspector is a skill published in the GitHub repository langchain-ai/deepagents (28,997 stars, last pushed today), licensed MIT. It adds 82 tokens to every session and 686 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
stripe-projects
Use when the user wants to provision infrastructure or third-party services using Stripe Projects. Triggers: "I need a database", "set up auth", "add caching", "give me a Postgres", "provision Redis", "I need hosting", "add a vector DB", "get me an API key for X", "get credentials for X", "sign up for a service", "set…
monitoring-ingestion-pipeline
Guide for using the Grafana MCP to monitor and diagnose the Node.js ingestion pipeline workers in production. Use when investigating event lag, drops, pipeline errors, person/group processing, Kafka consumer health, Redis, Postgres, ClickHouse downstream health, or any ingestion worker question. Covers prod-us and…
monitoring-capture-service
Guide for using the Grafana MCP to monitor and diagnose the capture service (rust/capture) in production. Use when investigating latency, event loss, Kafka backpressure, Redis issues, rate limiting, Envoy proxy issues, or any capture health question. Covers prod-us and prod-eu environments.
django-migrations
Django migration patterns and safety workflow for PostHog. Use when creating, adjusting, or reviewing Django/Postgres migrations, including non-blocking index/constraint changes, multi-phase schema changes, data backfills, migration conflict rebasing, and product model moves that require SeparateDatabaseAndState. Also…
adding-warehouse-person-properties
Sync columns from a synced data warehouse table onto PostHog person or group properties, so warehouse data becomes usable anywhere person and group properties already work: feature flag targeting, cohorts, insight filters and breakdowns, surveys, session replay filters, workflows, and the person profile. Use when the…
adding-personhog-rpc
Guide for adding a new RPC to personhog-replica and personhog-router. Covers eligibility checks, proto definition, code generation for Python and Node.js clients, Rust implementation (storage trait, postgres queries, service handler, router wiring), and index compatibility validation. Use when adding a new gRPC…