Agent skill

Langchain Webhooks Events

by jeremylongshore in jeremylongshore/tons-of-skills-marketplace

Dispatch LangChain 1.0 chain/agent events to external systems — webhooks, Kafka, Redis Streams, SNS — via async fire-and-forget callbacks, subgraph-aware wiring, and HMAC-signed delivery with…

MITAuto-check passedBackend & APIs

Install Langchain Webhooks Events

skills CLI
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill langchain-webhooks-events -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jeremylongshore/tons-of-skills-marketplace langchain-webhooks-events --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/.curated/langchain-webhooks-events .claude/skills/langchain-webhooks-events && rm -rf skills-src

Use ~/.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/

Facts

Skill name
langchain-webhooks-events
GitHub stars
2.8k
Token cost
~3.9k tokens
SKILL.md length
1,052 words
Files
6 (incl. references)
Skills in repo
3,342
Repo updated
First seen
Licence
MIT

At a glance

Dispatch LangChain 1.0 chain/agent events to external systems — webhooks, Kafka, Redis Streams, SNS — via async fire-and-forget callbacks, subgraph-aware wiring, and HMAC-signed delivery with…

  • Works in 6 steps: Write an async handler that… → Pass callbacks via config so subgraphs… → Pick a dispatch target by delivery… → …
  • Firing webhooks on tool calls
  • SKILL.md covers Overview, Prerequisites, Instructions and Output, plus 3 more sections
  • Needs SIGNING_SECRET and WEBHOOK_SIGNING_SECRET

What it does

Langchain Webhooks Events is an agent skill from jeremylongshore/tons-of-skills-marketplace. Dispatch LangChain 1.0 chain/agent events to external systems — webhooks, Kafka, Redis Streams, SNS — via async fire-and-forget callbacks, subgraph-aware wiring, and HMAC-signed delivery with idempotency keys. Use when firing webhooks on tool calls, pushing telemetry to Kafka / Redis Streams, or fanning progress to multiple subscribers without blocking the chain. Trigger with "langchain webhook", "langchain event dispatch", "langchain callback kafka", "langchain pubsub", "langchain per-tool webhook"…

Its SKILL.md is about 3.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `references/async-callback-handler.md`, `references/dispatch-targets.md` and `references/idempotency-and-retry.md`). Compatibility notes: Designed for Claude Code

It sits in Backend & APIs, covering Webhooks, Building AI agents and Event-driven systems. It works with LangChain, Apache Kafka, Redis and LangGraph. The repository describes itself as: Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com. The licence is MIT.

When your agent uses it

  • Firing webhooks on tool calls
  • Pushing telemetry to Kafka / Redis Streams
  • Fanning progress to multiple subscribers without blocking the chain
  • With langchain webhook

Example prompts

  • “langchain webhook”
  • “langchain event dispatch”
  • “langchain callback kafka”
  • “/langchain-webhooks-events”

Requirements

  • Python 3
  • A credential in SIGNING_SECRET
  • A credential in WEBHOOK_SIGNING_SECRET
  • Compatibility (from SKILL.md): Designed for Claude Code
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Bash(python:*)

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Write an async handler that fire-and-forget dispatches
  2. Pass callbacks via config so subgraphs inherit them
  3. Pick a dispatch target by delivery semantics
  4. Filter events so you don't saturate the downstream
  5. Build idempotency keys and a retry budget
  6. Never dispatch from BackgroundTasks (P60)

What it can do on your machine

Read from SKILL.md and the folder at commit cfae287. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Bash(python:*)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • python.langchain.com
    • langchain-ai.github.io
    • fastapi.tiangolo.com
    • aiokafka.readthedocs.io
    • redis.io

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • SIGNING_SECRET
    • WEBHOOK_SIGNING_SECRET

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Designed for Claude Code

    From compatibility in the SKILL.md frontmatter.

Context cost

Langchain Webhooks Events loads about 3.9k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 154 tokens; SKILL.md has 1,052 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~154
When it runs · the whole SKILL.md, loaded when a task matches
~3.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~13k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from jeremylongshore/tons-of-skills-marketplace at commit cfae287, republished under its MIT licence (© jeremylongshore). 1,052 words, ~3,915 tokens.

