setup-local-stack

Configure gcx against the local oddyssey Grafana stack and inventory its four telemetry signals.

9|2|Updated Aug 16, 2026
One-click install
npx skills add https://github.com/using-system/oddyssey --skill setup-local-stack-using-system
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: setup-local-stack
Source: https://github.com/using-system/oddyssey/tree/main/.apm/skills/setup-local-stack
Command: npx skills add https://github.com/using-system/oddyssey --skill setup-local-stack-using-system

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Setting up the gcx CLI against the local oddyssey observability stack by hand means reconstructing ports, contexts, and datasource UIDs from prose, risking clobbering the user's own gcx contexts. This Skill automates that configuration in an isolated context and inventories which services actually emit metrics, traces, logs, and profiles before any observation begins. ## Core Features & Use Cases - Isolated gcx context setup: Reads host ports from the global configuration, writes an isolated gcx context at a stable path, and verifies connectivity with gcx config check, leaving the user's own contexts untouched. - One-call service inventory: Probes multiple services concurrently across all four signals (Tempo traces, Prometheus metrics, Loki logs, Pyroscope profiles), reporting identity, operations, metric names, and counter baselines, with absence reported as loudly as presence. - Container configuration reference: Documents the full otel-lgtm environment variable surface (retention, OTLP forwarding, OBI, Grafana settings) aligned to the pinned image tag. - Use Case: Before observing a service on the local stack, run the setup script to get a working gcx context, then probe the service to learn which signals it carries and capture counter baselines that later queries subtract from. ## Quick Start Ask the agent to configure gcx against the local oddyssey stack and probe your service's signals using this skill's scripts.

Frequently Asked Questions about setup-local-stack

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure gcx for a local Grafana stack?

Run the skill's gcx_local.py script, which reads host ports from the global configuration, writes an isolated gcx context, and verifies it with gcx config check. It prints the GCX_CONFIG export line, datasource UIDs, and OTLP endpoints.

How do I check which telemetry signals a service emits?

Run probe_services.py with the service names and a lookback window. It concurrently queries Tempo, Prometheus, Loki, and Pyroscope, reporting presence or absence per signal plus identity attributes, operations, metric names, and counter baselines.

Does this skill modify my existing gcx contexts?

No. The setup script writes an isolated context at a stable path under the temp directory and never touches the user's own gcx configuration. Every later gcx call uses the printed GCX_CONFIG path.

Why is up{job=...} empty for healthy services on this stack?

The stack is push-based, so nothing is scraped and the up metric proves nothing. Prove a service is present with its own data, such as a Tempo search on resource.service.name or a target_info series in Prometheus.

What are the limitations of profiles on the otel-lgtm stack?

Profile labels carry no instance identity, so two processes sharing a service name merge into one flamegraph. Launch services with a per-run profiler tag and qualify selectors by it to attribute profiles to a specific run.

What happens if gcx is not installed or the stack is down?

The setup script exits 1 with a message naming the failed step: install gcx via brew or the official script if missing, or start the stack with the odd_stack_up MCP tool if gcx cannot reach it.