CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

llmobs-integrations

Create or modify LLMObs integration lifecycle, extraction, streaming, usage metrics, and tests.

Quality

78%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.agents/skills/llmobs-integrations/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

80%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a lean, highly actionable overview with excellent progressive disclosure: real identifiers, precise paths, and well-labeled one-level-deep references that all exist. Its weakest point is workflow clarity — the content is organized by concern rather than as a sequenced create/modify workflow with explicit validation checkpoints in the body.

Suggestions

Add a short ordered workflow for the two main tasks (e.g., new integration: pick matching pattern -> create BaseLLMIntegration subclass -> register via integration_hooks -> run LLMObs suite) so the sequence is explicit rather than implicit.

Include an explicit validation checkpoint in the body, such as "run tests/contrib/<name>/test_<name>_llmobs.py via scripts/run-tests before finishing", instead of deferring all verification to the testing-guide reference.

Consider moving the per-provider finish_reason source table into the implementation guide, keeping only the key contract (finish_reason, merge/omit/join rules) in the body.

DimensionReasoningScore

Conciseness

The body is dense and almost entirely repo-specific (paths, invariants, key names) with no explanation of concepts Claude already knows, matching "efficient; minor instances that could be trimmed". The ~30-line Response Metadata section with its provider table is detail that could partly live in the implementation guide, keeping it below the lean-everywhere anchor 5.

4 / 5

Actionability

Guidance is fully concrete: exact file paths (ddtrace/llmobs/_contrib/<name>/, ddtrace/llmobs/_integrations/utils.py), real identifiers (_annotate_llmobs_span_data(), _openai_finish_reason_metadata(), submit_to_llmobs), a field checklist table, and provider-specific finish_reason sources with merge/omit/join rules. Per the instruction-only scoring note, absence of code is not penalized when guidance is this actionable, and the common cases are covered.

5 / 5

Workflow Clarity

The body is organized by concern (ownership/references, invariants, extraction checklist, metadata rules) rather than as an ordered create-or-modify sequence, and validation checkpoints are absent from the body itself — running the LLMObs test suites is only implied via the testing-guide reference. This matches "sequence present but checkpoints missing or implicit"; it is not 2 because the invariants and checklist impose substantial structure, and not 4 because no explicit step order or verification step appears in the body.

3 / 5

Progressive Disclosure

The body is an overview whose four links (implementation-guide.md, failure-modes.md, testing-guide.md, nova-sonic.md) all exist in references/, are one level deep, and are labeled and routed with "Read only the reference relevant to the change". Implementation detail, failure fixes, and test commands are appropriately split into those files, matching the well-signaled one-level-deep anchor; the single cross-skill pointer in implementation-guide.md delegates shared content to the owning apm-integrations skill rather than nesting this bundle's content.

5 / 5

Total

17

/

20

Passed

Description

66%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is specific and domain-scoped with good trigger keywords for the LLMObs integration niche. Its main weakness is the absence of any "Use when..." trigger clause, which caps completeness, and it lacks synonym coverage for broader discoverability.

Suggestions

Add an explicit trigger clause, e.g., "Use when working on ddtrace LLM/AI integrations, span payload extraction, or LLMObs test suites."

Include a few natural synonyms such as "LLM observability" or "tracing" so users phrasing the need differently still match.

Mention the companion apm-integrations boundary (e.g., "contrib patching and suite plumbing belong to apm-integrations") to reduce overlap risk.

DimensionReasoningScore

Specificity

"Create or modify LLMObs integration lifecycle, extraction, streaming, usage metrics, and tests" names the domain plus several concrete action areas (lifecycle, extraction, streaming, metrics, tests), matching the "several specific actions; minor gaps" anchor. It falls short of 5 because the actions are aspect-level labels rather than fully elaborated concrete actions, and above 3 because coverage goes beyond 1-2 actions.

4 / 5

Completeness

The "what" is clear (create or modify integration lifecycle, extraction, streaming, usage metrics, tests) but there is no "Use when..." clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines. It is not 2 because the "what" is specific rather than vague.

3 / 5

Trigger Term Quality

Terms like "LLMObs integration", "extraction", "streaming", "usage metrics", and "tests" are natural phrases a user working on this domain would say, giving good keyword coverage. Not 5 because common synonyms and variations (e.g., "LLM observability", "tracing", "spans", "datadog", "token usage") are missing.

4 / 5

Distinctiveness Conflict Risk

"LLMObs" pins a clear niche with distinct triggers, but the generic word "integration" creates minor overlap risk with the closely related apm-integrations skill that the body says covers the same contrib patching. Not 5 due to that recognized overlap; not 3 because the LLMObs qualifier makes confusion unlikely.

4 / 5

Total

15

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

DataDog/dd-trace-py

Path

.agents/skills/llmobs-integrations/SKILL.md

Reviewed

Table of Contents

Is this your skill?

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.