Skip to content
Back to skills

Monitor Workstation

ASecurity

Nightly workstation health monitor. Enforces "no artifacts on NVMe" rule, detects cache bloat, checks drive health, and alerts on threshold breaches. Composes existing ops-* skills — never reimplements their logic. Uses /analytics + /create-figure for visual reports.

  • 6 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 11, 2026
devopspythongobashdocker

Works with

  • cli

Security analysis

A100/100

Pro scans all 7 files and shows the line behind each finding

Scanned September 23, 2026

npx -y skills add grahama1970/agent-skills --skill monitor-workstation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Monitor Workstation?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Monitor Workstation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/grahama1970-monitor-workstation/badge)](https://www.skillsdirectory.com/skills/grahama1970-monitor-workstation)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: monitor-workstation
description: >
  Nightly workstation health monitor. Enforces "no artifacts on NVMe" rule,
  detects cache bloat, checks drive health, and alerts on threshold breaches.
  Composes existing ops-* skills — never reimplements their logic.
  Uses /analytics + /create-figure for visual reports.
triggers:
  - monitor workstation
  - check workstation health
  - nightly workstation check
  - nvme storage check
  - artifact violation check
  - is the home drive full
  - workstation health
provides:
  - workstation-health-monitoring
  - nvme-artifact-enforcement
  - cache-bloat-detection
composes:
  - ops-workstation
  - ops-arango
  - ops-docker
  - ops-claude
  - monitor-claude
  - analytics
  - create-figure
  - memory
  - scheduler
  - agentic-evals
taxonomy:
  - monitoring
  - operations
  - infrastructure
disciplines:
  - observability-operations
---

> STOP. READ THIS ENTIRE SKILL.MD BEFORE CALLING ANY ENDPOINT.

# monitor-workstation

Nightly workstation health monitor. Runs 14 probes to enforce storage rules, detect cache bloat, and verify drive health.

## Usage

```bash
# Run all probes (markdown table output)
./run.sh check

# JSON output with figure_data for /dashboard
./run.sh check --json

# Auto-fix safe issues (cache pruning)
./run.sh check --autofix

# Visual report via /analytics → /create-figure
./run.sh check --report

# Register nightly 4am job
./run.sh register-nightly
```

## Probes

| ID  | Name              | Checks                                          | Thresholds              |
|-----|-------------------|--------------------------------------------------|-------------------------|
| W01 | nvme-usage        | `/` disk usage                                   | >60% warn, >80% critical; target 50–60% |
| W02 | nvme-artifacts    | Models/backups/media on NVMe that belong on 12TB | Any match = WARN        |
| W03 | cache-bloat       | uv, huggingface, pip, npm cache sizes            | uv>20GB, hf>30GB, pip/npm>2GB |
| W04 | experiment-growth | Experiment dirs on NVMe >50GB                    | Any >50GB = WARN        |
| W05 | arango-backup     | Backup freshness + path on 12TB                  | >48h = WARN             |
| W06 | docker-reclaimable| Docker system reclaimable space                  | >50GB = WARN            |
| W07 | zombie-processes  | Stale Claude/Chromium/build processes; reaps ledger-owned Ask browser windows/tabs under `--autofix` | Any = WARN |
| W08 | drive-health      | SMART status of NVMe + HDD                       | Any non-PASSED = FAIL   |
| W09 | tmp-bloat         | Recognized skill temp dirs older than 72h, excluding live process references | Stale inactive dirs = FAIL |
| W10 | inotify-watches   | Kernel watch budget                              | See probe thresholds   |
| W11 | agent-cli-freshness | Installed agent CLI versions                    | Stale = WARN           |
| W12 | skill-symlinks    | Copied skills, wrong/broken links, pre-symlink leftovers | Any match = WARN; scan errors = FAIL |
| W13 | gpu-container-capability | GPU-attached containers actually have working CUDA inside | Any dead-CUDA container = FAIL; unprobeable (no python3/torch) = WARN |
| W14 | mail-auth         | SPF + DMARC + DKIM DNS records for sending domains | DKIM missing under enforcing DMARC = FAIL; missing SPF/DMARC = WARN |

## One Canonical Skills Directory

`~/workspace/experiments/agent-skills/skills` is the only canonical skills tree.
Existing agent skill locations must be symlinks to it, not copied directories.
W12 checks home and immediate project roots under `~/workspace` and
`~/workspace/experiments`, without traversing project symlinks or copied trees.
Missing agent skill locations are not created automatically.

`./run.sh fix skill-symlinks` removes owned `skills.pre-symlink-*` directories
only beside a valid canonical `skills` symlink. It does not archive copies on
either drive. Wrong links and live copied `skills` directories remain warnings
for explicit reconciliation; a missing canonical tree prevents any deletion.
Removal is read back before it is reported as applied.

## Autofix (--autofix)

Safe cleanup is auto-executed:
- `uv cache clean --force` when `/` exceeds 60%; otherwise `uv cache prune`
- `pip cache purge`
- `npm cache clean --force`
- `docker system prune -a -f` when reclaimable data exceeds 50GB (**volumes are never pruned**)

The 4am job is a capacity-maintenance action, not report-only monitoring. It
attempts to keep `/` in the 50–60% band; persistent project data or Docker
volumes are reported rather than deleted.
W07 delegates browser cleanup to Ask's ownership-ledger reapers: it closes only
expired Ask-owned windows and stale `ask-*` provider tabs, never arbitrary Chrome
processes, user tabs, active lanes, or persistent browser-oracle tabs.
W09 removes only recognized temporary-workspace classes older than 72 hours after
checking current process working directories and command lines; active paths are
preserved. W11 updates stale agent CLIs, and W12 removes pre-symlink leftovers
under the safeguards above.

## State

- Latest report: `~/.pi/monitor-workstation/report.json`
- History: `~/.pi/monitor-workstation/history.jsonl`

Files in this skill

  • SKILL.md2.8 KB
  • fixtures/agentic_eval.json497 B
  • monitor.py13.4 KB
  • probes.py19.4 KB
  • pyproject.toml295 B
  • run.sh1.7 KB
  • sanity.sh2.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.