Cross-platform, hardware-adaptive system optimizer. Auto-detects macOS / Linux / WSL / Windows (MINGW/Cygwin/MSYS2) and CPU/RAM/disk/GPU profile, then picks the right cleanup strategy. Scans reclaimable disk space, memory pressure, runaway processes, startup bloat, network issues. CleanMyMac built into Claude Code.
npx skills add https://github.com/davepoon/buildwithclaude --skill ops-speedup
Before scanning, load:
cat ${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json — read timezone for timestampsThe bin/ops-speedup binary is the single source of truth for probes AND actions. This skill's job is to:
bin/ops-speedup| Command | Purpose | Side effects |
|---------|---------|--------------|
| ops-speedup | Visual banner + hardware summary | None |
| ops-speedup --json | Quick JSON diagnostics (disk/mem/net only) | None |
| ops-speedup --scan | Full parallel probe: disk + mem + CPU hogs + power hogs + GPU/ANE + startup | None |
| ops-speedup --clean | Safe cleanup: caches, tmp, logs, demote daemons, DNS flush, kernel tune | Non-destructive |
| ops-speedup --deep | --clean + Trash, DerivedData, simulators, animation cuts, launch-agent kill | Removes files |
| ops-speedup --aggressive | --deep + unload launch agents, docker --volumes, stale node_modules (>14d), TCP BBR | Potentially breaking — confirm first |
All modes:
~/.ops-speedup/history.jsonl| Capability | macOS | Linux | WSL | Windows |
|------------|-------|-------|-----|---------|
| Disk reclaimable scan | ✓ | ✓ | ✓ | limited |
| Memory + swap | ✓ | ✓ | ✓ | limited |
| CPU hog kill | ✓ | ✓ | ✓ | — |
| Power/Energy Impact | ✓ (top -stats power) | ✓ (powertop) | — | — |
| GPU/Neural Engine | ✓ (powermetrics) | ✓ (nvidia-smi) | — | — |
| Launch agent offenders | ✓ | — | — | — |
| systemd unit masking | — | ✓ | ✓ | — |
| E-core demotion | ✓ (taskpolicy -b) | ✓ (renice+ionice) | ✓ | — |
| UI animation cuts | ✓ | — | — | — |
| Kernel tune (vnodes/somaxconn) | ✓ | ✓ | ✓ | — |
| TCP BBR | — | ✓ (aggressive) | ✓ (aggressive) | — |
| DNS flush | ✓ (dscacheutil) | ✓ (resolved) | ✓ (via Windows) | — |
| Memory purge | ✓ (purge) | ✓ (drop_caches) | ✓ | — |
| Stale build dir prune (>14d) | ✓ | ✓ | ✓ | — |
${CLAUDE_PLUGIN_ROOT}/bin/ops-speedup 2>/dev/null || echo "SCAN_FAILED"
${CLAUDE_PLUGIN_ROOT}/bin/ops-speedup --scan 2>/dev/null || echo '{}'
The binary already runs all probes in parallel. Do NOT add additional serial probe calls from this skill — they will duplicate work that's already in the JSON output.
Parse the JSON and render:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OPS > SYSTEM SPEEDUP — [os] [os_version] [chip]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HEALTH SCORE: [0-100] / 100 [████████░░ 80%]
DISK RECLAIMABLE
────────────────────────────────────────────────────
brew cache [N] MB ✓ safe
npm cache [N] MB ✓ safe
pnpm cache [N] MB ✓ safe
Xcode DerivedData [N] MB ✓ safe
Xcode DeviceSupport [N] MB ✓ safe
Docker reclaimable [N] MB ✓ safe
Metal shader cache [N] MB ✓ safe
Trash [N] MB ✓ safe
Logs [N] MB ✓ safe
Downloads [N] MB ⚠ review
Caches (general) [N] MB ⚠ review
/tmp [N] MB ✓ safe
apt/journal [N] MB ✓ safe (linux)
────────────────────────────────────────────────────
TOTAL RECLAIMABLE: [N] GB
MEMORY
────────────────────────────────────────────────────
Pressure: [N]% free Swap: [N] MB Free: [N] MB
NETWORK
────────────────────────────────────────────────────
Interface: [iface] DNS: [N]ms
STARTUP
────────────────────────────────────────────────────
Login items: [N] (macOS)
Launch agents: [N] (macOS)
Failed units: [N] (Linux)
Enabled units: [N] (Linux)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Health score calculation:
AskUserQuestion call 1 — Cleanup scope:
[Quick — caches, tmp, logs, DNS flush (~[N] GB)]
[Deep — + Trash, DerivedData, simulators, animation cuts (~[N] GB)]
[Aggressive — + launch-agent unload, stale node_modules, docker volumes (~[N] GB)]
[More options...]
AskUserQuestion call 2 (only if "More options..."):
[Custom — pick categories]
[Memory — kill top RAM hogs]
[Startup / Network / Skip...]
AskUserQuestion call 3 (only if "Startup / Network / Skip..."):
[Startup — review & disable launch agents / systemd units]
[Network — flush DNS, tune TCP, BBR (aggressive)]
[Skip — just show the report]
Per plugin Rule 5, destructive actions require explicit per-action confirmation. Before running --aggressive:
About to run AGGRESSIVE cleanup. Each item is destructive:
• Unload launch agents: [list]
• Docker volume prune (may delete unmounted volumes): [N] MB
• Stale node_modules (>14 days): [list of paths]
• TCP congestion control → BBR (Linux only)
[Proceed with all] [Pick categories] [Cancel]
If "Pick categories", batch per Rule 1 (max 4 options per AskUserQuestion).
Invoke the binary directly — it handles OS detection and dispatch:
# Quick clean
${CLAUDE_PLUGIN_ROOT}/bin/ops-speedup --clean
# Deep clean
${CLAUDE_PLUGIN_ROOT}/bin/ops-speedup --deep
# Aggressive (after confirmation)
${CLAUDE_PLUGIN_ROOT}/bin/ops-speedup --aggressive
Memory hog killing (option 5 from Phase 4):
Top processes are already in the scan JSON (cpu_hogs / power_hogs). Present them in paginated AskUserQuestion calls (max 3 processes + [More...] per page, final page has [Kill selected] + [Skip]).
NEVER kill: kernel_task, launchd, WindowServer, loginwindow, Finder, Dock, systemd, init, shells (bash/zsh/fish), tmux, IDE processes (Cursor/Comet/Code), Claude, node, python, Xcode. The binary's PROTECTED_RE regex blocks these automatically.
After cleanup, re-scan and diff:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OPS > CLEANUP COMPLETE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Reclaimed: [N] GB
Disk free: [before] GB → [after] GB
RAM free: [before] MB → [after] MB
Swap: [before] MB → [after] MB
Health: [before]/100 → [after]/100
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
History: ~/.ops-speedup/history.jsonl
If user came from /ops:dash, offer b) Back to dashboard.
If $ARGUMENTS is:
scan or empty — Phase 1-3 only (report, no cleanup)clean — run ops-speedup --clean automatically (safe)deep — run ops-speedup --deep automatically (after 1 confirmation)auto — run ops-speedup --clean automatically, print resultsaggressive — run ops-speedup --aggressive after per-item confirmations~/.ops-speedup/history.jsonl is append-only. For trend questions ("is my disk filling up?", "is swap growing over time?"), read + graph:
tail -30 ~/.ops-speedup/history.jsonl | jq -r '[.ts, .ram_free_mb, .swap_mb, .disk_pct] | @tsv'
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Replace with description of the skill and when Claude should use it.
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Take davepoon/ops-speedup from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.