本文へ移動
cccskills
無料GitHub で公開

large-file

Use BEFORE reading any data file that could be large (CSV/TSV, Parquet, HDF5, FITS, NetCDF, NDJSON, genomics FASTQ/FASTA/VCF/BAM, GRIB, ROOT, or big text/simulation logs like VASP OUTCAR). Returns a compact memory pointer — header/schema/shape/sample/key numbers — by introspection and sampling in bounded memory, so you never load a file bigger than the context window into the model. Reference data via the pointer; read specific ranges deterministically.

インストール方法を見る

含まれるファイル(2)

  • SKILL.md3.8 KB
  • large_file_probe.py20.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Large files: reference, don't load

Scientific files routinely dwarf any context window (90 GB FASTQ, multi-GB HDF5/FITS snapshots, 20 GB+ NetCDF rasters, huge VASP logs). Reading them raw both OOMs and hallucinates — the materials case that consumed 20M+ tokens and failed succeeded in ~1200 tokens with a memory-pointer approach.

Rule: never cat/read a whole data file into your context. Probe it first, work from the returned pointer (schema + sample + key numbers), then read only the specific rows/columns/ranges you need with the real library.

Probe a file

The probe ships beside this SKILL.md. Run it on any data file before opening it:

python "$XDG_CONFIG_HOME/opencode/skills/large-file/large_file_probe.py" DATA_FILE [--sample N]

It prints one compact JSON pointer on stdout — always tiny, regardless of file size (a 13 MB CSV → ~800 bytes; a 16 MB HDF5 → ~450 bytes).

What you get back

  • Tables (CSV/TSV) — column names + inferred dtypes, approximate row count (streamed, constant memory), and a head and tail sample.
  • Parquet — schema + row/column/row-group counts, from file metadata only (no column data read).
  • HDF5 — the dataset tree with shapes and dtypes (no array data read).
  • FITS — HDU list with dimensions and header keys (memmapped headers).
  • NetCDF — dimensions and variables with dtypes.
  • NDJSON — union of keys, record count, and a sample.
  • Genomics (stdlib, gzip-aware — .gz is seen through automatically):
    • FASTQ (.fastq/.fq, incl. .fastq.gz) — read count, read-length min/max/mean over a bounded scan, and sample read ids (never full sequences). A 90 GB FASTQ is counted by streaming, not loaded.
    • FASTA (.fasta/.fa/.fna) — sequence count, total residues, sample ids.
    • VCF (.vcf, incl. .vcf.gz) — variant count, sample names from the #CHROM header, contigs, and a sample of variant rows.
  • BAM/CRAM (.bam/.cram) — reference list + header via pysam (header only, no alignment records read).
  • GRIB (.grib/.grib2) — variables/coords via cfgrib, or a message sample via pygrib.
  • ROOT (.root) — tree/branch listing with entry counts via uproot (metadata only).
  • Text / logs — line count and head/tail; scientific logs (VASP OUTCAR, OSZICAR) also get deterministic numeric extraction (e.g. final free energy TOTEN, energy(sigma->0), convergence flag) — the numbers, not the prose.

Binary formats degrade gracefully: if the library (pyarrow/h5py/astropy/ netCDF4/pysam/cfgrib/uproot) isn't installed, the pointer says so with an install hint — it never dumps raw bytes. FASTQ/FASTA/VCF need no library at all.

Then read only what you need

Work from the pointer. When you need actual values, read a bounded slice with the real library — never the whole file:

import pandas as pd
df = pd.read_csv("big.csv", nrows=10_000)                 # a bounded window
df = pd.read_csv("big.csv", usecols=["id", "temp_c"])     # only needed columns
import pyarrow.parquet as pq
df = pq.read_table("big.parquet", columns=["val"]).to_pandas()
import h5py
with h5py.File("sim.h5") as h: block = h["density"][0:64, 0:64, :]  # a sub-array

Report which columns/ranges you read, so the analysis stays traceable.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use when a task needs an app on the user's own screen — a native desktop application (instrument control software, Origin, GraphPad, ImageJ, a reference manager, a spreadsheet), or a desktop browser window that needs window-level control. Read before the first `computer` call. Covers the observe-act-observe loop, why element indexes go stale, which action to prefer for which control, what "unverified" means and why it must never be reported as success, and the recovery for each error code. Not for page-level web automation (use the browser connector) and not for anything that can be done from the shell.

日本語の概要は準備中です。原文の説明を表示しています。

ai4s-research/open-science1,7882026年10月12日 更新

Use ONLY when the user asks to check, validate, review or audit analysis code for scientific correctness, or when you are the reviewer agent running its checks. Never run it unprompted as part of ordinary analysis work. Covers physics, earth/geo, biology, chemistry, social science and bioprocess/fermentation. Runs a deterministic domain-correctness gate that catches code which runs but is scientifically wrong (unit/dimension mismatch, Euclidean distance on lat/lon without a CRS, 0-based/1-based coordinate and strand errors, impossible SMILES valence, uncorrected multiple comparisons, averaging a categorical code, unconstrained kinetic-parameter fits, kLa computed from raw DO instead of the driving force, arithmetic mean of raw CFU counts, ANOVA/Tukey with no assumption check, a curvature DOE design fit with a first-order model, an ML model fit across process scales with no correction). Surfaces structured findings; never claims the code is correct.

日本語の概要は準備中です。原文の説明を表示しています。

ai4s-research/open-science1,7882026年10月12日 更新

modal-run

無料

Use when the user asks to run heavy or GPU work on Modal (the cloud compute platform) — writing a Modal function in the workspace, running it with the user's own `modal` CLI + token, and bringing results back. Data-to-compute for jobs too big for the laptop, without a Slurm cluster.

日本語の概要は準備中です。原文の説明を表示しています。

ai4s-research/open-science1,7882026年10月12日 更新

my-skill

無料

A test skill that says hello. Use when you want to test skill loading or verify that the skill system is working.

日本語の概要は準備中です。原文の説明を表示しています。

ai4s-research/open-science1,7882026年10月12日 更新

Use whenever you generate or review a chart, plot, table, or paper figure in this workspace, including work delegated by paper-writing, literature-survey, and experiment skills. Applies the Open Science publication style, enforces readable final-size layout for figures and tables, and rejects generic diagram-tool output as a publication figure. Interactive Plotly/HTML may be used for exploration, but paper delivery requires a static publication-ready export.

日本語の概要は準備中です。原文の説明を表示しています。

ai4s-research/open-science1,7882026年10月12日 更新

Use when the user asks to run, submit, monitor, or cancel a job on a remote machine over SSH — their own GPU/CPU server, a workstation, or a Slurm cluster ("the cluster", a login node, "my 3090 box", "the compute server"). Picks a saved machine, runs the work directly over SSH (or via Slurm when present), tracks it, and fetches results back into the workspace.

日本語の概要は準備中です。原文の説明を表示しています。

ai4s-research/open-science1,7882026年10月12日 更新

ai4s-research のスキルをすべて見る

このスキルの問題を報告する