CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

llmobs-testing

Use when writing, modifying, or debugging tests for an LLMObs plugin in dd-trace-js. Triggers: "write LLMObs tests", "test an LLMObs plugin", "assertLlmObsSpanEvent", "useLlmObs", "getEvents", any MOCK_* matcher ("MOCK_STRING" / "MOCK_NOT_NULLISH" / "MOCK_NUMBER" / "MOCK_OBJECT"), "VCR cassette", "vcr proxy", "127.0.0.1:9126", "record a cassette", "test:llmobs:plugins".

73

Quality

92%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

86%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.

A strong, information-dense skill body: exact commands, paths, and field semantics with near-zero filler, and a clean overview-to-references split where every referenced file is real and one level deep. The main improvements are de-duplicating the category/strategy mapping between the top block and section 3, and surfacing an explicit 'run the single integration' validation step into the inline workflow.

Suggestions

Merge the top 'Decide how each instrumented surface gets its responses' block with section 3, which repeats the same category-to-strategy mapping and span-kind assignments, keeping the body shorter.

Add an explicit inline validation step (e.g., 'Verify with npm run test:llmobs:plugins -- <integration>') at the end of the test-file workflow rather than leaving run commands only in vcr-cassettes.md.

Tighten the phrasing of the opening section ('That choice picks the response source and test setup') to a direct statement, since the current construction is slightly harder to parse than the rest of the body.

DimensionReasoningScore

Conciseness

Dense and competence-assuming throughout — no background on dd-trace-js, spans, or testing basics — with exact paths, ports, and commands. The category-to-strategy mapping is stated twice (the top block and section 3 'Response Strategy And Operation Kind'), which is trimmable redundancy keeping it below a 5.

4 / 5

Actionability

Fully executable: 'docker compose up -d testagent', the proxy baseURL with provider substitution, exact cassette and spec file paths, matcher-by-matcher semantics, required/optional field lists, and copy-paste snippets ('error: {}', assert.strictEqual on error.message).

5 / 5

Workflow Clarity

The basic test flow is explicitly numbered (init -> call -> getEvents -> assert) and file organization is sequenced, and the ECONNREFUSED-to-missing-container troubleshooting acts as a failure diagnostic. Below a 5 because no inline validation checkpoint tells the author to run the single integration to verify the result — that step lives in a reference file rather than the sequence.

4 / 5

Progressive Disclosure

Every section ends with a clearly signaled one-level-deep link ('See [references/...]') and all four referenced files exist with substantive content (85-314 lines), cross-linking only laterally within references/. The body stays an overview while details are properly split out.

5 / 5

Total

18

/

20

Passed

Description

95%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.

A highly effective description: explicit use-when clause, a named repo/domain, and an unusually rich trigger list built from helper names, matchers, ports, and script names. The only weakness is that capabilities are implied through triggers rather than stated as a separate what-statement.

Suggestions

Optionally open with a one-sentence capability statement (e.g., 'Write and debug LLMObs plugin tests: cassettes, span assertions, test structure.') before the 'Use when' clause so the what is stated independently of the trigger list.

DimensionReasoningScore

Specificity

Concrete actions are named ('writing, modifying, or debugging tests for an LLMObs plugin in dd-trace-js') alongside highly specific technical items (assertLlmObsSpanEvent, MOCK_* matchers, 127.0.0.1:9126, test:llmobs:plugins). Not a 5 because the skill's capabilities are carried entirely by the trigger list rather than a distinct capability statement covering what the skill provides.

4 / 5

Completeness

Explicitly answers both: what — 'writing, modifying, or debugging tests for an LLMObs plugin in dd-trace-js' with named helpers, and when — an explicit 'Use when...' clause plus a concrete trigger list. Anchor 4's caveat ('when could be more explicit') does not apply here.

5 / 5

Trigger Term Quality

Comprehensive natural and technical coverage: user phrases ('write LLMObs tests', 'test an LLMObs plugin', 'record a cassette'), helper names, every MOCK_* matcher, the proxy port, and the npm script name. Matches the anchor's comprehensive-coverage-with-synonyms bar.

5 / 5

Distinctiveness Conflict Risk

Clear niche (LLMObs plugin testing in dd-trace-js) with triggers anchored to unique identifiers like the 127.0.0.1:9126 proxy, assertLlmObsSpanEvent, and test:llmobs:plugins — minimal conflict risk with any other skill.

5 / 5

Total

19

/

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-js

Path

.agents/skills/llmobs-testing/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.