observability
Use when Pi needs to troubleshoot logs/metrics/traces or verify LGTM (Grafana/Loki/Mimir/Tempo) access in local k3s, cloud Kubernetes, or any generic K8s setup.
Skill by nebari-dev
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/nebari-dev-observability
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: devops
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/observability
What's inside
- Skill name
observability- Description
- Use when Pi needs to troubleshoot logs/metrics/traces or verify LGTM (Grafana/Loki/Mimir/Tempo) access in local k3s, cloud Kubernetes, or any generic K8s setup.
- License
- Apache-2.0
- Instructions
- 190 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Agent Skills spec issues
- files: referenced but missing: references/lgtm-queries.md
Files (1)
- SKILL.md
SKILL.md (first lines)
# Observability Skill (Nebari + Generic Kubernetes)
Use this skill whenever the user asks to:
- debug deployments using logs/events/rollout state,
- verify monitoring is working,
- find Grafana/Loki/Prometheus/Mimir/Tempo endpoints,
- check whether Pi users can access observability data.
This skill supports:
- **local k3s/k3d**,
- **cloud Kubernetes** (EKS/GKE/AKS),
- **generic Kubernetes** environments.
---
## Core design awareness (important)
In Nebari Pi environments, the common architecture is:
- Pi/JupyterHub workloads in an app namespace (often `data-science`),
- LGTM stack in `monitoring`,
- optional `pi-observability-proxy` and `pi-debug` CLI for curated debugging.
### Access paths you must evaluate
1. **pi-debug path** (if available):
- `pi-debug logs|events|rollout|doctor`
- Usually fronted by `pi-observability-proxy`.
2. **Direct in-cluster LGTM path**:
- Loki/Mimir/Tempo/Grafana service DNS from within Pi pod.
3. **Port-forward/browser path**:
- useful when running from local workstation or when pod egress is restricted.
Do **not** assume only one path exists. Detect and use what works.
---
## Workflow
## 0) Detect environment + tools
Run:
```bash
kubectl config current-context
kubectl get ns
```
Then detect whether `pi-debug` exists:
```bash
command -v pi-debug >/dev/null && echo "pi-debug available" || echo "pi-debug not available"
```
If `pi-debug` is available, test quickly:
```bash
pi-debug doctor --app pi || true
```
---
## 1) Discover LGTM endpoints (do not hardcode)
Preferred discovery:
```bash
kubectl get svc -A | grep -Ei 'grafana|loki|mimir|tempo|prometheus'
```
Export discovered endpoints (examples):
```bash
export GRAFANA_SVC="http://<grafana-svc>.<ns>.svc.cluster.local:80"
export LOKI_URL="http://<loki-svc>.<ns>.svc.cluster.local:3100"
export MIMIR_URL="http://<mimir-gateway-svc>.<ns>.svc.cluster.local"
export TEMPO_URL="http://<tempo-svc>.<ns>.svc.cluster.local:3200"
export PROM_URL="http://<prometheus-svc>.<ns>.svc.cluster.local:9090"
```
For Nebari local defaults, likely names are:
- `lgtm-pack-grafana.monitoring.svc.cluster.local`
- `lgtm-pack-loki.monitoring.svc.cluster.local`
- `lgtm-pack-mimir-gateway.monitoring.svc.cluster.local`
- `lgtm-pack-tempo.monitoring.svc.cluster.local`
---
## 2) Verify access fast (health checks)
```bash
curl -fsS "${GRAFANA_SVC}/login" >/dev/null && echo grafana_ok
curl -fsS "${LOKI_URL}/ready" && echo
curl -fsS "${MIMIR_URL}/ready" && echo
curl -fsS "${PROM_URL}/-/ready" && echo
```
If any fail, capture exact HTTP/code/error and continue with Kubernetes diagnostics.
---
## 3) Get logs for debugging (full-access mode)
If the deployment allows broad direct access, use Loki directly.
### Namespace-scoped logs
```bash
curl -sG "${LOKI_URL}/loki/api/v1/query_range" \
--data-urlencode 'query={namespace="data-science"}' \
--data-urlencode 'limit=200' \
--data-urlencode 'direction=BACKWARD'
```
### Broad logs across namespaces (when needed)
```bash
curl -sG "${LOKI_URL}/loki/api/v1/query_range" \
--data-urlencode 'query={job=~".+"}' \
--data-urlencode 'limit=200' \
--data-urlencode 'direction=BACKWARD'
```
### Pod-focused logs
```bash
curl -sG "${LOKI_URL}/loki/api/v1/query_range" \
--data-urlencode 'query={namespace="<ns>",pod=~"<pod-prefix>.*"}' \
--data-urlencode 'limit=200' \
--data-urlencode 'direction=BACKWARD'From nebari-dev/pi-coding-agent-pack, Apache-2.0.
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 1
- Last commit (this folder)
- Mar 20, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from nebari-dev
Cite this page
observability skill. Agent Mart. https://agentmart.dev/skills/nebari-dev-observability (last updated 2026-10-24)