signalfx/obstudio/docs

Claude Code and agent skill by signalfx/obstudio

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Install

npx vskill@latest install signalfx/obstudio/docs

SKILL.md

Splunk Observability Studio Skills -- Product Requirements Document

Author: Tigran Najaryan, with AI skill specifications by Platform Engineering Status: Draft Version: 0.2


1. Executive Summary

Splunk Observability Studio is a developer tool that helps instrument (make observable) applications and services, verify the telemetry emitted by instrumentation, and iterate and improve instrumentation quickly.

The Studio is a free, open-source product, marketed through our OpenTelemetry channels. It is a no-strings-attached tool that can be used by developers using any Observability backend. On top of that, developers get additional capabilities when they use it with a supported observability backend.

Components
ComponentPurposeDelivery
InstrumenterAgent skills to add OpenTelemetry instrumentation to any codebaseMarkdown files consumed by AI agents
Telemetry ExplorerReceive, store, and visualize OTLP telemetry in real timeWeb UI on localhost:17900
ValidatorCheck telemetry conformance to OTel standards via OTel WeaverCLI mode and visual overlay in Explorer
TerraformerGenerate observability terraform (dashboards, detectors)Agent skills
IDE ExtensionPackage all components as a VS Code extensionVS Code Marketplace
Business Goals
  1. Brand image: Improve the project's reputation as a developer-friendly,

open-source-supporting company and increase brand awareness in the developer community.

  1. Customer acquisition: Create a new funnel via optional Terraformer

functionality that leads users to O11y Cloud.

Brand image considerations always take precedence. The Studio must never feel like an ad platform.

Success KPIs
KPITargetTimeline
Internal: O11y Cloud services instrumented with high-quality custom telemetry50% of servicesJune 2026
Public: VS Code extension installs1,000 installationsJune 2026
First-run telemetry emission rate>= 90%Ongoing
Semantic convention compliance>= 95%Ongoing
Eval pass rate (CI)>= 85%Ongoing
Time-to-instrumented< 2 minOngoing

2. Architecture

Splunk Observability Studio follows a layered architecture where each layer is independently useful. See docs/architecture-proposal.md for the full design.

Layer 3: Distribution (VS Code extension, brew, npx, go install)
Layer 2: obstudio CLI (start, register, skill installer)
Layer 1: Core (Skills + Splunk Observability Studio)
Skills + Splunk Observability Studio Composition

Skills tell the agent what to do. Splunk Observability Studio tells the agent what happened. Together they form a closed loop:

  1. Agent reads skill -- instruments the code
  2. Developer runs the app
  3. App sends OTLP to Splunk Observability Studio (localhost:4318)
  4. Agent calls MCP tools -- inspects telemetry
  5. Agent fixes issues -- go to step 2
Skill Folder Structure
skills/otel-observe/
SKILL.md # Lean workflow: audit -> plan -> implement -> verify
languages/
node.md # Node.js-specific (loaded on-demand)
python.md # Python-specific (loaded on-demand)
go.md # Go-specific (loaded on-demand)
references/ # Shared reference material
fault-domain-patterns.md
signal-mapping-guide.md
observability-template.md

Token-conscious design: the agent loads SKILL.md (~180 lines) plus only the one language file matching the detected codebase (~200 lines). Reference files are loaded only when the specific workflow step executes them.

MCP Tools (Splunk Observability Studio)
MCP ToolPurpose
observer_metrics_overviewList metrics with filters
observer_metric_detailFetch one metric with full datapoint history
observer_traces_overviewList recent traces with span previews
observer_trace_detailFetch one trace with all spans, events, links

Endpoint: http://localhost:17900/mcp (Streamable HTTP, standard MCP).


3. Target Personas

Persona A: Application Developer
  • Goal: Add observability without becoming an OTel expert.
  • Typical prompt: "Add tracing to this Flask app", "Instrument my Express

API with OpenTelemetry".

  • Success criteria: "It works on first run, I didn't have to read any docs."
Persona B: Platform Engineer
  • Goal: Standardize instrumentation across 20+ services. Enforce semantic

conventions and metric naming.

  • Typical prompt: "Instrument this service following our platform standards".
  • Skill interaction: Configures via .observability.md to define expected

KPIs. Reviews output for compliance.

  • Success criteria: "Every service produces the same signal names."
Persona C: SRE / On-Call Engineer
  • Goal: Quickly add targeted instrumentation to diagnose a production issue.
  • Typical prompt: "Add a span around the database retry logic".
  • Success criteria: "I got the exact signal I needed in < 5 minutes."

4. Unified /otel-observe Skill

The Instrumenter is delivered as a single unified skill (skills/otel-observe/) that combines observability audit and OpenTelemetry implementation into one flow. The agent can run the full audit or skip directly to instrumentation.

