Claude Code Plugins

Community-maintained marketplace

Feedback

Use when working with the scikit-hep hist library in Python to create, fill, slice, and plot histograms (1D/2D/multi-axis), including UHI indexing, categorical axes, and mplhep plotting conventions.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name hist
description Use when working with the scikit-hep hist library in Python to create, fill, slice, and plot histograms (1D/2D/multi-axis), including UHI indexing, categorical axes, and mplhep plotting conventions.

Hist

Overview

Use this skill to build and manipulate hist.Hist objects, choose axis/storage types, fill with data and weights, and produce publication-style plots with mplhep styles, all based on matplotlib.

Quick start

  • Create histograms with Hist.new plus axis builders (Reg, Var, StrCat) and finish with exactly one storage (Int64 or Weight).
  • Make sure axis labels contain a short variable name and units. Histogram titles should contains a slightly longer concise description of what data went into the plot.
  • Fill with .fill(...) using axis names; note that .fill returns None.
  • Slice or project with UHI indexing (e.g., h.project("x") or h[{"x": 5j}]).
  • Plot with hist.plot(...) or mplhep.hist2dplot(...); use plt.style.use(hep.style.ATLAS) for HEP-style plots.

Core tasks

Create axes and storage

  • Use Reg for uniform bins and Var for variable-width bins.
  • Use StrCat for categorical axes; set growth=True for auto-added categories.
  • Choose storage: Int64 for unweighted counts, Weight for weighted fills.

Fill and access contents

  • Fill with named axes (e.g., h.fill(x=..., y=..., weight=...)).
  • Read counts with h.view() and errors from np.sqrt(h.variances()).

Slice, rebin, and project

  • Use UHI slicing (complex numbers for bin selection, ::2j for rebinning).
  • Project with h.project("axis_name") for 1D plots.

Plot and save

  • Use hist.plot(histtype="fill") for 1D; use mplhep.hist2dplot for 2D.
  • Use plt.subplots() without custom figsize unless explicitly requested.
  • Save with fig.savefig("name.png") and close with plt.close(fig).

References

  • Use references/hist-hints.md for concrete code snippets and common patterns.
  • Use references/hist-advanced.md for UHI indexing, plotting gotchas, and label/LaTeX guidance.
  • Use references/lhc-hist-ranges.md for starting suggestions on histogram axis ranges and binning.