What problem does it solve? Building production LangChain agents often requires pausing execution before dangerous tool calls for human approval, intercepting tool calls for retry or guard logic, and resuming interrupted runs correctly. This Skill provides the exact middleware patterns, hook signatures, and resume syntax needed to implement these controls without trial and error. ## Core Features & Use Cases - Human-in-the-Loop Approval: Configure HumanInTheLoopMiddleware with per-tool policies (approve, edit, reject) so sensitive actions like sending emails or deleting data pause for human review. - Custom Middleware Hooks: Use wrap_tool_call, before_model, after_model, before_agent, and after_agent hooks to add retry logic, logging, and short-circuit guards around tool and model execution. - Interrupt Resume Patterns: Resume interrupted agents with Command objects, including editing tool arguments or rejecting calls with feedback. - Use Case: You are building an agent that can send emails and delete records. Use this Skill to require approval before sending, allow only approve/reject for deletions, and let read operations run freely, all backed by a checkpointer and thread_id. ## Quick Start Ask the agent to set up a LangChain agent with human-in-the-loop approval that pauses before calling a send_email tool and resumes after an approve decision.