Content
71%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
A well-structured, highly actionable skill with excellent progressive disclosure — five real reference files, each clearly signaled with a contents preview, and no nested references. The main costs are token redundancy (the backed-mode pattern and 10X example repeated several times) and an inlined scanpy analysis pipeline that the skill's own description routes to the scanpy skill.
Suggestions
State the backed-mode pattern (open backed='r', materialize subset, try/finally adata.file.close()) once — e.g. in io_operations or best_practices — and reference it from the other sections instead of repeating the code four times.
Move or trim the full scanpy preprocessing pipeline (filter/normalize/log1p/PCA/UMAP/Leiden) since the description routes analysis workflows to the scanpy skill; keep only the data-format-relevant steps (load, preserve counts in layers, save).
Consolidate the three duplicated sc.read_10x_h5 examples into one clearly labeled pointer to the scanpy skill.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body is mostly efficient, code-forward, and assumes competence, but includes repeated and off-scope content: the backed-mode try/finally close pattern appears four times (Reading data, Core Capabilities, Best Practices, Troubleshooting), the scanpy 10X read example appears three times, and a full scanpy preprocessing pipeline (normalize/log1p/PCA/UMAP/Leiden) is inlined despite the description itself routing analysis workflows to the scanpy skill. Not 4 because the duplication and the off-scope scanpy pipeline are more than minor trimmable instances; not 2 because most sections are lean, executable, and free of concepts-Claude-already-knows padding. | 3 / 5 |
Actionability | Nearly all guidance is copy-paste-ready executable code covering the common cases (creation, read/write, backed mode, concat, subsetting, QC filtering, index alignment with an explicit wrong/correct pair). Not 5 because of minor gaps: `process(adata_subset)`/`process(chunk)` and undefined `adata1/adata2/adata3` placeholders are illustrative rather than runnable, and the TileDB-SOMA section advises verification without showing any command. | 4 / 5 |
Workflow Clarity | Multi-step workflows are clearly sequenced (numbered single-cell RNA-seq pipeline, batch combination, chunked large-dataset processing) with real checkpoints: `assert adata.obs['batch'].notna().all()`, "Write those edits to a new file and reopen it to verify they survived", try/finally file closes, and the layers['counts'] provenance snapshot before normalization. Not 5 because there is no explicit validate→fix→retry feedback loop for the fragile write/reopen operations; not 3 because validation steps are present and explicit, not merely implicit. | 4 / 5 |
Progressive Disclosure | The body is a genuine overview: each capability section is a short summary plus a clearly signaled one-level-deep pointer ("**See**: references/data_structure.md" with an itemized contents list), and all five referenced files exist in the bundle. Verified that reference files contain only external documentation URLs, not nested .md references, so navigation is one level deep and easy. | 5 / 5 |
Total | 16 / 20 Passed |