Development

computer-health-check - Claude MCP Skill

Run a comprehensive, read-only health check on the user's computer and return a scored chat summary with prioritized, plain-English recommendations and safe cleanup suggestions. Use this whenever the user wants to check their computer's health, speed it up, free up / reclaim disk space, find what's eating CPU / memory / storage, check battery health and wear, audit login & startup items, see pending updates, or asks for a "tune-up", "checkup", "system report", "health check", or "is my Mac/PC/laptop healthy". Trigger even on casual phrasing like "my laptop feels slow", "why is my fan so loud", "my computer is laggy", "running out of space", or "clean up my machine". Works on macOS, Windows, and Linux. This is a Desktop Commander skill: it relies on a real local shell (start_process / interact_with_process) and is strictly read-only by default — it never needs sudo and only performs cleanups the user explicitly approves.

SEO Guide: Enhance your AI agent with the computer-health-check tool. This Model Context Protocol (MCP) server allows Claude Desktop and other LLMs to run a comprehensive, read-only health check on the user's computer and return a scored chat summary ... Download and configure this skill to unlock new capabilities for your AI workflow.

🌟379 stars • 1162 forks
šŸ“„0 downloads

Documentation

SKILL.md
# Computer Health Check

## What this skill does

Give the user a fast, trustworthy picture of their computer's health and a short list
of actions worth taking — the way a good technician would: look first, explain plainly,
fix only with permission.

It runs entirely through Desktop Commander's local shell, gathers a batch of **read-only**
diagnostics, scores each area, prints a concise summary **in the chat**, and then offers
cleanup suggestions the user can approve one by one.

## The safety contract (read this first)

This is the part that makes users trust the skill, so honor it strictly:

- **Read-only by default.** The collection phase only *observes* (sizes, counts, status).
  It changes nothing.
- **Never use `sudo` or elevation.** DC blocks `sudo`, `shutdown`, `reboot`, `dd`, `mount`,
  `mkfs`, `diskpart`, etc. for good reason. Every check below is designed to work without
  them. If something seems to need elevation, skip it and say so — don't try to work around
  the block.
- **Cleanups are opt-in.** You may *suggest* cleanups freely, but only *execute* one after
  the user explicitly approves that specific action, and only show the exact command first.
- **Prefer reversible, non-destructive actions.** Emptying caches that regenerate, clearing
  a package-manager download cache, or emptying Trash are fine to offer. Deleting user
  documents, uninstalling apps, or editing system files are not — suggest those, let the
  user do them.

## Workflow

### Step 1 — Detect the OS

Determine the platform before doing anything else, because the commands differ.

- Quickest: read Desktop Commander's config (`get_config`) and use the
  `systemInfo.isMacOS` / `isWindows` / `isLinux` booleans (or `platformName`) to
  pick the platform.
- Or run `uname` (macOS/Linux) — if it fails, assume Windows.

Then open the matching reference file and use its command set:

- macOS → [`references/macos.md`](references/macos.md)
- Windows → [`references/windows.md`](references/windows.md)
- Linux → [`references/linux.md`](references/linux.md)

Read **only** the one that matches. Each file contains a single batched collection script
plus interpretation notes and cleanup commands.

### Step 2 — Collect (read-only)

Run the batched collection script from the reference file with `start_process`. Batching
everything into one call is much faster than many small calls and keeps the output tidy.

Guidance:
- Keep outputs bounded (`head`, `Select-Object -First`, etc.) so a long process list or
  file listing doesn't flood the response.
- Skip the genuinely slow / network checks (full OS-update list, internet speed test) on the
  first pass unless the user asked about updates or network. Mention they're available.
