Skip to main content

macos-performance-benchmark

Repeatable macOS/Apple-Silicon benchmark + diagnostics scored PASS/WARN/FAIL with saved reports. Use when baselining a Mac, verifying it performs to spec, or tracking CPU/memory/disk/thermal health.

Source facts

Repository
laurigates/claude-plugins
Last source activity
October 10, 2026 at 14:07
Detected SKILL.md language
English
Stars
59
Forks
6

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
15 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
macos-performance-benchmark
description
Repeatable macOS/Apple-Silicon benchmark + diagnostics scored PASS/WARN/FAIL with saved reports. Use when baselining a Mac, verifying it performs to spec, or tracking CPU/memory/disk/thermal health.
args
[mode]
argument-hint
mode — diagnose | bench | full | report (default full)
allowed-tools
Bash(bash *), Bash(uname *), Bash(sudo bash *), Read, Grep, Glob
created
2026-07-03T00:00:00.000Z
modified
2026-10-10T00:00:00.000Z
reviewed
2026-08-07T00:00:00.000Z
model
haiku
effort
low
# macOS Performance Benchmark (Apple Silicon) A repeatable, threshold-scored performance suite. Runs diagnostics and benchmarks for CPU/thermals, memory/swap, disk/storage, and startup/background load, writes a timestamped run under `~/.cache/macos-perf/`, and generates a markdown report with PASS/WARN/FAIL verdicts against tunable baselines. ## When to Use This Skill | Use this skill when... | Use something else when... | |------------------------|----------------------------| | You want a **repeatable baseline** — "is this Mac performing to spec?" scored PASS/WARN/FAIL | The Mac is **hot/slow right now** and you need live attribution — use `macos-performance-triage` | | Tracking CPU/memory/disk/thermal health across runs, comparing before/after a change | The machine actually **hung or panicked** — use `macos-incident-postmortem` | | Producing a saved report to keep or share | A **security extension** (Kandji ESF, XProtect, EDR) is the hot process — use `endpoint-security-cpu` | | Benchmarking NVMe/AES/SHA/memory throughput against thresholds | You're **reclaiming disk space** — use `macos-disk-usage` | This skill is the **proactive baseline** companion to the reactive `macos-performance-triage` playbook: run this to know the machine's normal; run triage when something is wrong *now*. ## Platform Guard **macOS-only.** `sysctl`, `pmset`, `powermetrics`, `macmon`, `diskutil`, and the Apple-Silicon counters are Darwin-specific. `run.sh` refuses on non-Darwin. ```bash test "$(uname -s)" = "Darwin" || { echo "macos-plugin: not Darwin, refusing"; exit 1; } ``` ## Parameters Parse `$ARGUMENTS` for the run **mode** (default `full`): | Mode | What runs | Time | sudo | |------|-----------|------|------| | `diagnose` | 4 diagnostics + report | ~25s | no | | `bench` | 3 benchmarks + report | ~3 min | no | | `full` | diagnose + bench (default) | ~5 min | no | | `diag-cpu` / `diag-memory` / `diag-disk` / `diag-startup` | one diagnostic | <10s | no | | `bench-cpu` / `bench-memory` / `bench-disk` | one benchmark | ~1 min | no | | `report` | regenerate the latest run's report | instant | no | | `report-list` | list saved runs with PASS/WARN/FAIL counts | instant | no | | `baseline-show` | print this machine's recorded benchmark baseline | instant | no | | `baseline-reset` | clear the baseline (next bench run re-establishes it) | instant | no | Add `sudo` in front for thermal-pressure data (`powermetrics`); everything else, including CPU power via `macmon`, runs **without** sudo. ## Execution Run the bundled suite and surface the verdict. The scripts self-detect tools and skip gracefully when one is absent. ### Step 1: Run the selected mode ```bash bash "${CLAUDE_SKILL_DIR}/scripts/run.sh" $ARGUMENTS ``` For thermal-pressure data (optional), prefix with `sudo`: ```bash sudo bash "${CLAUDE_SKILL_DIR}/scripts/run.sh" diag-cpu ``` ### Step 2: Read the report `run.sh` prints the generated report and its path (`~/.cache/macos-perf/<timestamp>/report.md`). Summarize the **Overall Status** and every WARN/FAIL, mapping each to the process or subsystem responsible. For a hot process or hung machine, hand off to the reactive skills named in the "When to Use" table. ### Step 3: Compare against prior runs (optional) ```bash bash "${CLAUDE_SKILL_DIR}/scripts/run.sh" report-list ``` Each saved run keeps its `summary.tsv` (one status row per check) and per-script logs, so before/after comparisons and regressions over time are trivial. ## Scoring model **Benchmarks are self-calibrating — no fixed thresholds ship in the repo** (they'd be wrong on every machine but the author's). The **first** benchmark run records each score as this machine's baseline (best-seen), stored in `~/.cache/macos-perf/baseline.env`. Later runs compare against it: - a score that **beats** the baseline **ratchets it up** ("new best"); - a score **10%+ below** best → **WARN**, **30%+ below** → **FAIL** (degradation from the machine's own peak — catches SSD wear, thermal-paste aging, a runaway background process, etc.). The degrade bands are env-overridable (`MACOS_PERF_BENCH_WARN_DEGRADE`, `MACOS_PERF_BENCH_FAIL_DEGRADE`). Inspect or clear the baseline with the `baseline-show` / `baseline-reset` modes. **Multi-core scaling efficiency is reported, never scored.** The ratio (multi-core throughput ÷ *n* × single-core) assumes every core is equivalent — which is false on Apple Silicon's P+E topology, where a healthy 10P+4E machine measures **24–27%** simply because 4 of its 14 cores run at a fraction of P-core throughput. No single floor is meaningful across symmetric and asymmetric machines, so the number is emitted as an info line (with the P:E core split when `hw.perflevel*` is available) and never contributes a PASS/WARN/FAIL. The *absolute* multi-core throughput is still scored, against this machine's own self-calibrating baseline. **Diagnostics keep absolute thresholds** — disk-free %, RAM, memory pressure, launch-item counts are health/hygiene checks, not performance scores, so they don't self-calibrate. Those defaults suit a modern Mac and are individually `MACOS_PERF_*`-overridable — see [`scripts/config.sh`](scripts/config.sh) for the full list, or drop a `thresholds.local.sh` beside it: ```bash MACOS_PERF_RAM_MIN_GB=16 bash "${CLAUDE_SKILL_DIR}/scripts/run.sh" diagnose ``` Results default to `~/.cache/macos-perf/`; override with `MACOS_PERF_RESULTS_DIR`. ## Tooling `macmon` (Rust, sudo-free) is preferred for CPU power/thermals, matching the `macos-performance-triage` toolkit; `powermetrics` (sudo) is the fallback and the only source of thermal *pressure*. Install the sudo-free path with: ```bash brew install macmon jq ``` ## Agentic Optimizations | Context | Command | |---------|---------| | Fast health check, no sudo | `bash "${CLAUDE_SKILL_DIR}/scripts/run.sh" diagnose` | | Full benchmark baseline | `bash "${CLAUDE_SKILL_DIR}/scripts/run.sh" bench` | | Machine-readable verdicts | `awk -F'\t' '$1~/^(PASS|WARN|FAIL)$/' ~/.cache/macos-perf/*/summary.tsv` | | List runs + counts | `bash "${CLAUDE_SKILL_DIR}/scripts/run.sh" report-list` | | Show / reset baseline | `bash "${CLAUDE_SKILL_DIR}/scripts/run.sh" baseline-show` | | Retune a diagnostic threshold | `MACOS_PERF_<KEY>=<value> bash "${CLAUDE_SKILL_DIR}/scripts/run.sh" <mode>` | ## Related - `macos-performance-triage` — reactive live triage (this skill's companion) - `macos-incident-postmortem` — after a hang/panic - `macos-disk-usage` — disk-space forensics and reclamation
View on GitHub