From observability
Design a logging and tracing strategy for a system or agent pipeline. Use this skill when asked to "add observability", "design a logging strategy", "plan how to trace this system", or "what should I log in this agent".
npx claudepluginhub ats-kinoshita-iso/agent-workshop --plugin observabilityThis skill uses the workspace's default tool permissions.
Design a structured logging and distributed tracing strategy for the given system.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Analyzes competition with Porter's Five Forces, Blue Ocean Strategy, and positioning maps to identify differentiation opportunities and market positioning for startups and pitches.
Design a structured logging and distributed tracing strategy for the given system.
Read the system description and identify:
Select the appropriate logging approach based on system type:
| System type | Recommended strategy |
|---|---|
| Single-process agent | Structured JSON logs to stdout/file |
| Multi-service pipeline | Distributed tracing (OpenTelemetry spans) |
| Long-running daemon | Rotating file logs + health-check endpoint |
| Serverless / ephemeral | Centralized log aggregation (CloudWatch, Datadog) |
For each component identified in Step 1, define a trace span:
Span: <component name>
Parent: <parent span or "root">
Attributes to capture:
- <key>: <description of value>
- <key>: <description of value>
Events to record: <list of significant moments within this span>
Error conditions: <what constitutes a failed span>
Establish a consistent log-level policy:
Create a JSON schema for log entries to enable downstream filtering and aggregation:
{
"timestamp": "<ISO 8601>",
"level": "<DEBUG|INFO|WARNING|ERROR|CRITICAL>",
"component": "<span/service name>",
"trace_id": "<UUID shared across a full request>",
"span_id": "<UUID for this component's span>",
"event": "<short machine-readable event name>",
"message": "<human-readable description>",
"attributes": {}
}
Prioritize instrumentation by impact:
Produce a Markdown document listing: