Implement LangChain callback handlers, streaming, webhooks, Server-Sent Events (SSE), and WebSocket integration. Trigger: "langchain callbacks", "langchain webhooks", "langchain events", "langchain streaming", "langchain SSE", "WebSocket LLM".
61
73%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/saas-packs/langchain-pack/skills/langchain-webhooks-events/SKILL.mdQuality
Discovery
82%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong description with excellent specificity and trigger term coverage for LangChain callback and streaming integration. Its main weakness is the lack of an explicit 'Use when...' clause, relying instead on a 'Trigger:' keyword list which partially fulfills the same purpose but doesn't meet the rubric's standard for completeness.
Suggestions
Replace the 'Trigger:' list with a natural 'Use when...' sentence, e.g., 'Use when the user needs to implement LangChain callback handlers, streaming responses, webhooks, SSE, or WebSocket integration with LLMs.'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'callback handlers', 'streaming', 'webhooks', 'Server-Sent Events (SSE)', and 'WebSocket integration' — all clearly defined technical capabilities. | 3 / 3 |
Completeness | The 'what' is clearly answered with specific capabilities. However, there is no explicit 'Use when...' clause — the 'Trigger:' list partially serves this purpose but doesn't clearly state when Claude should select this skill in a natural sentence form, which caps this at 2 per the rubric guidelines. | 2 / 3 |
Trigger Term Quality | Includes explicit trigger terms that users would naturally say: 'langchain callbacks', 'langchain webhooks', 'langchain events', 'langchain streaming', 'langchain SSE', 'WebSocket LLM'. These cover natural variations well. | 3 / 3 |
Distinctiveness Conflict Risk | The description is highly specific to LangChain callback/event/streaming patterns, which is a clear niche. The trigger terms are all prefixed with 'langchain' making it very unlikely to conflict with generic streaming or webhook skills. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid reference skill with high actionability — all code examples are executable and cover the key event-driven patterns well. The main weaknesses are its length (could benefit from splitting into separate files for each pattern) and the lack of explicit workflow guidance for choosing between patterns or validating implementations. The error handling table is a nice touch but could be better integrated.
Suggestions
Split the SSE, WebSocket, and Trace Aggregation sections into separate referenced files to improve progressive disclosure and reduce the main file's token footprint.
Add a brief decision guide at the top (e.g., 'Use SSE for HTTP streaming, WebSocket for bidirectional communication, callbacks for logging/tracing') to improve workflow clarity.
Include a validation step or smoke test example (e.g., a simple test to verify callbacks are firing) to strengthen workflow clarity for integration scenarios.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is mostly efficient with executable code examples, but it's quite long (~200 lines of code) and some patterns are repetitive (SSE and WebSocket sections are structurally very similar). The callback handler architecture diagram is useful, but the overall document could be tightened. | 2 / 3 |
Actionability | All code examples are fully executable TypeScript with proper imports, concrete class implementations, and clear usage patterns. The webhook handler, SSE endpoint, WebSocket server, and trace aggregator are all copy-paste ready with real library APIs. | 3 / 3 |
Workflow Clarity | The callback architecture diagram provides a clear event hierarchy, and individual code blocks are well-structured. However, there's no explicit workflow for integrating these patterns (e.g., when to choose SSE vs WebSocket), no validation/testing steps, and the error handling table is helpful but disconnected from the code examples. | 2 / 3 |
Progressive Disclosure | The document is well-sectioned with clear headers, but it's monolithic — all patterns (callbacks, SSE, WebSocket, tracing) are inline in one large file. The SSE client-side consumer and trace aggregator could be split into referenced files. The Resources section provides external links but no internal file references for deeper content. | 2 / 3 |
Total | 9 / 12 Passed |
Validation
81%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
allowed_tools_field | 'allowed-tools' contains unusual tool name(s) | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 9 / 11 Passed | |
a04d1a2
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.