ssh-host-healthcheck
Standard "is this host OK right now" pass combining identity, alerts, disk, processes, and uptime
Skill by Nightreaver
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/nightreaver-ssh-host-healthcheck
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
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/ssh-host-healthcheck
What's inside
- Skill name
ssh-host-healthcheck- Description
- Standard "is this host OK right now" pass combining identity, alerts, disk, processes, and uptime
- License
- GPL-3.0
- Instructions
- 122 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- name: missing
Files (1)
- SKILL.md
SKILL.md (first lines)
# SSH Host Healthcheck
A fixed sequence for answering "is this box healthy?" without descending
into ad-hoc investigation. Read-only tier throughout -- safe to run
without any `ALLOW_*` flag, safe to run on a schedule.
Separate from [ssh-incident-response](../ssh-incident-response/SKILL.md):
that runbook starts from "host is unresponsive"; this one starts from
"tell me the state of this host". Use healthcheck first; fall into
incident response only if healthcheck surfaces something wrong.
## Sequence
1. Reachability + identity
2. Threshold check (alerts)
3. Baseline metrics in parallel
4. Interpret + escalate
## 1. Reachability + identity
```python
ssh_host_ping(host="web01")
ssh_known_hosts_verify(host="web01")
```
- `ssh_host_ping.reachable=false` -> network/firewall problem; fall into
[ssh-incident-response](../ssh-incident-response/SKILL.md) Section 1.
- `ssh_host_ping.auth_ok=false` + `error="UnknownHost: ..."` -> host key
drift. **Stop.** Don't re-trust from the LLM. Escalate.
- `ssh_known_hosts_verify.matches_known_hosts=false` -> same class of
event. Stop and escalate.
Only proceed to Section 2 if both calls are clean.
## 2. Threshold check
```python
ssh_host_alerts(host="web01")
```
The single most useful call in this runbook. Returns `breaches[]` against
whatever `[hosts.<alias>.alerts]` thresholds are configured in
`hosts.toml`:
- `breaches` empty -> host is within its own declared thresholds. Still
run Section 3 for context, but this is the "green" signal.
- `breaches` non-empty -> the host has already crossed an operator-declared
line. Section 3 tells you how bad and which process/mount is responsible.
If no `alerts` block is configured for this host, `breaches` is always
empty -- that's a config gap, not a health signal. Flag it and move on.
## 3. Baseline metrics (parallel)
```python
ssh_host_info(host="web01")
ssh_host_disk_usage(host="web01")
ssh_host_processes(host="web01")
```
What each one adds on top of `ssh_host_alerts`:
- `ssh_host_info` -- uname, os_release, **uptime**. Recent reboot
(uptime < 1h) reframes everything below: high load on a just-booted
box is probably startup churn, not saturation. Also catches "this box
is running a kernel two LTS versions behind" during audits.
- `ssh_host_disk_usage` -- full mount table, not just the ones the
`alerts` block watches. A 99%-full `/home` that isn't in `disk_mounts`
won't show as a breach but will still bite on the next user login.
- `ssh_host_processes` -- top CPU/memory. If `alerts` flagged a load
breach, this tells you which PID is responsible. If `alerts` was
clean, this tells you whether load is diffuse (normal) or concentrated
in one runaway process (about to breach).
## 4. Interpret
Write up the state as: **status + evidence + recommended next step**.
- **Green** (no breaches, uptime normal, disk headroom everywhere, no
obvious outlier processes) -> done. No action.
- **Yellow** (clean alerts but Section 3 found something out-of-band --
e.g. a mount at 88% that isn't in `disk_mounts`, or a process eating
RAM that hasn't crossed the host's threshold yet) -> note in the
report; no paging action, but someone should look.
- **Red** (any `breaches` entry) -> cross to the relevant runbook:
- Disk breach -> [ssh-disk-cleanup](../ssh-disk-cleanup/SKILL.md).
- Load / memory breach caused by a Docker container ->
[ssh-docker-incident-response](../ssh-docker-incident-response/SKILL.md).
- Host-level saturation not attributable to a container ->
[ssh-incident-response](../ssh-incident-response/SKILL.md) Section 3+.
## Boundaries
- Read-only tier only. Every tool in this runbook is `safe`/`read`.
- Non-Linux targets (BSD, Windows): `ssh_host_alerts` silently skips
`/proc`-backed metrics; disk usage still works, processes may return
empty. Don't interpret an empty `breaches` on a Windows host as
"healthy" -- it means "not measured".
- No mutations, no restart attempts, no "fix while you're here".
Surfacing a problem is the job; fixing it is a different runbook with
a different tier.
## When to schedule it
- Periodic pull from the orchestrator (every 5-15 min) -- correlate with
the tool-call audit log to catch "deploy happened, then alerts fired
2 minutes later".
- Ad-hoc before any risky operation (`compose_up`, bulk upload, fleet
rollout) -- confirms the target isn't already degraded.
- First call in any ticket that says "something's weird on <host>" --
before guessing, check the boring stuff.
## Related runbooks
- [ssh-incident-response](../ssh-incident-response/SKILL.md) -- when the
host itself is unreachable or unresponsive.
- [ssh-disk-cleanup](../ssh-disk-cleanup/SKILL.md) -- targeted recovery
for a disk breach.
- [ssh-docker-incident-response](../ssh-docker-incident-response/SKILL.md)From Nightreaver/python-ssh-mcp, GPL-3.0.
More from Nightreaver/python-ssh-mcp
- 0.529score
ssh-host-snapshot
Nightreaver
Capture a structured point-in-time inventory of a host (packages, systemd, network, storage, docker) for later diff or rollback reference
SkillCFreshness: C★ 8Claude Code +9 - 0.529score
ssh-long-running-job
Nightreaver
Launch a multi-hour command in a detached tmux session, record it in host-notes, and poll for completion across sessions
SkillCFreshness: C★ 8Claude Code +9 - 0.526score
ssh-apt-list
Nightreaver
List APT packages on a remote host, filtered by mode and optional pattern
SkillCFreshness: C★ 8Claude Code +9 - 0.526score
ssh-verify-signature
Nightreaver
Verify the signature of a remote artifact (GPG, cosign, minisign) via ssh_exec_run
SkillCFreshness: C★ 8Claude Code +9 - 0.526score
ssh-container-rollout
Nightreaver
Roll a single standalone Docker container to a new image tag with pre-pull, health verification, and rollback
SkillCFreshness: C★ 8Claude Code +9 - 0.526score
ssh-deploy-verify
Nightreaver
Upload an artifact, verify the remote hash, bring the stack up, and tail logs to confirm health
SkillCFreshness: C★ 8Claude Code +9 - 0.526score
ssh-docker-incident-response
Nightreaver
Diagnose a Docker container or compose stack that's failing, looping, or unresponsive
SkillCFreshness: C★ 8Claude Code +9 - 0.526score
ssh-integrity-audit
Nightreaver
Confirm a host's identity, file integrity, artifact signatures, and surface SUID / world-writable oddities
SkillCFreshness: C★ 8Claude Code +9 - 0.526score
ssh-apt-show
Nightreaver
Show combined apt-cache show + policy details for one package
SkillCFreshness: C★ 8Claude Code +9 - 0.526score
ssh-disk-cleanup
Nightreaver
Investigate a disk-full host and recover space safely -- find before prune, never volume-prune from the LLM
SkillCFreshness: C★ 8Claude Code +9 - 0.523score
ssh-apt-remove
Nightreaver
Remove (or purge) one or more APT packages on a remote host
SkillCFreshness: C★ 8Claude Code +9 - 0.523score
ssh-apt-install
Nightreaver
Install one or more APT packages on a remote host
SkillCFreshness: C★ 8Claude Code +9
Signals
- Stars
- 8
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Apr 19, 2026 (6 months ago)
- Last release
- Jun 2, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- GPL-3.0
- Repository
- github.com/Nightreaver/python-ssh-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Nightreaver
- 0.529score
ssh-long-running-job
Nightreaver
Launch a multi-hour command in a detached tmux session, record it in host-notes, and poll for completion across sessions
SkillCFreshness: C★ 8Claude Code +9 - 0.529score
ssh-host-snapshot
Nightreaver
Capture a structured point-in-time inventory of a host (packages, systemd, network, storage, docker) for later diff or rollback reference
SkillCFreshness: C★ 8Claude Code +9 - 0.526score
ssh-apt-list
Nightreaver
List APT packages on a remote host, filtered by mode and optional pattern
SkillCFreshness: C★ 8Claude Code +9 - 0.526score
ssh-disk-cleanup
Nightreaver
Investigate a disk-full host and recover space safely -- find before prune, never volume-prune from the LLM
SkillCFreshness: C★ 8Claude Code +9 - 0.526score
ssh-container-rollout
Nightreaver
Roll a single standalone Docker container to a new image tag with pre-pull, health verification, and rollback
SkillCFreshness: C★ 8Claude Code +9 - 0.526score
ssh-apt-show
Nightreaver
Show combined apt-cache show + policy details for one package
SkillCFreshness: C★ 8Claude Code +9
Cite this page
ssh-host-healthcheck skill. Agent Mart. https://agentmart.dev/skills/nightreaver-ssh-host-healthcheck (last updated 2026-10-24)