Skip to main content
All tutorials

Skills 3 min read

Discuss a storage layout with a skill

Invoke storage-format, compare the recommended formats and chunk sizes across clients, and review the assumptions before benchmarking.

Written for
CLIO Kit 2.11
Works in
Claude Code · Codex · Clio Coder · OpenCode
Basis
Recorded sessions · 7 Oct 2026
Clio Coder writes storage-plan.md and summarizes the recommended layout.
Clio Coder writes storage-plan.md and summarizes the recommended layout.Clio Coder · 0.6.1

Some skills provide domain guidance without calling an MCP. Here storage-format structures a format and chunk-layout discussion. The result is a plan, not a benchmark. The screenshots are real sessions in Claude Code, Codex, Clio Coder and OpenCode, recorded with the versions listed in Explore an HDF5 file.

1. Install the skill​

Install the CLIO Kit launcher first and work in a new folder. Claude Code can take the skill from the native clio-scientific-io plugin; the other clients use the portable skill folder.

2. Describe the data and access pattern​

The request is the same in every client apart from how the skill is invoked. It asks the agent to label assumptions and to keep chunks touched separate from physical disk I/O, two points that are easy to blur in a design discussion.

claude plugin marketplace add /path/to/clio-kit
claude plugin install clio-scientific-io@clio-kit --scope project
claude

Claude Code installs clio-scientific-io and its five dependency packages

The plugin also configures MCP servers, but this discussion uses no MCP tools. To install only the skill, use clio-kit skill install storage-format --target .claude/skills. Ask:

Use the installed storage-format skill from the clio-scientific-io plugin. We have a float32 temperature field shaped (120,64,64), in kelvin, written after a simulation finishes. Researchers mostly read one complete time slice, sometimes the time series at one grid point. We also have a separate table of run IDs, parameters and mean runtimes. Recommend candidate formats for the field and table, a starting chunk shape and its byte size, tradeoffs for the secondary read pattern, and a small benchmark before adopting the layout. Label any writer or concurrency model as an assumption to confirm, and distinguish chunks touched from physical disk I/O. Do not create a benchmark or claim measured speedups. Save storage-plan.md. No MCP calls are needed for this design discussion. Work only here, no network or delegation.

Claude loads clio-scientific-io-skills:storage-format. That is the client's native plugin prefix; the portable skill is named storage-format.

Claude Code loads the native storage-format skill from the plugin

Claude Code summarizes the plan: HDF5 for the field with (8, 64, 64) chunks of 128 KiB, Parquet for the run table, labeled assumptions and an unrun benchmark

3. Review the recommendation​

All four sessions proposed HDF5 for the field and Parquet for the separate run table, and each labeled its writer model as an assumption. They chose different starting chunks:

CandidateCalculationSizeRecommended by
One time slice1 × 64 × 64 × 416,384 bytes / 16 KiBCodex
Eight time slices8 × 64 × 64 × 4131,072 bytes / 128 KiBClaude Code, Clio Coder, OpenCode

We checked that arithmetic in each saved plan. It does not establish which candidate is faster: one slice per chunk reads exactly one chunk for the primary pattern but many small chunks for a point time series, while eight slices reduce the chunk count at the cost of reading more than one slice. The number of chunks touched is not a measured count of disk operations; caching and storage layout decide that.

4. Keep the plan separate from evidence​

cat storage-plan.md

Before adopting a layout, confirm the writer model, consumer support and metadata requirements. Benchmark both access patterns on your target filesystem with representative data. These sessions did not run that benchmark. The skill helped frame the discussion; reviewing the model's assumptions is still necessary.