CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

maple-agent-tracing-provider-sdks

Trace agents built directly on the OpenAI, Anthropic or Google Gen AI SDKs (Python or TypeScript, no agent framework) with Maple: official OTel GenAI instrumentations in Python, a small span helper in TypeScript, plus invoke_agent/execute_tool spans and gen_ai.conversation.id so each conversation is one Agent Session. Triggers on 'trace my openai agent', 'add Maple to my anthropic agent', 'agent sessions for gemini', 'OpenTelemetry for the openai sdk'.

Quality

94%

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

92%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 excellent body: highly actionable, sequenced with a real verification checklist and troubleshooting feedback loop, and cleanly split into two real one-level-deep references. The only weaknesses are minor: some redundancy (the OpenLLMetry warning appears in three places) and inline tested-version pins that will age.

Suggestions

Consolidate the OpenLLMetry-package warning (currently in Step 0.4, Troubleshooting, and "Do not") into one place and cross-reference it to remove redundancy.

Move the tested-version pins into a short "Tested versions" block or the per-language references so they can age in one place, keeping the compatibility ranges (openai < 4, anthropic < 2, google-genai < 3) inline where they gate behavior.

DimensionReasoningScore

Conciseness

The body is dense and telegraphic, packed with non-obvious gotchas Claude could not know (stream_options={"include_usage": True} for streamed token counts, contextvars.copy_context().run for ThreadPoolExecutor, capture-message-content value semantics, "Never lower OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT - truncated JSON is dropped"). It is not a 5: the OpenLLMetry-package warning repeats three times (Step 0.4, Troubleshooting, "Do not") and tested-version pins (openai 3.20.0, anthropic 1.8.0, google-genai 2.25.0) are time-sensitive details not confined to a deprecated/old-patterns section. It is well above 3: there is no padded explanation of concepts Claude already knows.

4 / 5

Actionability

Guidance is fully executable: a copy-paste-ready env-var block, exact package names with version constraints, concrete helper signatures (run_tool(call_id, name, arguments_json, fn), agent_span(<agent_name>, conversation_id)), and SDK-specific dispatch details (block.id for Anthropic tool_use, function_call.id for Gemini). The full install/init/helper code is delegated to the two reference files, which exist and contain complete runnable code, so the common cases are covered copy-paste ready.

5 / 5

Workflow Clarity

Steps 0-8 form a clear sequence (detect, key/region, install+init, session id, content capture, tools/errors/sub-agents, tokens/streaming, flush, verify) with an explicit verification checklist in Step 8, a symptom-to-fix Troubleshooting section as a feedback loop, and a no-Maple-access fallback check ("Silence alone proves nothing"). This matches the 5 anchor: explicit validation steps, error-recovery loops, and a checklist.

5 / 5

Progressive Disclosure

The body acts as the orchestration/decision layer and delegates language-specific code to two well-signaled, one-level-deep references ("Python -> references/python.md (install, tracing.py, agent_tracing.py helper, loop)", "TypeScript -> references/typescript.md"), both verified to exist and to contain the promised install/init/helper content. Content is appropriately split and navigation is easy, matching the 5 anchor.

5 / 5

Total

19

/

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 strong description: concrete mechanisms, explicit trigger phrases, and an explicit no-framework boundary that distinguishes it from framework-based tracing skills. The only gap is moderate trigger-term coverage — a few natural phrasings (instrument/telemetry/otel) are missing.

Suggestions

Add one or two more natural trigger variants such as "instrument my openai agent", "add telemetry to my llm app", or "otel for anthropic" to broaden trigger coverage.

Consider trimming implementation detail (e.g. "plus invoke_agent/execute_tool spans and gen_ai.conversation.id") to leave room for the additional trigger phrases without lengthening the description.

DimensionReasoningScore

Specificity

"Trace agents built directly on the OpenAI, Anthropic or Google Gen AI SDKs (Python or TypeScript, no agent framework) with Maple: official OTel GenAI instrumentations in Python, a small span helper in TypeScript, plus invoke_agent/execute_tool spans and gen_ai.conversation.id so each conversation is one Agent Session" names the domain, runtimes, and multiple concrete mechanisms (instrumentations, span helper, span types, conversation id). Comprehensive concrete coverage for the skill's scope, so it matches the 5 anchor rather than the 4 anchor, which requires minor gaps in coverage.

5 / 5

Completeness

The first sentence explicitly answers "what" (trace agents on provider SDKs with Maple via instrumentations, a helper, and invoke_agent/execute_tool spans), and the explicit "Triggers on ..." clause answers "when" with concrete trigger phrases, matching the 5 anchor rather than 4 where the 'when' is merely present but less explicit.

5 / 5

Trigger Term Quality

"Triggers on 'trace my openai agent', 'add Maple to my anthropic agent', 'agent sessions for gemini', 'OpenTelemetry for the openai sdk'" provides natural user phrasings covering all three providers plus OpenTelemetry. Fits the 4 anchor ("good keyword coverage; a few natural terms missing") rather than 5 because common variants like "instrument my agent", "add telemetry", "otel", or "monitor my llm app" are absent.

4 / 5

Distinctiveness Conflict Risk

"built directly on the OpenAI, Anthropic or Google Gen AI SDKs (Python or TypeScript, no agent framework)" carves out a clear niche with distinct, provider-specific triggers, explicitly excluding framework-based setups. Minimal conflict risk with adjacent skills, matching the 5 anchor.

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-provider-sdks/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.