Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install ariffazil-arifos-00-legacy-materials-arifos-upstream-archive-workspace-skills-os-git clone https://github.com/ariffazil/arifos.gitcp arifos/SKILL.MD ~/.claude/skills/ariffazil-arifos-00-legacy-materials-arifos-upstream-archive-workspace-skills-os-/SKILL.md---
name: os-health
description: VPS OS health, network speed test, disk, RAM, CPU, uptime, process snapshot
user-invocable: true
---
# OS Health & Speedtest — arifOS_bot
Triggers: "speedtest", "network speed", "how fast is my VPS", "os health", "system check",
"cpu usage", "memory usage", "disk space", "uptime", "processes", "top processes",
"is VPS slow", "latency", "ping", "bandwidth", "vps performance"
---
## Full Health Snapshot (run all at once)
```bash
echo "=== $(date) ===" && \
echo "--- UPTIME ---" && uptime && \
echo "--- CPU ---" && grep -c ^processor /proc/cpuinfo && cat /proc/loadavg && \
echo "--- RAM ---" && free -h && \
echo "--- DISK ---" && df -h / && \
echo "--- CONTAINERS ---" && docker ps --format "table {{.Names}}\t{{.Status}}" 2>/dev/null && \
echo "--- arifOS ---" && curl -sf http://arifosmcp:8080/health | python3 -c "import sys,json; d=json.load(sys.stdin); print(f\"status={d['status']} tools={d.get('tools_loaded','?')}\")" 2>/dev/null
```
---
## Network Speed Test
### Download speed (Cloudflare — no install needed)
```bash
# 10MB test file from Cloudflare
SPEED=$(curl -s -o /dev/null -w "%{speed_download}" \
"https://speed.cloudflare.com/__down?bytes=10000000" --max-time 15)
echo "Download: $(echo "scale=1; ${SPEED}/1048576" | bc) MB/s"
```
### Latency to key endpoints
```bash
for HOST in 1.1.1.1 8.8.8.8 api.anthropic.com api.moonshot.cn; do
RTT=$(curl -s -o /dev/null -w "%{time_connect}s" "https://${HOST}" --max-time 5 2>/dev/null || echo "timeout")
echo "${HOST}: ${RTT}"
done
```
### Upload speed (to your own VPS — internal)
```bash
# From container to arifOS MCP endpoint
dd if=/dev/urandom bs=1M count=5 2>/dev/null | \
curl -s -X POST http://arifosmcp:8080/health \
-H "Content-Type: application/octet-stream" \
--data-binary @- -o /dev/null -w "upload: %{speed_upload} B/s\n"
```
### Quick ping test (DNS resolution speed)
```bash
for HOST in arifosmcp headless_browser qdrant ollama_engine arifos-postgres; do
TIME=$(curl -sf -o /dev/null -w "%{time_namelookup}+%{time_connect}" http://${HOST} 2>/dev/null || echo "unreachable")
echo "${HOST}: ${TIME}s"
done
```
---
## CPU & Process Analysis
```bash
# Top CPU consumers
ps aux --sort=-%cpu | head -10
# Top memory consumers
ps aux --sort=-%mem | head -10
# CPU info
nproc && cat /proc/loadavg
# Check if load is high
LOAD=$(cat /proc/loadavg | cut -d' ' -f1)
CORES=$(nproc)
echo "Load: ${LOAD} / ${CORES} cores"
# If load > cores: system under pressure
```
---
## Disk Analysis
```bash
# Overall usage
df -h
# Find disk hogs (top 10 largest dirs)
du -h / --max-depth=3 2>/dev/null | sort -rh | head -10
# Docker-specific disk usage
docker system df
# Ollama model sizes
docker exec ollama_engine du -sh /root/.ollama/models/ 2>/dev/null
# Log sizes
du -sh /opt/arifos/data/openclaw/logs/ /var/log/ 2>/dev/null
```
## Disk Alert Thresholds
```bash
USED=$(df / | awk 'NR==2{print $5}' | tr -d '%')
if [ "$USED" -gt 85 ]; then
echo "DISK_CRITICAL: ${USED}% — immediate cleanup required"
echo "Run: docker builder prune -f && docker image prune -f"
elif [ "$USED" -gt 75 ]; then
echo "DISK_WARNING: ${USED}% — monitor closely"
else
echo "DISK_OK: ${USED}%"
fi
```
---
## RAM Analysis
```bash
# Full memory breakdown
free -h
# Per-container memory (sorted)
docker stats --no-stream --format "{{.Name}}: {{.MemUsage}} ({{.MemPerc}})" | sort -t'/' -k1 -rh
# Check if swap is being used (bad sign on this VPS)
free -h | grep Swap
# >100MiB swap used → RAM pressure, check which container to limit
```
---
## Network Interface Stats
```bash
# Bytes in/out since boot
cat /proc/net/dev | awk 'NR>2 {printf "%s: RX=%.1fMB TX=%.1fMB\n", $1, $2/1048576, $10/1048576}' | grep -v "lo:"
# Active connections count
ss -s 2>/dev/null || netstat -s 2>/dev/null | grep "connections" | head -5
```
---
## OS Info
```bash
uname -a
cat /etc/os-release | grep -E "^(NAME|VERSION)="
# CPU model
grep "model name" /proc/cpuinfo | head -1 | cut -d: -f2 | xargs
# VPS host
curl -sf http://169.254.169.254/latest/meta-data/instance-type 2>/dev/null || echo "Not AWS (KVM VPS)"
```
---
## Auto-Heal Actions (within autonomous authority)
```bash
# Disk >80% — safe cleanup
docker builder prune -f
docker image prune -f --filter "dangling=true"
journalctl --vacuum-size=200M 2>/dev/null
# Container OOM-killed — restart it
docker compose -f /mnt/arifos/docker-compose.yml up -d <container_name>
# High load — identify and report (don't kill without F13)
ps aux --sort=-%cpu | head -5
# → Report to Arif before killing unknown processes
```
---
## Log to Audit
```bash
echo "{\"ts\":\"$(date -u +%Y-%m-%dT%H:%M:%SZ)\",\"event\":\"os_health_check\",\"disk_pct\":\"$(df / | awk 'NR==2{print $5}')\",\"load\":\"$(cat /proc/loadavg | cut -d' ' -f1)\",\"agent\":\"arifOS_bot\"}" \
>> ~/.openclaw/workspace/logs/audit.jsonl
```
*arifOS_bot — OS health + network diagnostics*