node-logs

A guide for retrieving logs from a Kubernetes node, the machine that runs pods. It can inspect system services and node log files for components such as containerd, kubelet, and the kernel.

In plain words
What is it for?
Use it to investigate node-related failures, kernel or OOM events, container runtime problems, kubelet issues, and other host-level causes of pod failures.
Why use it?
It provides evidence that pod logs cannot show, including node-level crashes, out-of-memory events, and runtime or kubelet problems. It also distinguishes an empty result from a failed or unsupported log request.

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/scitix/siclaw/node-logs
Any agent
npx skills add scitix/siclaw --skill node-logs
Clone the repo
git clone --depth 1 https://github.com/scitix/siclaw

Made for: Claude Code, Codex.

Per session 84 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,220 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.00084 $0.03220
Opus 5 $0.00042 $0.01610
Sonnet 5 $0.00017 $0.00644
Haiku 4.5 $0.00008 $0.00322

Measured 2d ago against content hash 7485f54284d5, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

node-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 2d ago.

The scan reads SKILL.md. This mod also ships 2 executable files (scripts/get-node-logs-via-api.sh, scripts/get-node-logs.sh), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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/core/node-logs/SKILL.md · 252 lines

How it starts

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

Node Logs

Read this first: what an empty result means

Every command here can come back with nothing, and the reason matters more than the emptiness. So both scripts print exactly one status: line and it is always the last line of the output, with any explanation above it — one rule, every outcome. (A bad argument is rejected on stderr with exit 2 before any report, so there is no status line to read in that case.)

status: Meaning What you may conclude
ok Source read, lines matched Read the lines
no_match Source read fine, filter matched nothing Nothing about the node. Bounded non-evidence for that one query
source_error The log source itself failed (see stderr) Nothing — the output above it is partial
filter_error Your pattern was rejected; nothing was searched Nothing — fix the pattern and rerun
not_found / not_a_log_file / empty_source The path is wrong, is a directory, or the handler is off Nothing about the node's health
query_unsupported This kubelet cannot serve journald over the API Nothing — use a file, or tier 1/2
forbidden The agent lacks nodes/proxy Nothing — an access fact, not a node fact

no_match is the one that gets misread. "No PLEG messages in the last hour" is not "PLEG is healthy": journald retention, a --since that misses the event, a unit that never logged to this source, and a pattern that does not match this component's wording all produce it. Report what you queried, not just that it was empty. The header's scanned: count is what tells you whether anything was actually read.

Pick an access path

Try them in this order and say which one produced the evidence.

Tier 1 — host_script (preferred)

The node is a bound SSH host: check host_list by node name or IP. No debug pod, lowest latency.

One caveat that produces empty results: journalctl only shows the system journal to root and to members of adm / systemd-journal. An ordinary SSH account gets its own messages and exit 0 — so a system unit looks like it logged nothing. The script detects that account state, says so in a note:, and repeats it in the no_match explanation. When you see it, the answer is not "the unit was quiet": rerun via node_script, which enters the host namespaces as root.

Read the full file on GitHub · 252 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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. 2d ago First seen · 252 lines · 84 tokens per session scan A 7485f54284d5

Subscribe to this mod's changes

node-logs is a skill published in the GitHub repository scitix/siclaw (230 stars, last pushed 3d ago), licensed Apache-2.0. It adds 84 tokens to every session and 3,220 once invoked, about $0.0004 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-30.