skills/stress-test/SKILL.md
Run automated stress tests using SipherStressTest plugin to find random crashes
npx skillsauth add sipherxyz/universal-ue-skills stress-testInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill reads project-specific values from skills.config.json at the repository root.
If not found, auto-detect using ue-detect-engine skill or prompt the user.
Role: QA Automation Engineer Scope: Automated stress testing and crash detection Plugin: SipherStressTest Platform: Windows
Help users record gameplay sessions and run automated stress tests to find random/intermittent crashes and bugs.
Plugins/Frameworks/SipherStressTest/){CWD} = Current Working Directory ({project.root})
{ProjectFile} = S2.uproject
{RecordingsDir} = {CWD}/Saved/StressTest/Recordings
{ResultsDir} = {CWD}/Saved/StressTestResults
{RunScript} = {CWD}/RunStressTest.bat
Guide user through recording:
~ key)Sipher.Recording.Start [optional-session-name]
Sipher.Recording.AddCheckpoint
Sipher.Recording.Stop
Output Location: {RecordingsDir}/<session-id>.json
Most common operation - Run stress test via batch script:
"{CWD}/RunStressTest.bat" -spec "{RecordingsDir}/<session-id>.json" -iterations 10
Full options:
RunStressTest.bat -spec <path> [-iterations N] [-timeout S] [-nocrashrecovery] [-output <path>] [-verbose]
| Option | Default | Description |
|--------|---------|-------------|
| -spec | Required | Path to session JSON |
| -iterations | 10 | Number of replay iterations |
| -timeout | 600 | Seconds per iteration |
| -nocrashrecovery | false | Stop on first failure |
| -output | Saved/StressTestResults | Report directory |
| -verbose | false | Enable detailed logging |
Alternative method with more control:
& "{CWD}/Scripts/StressTest/RunLocalStressTest.ps1" -Spec "<session>.json" -Iterations 10 -Verbose
For CI/CD or custom integration:
"{EnginePath}/Engine/Binaries/Win64/UnrealEditor-Cmd.exe" "{CWD}/S2.uproject" -run=SipherStressTest -spec="<session>.json" -iterations=10 -crashrecovery=true -unattended -nopause -NullRHI
Sipher.Recording.Status
Expected output:
Recording Status:
Session ID: <guid>
Current Frame: 1234
Events Recorded: 567
Checkpoints: 3
Duration: 20.57 seconds
For testing recordings before stress test:
Sipher.Replay.Start "{RecordingsDir}/<session-id>.json"
Check progress:
Sipher.Replay.Status
Stop replay:
Sipher.Replay.Stop
ls "{CWD}/Saved/StressTest/Recordings/"
Results are in {ResultsDir}/:
stress-test_<session>_<timestamp>.json - Machine-readablestress-test_<session>_<timestamp>.md - Human-readable reportcat "{ResultsDir}/stress-test_<session>_<timestamp>.md"
| Command | Description |
|---------|-------------|
| Sipher.Recording.Start [ID] | Start recording with optional session ID |
| Sipher.Recording.Stop | Stop and save recording |
| Sipher.Recording.AddCheckpoint | Add state verification checkpoint |
| Sipher.Recording.Status | Show recording status |
| Command | Description |
|---------|-------------|
| Sipher.Replay.Start <path> | Start replay from file |
| Sipher.Replay.Stop | Stop current replay |
| Sipher.Replay.Status | Show replay progress |
# 1. User records session in editor (manual step)
# 2. Find the recording
ls "Saved/StressTest/Recordings/"
# 3. Run stress test
./RunStressTest.bat -spec "Saved/StressTest/Recordings/<session>.json" -iterations 20
# 4. Check results
cat "Saved/StressTestResults/stress-test_<session>_*.md"
./RunStressTest.bat -spec "combat-test.json" -iterations 500 -timeout 1200 -output "OvernightResults"
# In GitHub Actions or similar
- name: Stress Test
run: |
.\RunStressTest.bat -spec "TestSpecs/regression-combat.json" -iterations 100
shell: cmd
| Rate | Interpretation | |------|----------------| | 100% | No crashes detected | | 95-99% | Rare intermittent issue | | 80-95% | Reproducible bug exists | | <80% | Critical stability issue |
| Code | Meaning | |------|---------| | 0 | All iterations passed | | 1 | One or more crashes/failures |
Engine not registered. Check registry:
reg query "HKCU\SOFTWARE\Epic Games\Unreal Engine\Builds"
Verify path is correct:
ls "{RecordingsDir}/"
Increase timeout or check if game loads properly:
./RunStressTest.bat -spec "session.json" -iterations 5 -timeout 1200 -verbose
| Path | Purpose |
|------|---------|
| Plugins/Frameworks/SipherStressTest/ | Plugin source |
| Plugins/Frameworks/SipherStressTest/Docs/ | Documentation |
| Saved/StressTest/Recordings/ | Recorded sessions |
| Saved/StressTestResults/ | Test reports |
| RunStressTest.bat | Quick launcher |
| Scripts/StressTest/ | PowerShell scripts |
Plugins/Frameworks/SipherStressTest/Docs/DESIGN.mdPlugins/Frameworks/SipherStressTest/Docs/USER_GUIDE.mdPlugins/Frameworks/SipherStressTest/Content/TestSpecs/example-combat-session.jsonskill: stress-test
type: testing
category: qa-automation
scope: project-root
development
This skill should be used when implementing features in isolation using git worktrees. Triggers on "create worktree", "isolated workspace", "parallel development", or when starting implementation that should not affect main workspace.
testing
Manage VFX team issues on GitHub Projects - timeline scheduling, status updates, member commit checks, bulk assign. Use when managing VFX team project board, adding issues to timeline, checking member progress, or bulk-updating issue fields.
tools
Generate C++ validation rules from JSON definitions. Use when team updates ValidationRules.json or asks to add/modify validation rules.
development
Check codebase for Microsoft Xbox XR (Xbox Requirements) compliance issues. Scans for account picker, cloud saves, achievements, Quick Resume, and Xbox certification requirements. Use before console submission or when preparing for Microsoft certification. Triggers on "XR", "Xbox certification", "Microsoft compliance", "Xbox cert", "Xbox requirements", "GDK compliance".