Guide · Agent skill
How to use the Zarr Python Array Storage agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The zarr-python skill is a set of instructions and reference notes that teaches an AI agent how to store and read large multi-dimensional scientific arrays using Zarr-Python 3. It is written for scientists and engineers who work with datasets such as climate grids or imaging data. After following this guide you will know how to install the skill, ask for work with natural requests, and check what the agent is allowed to run.
Quick start
- 1Download and unzip. Download the ZIP from this page and unzip it into ~/.claude/skills/ or your project's .claude/skills/ folder.
- 2Or upload in the Claude apps. Go to Settings → Capabilities → Skills and upload the skill.
- 3Install the pinned packages. Run uv pip install "zarr==3.4.0" "numpy==2.5.3" in your environment, adding the optional extras only if you need them.
- 4Describe your array task. Ask in plain language, naming the shape, format, location and what you need to read back.
- 5Review the proposed commands. Check any script or network action the agent wants to run before approving it.
- 6Verify the output. Ask the agent to reopen the store read-only and compare values, dtype, shape and attributes with the source.
What the skill makes the agent do
Once installed, the agent knows how to store large N-dimensional arrays in the Zarr format, split into chunks so that only the pieces you need are read back. It guides choices about chunk size, compression, sharding, cloud storage and conversion to Zarr 3, and it reminds the agent to verify data after writing.
The skill targets Zarr-Python 3.4.0 only. Its reference notes cover API details and integration with NumPy, Dask and Xarray.
- Choosing chunk shapes based on the selections you actually read
- Creating arrays, groups and attributes with explicit codecs
- Resizing and appending along an axis
- Reopening stores read-only to compare values, shape, dtype and metadata
- Migrating Zarr 2 stores to the Zarr 3 format
Install the zarr-python skill
Download the ZIP file from this page and unzip it. For a personal setup, place the folder in ~/.claude/skills/. For a single project, place it in that project's .claude/skills/ folder.
You can also upload the skill in the Claude apps under Settings → Capabilities → Skills.
- Personal: ~/.claude/skills/
- Project: .claude/skills/ inside your project folder
- Claude apps: Settings → Capabilities → Skills
Check the requirements before you start
The skill needs Python 3.12 or newer, zarr 3.4.0 and NumPy 2 or newer. Remote storage needs network access and the optional zarr[remote] extra, plus fsspec, s3fs or gcsfs depending on the provider. The migration command needs zarr[cli]. Private cloud stores also need your provider credentials.
The skill's install notes use these pinned commands. Commit your project's resolved lockfile afterwards.
uv pip install "zarr==3.4.0" "numpy==2.5.3"Trigger the skill with natural requests
You do not need special syntax. Describe the array task in plain language and mention the format, the storage location or the size of the data. Good requests name the kind of work: layout, partial reads, cloud storage, migration or metadata preservation.
Ask for validation explicitly if you want the agent to reopen the store and compare results with the original values.
- Store this 3D climate grid as Zarr with time chunks so I can read single days quickly.
- Migrate my Zarr 2 store to the Zarr 3 format and check that the values match.
- Write this imaging series to an S3 bucket in chunks and verify it after upload.
- Pick a chunk size for my 2D float32 array and explain the trade-off.
Safety notes: scripts and network access
The skill runs scripts and uses the network. It can read and write files through Bash, and remote I/O sends requests to the storage provider you name. Review the commands the agent proposes before approving them, especially writes to shared buckets.
Resizing is not secure erasure. If you need guaranteed deletion of sensitive data, use a method designed for that purpose rather than this skill.
- Use mode="w-" or overwrite=False to avoid destroying existing stores
- Use read-only mode for inspection
- Do not rely on resize to remove sensitive values
Tips for good results
Benchmark chunk shapes on representative data rather than trusting a fixed size. The skill suggests roughly 1 MiB uncompressed per chunk as a starting experiment, not a universal rule. Keep tools that require zarr<3 in separate environments.
- Set the codec explicitly for reproducibility; the default for Zarr 3 numeric arrays is ZstdCodec, not Blosc
- Avoid calling np.asarray or .compute() on whole large arrays
- Attributes must be JSON-compatible and do not convert units
What people use it for
- Storing a large climate grid with time, latitude and longitude dimensions, read back one day at a time
- Migrating an existing Zarr 2 store to the Zarr 3 format and checking the copy
- Writing imaging data to an S3 or Google Cloud Storage bucket with validation after upload
- Running lazy Dask reductions over a stored array and writing results to a new store
Frequently asked questions
Is the zarr-python skill free?
The skill is published under the MIT licence. The packages it uses, such as zarr and NumPy, are installed separately in your own environment.
What do I need to install before using it?
You need Python 3.12 or newer, zarr 3.4.0 and NumPy 2 or newer. Cloud storage also needs the optional zarr[remote] extra and provider credentials.
Where do I put the skill folder?
Place it in ~/.claude/skills/ for personal use, or in a project's .claude/skills/ folder. You can also upload it in the Claude apps under Settings → Capabilities → Skills.
Can it work with Zarr 2 files?
The skill includes migration guidance for moving Zarr 2 stores to Zarr 3. It also notes that the Zarr-Python 3.4.0 release reads and writes both formats 2 and 3.
Does it work with pandas CSV files or small .npy files?
Small datasets that fit easily in a CSV or a NumPy .npy file usually do not benefit from Zarr and add complexity without gain.
Why does the skill say not to use zarr<3 with it?
The skill targets Zarr-Python 3.4.0 only. Tools pinned to zarr<3 should stay in their own environments instead of sharing this setup.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use this skill if you store large chunked arrays and want an agent to make sensible choices about chunks, codecs, cloud storage and validation. Pick something else if your data is small enough for a CSV or .npy file, if you need guaranteed secure deletion, or if your pipeline must stay on zarr<3.
Download the skill