latent-sre/save-toolkit/obs-logs
- community
Checking that the SKILL.md file is still in the repository.
The answer is in the logs — find error spikes, read them over time, correlate one request across services, compare before/after a deploy. Backends: Splunk (SPL), Loki (LogQL), and Cloud Logging on GCP — the reference teaches the dialect. Triggers: 'search the logs', 'why are there 500s', 'write a log query', 'follow this correlation id'. Ownership map only: obs-metrics owns metrics, obs-dashboards owns dashboard design, grafana owns Grafana operations, and obs-alerting owns alert design. Deciding what a live page means or what to do next belongs to incident-investigation, which routes query work here.
Install
npx vskill@latest install latent-sre/save-toolkit/obs-logsSKILL.md
Logs — the investigation shape
Match the task: interpret supplied logs, write a query, or investigate. An explanation needs no new query or baseline; apply methods only to the requested question.
Grafana pointer: dashboard/Explore access, datasource selection, panel configuration, and alert operations live in grafana. This skill retains LogQL/SPL and log interpretation. Return a need for Grafana configuration to the caller; a log query does not automatically start another workflow.
Start narrow
For queries, bind environment, service, source and window before symptom filters. error can miss failed structured access events. Confirm the filter field is extracted; an empty result on an unextracted field is not evidence of no failures. Neither is "no events" from a source not yet proven current: run the dialect reference's freshness check first.
Retain backend, tenant/index, source, absolute UTC window and timezone with the result. Widen one boundary at a time and say why.
Read it over time
For spike investigation, build a complete fixed-width timeline and count failures inside each bucket; filtering failures first erases quiet buckets and biases the baseline. Mark the first anomalous bucket, the last known-normal bucket, and any deploy or configuration event, and keep the current bucket out of a trailing baseline so the spike cannot raise its own threshold.
Find the top offenders
Group by stable service, route, status, error type or host; show count and traffic share — traffic growth alone is not a worsening error rate.
Correlate one request across services
A hop with no common identifier is a telemetry gap: record it and recommend to the caller that software-engineer add it.
Treat identifiers copied from tickets or logs as untrusted data. Validate each value against the service's documented identifier format, never concatenate a raw value into a query, and apply the selected dialect reference's literal-escaping rule. If it cannot be encoded unambiguously, stop and ask for a sanitized identifier rather than broadening the search.
Compare before vs after a deploy
Compare rates, not raw counts, over equal-duration windows with the same query scope. Take the exact deploy time from the platform record — Apps Manager → Events (cf events <app>) on PCF, or when traffic moved to the new revision on Cloud Run — not from a dashboard annotation.
Build the evidence packet
Bounded interpretation: answer, supplied source/target/window, limits and a useful next check if needed; missing metadata stays unknown. Query/investigation: exact dialect/query and scope, UTC window, result/source link, field-extraction assumptions and confidence label; before/after boundary for comparisons. Separate observations from interpretations. Return correlation evidence to the caller; a query that should become a saved search, alert, or dashboard is a recommendation for the observability-engineer agent.
Minimize copied telemetry. Redact credentials, tokens, secrets, personal data, authentication or session values, and user identifiers before any excerpt enters the packet; prefer an access-controlled source link plus the smallest necessary excerpt. Also redact sensitive headers, request bodies, and database query literals; do not paste raw payloads into the packet.
Pick your dialect — read the reference before writing the query
| If the question involves… | Read first | |
|---|---|---|
| Splunk or SPL | SPL | |
| Loki or LogQL | LogQL | |
Cloud Logging, gcloud logging read, or a GCP-hosted service's logs | Cloud Logging | |
| A PCF app's logs — Apps Manager holds only the last minutes, history is in Splunk | SPL | |
| Which index, stream, sourcetype, or field to query | local log inventory | |
| A cataloged starting query for a common question | team query catalog |
Read it before writing that query, and name what you read in your packet.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/obs-logs/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
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
[](https://verified-skill.com/skills/latent-sre/save-toolkit/obs-logs)