Download SKILL.mdSave it as .claude/skills/langchain-webhooks-events/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
langchain-webhooks-events
description
Dispatch LangChain 1.0 chain/agent events to external systems — webhooks, Kafka, Redis Streams, SNS — via async fire-and-forget callbacks, subgraph-aware wiring, and HMAC-signed delivery with idempotency keys. Use when firing webhooks on tool calls, pushing telemetry to Kafka / Redis Streams, or fanning progress to multiple subscribers without blocking the chain. Trigger with "langchain webhook", "langchain event dispatch", "langchain callback kafka", "langchain pubsub", "langchain per-tool webhook", "BaseCallbackHandler webhook", "on_tool_end webhook", "langchain analytics event".
allowed-tools
Read, Write, Edit, Bash(python:*)
compatibility
Designed for Claude Code
version
2.7.0
license
MIT
author
Jeremy Longshore <jeremy@intentsolutions.io>
tags
saas, langchain, langgraph, python, langchain-1.0, webhooks, async, events, callbacks

LangChain Webhooks and Event Dispatch (Python)

Overview

A team wires per-tool webhook dispatch from their LangChain agent via FastAPI BackgroundTasks — analytics is always N seconds late because BackgroundTasks fire after the HTTP response closes, not during the stream (P60). Worse: the BaseCallbackHandler they attached via .with_config(callbacks=[h]) fires on the outer agent but is dark on the subagent's tool calls — custom callbacks are not inherited by LangGraph subgraphs (P28), they must be passed via config["callbacks"] at invoke time.

Pain-catalog anchors handled here:

  • P28 — Callbacks via with_config don't propagate to subgraphs
  • P46 — SSE streams dropped by buffering proxies (see langchain-langgraph-streaming)
  • P47 — astream_events(v2) emits thousands of events; never forward raw
  • P48 — Sync invoke() inside async endpoint blocks the event loop
  • P60 — BackgroundTasks fire post-response; wrong for per-event dispatch

This skill walks through an async AsyncCallbackHandler with fire-and-forget dispatch, per-target sinks for HTTP / Kafka / Redis Streams / SNS, HMAC-signed delivery with 1s/5s/30s retry and DLQ, idempotency keys = `run_id + event_type

  • step_index, andconfig["callbacks"]wiring that makes subagent calls visible. Typical webhook latency budget: <500ms per event. Pin:langchain-core 1.0.x, langgraph 1.0.x. Scope: server-to-server dispatch only — UI streaming is in langchain-langgraph-streaming`.

Prerequisites

  • Python 3.10+
  • langchain-core >= 1.0, < 2.0, langgraph >= 1.0, < 2.0
  • httpx >= 0.27 for async HTTP (or aiohttp)
  • One of: aiokafka, redis[hiredis] >= 5, aioboto3 (per target)
  • An event sink — a webhook endpoint, Kafka topic, Redis Stream, or SNS topic
  • A shared secret (for HMAC) stored in your secret manager, not env

Instructions

Step 1 — Write an async handler that fire-and-forget dispatches

Sync dispatch from a callback blocks the chain — a slow HTTP POST during on_tool_end serializes all downstream tokens behind it (P48). Use asyncio.create_task(...) so the dispatch runs alongside the chain:

python
import asyncio
import uuid
from typing import Any
from langchain_core.callbacks import AsyncCallbackHandler

class EventDispatchHandler(AsyncCallbackHandler):
    """Fire-and-forget dispatch to external sinks.

    IMPORTANT: subclass AsyncCallbackHandler (not BaseCallbackHandler) so
    on_* methods are awaited. Mixing sync and async handlers is a silent
    footgun — sync on_* blocks the event loop (P48).
    """

    def __init__(self, sink, *, run_id: str | None = None):
        self.sink = sink                      # dispatch target — Step 3
        self.run_id = run_id or str(uuid.uuid4())
        self._tasks: set[asyncio.Task] = set()

    def _dispatch(self, event_type: str, payload: dict, step_index: int) -> None:
        # Fire-and-forget. Keep a strong reference so the task isn't GC'd
        # mid-flight (asyncio quirk — orphan tasks get garbage-collected).
        task = asyncio.create_task(
            self.sink.send(
                idempotency_key=f"{self.run_id}:{event_type}:{step_index}",
                event_type=event_type,
                payload=payload,
            )
        )
        self._tasks.add(task)
        task.add_done_callback(self._tasks.discard)

    async def on_tool_end(self, output: Any, *, run_id, parent_run_id=None, **kwargs):
        # 4000 char cap — keep payload under typical webhook body limits
        # while preserving enough context for downstream analytics.
        MAX_OUTPUT_CHARS = 4000
        self._dispatch(
            "tool_end",
            {"output": str(output)[:MAX_OUTPUT_CHARS], "run_id": str(run_id)},
            step_index=kwargs.get("tags", []).__len__() or 0,
        )

    async def on_chain_end(self, outputs: dict, *, run_id, **kwargs):
        # Only named chains — skip the unnamed LCEL inner nodes (P47)
        name = kwargs.get("name")
        if not name or name.startswith("RunnableLambda"):
            return
        self._dispatch("chain_end", {"name": name, "run_id": str(run_id)}, step_index=0)

    async def drain(self, timeout: float = 5.0) -> None:
        """Call before process exit so in-flight dispatches complete."""
        if self._tasks:
            await asyncio.wait(self._tasks, timeout=timeout)

