ariffazil/arifos/os-health

Claude Code and agent skill by ariffazil/arifos

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

VPS OS health, network speed test, disk, RAM, CPU, uptime, process snapshot

Install

npx vskill@latest install ariffazil/arifos/os-health

SKILL.md

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

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
51
Repository forks
9
7-day trend score
20

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/ariffazil/arifos/os-health/badge)](https://verified-skill.com/skills/ariffazil/arifos/os-health)

Something wrong with this skill or its page? Tell us.