System Monitor
v1.0.1Real-time system metrics monitoring (CPU, memory, disk, network, processes). Use when: user asks to check system status, cpu usage, memory usage, disk space,...
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
The skill's name/description match its implementation: it runs local CPU, memory, disk, network, and process commands and includes a short script. Slight mismatch: the registry 'required binaries' list includes core tools (top, df, vm_stat, free, lsof, uptime) but the SKILL.md also references additional utilities (mpstat, hostinfo, ifconfig, nettop, iostat, ip, ss, pstree, du, swapon, awk, sort, etc.). These are reasonable for a system-monitor tool but are not enumerated in the metadata.
Instruction Scope
Instructions direct the agent to execute local CLI diagnostics only (top, df, vm_stat, free, lsof, uptime, ps, ifconfig/ss/ip, etc.). There are no commands that send data to external endpoints and no access to unrelated filesystem paths or environment secrets. Note: the commands collect local process and network information (process lists, listening ports, connections), which can be sensitive on shared systems—this is consistent with the stated purpose but worth awareness.
Install Mechanism
No install spec (instruction-only) and a single small shell script are provided. Nothing is downloaded or extracted from external URLs. Risk from installation is low.
Credentials
The skill requires no environment variables or credentials. It does not request unrelated secrets or config paths.
Persistence & Privilege
The skill is not marked always:true, does not request persistent system changes, and does not modify other skills' configuration. The agent may invoke it autonomously by default (ordinary behavior) but it does not gain elevated persistent privileges.
Assessment
This skill appears to do what it says: run local monitoring commands and return system status. Before installing, (1) verify the host has the CLI utilities you need (or adjust the SKILL.md to match your platform), (2) inspect the included scripts yourself (they are short and readable), and (3) be aware that running the skill reveals local process lists and network port/connection info — avoid running it on multi-tenant/shared systems where that information is sensitive. If you want stricter control, limit the agent's ability to invoke the skill autonomously or run it manually as needed.Like a lobster shell, security has layers — review code before you run it.
Runtime requirements
📊 Clawdis
Binstop, df, vm_stat, free, lsof, uptime
latest
System Monitor Skill
Monitor real-time system metrics including CPU, memory, disk, network, and processes.
When to Use
✅ USE this skill when:
- "Check system status"
- "CPU usage" / "How's the CPU doing?"
- "Memory usage" / "RAM usage"
- "Disk space" / "How much storage left?"
- "Network traffic" / "Network usage"
- "Running processes" / "Top processes"
- "System performance" / "System load"
Setup
Some tools may need installation via Homebrew:
# Install optional enhanced tools
brew install htop # Enhanced top (better UI)
brew install nettop # Real-time network monitoring (macOS)
brew install iostat # I/O statistics (Linux)
Platform Detection
Detect the platform to use appropriate commands:
uname -s # Darwin = macOS, Linux = Linux
CPU Usage
macOS
# CPU usage summary (user, system, idle)
top -l 1 -n 0 | grep "CPU usage"
# Detailed per-core usage
top -l 2 -n 0 | tail -1
# Overall CPU percentage
vm_stat | head -5
Linux
# CPU usage summary
top -bn1 | head -5
# Detailed per-core
mpstat -P ALL 1 1
# Overall
uptime
One-liner (cross-platform friendly)
# macOS
top -l 1 -n 0 -s 0 | awk '/CPU usage/ {print}'
# Linux
top -bn1 | grep "Cpu(s)"
JSON-friendly (scripting)
# macOS: CPU stats with specific fields
top -l 1 -n 0 -s 0 -stats pid,pcpu,pmem,comm
Memory Usage
macOS
# Memory info (page size, pages active, wired, compressed, free)
vm_stat
# Human-readable summary
top -l 1 -n 0 | grep "PhysMem"
# Full memory details
hostinfo | grep "memory"
Linux
# Human-readable
free -h
# Detailed in MB
free -m
# Swap info
swapon -s
Memory Calculation (macOS)
# Calculate used memory from vm_stat
vm_stat | awk '/Pages active/ {active=$3} /Pages wired/ {wired=$3} /Pages free/ {free=$3} END {print "Active: " active " Wired: " wired " Free: " free}'
Disk Space
macOS & Linux
# All filesystems, human-readable
df -h
# Specific volume (macOS)
df -h /
# Linux root
df -h /
# Show inode usage (Linux)
df -i
# Sorted by usage (macOS)
df -h | sort -k5 -h
# Only local filesystems
df -h -t local
Disk Usage (directory-level)
# Current directory (macOS)
du -sh .
# Top-level directories
du -h --max-depth=1
# Linux sorted by size
du -h --max-depth=1 | sort -h
Network Statistics
macOS
# Network interfaces (use ifconfig instead)
ifconfig -a
# Active connections
lsof -i -n | head -20
# Listening ports
lsof -i -n | grep LISTEN
# Real-time network usage
nettop -P -L 1 -J bytes_in,bytes_out
Linux
# Interface statistics
ip -s link
# TCP/UDP stats
ss -s
# Active connections
ss -tunap
Process List
macOS
# Top processes by CPU
top -o cpu -l 1 -n 15
# Top processes by memory
top -o mem -l 1 -n 15
# All processes
ps aux
# User processes
ps -U $(whoami)
Linux
# Top processes by CPU
top -bn1 | head -12
# Top by memory
top -bo %MEM -bn1 | head -12
# Process tree
pstree
# User processes
ps -U $(whoami) --sort=-%mem
System Load
macOS
# Load average
uptime
# Detailed
hostinfo | grep "load"
Linux
uptime
# or
cat /proc/loadavg
Combined System Status
Quick Health Check
# CPU, Memory, Disk in one view (macOS)
echo "=== CPU ===" && top -l 1 -n 0 | grep "CPU usage"
echo "=== Memory ===" && top -l 1 -n 0 | grep "PhysMem"
echo "=== Disk ===" && df -h / | tail -1
# Linux
echo "=== CPU ===" && top -bn1 | head -5
echo "=== Memory ===" && free -h
echo "=== Disk ===" && df -h /
echo "=== Load ===" && uptime
Bundled Scripts
system-stats.sh
A combined system stats script for quick health checks:
#!/bin/bash
# Combined system stats - run from skills/system-monitor/scripts/
PLATFORM=$(uname -s)
echo "=== System Stats ==="
echo "Time: $(date)"
echo "Platform: $PLATFORM"
echo ""
if [ "$PLATFORM" = "Darwin" ]; then
echo "--- CPU ---"
top -l 1 -n 0 -s 0 | grep "CPU usage"
echo ""
echo "--- Memory ---"
top -l 1 -n 0 | grep "PhysMem"
vm_stat | head -5
echo ""
echo "--- Disk ---"
df -h / | tail -1
echo ""
echo "--- Load Average ---"
uptime
else
echo "--- CPU ---"
top -bn1 | head -5
echo ""
echo "--- Memory ---"
free -h
echo ""
echo "--- Disk ---"
df -h / | tail -1
echo ""
echo "--- Load Average ---"
uptime
fi
Notes
- macOS uses
vm_statfor memory, Linux usesfree topoutput format differs between platforms- Use
hostinfoon macOS for system overview - Use
lsofornettopinstead of deprecatednetstat - For continuous monitoring, use
watchcommand or runtopin loop
Comments
Loading comments...