See Async Callback Handler for the full handler — on_llm_end, filtering, sync-vs-async decision.

Step 2 — Pass callbacks via config so subgraphs inherit them

P28: Runnable.with_config(callbacks=[h]) binds at definition and is not inherited by LangGraph subgraphs. Pass callbacks via config at invocation:

python
# WRONG — subagent tool calls never fire the handler
agent_with_handler = agent.with_config({"callbacks": [handler]})
await agent_with_handler.ainvoke({"messages": [...]})

# RIGHT — callbacks in config propagate into subgraphs
await agent.ainvoke(
    {"messages": [...]},
    config={"callbacks": [handler], "configurable": {"thread_id": "t1"}},
)

Validate propagation with a probe that counts events by kwargs["name"] and asserts the subagent's name appears. See Subgraph Propagation.

Step 3 — Pick a dispatch target by delivery semantics

Match the event to the transport:

TargetDeliveryTypical latencyUse whenFailure mode
HTTP webhookAt-least-once (with retry)50-500msPartner integrations, Zapier/Make, customer-owned endpointsEndpoint 5xx → retry 1s/5s/30s → DLQ
Kafka (aiokafka)At-least-once (idempotent producer)5-20ms intra-regionHigh-volume telemetry, analytics fan-inBroker unavailable → retry + local buffer
Redis Streams (XADD)At-least-once (consumer groups)1-5msNear-realtime worker queues, progress fan-outRedis down → retry or spill to disk
SNSAt-most-once (best-effort)10-100msFan-out to multiple SQS/Lambda subscribersBest-effort only; accept loss or front with SQS FIFO

Handler stays provider-agnostic; only the sink changes. A minimal HTTP sink:

python
import hashlib, hmac, json, os
import httpx

WEBHOOK_URL = os.environ["WEBHOOK_URL"]
SIGNING_SECRET = os.environ["WEBHOOK_SIGNING_SECRET"].encode()

class WebhookSink:
    # 256-bit HMAC — industry-standard signature strength (GitHub, Stripe use same)
    SIG_ALG = hashlib.sha256
    # Retry schedule: 1s absorbs transient blips, 5s absorbs brief 503s,
    # 30s absorbs autoscaler / cold-start incidents. Beyond 30s = stale event.
    RETRY_DELAYS = (1, 5, 30)
    REQUEST_TIMEOUT_S = 5.0

    def __init__(self, client: httpx.AsyncClient):
        self.client = client

    async def send(self, *, idempotency_key: str, event_type: str, payload: dict) -> None:
        body = json.dumps({"event": event_type, "data": payload}, sort_keys=True).encode()
        sig = hmac.new(SIGNING_SECRET, body, self.SIG_ALG).hexdigest()
        headers = {
            "Content-Type": "application/json",
            "Idempotency-Key": idempotency_key,
            "X-Signature-256": f"sha256={sig}",
        }
        for delay in self.RETRY_DELAYS:
            try:
                resp = await self.client.post(WEBHOOK_URL, content=body, headers=headers, timeout=self.REQUEST_TIMEOUT_S)
                if 200 <= resp.status_code < 300:
                    return
                if resp.status_code < 500 and resp.status_code != 429:
                    return  # 4xx (except 429) is not retryable
            except (httpx.TimeoutException, httpx.TransportError):
                pass
            await asyncio.sleep(delay)
        await self._dead_letter(idempotency_key, event_type, payload)

