Install any skill in seconds. Free to start, no credit card required.
Get Started Free →ax-llm/ax-agent-observability
This skill helps an LLM generate correct AxAgent observability code using @ax-llm/ax.
Passed 22 of 25 test cases with the skill, and 9 of 25 without it.
and 18 more in the full report
14 fixed8 passed either way2 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 14 test cases the skill fixed. Same model, same prompt, with and without the skill.
I registered `actorTurnCallback` on my Ax agent to log diagnostic metadata, but the `thought` argument is always `undefined` even though my underlying model supports provider thinking. What configuration option must be set on the executor?
| Checked | Without skill | With skill |
|---|---|---|
| The response specifies setting showThoughts: true in executorOptions. | Missed | Passed |
The instructions your model reads when the skill loads.
Use this skill when an agent needs runtime visibility, progress reporting, tracing, usage accounting, or chat-log access. For ordinary agent setup use ax-agent. For RLM runtime policy use ax-agent-rlm. For memories and dynamic skill loading use ax-agent-memory-skills.
debug: true.actorTurnCallback.onContextEvent.agentStatusCallback.onFunctionCall.getChatLog().axGlobals.onUsage plus usageContext.getUsage() and resetUsage().getStagedUsage().getTraces().OpenTelemetry and debug defaults come from the shared Ax runtime surface:
import { axGlobals, axCreateDefaultColorLogger } from '@ax-llm/ax';
import { metrics, trace } from '@opentelemetry/api';
axGlobals.rateLimiter = async (next, info) => next();
axGlobals.tracer = trace.getTracer('agent-app');
axGlobals.meter = metrics.getMeter('agent-app');
axGlobals.debug = true;
axGlobals.logger = axCreateDefaultColorLogger();
axGlobals.onUsage = (event) => usageQueue.enqueue(event);
Each agent run snapshots these globals. A forward-scoped rateLimiter, tracer, or meter overrides agent defaults, child-generator defaults, service hooks, and globals for that invocation. Ax carries it through the distiller, executor, responder, repeated actor turns, citation repair, built-in llmQuery, context-map work, checkpoint/tombstone summaries, and other direct internal model calls without mutating child programs or leaking across concurrent runs.
The limiter wraps model execution and its failures propagate. Tracer, meter, and usage-observer failures are fail-open. Runtime-hook spans contain metadata only—never prompts, outputs, tool arguments, or tool results—and preserve agent → internal AxGen → provider/tool parentage. External meter instruments do not replace or derive from balancer-local getMetrics() snapshots. Use AxAgent callbacks below when the caller needs structured agent-turn events rather than spans or metrics.
test cases passed, vs 9 / 25 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.