debugging-runtime-logs

A troubleshooting guide for following one request through several locally running Spring Boot services, which are separate applications that work together. It links matching log entries, rebuilds the request timeline, and points to the source of the failure.

In plain words
What is it for?
Use it to investigate a failed request when you have a trace ID, request ID, session ID, or error message. It produces a chronological cross-service timeline and source references.
Why use it?
In a multi-service system, the visible error may be in a different application from the one that caused it. This helps connect scattered logs and locate the first failing step.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/talayash/spring-fleet/debugging-runtime-logs
Any agent
npx skills add talayash/spring-fleet --skill debugging-runtime-logs
Clone the repo
git clone --depth 1 https://github.com/talayash/spring-fleet

Made for: Claude Code, Codex.

Per session 52 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 701 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00052 $0.00701
Opus 5 $0.00026 $0.00351
Sonnet 5 $0.00010 $0.00140
Haiku 4.5 $0.00005 $0.00070

Measured yesterday against content hash cff3297cec6d, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

debugging-runtime-logs scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/debugging-runtime-logs/SKILL.md · 60 lines

How it starts

The opening of the file, as written. The whole thing — 60 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Debugging Runtime Logs Across a Service Fleet

When something breaks in a multi-service dev run, the symptom usually appears in one service while the cause lives in another. This skill correlates logs across the whole fleet and ties the failure back to code.

Prerequisites

  • A spring-fleet.config.json exists (else run /fleet-init).
  • Services write to the configured logDir (see the spring-fleet-logging-setup skill if logs are scattered or console-only).

Procedure

  1. Get a correlation handle. Best case: an OTel trace_id (32-char hex) from the user's APM dashboard or a traceparent header, or a legacy sessionId / X-Request-Id from a failed request. Otherwise, start from the error message/stack the user pasted — extract a key from a nearby log line, preferring trace_id over sessionId.

  2. Dispatch the log-correlator agent with the config path and the trace value (or error snippet). It runs scripts/correlate_logs.py and returns one chronological cross-service timeline plus a failure-origin analysis.

    Run directly if you prefer:

    python "${CLAUDE_PLUGIN_ROOT}/scripts/correlate_logs.py" \
      --config ./spring-fleet.config.json --value <traceValue>
    
  3. Read the timeline as a story. Follow the request hop by hop. The first ERROR/exception in time order is the likely origin; everything after it is usually propagation. Watch the time gaps — a long gap before an error often means a timeout.

  4. Map the origin to code. Take the failing service + class from the log and open the source. For a cross-service cause, dispatch the fleet-explorer agent (or use the tracing-across-services skill) to confirm the call path.

  5. Report. State: what the user did, the cross-service timeline, the failure origin (service + file:line), how it surfaced upstream, and a ROOT-CAUSE HYPOTHESIS block — what the fault is, where in code to fix it, why the timeline supports that, your confidence, and a concrete suggested fix (snippet or behavior). Always include alternatives the evidence does not rule out. Call out any service with no log file — a missing log can hide the real cause.

Read the full file on GitHub · 60 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 60 lines · 52 tokens per session scan A cff3297cec6d

Subscribe to this mod's changes

debugging-runtime-logs is a skill published in the GitHub repository talayash/spring-fleet (2 stars, last pushed 2mo ago), licensed MIT. It adds 52 tokens to every session and 701 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories