CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

apm-integrations

dd-trace-py integration development guide. Use when creating, modifying, or debugging contrib integrations in the Python tracer. Covers the patch module system, context_with_data, context_with_event (new), registration, testing through the repository test runner, and common anti-patterns. LLM/AI integrations should use this skill for APM-side workflow only; use llmobs-integrations for LLMObs-specific lifecycle, extraction, streaming, and VCR guidance. Pin is DEPRECATED. Triggers: "dd-trace-py", "ddtrace", "contrib", "integration", "patch.py", "trace_handlers", "PATCH_MODULES", "context_with_data", "context_with_event", "TracingEvent", "VCR", "cassette", "generative-ai", "LLM integration", "run-tests", "suitespec", "new integration", "wrap", "unwrap", "manifest.yaml", "integration manifest".

Quality

88%

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

SKILL.md
Quality
Evals
Security

Quality

Content

78%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 well-structured, largely lean overview with a clear workflow, concrete file-level guidance, and verified one-level-deep references. The main costs are basic typing rules that could be trimmed and the absence of any inline code snippet for the preferred context_with_event pattern. Progressive disclosure is exemplary.

Suggestions

Trim the Type Annotations section to project-specific conventions (wrapt signature, lint-skill invocation, type: ignore policy) and drop generic typing basics Claude already knows.

Add a minimal inline code snippet showing the preferred context_with_event / TracingEvent wrapper shape, so the body demonstrates the recommended pattern without opening the reference guide.

Fix the step-1 pointer "(see tables above)" — the category tables live in references/reference-integrations.md, not in SKILL.md — and clarify what "This clears the Rust target directory" refers to in the Native Extension section.

DimensionReasoningScore

Conciseness

The body is dense with project-specific facts (paths, exports, registration dicts) and avoids explaining how tracing works, but the Type Annotations section spells out basics Claude already knows: "Use Optional[X] for nullable parameters", "Use parameterized generics: dict[str, Any] ... not bare dict", "Import types from typing where needed".

4 / 5

Actionability

Concrete guidance throughout — exact paths ("ddtrace/contrib/internal/{name}/patch.py"), required exports ("patch() -> None, unpatch() -> None, get_version() -> str"), registration targets (PATCH_MODULES, registry.yaml, INTEGRATION_CONFIGS), and runnable commands ("scripts/lint typing", "DD_TRACE_DEBUG=true") — but all code patterns are deferred to reference files, leaving minor gaps in the body itself.

4 / 5

Workflow Clarity

The 7-step Implementation Workflow is clearly sequenced and ends with validation checkpoints ("Write tests", "Run tests -- Use the run-tests skill", "Lint -- Use the lint skill"), and the Debugging section maps symptoms to fixes; however feedback loops are implicit (no explicit validate-then-proceed phrasing) and the Native Extension section's "This clears the Rust target directory" lacks a stated referent.

4 / 5

Progressive Disclosure

The body is an overview that delegates detail to four well-signaled, one-level-deep references (implementation-guide.md, reference-integrations.md, design-decisions.md, anti-patterns.md), all of which exist in the bundle and do not nest further; content is appropriately split and navigation is easy.

5 / 5

Total

17

/

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 strong description: concrete capabilities, an explicit Use-when clause, a comprehensive natural-term trigger list, and clear boundary guidance against the llmobs-integrations skill. Third-person voice is maintained throughout. Minor room to tighten by trimming the deprecation aside and consolidating the boundary sentences.

DimensionReasoningScore

Specificity

Lists several concrete actions and covered subsystems ("creating, modifying, or debugging contrib integrations", "patch module system, context_with_data, context_with_event (new), registration, testing ... and common anti-patterns"), with minor gaps; the deprecation note and llmobs boundary sentences dilute the action list slightly.

4 / 5

Completeness

Clearly answers both what ("dd-trace-py integration development guide. ... Covers the patch module system, ... registration, testing ... and common anti-patterns") and when ("Use when creating, modifying, or debugging contrib integrations in the Python tracer") with a concrete trigger list.

5 / 5

Trigger Term Quality

Explicit trigger list covers natural terms users would say, with synonyms and file names: "dd-trace-py", "ddtrace", "contrib", "integration", "patch.py", "new integration", "wrap", "unwrap", "manifest.yaml", "integration manifest", "suitespec", "run-tests".

5 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (dd-trace-py contrib integrations) and explicitly disambiguates from the sibling skill: "use llmobs-integrations for LLMObs-specific lifecycle, extraction, streaming, and VCR guidance"; repo-specific triggers minimize wrong-skill activation.

5 / 5

Total

19

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 4 suspicious

Warning

referenced_paths_exist

Referenced path issues: 4 missing, 3 deeper-than-1-level

Warning

Total

14

/

16

Passed

Repository

DataDog/dd-trace-py

Path

.claude/skills/apm-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.