See Dispatch Targets for Kafka / Redis Streams / SNS sinks and per-target DLQ patterns.

Step 4 — Filter events so you don't saturate the downstream

astream_events(version="v2") emits thousands of events per invocation (P47). Never forward raw — dispatch only what the downstream consumes:

Callback methodTypical decisionWhy
on_llm_startSkipPrompt content often contains PII; low value without masking
on_llm_new_tokenSkip for dispatch (UI only)1 event per token; N/A to analytics
on_llm_endDispatch for named chains onlyToken usage, final response — high value, low volume
on_chain_startSkip (P47 noise)LCEL emits one per inner runnable
on_chain_endDispatch for named subgraphs onlyStage completion — what analytics cares about
on_tool_startOptional (dispatch for audit log)Matters for compliance / tool-use audit
on_tool_endDispatch alwaysThe key analytics signal in agent flows
on_agent_actionDispatchCleaner signal than on_tool_start in agent graphs
on_agent_finishDispatchTerminal event for the run

Rule of thumb: dispatch on_tool_end + named on_chain_end + on_llm_end. Everything else is noise.

Step 5 — Build idempotency keys and a retry budget

At-least-once transports mean duplicates. Build the key deterministically:

python
# run_id — unique per chain invocation (propagates into subgraphs)
# event_type — on_tool_end / on_chain_end / on_llm_end
# step_index — monotonic per-run counter you maintain in the handler

idempotency_key = f"{run_id}:{event_type}:{step_index}"

Retry budget: 1s → 5s → 30s (~36s total) then DLQ. Retry on 5xx / 429 / network only — 4xx (except 429) goes straight to DLQ. DLQ is a Redis Stream or S3 prefix keyed by YYYY/MM/DD/run_id/idempotency_key.json; alarm on depth growth. See Idempotency and Retry for HMAC verify, at-least-once vs at-most-once, and 24h de-dup window sizing.

Show full SKILL.md (395 more words)Show less
Step 6 — Never dispatch from BackgroundTasks (P60)

FastAPI BackgroundTasks run after the response closes — exactly wrong for per-event dispatch. Events must go out during the chain:

python
# WRONG — events fire all at once after the stream ends
@app.post("/chat")
async def chat(req: Request, bg: BackgroundTasks):
    bg.add_task(agent.ainvoke, {"messages": [...]})  # late + no streaming
    return {"status": "accepted"}

# RIGHT — handler fires during the chain, each on_tool_end dispatches immediately
@app.post("/chat")
async def chat(req: ChatReq):
    handler = EventDispatchHandler(sink=webhook_sink, run_id=req.run_id)
    try:
        result = await agent.ainvoke(
            {"messages": req.messages},
            config={"callbacks": [handler], "configurable": {"thread_id": req.thread_id}},
        )
    finally:
        await handler.drain(timeout=5.0)  # flush in-flight dispatches
    return {"result": result}

drain() awaits in-flight asyncio.create_task() dispatches up to 5s so events aren't lost when the pod scales down mid-request.

Output

  • Async BaseCallbackHandler subclass with asyncio.create_task() fire-and-forget
  • Callbacks wired via config["callbacks"] at invoke time (subgraph-safe)
  • Per-target sink abstraction: HTTP / Kafka / Redis Streams / SNS
  • HMAC-signed webhook payloads with 1s/5s/30s retry and DLQ fallback
  • Idempotency key = run_id + event_type + step_index
  • Event-taxonomy filter: dispatch on_tool_end + named on_chain_end + on_llm_end
  • drain() on shutdown to flush in-flight dispatches

Error Handling