4.1 Workflow
StepActionFiles Loaded
1 - DiscoveryDetect language, framework, existing OTel, entry pointslanguages/<detected>.md
2 - Component MappingIdentify external deps and internal layers(none)
3 - Fault Domain AnalysisAssess failure modes per componentskills/references/fault-domain-patterns.md
4 - SLI IdentificationFour golden signals + business SLIs(none)
5 - Signal MappingBuild SLI definitions and signal tables (Spans/Metrics/Logs)skills/references/signal-mapping-guide.md
6 - Generate .observability.mdWrite audit documentskills/references/observability-template.md
7 - ImplementInstall OOB libraries, generate custom spans/metrics(language file already loaded)
8 - VerifyRun app, check telemetry via Splunk Observability Studio MCP(none)
9 - AlertsAdd alert definitions to .observability.md(none)
4.2 OOB vs Custom Decision Framework
mermaid
flowchart TD
A["Inspect codebase"] --> B{OTel SDK<br/>already initialized?}
B -->|Yes| C["Extend existing setup"]
B -->|No| D["Initialize SDK once"]
C --> E{Auto-instrumentation<br/>library available?}
D --> E
E -->|Yes| F["Install OOB library"]
E -->|No| G["Generate custom spans/metrics"]
F --> H{OOB covers the SLI?}
H -->|Yes| I["Done"]
H -->|No| G
G --> J["Apply semconv"] --> I
  • OOB: use when a stable auto-instrumentation library exists (see

language files for per-language library maps)

  • Custom: use when no OOB library exists, OOB coverage is too coarse,

business metrics are needed, or the signal is Category: Custom

4.3 Semantic Convention Enforcement

Span naming: {component}.{operation}, low-cardinality, stable semconv attribute keys.

Attribute naming: registered semconv attributes first; custom attributes follow {domain}.{noun}.{adjective} pattern; no high-cardinality values.

Metric naming: {namespace}.{noun}.{unit}; histograms for latency, counters for throughput, gauges for current state.

Error handling: set span status to ERROR, call recordException(), include error.type attribute on error metrics.

4.4 Trigger Rules
ConfidenceTriggerAction
HighUser says "instrument", "add opentelemetry", "/observe"Auto-activate
MediumFramework detected without OTel depsSuggest activation
Medium.observability.md present with gapsSuggest activation
LowNew file created, dep update, OTel errorDo not activate

5. Non-Functional Requirements

5.1 Determinism

Structural elements must be identical across runs:

  • SDK initialization location and pattern
  • Auto-instrumentation library selection
  • Semantic convention attribute keys
  • OTLP exporter configuration

Stylistic variance is acceptable:

  • Variable naming, import ordering
  • Exact span placement within functions
  • Async pattern choice
5.2 Evaluation Framework

Skills are non-deterministic. Testing uses probabilistic evals with fuzzy verification against golden results.

Eval types:

TypeWhat It TestsPass Criteria
StructuralSingle SDK init, correct OOB librariesExact match
Semantic conventionSpan/metric/attribute names follow semconvExact match
Golden comparisonFull output vs reference>= 80% structural similarity
Telemetry emissionRun app, verify OTLP received by Splunk Observability StudioExpected signals present
IdempotencyRun skill twiceSecond run makes no/minimal changes
Cross-run consistencyRun skill N times>= 85% of runs pass structural checks

Eval fixtures: example codebases in supported languages representing common archetypes (Web Service, Data Store, Batch Processor, Queue Consumer).

Eval tooling: deepeval with LLM-as-judge (GEval) rubrics for golden comparison, custom pytest assertions for structural and semconv checks, integration tests for telemetry emission using Splunk Observability Studio MCP tools.

5.3 Versioning
  • Language files specify minimum OTel SDK versions.
  • Library maps are updated when OTel releases new major versions.
  • Generated code uses latest stable versions, never pinned.

6. Telemetry (Self-Observing)

Agent-Side Metrics
MetricTypeDescription
skill.invocation.countCounterSkill activations
skill.invocation.duration_msHistogramWall-clock time
skill.language.detectedAttributeDetected language/framework
skill.instrumentation.oob_countCounterOOB libraries installed
skill.instrumentation.custom_span_countCounterCustom spans generated
skill.instrumentation.custom_metric_countCounterCustom metrics generated
Splunk Observability Studio-Side Validation
MetricTypeDescription
skill.validation.pass_rateGauge% of signals passing semconv checks
skill.validation.missing_signalsCounterExpected signals not received
skill.first_run.successBooleanValid OTLP on first run
Aggregate Product Metrics
MetricSource
Skill activation rate (weekly)Agent telemetry
First-run success rateSplunk Observability Studio validation
Acceptance rate (PRs merged without revert)Git analytics
Eval pass rateCI pipeline
Coverage delta (KPI % increase).observability.md diff
Time-to-first-traceSplunk Observability Studio timestamps

7. Delivery

Distribution Channels
ChannelInstallRegister
Native CLIbrew install obstudioobstudio register --agent cursor
VS Code ExtensionMarketplaceAutomatic on activation
Manualgo install / binary downloadEdit MCP config by hand

All channels result in the same product: same Splunk Observability Studio, same MCP tools, same skills.

obstudio register

Writes MCP config and copies skills to the agent's expected location:

AgentMCP ConfigSkills Location
Cursor~/.cursor/mcp.json~/.cursor/skills/obstudio/
Claude Code~/.claude/settings.json.claude/skills/obstudio/
Codex~/.codex/config.json~/.codex/skills/obstudio/

8. Development Practices

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
12
Repository forks
8
7-day trend score
13

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 18 Aug 2026, 2 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/signalfx/obstudio/docs/badge)](https://verified-skill.com/skills/signalfx/obstudio/docs)

Something wrong with this skill or its page? Tell us.