Multi-platform server inspection and health check via SSH.
This skill is strictly read-only and does NOT:
references/targets.yaml, references/checks.yaml, and the SSH private key specified in keyPathtargets.yamlreferences/checks.yaml are allowedThis skill ONLY:
targets.yamlRead-only inspection of remote Linux hosts over SSH using a dedicated key. Collects system metrics, service status, security events, and generates a structured Markdown report with anomaly highlighting.
PlatformScriptRuntimeOpenClawscripts/inspect.mjsNode.js 24+NanoBotscripts/inspect.pyPython 3.10+Hermesscripts/inspect.pyPython 3.10+
references/checks.yamlreferences/targets.yamlreferences/checks.yamlbash
python3 scripts/inspect.py --target bogon --checks daily
bash
node scripts/inspect.mjs --target bogon --checks daily
OptionDescriptionDefault--targetTarget name from targets.yaml(required)--checksCheck group: basic, services, daily``basic``--formatOutput format: markdown, json``markdown``--outputWrite report to file instead of stdoutstdout
GroupDescriptionbasicHardware resources: CPU, memory, disk, networkservicesService status and error logs (from targets.yaml)dailyFull inspection: basic + services + security + logs
references/targets.yamlreferences/checks.yamlchecks.yamlbash
# Generate key pair
ssh-keygen -t rsa -b 4096 -f ~/.ssh/li_sentry_check -N ""
# Copy to remote server
ssh-copy-id -i ~/.ssh/li_sentry_check.pub inspector@<SERVER_IP>
# Test connection
ssh -i ~/.ssh/li_sentry_check inspector@<SERVER_IP>
chmod 600 ~/.ssh/li_sentry_checkknown_hosts instead of accept-newchecks.yaml with state-changing commandsReports are generated in Markdown format with:
text
li_sentry_check/
├── SKILL.md # This file
├── _meta.json # Skill metadata
├── references/
│ ├── targets.yaml # Target server configuration
│ └── checks.yaml # Command allowlist
└── scripts/
├── inspect.mjs # Node.js implementation (OpenClaw)
└── inspect.py # Python implementation (NanoBot/Hermes)