happy-sim-analyze
Analyze simulation results and provide insights
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Analyze simulation results and provide insights
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Run ruff linter and formatter on the project
Add observability (probes, trackers, charts) to a simulation
Help choose the right happysimulator components for a use case
Troubleshoot a broken or misbehaving simulation
Walk through a library example with detailed explanation
Generate a complete simulation from a high-level description
| name | happy-sim-analyze |
| description | Analyze simulation results and provide insights |
Run a simulation and interpret its results using happysimulator's built-in analysis tools.
Identify what to analyze:
Read the simulation file to understand its structure: what entities exist, what metrics are collected, and what the simulation models.
Run the simulation if needed:
python <file>
Capture the output.
Analyze results using these approaches:
sim.run())Key fields to examine:
summary.duration_s — simulated time elapsedsummary.total_events_processed — total event countsummary.events_per_second — simulation throughputsummary.wall_clock_seconds — real time takensummary.entities — per-entity stats (events handled, queue depth if applicable)sink.latency_stats() # {count, avg, min, max, p50, p99}
tracker.mean_latency()
tracker.p50()
tracker.p99()
tracker.data.between(start, end).mean() # slice a time range
data.mean() # overall average
data.percentile(0.99) # p99
data.between(30.0, 60.0).mean() # steady-state only (skip warmup)
data.rate(window_s=1.0) # events per second over time
buckets = data.bucket(window_s=1.0)
buckets.times() # time axis
buckets.means() # mean per window
buckets.p99s() # p99 per window
from happysimulator.analysis import detect_phases
phases = detect_phases(data, window_s=5.0, threshold=2.0)
# Returns list of phases: warmup, steady-state, anomaly, etc.
from happysimulator.analysis import analyze
analysis = analyze(summary, latency=tracker.data, queue_depth=probe_data)
print(analysis.to_prompt_context(max_tokens=2000))
Provide a plain-English interpretation covering:
Health Summary — Is the system healthy, stressed, or failing? One sentence.
Key Metrics — Report the most important numbers:
Phases — Did the simulation have distinct phases? (warmup, steady-state, overload, recovery)
Stability — Is the system stable (queues bounded), metastable (appears stable but fragile), or unstable (unbounded growth)?
Bottleneck — Where is the bottleneck? Which entity has the highest utilization or deepest queue?
Recommendations — Concrete suggestions:
If the simulation doesn't have enough instrumentation to analyze, suggest using /happy-sim-add-instrumentation first.