aiosai/aipass/system-status
Claude Code and agent skill by aiosai/aipass
- community
Checking that the SKILL.md file is still in the repository.
Check system health -- disk usage, memory, running processes, uptime, battery
Install
npx vskill@latest install aiosai/aipass/system-statusSKILL.md
System Status Skill
Check system health metrics without leaving your workflow. Returns structured data about disk usage, memory, running processes, and system uptime.
Available Actions
| Action | Description | |
|---|---|---|
disk | Disk usage for the root filesystem | |
memory | Memory and swap usage (psutil, portable) | |
uptime | System uptime from psutil's boot time | |
processes | Count of processes (every pid the host lists) | |
battery | Charge, mains, state, time left (none is an answer) | |
summary | All of the above combined into one report |
Published Function: machine_vitals()
An in-process read for callers that want data, not text - the host API's /v1/machine route proxies it verbatim and BAUD's phone draws it (FPLAN-0561).
{"ok": True, "schema": 2, "sampled_at": ...}plus nine sections:cpu,
load, memory, swap, temp, fan, network, processes, battery (schema 1 had the first eight). Each carries available, reason, sentence, detail beside its values. Never raises for a reading; a value the host cannot give is None, never a zero.
- Whole-function refusal:
{"ok": False, "reason", "detail"}with
psutil_missing or switched_off (the off-switch is consulted, and an unreadable switch state fails closed).
- Reason codes (closed set, one sentence each in
REASONS):platform,
no_sensor, no_allowlisted_sensor, read_failed, warming, no_range, switched_off, psutil_missing.
cpucarriespercentandwindow_s, pluscores(busy percent per
logical CPU, in index order), logical and physical (the counts) and mhz / mhz_max (frequency now and its ceiling). One cpu_times(percpu=True) sample per read: the headline is summed from the same per-CPU deltas as the cores, so the two agree. percent and cores are None while warming (and when the CPU count changed between samples); the counts and frequency are instant readings and are published even then. No frequency on a host is None, never 0.
- CPU temperature and fans come from allowlists keyed by chip and label
(coretemp / Package id 0; applesmc fans). The fan range is a read-only Linux sysfs read of fanN_min / fanN_max.
batterycarriespercent,plugged,state(charging,discharging,
full or unknown), seconds_left, low and critical. A host whose psutil.sensors_battery() answers None is no_sensor; a psutil without the function is platform. seconds_left is None on psutil's POWER_TIME_UNLIMITED / POWER_TIME_UNKNOWN, and detail names which. state is the kernel's /sys/class/power_supply/BAT*/status word on Linux when it is one of the three (any other word is unknown), else derived from plugged and percent. low / critical are UPower's PercentageLow / PercentageCritical from /etc/UPower/UPower.conf on Linux (UPower's 20 / 5 when the file leaves a key out); no file, or a time-based policy, is None - a face tones only against a line the host published.
The contract in full is in the branch README; it is pinned by tests/test_machine_vitals.py.
Published Function: machine_processes(limit=20)
The busiest processes on the host, for "the fan is loud and no agent is running - what is?" (contract C-B, DPLAN-0414 theme 3).
{"sampled_at", "window_ms", "total", "sort": "cpu", "processes": [...]};
each row is pid, name, cpu_pct, mem_pct, mem_mb, user, state.
- The top
limit(clamped to 1..100) bycpu_pct, ties bymem_pct.
cpu_pct is a real ~0.5 s sample, normalised to the whole machine (a 4-core box at full tilt sums to ~100, not ~400). total counts every pid.
- The process name only - never its command line, arguments, environment or
working directory. A process that vanishes or is denied mid-sample is left out; an unreadable owner is user: None.
- Off, unreadable switch, or no psutil: the same refusal
machine_vitals()
answers.
Usage
Output Format
All actions return structured dicts:
When to Use
- Quick health check before resource-intensive operations
- Diagnosing slow performance (memory pressure, disk full)
- Monitoring system state during long-running tasks
- Getting a snapshot of system health for reports
Notes
- Disk usage uses
shutil.disk_usage()-- stdlib, portable - Memory, uptime and process count use
psutil(psutil>=5.9, a declared
dependency of this project), which answers them on Linux, macOS and Windows
- Until 2026-09-12 those three read
/procdirectly, so every one of them
returned success: False on macOS and summary reported success: True over a disk line and an Errors trailer (FPLAN-0554)
summaryissuccess: Falsewhenever any section fails, anderrornames
the sections that are missing; the sections that did answer are still in output
- On a host without psutil the three actions refuse and name the install
recipe -- they never answer a partial
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingsrc/aipass/skills/lib/system_status/SKILL.md
Popularity
- Repository stars
- 247
- Repository forks
- 34
- 7-day trend score
- 28
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
[](https://verified-skill.com/skills/aiosai/aipass/system-status)