ErrorCauseFix
Handler fires on outer agent but not subagentBound via with_config at definition (P28)Pass via config["callbacks"] at invoke(...) time
Webhook analytics lags generation durationBackgroundTasks fire post-response (P60)Dispatch from the callback handler, never from BackgroundTasks
Browser / Kafka saturates on long generationsForwarded astream_events(v2) raw (P47)Filter events server-side; dispatch only on_tool_end/on_chain_end/on_llm_end
SSE stream hangs, no end eventProxy buffering (P46)Set X-Accel-Buffering: no — see langchain-langgraph-streaming
Event loop freezes on slow webhookSync POST in callback (P48)Subclass AsyncCallbackHandler; use asyncio.create_task()
Duplicate events downstreamAt-least-once dispatch + retryReceiver dedupes on Idempotency-Key header with 24h cache
Orphan asyncio.create_task never runsGC collected the taskHold a strong reference in self._tasks and discard on completion
Events lost on pod shutdownIn-flight tasks cancelledCall await handler.drain(timeout=5.0) in endpoint finally block
4xx webhook errors retrying 3xRetry logic retrying everythingRetry only on 5xx / 429 / network; 4xx goes straight to DLQ
Signature verification fails on receiverBody re-serialized with different key orderSign the exact bytes you send; use sort_keys=True in json.dumps

Examples

Named subgraph dispatch with a LangGraph agent

Planner subagent runs search_docs → summarize; outer agent needs a webhook on summarize completion. Full wiring in Subgraph Propagation.

Fan-out: webhook + Kafka + Redis Streams in one invocation

CompositeSink dispatches to multiple child sinks via asyncio.gather(..., return_exceptions=True) — one sink's failure doesn't block others. See Dispatch Targets.

HMAC-signed webhook receiver with de-dup

Verify X-Signature-256, SETNX Idempotency-Key against Redis with 24h TTL, 200 on both replay and first-seen. See Idempotency and Retry.

Resources

© jeremylongshore, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (references) in skills/.curated/langchain-webhooks-events of jeremylongshore/tons-of-skills-marketplace.

  • SKILL.md
  • references/async-callback-handler.md
  • references/dispatch-targets.md
  • references/idempotency-and-retry.md
  • references/one-pager.md
  • references/subgraph-propagation.md

Open the folder on GitHubat commit cfae287

Compare with similar skills

Langchain Webhooks Events 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.

Langchain Webhooks Events compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Langchain Webhooks Events this skilljeremylongshore/tons-of-skills-marketplace2.8k—~3.9kAutomated safety check: PassMIT
Langsmith Deploymentsoba-labs/langchain-agent-skills107—~1.7kAutomated safety check: PassMIT
FoundatioFoundatioFx/Foundatio2.1k—~3.9kAutomated safety check: PassApache-2.0
Stripe Best Practiceskanchengw/cnllm1732 repos~925Automated safety check: PassApache-2.0
Create Environmentgodatadriven/whirl205—~1.9kAutomated safety check: PassApache-2.0
Monstermq Graphql Configvogler75/monster-mq143—~2.3kAutomated safety check: PassGPL-3.0

Similar skills

  • Langsmith Deployment

    soba-labs/langchain-agent-skills

    Deploy and operate production agent servers with LangSmith Deployment.

    107 GitHub stars~1.7k tokensUpdated 1 mo ago
    AI & LLM EngineeringAuto-check passed
  • Foundatio

    FoundatioFx/Foundatio

    A skill your agent uses when working with Foundatio infrastructure abstractions for .NET -- caching, queuing, messaging, file storage, distributed locking, or background jobs.

    2.1k GitHub stars~3.9k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • Stripe Best Practices

    kanchengw/cnllm

    Guides Stripe integration decisions — API selection (Checkout Sessions vs PaymentIntents), Connect platform setup (Accounts v2, controller properties), billing/subscriptions, Treasury financial…

    173 GitHub starsUsed in 2 repos~925 tokens
    Backend & APIsAuto-check passed
  • Create Environment

    godatadriven/whirl

    Create a new Whirl environment in the envs/ directory. An agent skill from godatadriven/whirl.

    205 GitHub stars~1.9k tokensUpdated 9 days ago
    Backend & APIsAuto-check passed
  • Monstermq Graphql Config

    vogler75/monster-mq

    Guide for configuring, managing, and mutating MonsterMQ settings, devices, flows, AI agents, users, loggers, archive groups, topic schemas, and publishing messages via the GraphQL API.

    143 GitHub stars~2.3k tokensUpdated today
    Backend & APIsAuto-check passed
  • 当需要为 funboost 任务选择消息中间件时使用。触发场景:对比 Redis/RabbitMQ/Kafka/本地队列、配置 broker 连接、设置 brokerexclusiveconfig。关键词:BrokerEnum, brokerkind, Redis, RabbitMQ, Kafka, MQTT, 中间件选型, 消息队列选择。

    895 GitHub stars~1.2k tokensUpdated 2 mo ago
    Backend & APIsAuto-check passed

