CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

maple-agent-tracing-openai-agents

Trace OpenAI Agents SDK agents with Maple: bridges the SDK's tracing to OpenTelemetry with OpenInference (GenAI attributes on), wraps each run in using_session so each chat is one Maple Agent Session with transcript, tool calls, handoffs, sub-agent lanes and tokens. TypeScript (@openai/agents) via the OpenInference JS bridge with gen_ai.conversation.id in context. Triggers on 'trace my openai agents sdk agent', 'add Maple to openai-agents', 'add Maple to @openai/agents', 'agent sessions for OpenAI Agents SDK', 'OpenTelemetry for openai agents'.

Quality

91%

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

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

An exceptionally actionable, well-sequenced procedure document with complete executable code for both Python and TypeScript and a symptom-to-cause verification checklist. Its weaknesses are purely structural: everything (~290 lines, two language paths) lives inline in SKILL.md with no reference files, and version/date pins are scattered rather than consolidated.

Suggestions

Move the TypeScript path (Step 2e) and the raw span attribute reference (end of Step 7) into references/ files (e.g. references/typescript.md, references/span-attributes.md), keeping a short 'TypeScript: see references/typescript.md' pointer in Step 2e's place.

Consolidate the scattered version pins ('verified 0.22.3', 'Verified 2026-09-29: @openai/agents 0.18.0, ...') into a single 'Verified versions' block in Step 0 so they can be updated in one place.

Trim the duplicated explanation of the two MapleSpanFixes gaps between Step 2c's bullet list and Step 5's handoffs/streaming bullets to one canonical explanation with a cross-reference.

DimensionReasoningScore

Conciseness

Almost every line carries non-obvious, verified specifics (endpoint /v1/traces appending, exclusive_processor ordering, NODE_ENV=test disabling tracing, per-deployment flush patterns) with no padding or explanation of concepts Claude already knows. Minor trimmable instances remain: inline version/date pins ("Verified 2026-09-29: @openai/agents 0.18.0, ...") and some repetition of the handoff/streamed-output fixes between Step 2c and Step 5.

4 / 5

Actionability

Fully executable, copy-paste-ready guidance throughout: the complete tracing.py with the full MapleSpanFixes class, the TypeScript instrumentation.ts and setAttributes usage, exact env blocks, install commands with version floors, per-environment flush code, and a concrete verification procedure. Specific examples cover the common cases (Python, TypeScript, non-OpenAI models, serverless) with no pseudocode.

5 / 5

Workflow Clarity

Steps 0-7 are clearly sequenced (detect -> key/region -> install/init -> session id -> content -> tools/errors -> flush -> verify), and Step 7 is an explicit checklist with feedback loops that map symptoms to causes ("missing there in Python = MapleSpanFixes absent or not first", "zero there = Step 2d missing") plus error recovery (401 -> try the other region). Matches the anchor for explicit validation steps, feedback loops, and checklists.

5 / 5

Progressive Disclosure

Structure within the single file is good (numbered steps, 2a-2e subsections), but the ~290-line body inlines everything with no reference files at all: the TypeScript path (Step 2e, ~60 lines with its own checklist) and the raw-span-attribute reference at the end clearly belong in separate files for the Python-primary audience. Fits the 'some structure; content that should be separate is inline' anchor — not the level above because no detailed material is offloaded to references.

3 / 5

Total

17

/

20

Passed

Description

92%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 dense, highly specific description that states concrete mechanisms for both Python and TypeScript paths and closes with an explicit, natural-phrase trigger clause in third person. Its only weakness is trigger synonym coverage, missing everyday phrasings like 'instrument' or 'monitor my agents'.

DimensionReasoningScore

Specificity

Multiple concrete, comprehensive actions are stated: "bridges the SDK's tracing to OpenTelemetry with OpenInference (GenAI attributes on)", "wraps each run in using_session so each chat is one Maple Agent Session with transcript, tool calls, handoffs, sub-agent lanes and tokens", plus the TypeScript path via "the OpenInference JS bridge with gen_ai.conversation.id in context". No vague language; every clause names a specific mechanism or artifact.

5 / 5

Completeness

Explicitly answers both what (OpenTelemetry bridging via OpenInference, one session per chat via using_session, transcript/tool calls/handoffs/tokens) and when ("Triggers on 'trace my openai agents sdk agent', ..." with concrete trigger phrases). Matches the anchor for clear and explicit what AND when.

5 / 5

Trigger Term Quality

The trigger clause gives five natural phrases users would say, covering SDK name variants ('openai-agents', '@openai/agents', 'OpenAI Agents SDK') and framings ('trace my openai agents sdk agent', 'add Maple to openai-agents', 'OpenTelemetry for openai agents'). A few common synonyms are missing ('instrument my agent', 'monitor agent runs', 'observe agents'), so it fits the good-coverage anchor rather than comprehensive coverage.

4 / 5

Distinctiveness Conflict Risk

A clear niche: every trigger names the OpenAI Agents SDK and Maple together, and the description pins the exact packages (@openai/agents, OpenInference bridges), so overlap with generic OpenTelemetry/OpenAI-API tracing skills is minimal. Not the level below because the triggers are far more specific than 'minor overlap risk' — they uniquely identify this SDK-plus-Maple pairing.

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

MapleTechLabs/maple

Path

skills/maple-agent-tracing-openai-agents/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.