Generates structured markdown reports from Zarr chunking benchmarks with config comparisons, performance bias analysis, ranked recommendations, and trade-offs.
npx claudepluginhub uw-ssec/rse-plugins --plugin zarr-chunk-optimizationThis skill uses the workspace's default tool permissions.
Translate raw benchmark numbers into **actionable, structured reports** that help researchers and engineers choose the right Zarr chunking configuration. This skill takes timing data, memory measurements, and access pattern results produced by the chunking-strategy skill and produces markdown reports with comparison tables, performance bias analysis, ranked recommendations, and clear trade-off ...
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Translate raw benchmark numbers into actionable, structured reports that help researchers and engineers choose the right Zarr chunking configuration. This skill takes timing data, memory measurements, and access pattern results produced by the chunking-strategy skill and produces markdown reports with comparison tables, performance bias analysis, ranked recommendations, and clear trade-off explanations. The goal is to move from "here are 200 numbers" to "here is what you should do and why."
| Metric | Unit | Direction | Primary Use |
|---|---|---|---|
| Wall-clock time | seconds | Lower is better | Overall performance comparison |
| Time to first byte (TTFB) | milliseconds | Lower is better | Interactive responsiveness |
| Peak memory | GB | Lower is better | Feasibility under memory budgets |
| Throughput | MB/s | Higher is better | Bulk processing efficiency |
| Chunk utilization | 0.0–1.0 | Higher is better | I/O efficiency alignment |
| Performance bias (PB) | ratio | Closer to 1.0 | Workload balance assessment |
Every report begins with a summary of the dataset under test. Include:
(10000, 2048, 2048))float32)zstd level 3)Record the full benchmarking environment so results are reproducible:
The central table of the report. Each row is a chunk configuration; columns show mean time per access pattern, performance bias, peak memory, and pass/fail status against the memory budget.
Mark the winner for each column. Use the comparison table template in assets/comparison-table-template.md.
One detailed table per access pattern (spatial, temporal, spectral). Each table shows per-configuration statistics: mean, standard deviation, min, max, chunks read, and chunk utilization.
A table showing each configuration's best pattern, worst pattern, PB score, and classification (Balanced, Moderate, Biased, Extreme).
Structured as primary recommendation, alternative, and configurations to avoid. See the recommendation template in assets/recommendation-template.md.
Total elapsed time from read start to completion. Measured with time.perf_counter(). This is the primary ranking metric because it captures everything the user experiences: network latency, data transfer, decompression, memory allocation, and framework overhead.
Time from issuing the first read request to receiving the first byte of data. Matters for interactive workloads (visualization, exploratory analysis) where perceived responsiveness is important. Largely independent of chunk size; dominated by per-request overhead on cloud storage (20–100 ms typical).
Maximum memory allocated during the read operation. Measured with tracemalloc or memory_profiler. Configurations exceeding the stated memory budget must be flagged as infeasible. Peak memory scales roughly with product(chunk_shape) * dtype.itemsize * concurrent_chunks.
Effective data processing rate in MB/s or GB/s. Calculated as total_bytes_read / wall_clock_time. Useful for bulk processing workloads. Compare against theoretical maximums (network bandwidth, disk bandwidth) to identify bottlenecks.
Fraction of loaded data actually used by the access pattern. Calculated as bytes_needed / bytes_loaded. A utilization of 1.0 means every byte loaded is used. Below 0.5 indicates poor alignment between chunk shape and access pattern.
Performance Bias (PB) = max(T_patterns) / min(T_patterns)
Where T_patterns is the set of mean wall-clock times across all tested access patterns for a given configuration.
| PB Value | Classification | Interpretation |
|---|---|---|
| 1.0 | Perfectly balanced | Equal performance across all patterns |
| 1.0–1.5 | Balanced | Good for mixed workloads |
| 1.5–3.0 | Moderate | Acceptable if primary pattern is known |
| 3.0–10.0 | Biased | Only suitable for single-pattern workloads |
| > 10.0 | Extreme | Heavily optimized for one pattern at expense of others |
Weighted PB = max(w_i * T_i) / min(w_i * T_i)Format numbers consistently: times to one decimal place with standard deviation (e.g., 8.3 +/- 0.7), memory to one decimal place, PB to two decimal places.
Rank configurations using a weighted composite score:
score(config) = sum(weight_pattern * mean_time(config, pattern)) for each pattern
Default weights are equal across patterns. When the user specifies priorities (e.g., "70% spatial, 30% temporal"), apply those weights.
Before ranking, eliminate configurations that:
State the recommended chunk shape, the composite score or primary pattern time, PB classification, peak memory, and a one-sentence reasoning. Always include the specific numbers.
Identify when a specialist configuration is significantly better (>25% faster) for one pattern. Present it as an alternative with the trade-off clearly stated.
List any configurations that are dominated (worse on all metrics than another config) or that exceed memory constraints. State the specific reason for each.
assets/ for consistent formattingreferences/report-generation.md for formatting details and references/visualization-patterns.md when the user requests plots