More from jeremylongshore/tons-of-skills-marketplace

All 3,342 skills in this repo
  • Performing Security Code Review

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to conduct a security-focused code review using the security-agent plugin.

    2.8k GitHub starsUsed in 2 repos~1.3k tokens
    Auto-check: notes
  • Adapting Transfer Learning Models

    jeremylongshore/tons-of-skills-marketplace

    Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Agent Context Loader

    jeremylongshore/tons-of-skills-marketplace

    Execute proactive auto-loading: automatically detects and loads agents.md files.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Aggregating Performance Metrics

    jeremylongshore/tons-of-skills-marketplace

    Aggregate and centralize performance metrics from applications, systems, databases, caches, and services.

    2.8k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Analyzing Capacity Planning

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to analyze capacity requirements and plan for future growth.

    2.8k GitHub stars~947 tokensUpdated today
    Auto-check passed
  • Analyzing Database Indexes

    jeremylongshore/tons-of-skills-marketplace

    Process use when you need to work with database indexing. An agent skill from jeremylongshore/tons-of-skills-marketplace.

    2.8k GitHub stars~2k tokensUpdated today
    Auto-check passed

Questions about Langchain Webhooks Events

What does Langchain Webhooks Events do?

Dispatch LangChain 1.0 chain/agent events to external systems — webhooks, Kafka, Redis Streams, SNS — via async fire-and-forget callbacks, subgraph-aware wiring, and HMAC-signed delivery with…. Langchain Webhooks Events is an agent skill from jeremylongshore/tons-of-skills-marketplace.0 chain/agent events to external systems — webhooks, Kafka, Redis Streams, SNS — via async fire-and-forget callbacks, subgraph-aware wiring, and HMAC-signed delivery with idempotency keys.

When should I use Langchain Webhooks Events?

Langchain Webhooks Events fits situations like: firing webhooks on tool calls; pushing telemetry to Kafka / Redis Streams; fanning progress to multiple subscribers without blocking the chain; with langchain webhook.

How do I install Langchain Webhooks Events in Claude Code?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill langchain-webhooks-events -a claude-code`. Or copy the skill folder (skills/.curated/langchain-webhooks-events in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/langchain-webhooks-events in your project. Claude Code loads it when a task matches its description.

How do I install Langchain Webhooks Events in Codex?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill langchain-webhooks-events -a codex`. Or copy the skill folder (skills/.curated/langchain-webhooks-events in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/langchain-webhooks-events in your project. Codex loads it when a task matches its description.

Can I use Langchain Webhooks Events in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill langchain-webhooks-events -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/langchain-webhooks-events, .gemini/skills/langchain-webhooks-events, .github/skills/langchain-webhooks-events and .opencode/skills/langchain-webhooks-events in your project.

What does Langchain Webhooks Events need to run?

Going by SKILL.md and its folder, Langchain Webhooks Events needs credentials named SIGNING_SECRET and WEBHOOK_SIGNING_SECRET. Our summary lists: Python 3; A credential in SIGNING_SECRET; A credential in WEBHOOK_SIGNING_SECRET. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash(python:*). Compatibility (from SKILL.md): Designed for Claude Code.

Does Langchain Webhooks Events access the network?

SKILL.md names 5 domains. As links in the text: python.langchain.com, langchain-ai.github.io, fastapi.tiangolo.com, aiokafka.readthedocs.io and redis.io. This is read from the text; nothing was executed.

Is Langchain Webhooks Events safe to install?

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.

What licence does Langchain Webhooks Events use?

Langchain Webhooks Events is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Langchain Webhooks Events use?

About 3.9k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 9k tokens, read only when the agent opens those files.

What are the alternatives to Langchain Webhooks Events?

Skills that share tags, products or a category with Langchain Webhooks Events: Langsmith Deployment (soba-labs/langchain-agent-skills, 107 stars), Foundatio (FoundatioFx/Foundatio, 2.1k stars), Stripe Best Practices (kanchengw/cnllm, 173 stars) and Create Environment (godatadriven/whirl, 205 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Langchain Webhooks Events?

jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,827 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 10, 2026.

Source: jeremylongshore/tons-of-skills-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.