- If a single command errors (e.g., a tool isn't installed), continue — partial data is fine.

### Step 3 — Score each area

Rate each category 🟢 Good / 🟔 Watch / šŸ”“ Act using the rubric below, then compute a simple
overall score. Start at 100 and subtract 8 per 🟔 and 18 per šŸ”“; floor at 0. Report the
number and a one-word verdict (90+ Excellent, 75–89 Good, 60–74 Fair, <60 Needs attention).

| Area | 🟢 Good | 🟔 Watch | šŸ”“ Act |
|---|---|---|---|
| Free disk space | >20% free | 10–20% | <10% |
| Disk health (SMART) | Verified / OK / PASSED | — | failing / not supported & errors present |
| Memory pressure | low swap, free pages healthy | noticeable swap/compression | heavy swapping, near-zero free |
| Battery (laptops) | ≄80% max capacity, Normal | 70–80% | <70% or "Service/Replace" |
| Maintenance | uptime <7d, no pending updates | uptime 7–30d or minor updates | uptime >30d or security updates pending |
| Startup load | few third-party login items | moderate | many heavy third-party agents |
| Live resource hogs | nothing >50% at idle | one sustained heavy process | multiple / runaway processes |

Battery is laptop-only — skip it on desktops/VMs. Reclaimable space is reported as an
informational figure, not scored.

### Step 4 — Report in the chat

Use this exact structure. Keep it tight and scannable — this is the deliverable.

```
šŸ–„ļø  Health Check — <Model>, <OS version>     Score: <N>/100 (<verdict>)

🟢/🟔/šŸ”“  Storage      — <free> free of <total> (<%>). Reclaimable: ~<X> GB
🟢/🟔/šŸ”“  Memory       — <one-line state>
🟢/🟔/šŸ”“  Battery      — <cycles> cycles, <max capacity>%, <condition>
🟢/🟔/šŸ”“  Maintenance  — up <days>d, <updates state>
🟢/🟔/šŸ”“  Startup      — <count> login items (<notable ones>)
🟢/🟔/šŸ”“  Right now    — top: <proc> <cpu%>, <proc> <cpu%>

Top recommendations
1. <highest-impact action> (<expected benefit, e.g. frees ~13 GB>)
2. <next>
3. <next>
```

List at most the 3–5 highest-impact recommendations, ordered by benefit. Don't dump every
finding — the goal is signal, not a wall of text.

### Step 5 — Suggest cleanups, execute only on approval

For each recommendation that maps to a concrete command (see the reference file's "Cleanup"
section), offer it and show the exact command. Then:

- **Safe, reversible** (offer to run on a yes): empty Trash, package-manager cache cleanup
  (`brew cleanup`, `npm cache clean`), clearing a regenerating user cache folder. (On Linux,
  `apt-get clean` / `dnf clean` need root — suggest, don't auto-run.)
- **Needs the user to decide / act** (suggest, don't auto-run): disabling login items,
  installing OS updates (requires restart), uninstalling apps, deleting files in Downloads.
- **Never**: anything requiring sudo/admin, removing system files, disk/partition operations.

When the user approves a safe action, run it, then report what changed (e.g., space freed).
Re-running Step 2's storage check afterward is a nice confirmation.

## Recommendation rules (findings → advice)

These are the high-value mappings; adapt the wording to the platform.

- **Uptime > 30 days** → "Restart your computer — it's been up <N> days. A reboot clears
  memory and applies pending updates." (Highest ROI, lowest effort.)
- **Pending OS/security updates** → platform update step; flag security updates as higher
  priority.
- **Free space < 15%** → lead with the biggest reclaimable buckets you measured.
- **Large Downloads / Caches / Trash** → empty Trash; review largest Downloads items by name;
  clear caches that regenerate.
- **Package manager has many outdated items / big cache** → `upgrade` + cache cleanup.
- **Battery max capacity < 80%** → explain wear is normal; consider a battery service if it's
  affecting runtime.
- **Many third-party startup agents** → name them and suggest disabling the ones the user
  doesn't recognize/need (point to System Settings / Task Manager — don't edit them directly).
- **A process pinned high at idle** → name it and suggest quitting/investigating.

## Notes & pitfalls

- **Don't assume — measure.** Always run the commands and report real numbers. Never
  fabricate sizes, cycle counts, or statuses.
- **Bounded output.** Process and file listings can be huge; always cap them.
- **Optional deep checks** (mention, run on request): internet speed test, full update list,
  per-folder disk scan of the whole home directory, crash-report trend analysis.
- **Privacy.** This reads local system metadata only. Don't send anything off the machine;
  the public-IP check is optional and should be labeled.
- **Cross-platform parity.** The three reference files mirror the same categories so the
  report looks the same regardless of OS.

Signals

Avg rating⭐ 0.0
Reviews0
Favorites0

Information

Repository
wonderwhy-er/DesktopCommanderMCP
Author
wonderwhy-er
Last Sync
9/4/2026
Repo Updated
9/4/2026
Created
7/1/2026

Reviews (0)

No reviews yet. Be the first to review this skill!

Related Skills

firecrawl-build-search

Integrate Firecrawl `/search` into product code and agent workflows. Use when an app needs discovery before extraction, when the feature starts with a query instead of a URL, or when the system should search the web and optionally hydrate result content.

⭐ 35092

firecrawl-build-onboarding

Get Firecrawl credentials and SDK setup into a project. Use when an application needs `FIRECRAWL_API_KEY`, when an agent should add Firecrawl to `.env`, when the user wants to authenticate Firecrawl for app code, or when choosing the first SDK and docs for a new Firecrawl integration. This skill includes its own browser auth flow, so it does not depend on the website onboarding skill.

⭐ 35092

firecrawl-build

Integrate Firecrawl into application code whenever a product, agent, or workflow needs web data inside the app — web search, live search results, page scraping, structured extraction, or browser interaction. Use when building any feature that needs data from the web in code, even if the user does not mention Firecrawl explicitly and only describes wanting web data, website content, search, scraping, or interaction in an application. Trigger for Firecrawl requests, "fire girl" shorthand, and generic app-level web-data needs that should map to `/scrape`, `/search`, or `/interact`. Do not use this skill for one-off terminal-only web tasks during the current session; use `firecrawl/cli` for those.

⭐ 35092

firecrawl-build-interact

Integrate Firecrawl `/interact` into product code for dynamic pages and browser actions after scraping. Use when a feature needs clicks, form fills, pagination, authentication-aware flows, or other multi-step interactions that plain `/scrape` cannot complete.

⭐ 35092

Related Guides

computer-health-check - Claude/MCP Skill for AI Agents | SkillAvatars | SkillAvatars