benchmark

Detects web performance regressions by comparing page metrics against captured baselines.

2|Updated Mar 26, 2026
One-click install
npx skills add https://github.com/westkite1201/garden-engine --skill benchmark-westkite1201
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: benchmark
Source: https://github.com/westkite1201/garden-engine/tree/main/.claude/skills/gstack/benchmark
Command: npx skills add https://github.com/westkite1201/garden-engine --skill benchmark-westkite1201

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Web performance degrades gradually across pull requests, and without baselines nobody notices until pages become slow. This Skill measures real page load metrics, compares them against saved baselines, and flags regressions before they ship. ## Core Features & Use Cases - Baseline Capture & Comparison: Records TTFB, FCP, LCP, DOM timings, transfer sizes, and request counts per page, then diffs current runs against stored baselines with regression thresholds. - Resource & Bundle Analysis: Lists the slowest resources, tracks JS/CSS bundle sizes, and checks results against industry performance budgets. - Trend Tracking: Aggregates historical benchmark reports to show performance trends over time. - Use Case: Before merging a PR, run a benchmark against your staging URL to discover that LCP doubled and the JS bundle grew 60%, then investigate the new dependency responsible. ## Quick Start Ask the AI to run /benchmark against your local or staging URL to audit page performance and compare it with the saved baseline.

Frequently Asked Questions about benchmark

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I detect performance regressions before merging a PR?

Capture a baseline with /benchmark <url> --baseline on the main branch, then run /benchmark <url> on your feature branch. The skill compares TTFB, FCP, LCP, transfer size, and bundle size against the baseline and flags regressions using percentage thresholds.

What metrics does a web performance benchmark measure?

It measures TTFB, First Contentful Paint, Largest Contentful Paint, DOM Interactive, DOM Complete, full load time, total requests, total transfer bytes, and JS/CSS bundle sizes. Data comes from the browser Performance API via performance.getEntriesByType.

Can I benchmark only the pages changed in my branch?

Yes, use /benchmark --diff to benchmark only pages affected by the current branch. It derives changed files from git diff against the PR base branch and limits the audit to impacted pages.

What counts as a performance regression in the report?

Timing metrics regress when they increase over 50% or by more than 500ms; over 20% is a warning. Bundle sizes regress at over 25% growth, and request counts over 30% trigger a warning.

Why does the benchmark require a baseline file?

Without a baseline the skill can only report absolute numbers, which are hard to judge since acceptable load times vary by page type. Baselines stored in .gstack/benchmark-reports/baselines enable relative comparison and regression detection.