nonfunctional-perf

Defines measurement-based non-functional tests for performance, load, stress, spike, soak, scalability, and capacity.

Updated Jun 24, 2026
One-click install
npx skills add https://github.com/Hakkadaikon/hymme --skill nonfunctional-perf-hakkadaikon
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: nonfunctional-perf
Source: https://github.com/Hakkadaikon/hymme/tree/main/skills/nonfunctional-perf
Command: npx skills add https://github.com/Hakkadaikon/hymme --skill nonfunctional-perf-hakkadaikon

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires autocannon.

What problem does it solve? Performance testing often degrades into running a load tool and eyeballing numbers, with no pass/fail criteria, so regressions slip through CI unnoticed. This Skill enforces a discipline of defining SLO/SLA thresholds first, then measuring against them and failing the build when exceeded. ## Core Features & Use Cases - Seven measurement test types: Covers performance, load, stress, spike, soak (endurance), scalability, and capacity testing, mapped to ISO/IEC 25010 performance efficiency. - Load test procedure and completion checklist: Step-by-step workflow from SLO definition through ramp-up, percentile-based measurement (p50/p95/p99), threshold comparison, and separation of load generator from target. - Performance fix workflow: Guides profiling-first diagnosis, interval narrowing, differential oracle testing against the slow reference implementation, and measurement-driven optimization decisions. - Use Case: You need to verify an API endpoint meets p99 < 200ms under 50 concurrent connections. The Skill provides an autocannon-based TypeScript example that throws and fails CI when latency or error thresholds are exceeded. ## Quick Start Ask the AI to write a load test for your API endpoint with explicit p99 latency and error-rate SLO thresholds that fails CI when exceeded.

Frequently Asked Questions about nonfunctional-perf

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

FAQPage Schema
How do I write a load test that fails CI when performance degrades?

Define numeric SLO thresholds first (e.g., p99 < 200ms, error rate < 0.1%), run the load scenario with a tool like autocannon, then compare measured values against thresholds and throw an error to fail the build. Without the threshold check, the test only ran but guarded nothing.

What is the difference between load, stress, spike, and soak testing?

Load testing verifies performance holds from normal to peak expected load. Stress testing pushes beyond limits to find breaking points. Spike testing applies sudden load surges to check recovery. Soak testing sustains normal load for hours to detect memory leaks and resource exhaustion.

Why should performance tests use p99 instead of average latency?

Averages hide tail degradation affecting a subset of users. Judging pass/fail by p95 or p99 percentiles ensures the slowest requests stay within the SLO, which average-based checks would miss entirely.

Can the load generator run on the same machine as the app being tested?

No. The load generator and target application should run in separate processes, ideally separate hosts. Co-locating them lets the generator's CPU consumption contaminate measurements, making results untrustworthy.

How do I safely optimize slow code without breaking correctness?

Profile first to identify the actual bottleneck rather than guessing. Keep the slow but obviously correct implementation as a differential oracle, and verify the optimized version produces identical outputs on random and boundary inputs before removing the old code.