configure-load-tests
Load testing: k6, Artillery, Locust. Use when setting up load tests, auditing smoke/stress/spike/soak coverage, or adding CI performance regression detection.
- License 许可
- MIT
- 最近更新
- 2026-11-12
- Stars
- ★ 59
- Forks
- 6
01 前言 Front Matter
- args
- [--check-only] [--fix] [--framework <k6|artillery|locust>]
- name
- configure-load-tests
- created
- 1765843200000
- modified
- 1781740800000
- reviewed
- 1777420800000
- description
- Load testing: k6, Artillery, Locust. Use when setting up load tests, auditing smoke/stress/spike/soak coverage, or adding CI performance regression detection.
- allowed-tools
- Glob, Grep, Read, Write, Edit, Bash, AskUserQuestion, TodoWrite
- argument-hint
- [--check-only] [--fix] [--framework <k6|artillery|locust>]
02 资源文件 11
- 参考文档REFERENCE.md14.5 KB
- 参考文档references/aspnet-core-dotnet8to9.md2.3 KB
- 参考文档references/containers-interop-dotnet8to9.md1.9 KB
- 参考文档references/core-libraries-dotnet8to9.md7.0 KB
- 参考文档references/cryptography-dotnet8to9.md2.1 KB
- 参考文档references/csharp-compiler-dotnet8to9.md3.3 KB
- 参考文档references/deployment-runtime-dotnet8to9.md2.4 KB
- 参考文档references/efcore-dotnet8to9.md6.9 KB
- 参考文档references/sdk-msbuild-dotnet8to9.md2.3 KB
- 参考文档references/serialization-networking-dotnet8to9.md5.4 KB
- 参考文档references/winforms-wpf-dotnet8to9.md3.7 KB
03 SKILL.md 正文
/configure:load-tests
Check and configure load and performance testing infrastructure for stress testing, benchmarking, and capacity planning.
When to Use This Skill
| Use this skill when... | Use another approach when... |
|---|---|
| Setting up load testing infrastructure from scratch (k6, Artillery, Locust) | Running existing load tests — use k6 run or artillery run directly |
| Auditing current load testing coverage (smoke, stress, spike, soak) | Writing unit or integration tests — use /configure:tests |
| Adding CI/CD pipelines for performance regression detection | Profiling application memory usage — use /configure:memory-profiling |
| Migrating between load testing frameworks | Benchmarking individual functions — use language-specific benchmark tools |
| Ensuring load test thresholds and reporting are properly configured | Testing API contracts — use /configure:api-tests |
Context
- Project root: !
pwd - k6 tests: !
find . -maxdepth 3 \( -name '*.k6.js' -o -name '*.k6.ts' \) - Load test directory: !
find . -maxdepth 2 -type d -name 'load' - Artillery config: !
find . -maxdepth 2 -name 'artillery.yml' -o -name 'artillery.yaml' - Locust files: !
find . -maxdepth 2 -name 'locustfile.py' - Package files: !
find . -maxdepth 1 \( -name 'package.json' -o -name 'pyproject.toml' \) - CI workflows: !
find . -path '*/.github/workflows/*' -maxdepth 3 -name '*load*' -o -name '*perf*' - k6 binary: !
k6 version
Parameters
Parse from $ARGUMENTS:
--check-only: Report load testing compliance status without modifications--fix: Apply all fixes automatically without prompting--framework <k6|artillery|locust>: Override framework detection
Framework preferences:
| Framework | Best For |
|---|---|
| k6 (recommended) | Complex scenarios, CI/CD integration, TypeScript support |
| Artillery | Quick YAML configs, simple API testing |
| Locust | Python teams, distributed testing, custom behavior |
Execution
Execute this load testing configuration check:
Step 1: Detect existing load testing infrastructure
Read the values in Context and identify:
| Indicator | Component | Status |
|---|---|---|
k6 binary or @grafana/k6 |
k6 | Installed |
*.k6.js or load-tests/ |
k6 tests | Present |
artillery.yml |
Artillery config | Present |
locustfile.py |
Locust tests | Present |
.github/workflows/*load* |
CI integration | Configured |
If --framework flag is set, use that framework regardless of detection.
Step 2: Analyze current load testing setup
Check for complete setup coverage:
Installation: k6 installed (binary or npm), TypeScript support if applicable.
Test Scenarios: Check which test types exist:
- Smoke tests (minimal load validation)
- Load tests (normal load)
- Stress tests (peak load)
- Spike tests (burst traffic)
- Soak tests (endurance)
Configuration: Thresholds, environment-specific configs, data files.
Reporting: Console output, JSON/HTML reports, trend tracking.
CI/CD: GitHub Actions workflow, scheduled runs, PR gate.
Step 3: Generate compliance report
Print a compliance report covering:
- Framework installation status and version
- Test scenario coverage (smoke, load, stress, spike, soak)
- Threshold configuration (response time, error rate)
- Environment configuration (staging, production)
- CI/CD integration (workflow, schedule, PR gate)
- Reporting setup (console, JSON, HTML, Grafana Cloud)
End with overall issue count and recommendations.
If --check-only is set, stop here.
Step 4: Configure load testing framework (if --fix or user confirms)
Apply configuration using templates from REFERENCE.md:
- Install k6 (or chosen framework)
- Create directory structure:
tests/load/{config,scenarios,helpers,data} - Create base configuration with shared thresholds and headers
- Create test scenarios (smoke, load, stress, spike)
- Add npm/package scripts for running tests
Step 5: Configure CI/CD integration
- Create
.github/workflows/load-tests.ymlwith:- Smoke tests on PRs
- Full load tests via workflow_dispatch
- Scheduled weekly runs
- Results artifact upload
- Add HTML reporting via k6-reporter
- Use templates from REFERENCE.md
Step 6: Update standards tracking
Update .project-standards.yaml:
components:
load_tests: "2025.1"
load_tests_framework: "k6"
load_tests_scenarios: ["smoke", "load", "stress"]
load_tests_ci: true
load_tests_thresholds: true
Step 7: Print final compliance report
Print a summary of framework installed, scenarios created, scripts added, CI/CD configured, thresholds set, and next steps for the user.
For detailed k6 test scripts, CI workflow templates, and reporting configuration, see REFERENCE.md.
Agentic Optimizations
| Context | Command |
|---|---|
| Quick compliance check | /configure:load-tests --check-only |
| Auto-fix all issues | /configure:load-tests --fix |
| Run smoke test quickly | k6 run --vus 1 --duration 10s tests/load/scenarios/smoke.k6.js |
| Run with JSON output | k6 run --out json=results.json tests/load/scenarios/load.k6.js |
| Check k6 version | k6 version |
| List test scenarios | find tests/load -name '*.k6.js' -type f |
Flags
| Flag | Description |
|---|---|
--check-only |
Report status without offering fixes |
--fix |
Apply all fixes automatically without prompting |
--framework <framework> |
Override framework (k6, artillery, locust) |
Examples
# Check compliance and offer fixes
/configure:load-tests
# Check only, no modifications
/configure:load-tests --check-only
# Auto-fix all issues
/configure:load-tests --fix
# Force specific framework
/configure:load-tests --fix --framework artillery
Error Handling
- k6 not installed: Provide installation instructions for platform
- No target URL: Prompt for BASE_URL configuration
- Docker not available: Suggest local app startup
- CI secrets missing: Provide setup instructions for k6 Cloud
See Also
/configure:tests- Unit testing configuration/configure:integration-tests- Integration testing/configure:api-tests- API contract testing/configure:all- Run all compliance checks- k6 documentation: https://k6.io/docs
- k6 examples: https://github.com/grafana/k6/tree/master/examples
- Grafana k6 Cloud: https://grafana.com/products/cloud/k6
04 同仓库更多 Skills
kitty-show-image
Show the user an image with a note on what to judge, via a file send or a labelled kitty tab. Use when the user must see an image, or icat fails with no /dev/tty.
kitty-session-persistence
Snapshot and restore kitty terminal sessions on macOS. Use when surviving WindowServer hangs without losing tabs, configuring snapshots, or restoring after a force-reboot.
kitty-remote-control
Safe kitty remote control from an agent — read panes with kitty @ ls/get-text, notify, and never mutate the live terminal unasked. Use when running inside kitty.
docs-reference-check
Dangling doc-reference gate: flag markdown naming repo paths or relative links that no longer exist. Use when docs cite moved/deleted files, or wiring a doc-drift lint.
youtube-upload
Upload a video to YouTube via the Data API v3 and edit its title, description, tags or thumbnail afterwards. Use when publishing or retitling a YouTube video.
youtube-studio-share
Share a private YouTube video with a whole Google Workspace organization by scripting YouTube Studio in the browser. Use when a video must be org-only.