Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.
76
70%
Does it follow best practices?
Impact
81%
1.09xAverage score across 3 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./scientific-skills/anndata/SKILL.mdQuality
Discovery
89%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a well-crafted description with strong trigger terms, explicit 'Use when' guidance, and excellent disambiguation from related skills. Its main weakness is the lack of specific concrete actions—it describes what the skill is about (a data structure/format) but not what operations it enables (e.g., reading, writing, converting, subsetting AnnData objects).
Suggestions
Add specific concrete actions the skill enables, e.g., 'Read, write, create, and manipulate AnnData objects for annotated matrices in single-cell analysis.'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description names the domain ('annotated matrices in single-cell analysis') and mentions the data format, but does not list specific concrete actions like 'read', 'write', 'convert', 'subset', or 'manipulate'. It describes what the skill is about rather than what it does. | 2 / 3 |
Completeness | Clearly answers both 'what' (data structure for annotated matrices in single-cell analysis) and 'when' ('Use when working with .h5ad files or integrating with the scverse ecosystem'). It also explicitly disambiguates from related skills, which strengthens the 'when' guidance. | 3 / 3 |
Trigger Term Quality | Includes strong natural trigger terms: '.h5ad files', 'scverse ecosystem', 'annotated matrices', 'single-cell analysis', and differentiating terms like 'scanpy', 'scvi-tools', 'cellxgene-census'. Users working in this domain would naturally use these terms. | 3 / 3 |
Distinctiveness Conflict Risk | Excellent distinctiveness—explicitly differentiates itself from scanpy (analysis workflows), scvi-tools (probabilistic models), and cellxgene-census (population-scale queries). The '.h5ad files' and 'data format skill' framing create a clear, non-overlapping niche. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
50%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill is highly actionable with excellent executable code examples covering the full range of AnnData operations. However, it is significantly too verbose—repeating the same patterns (backed mode, sparse matrices, string-to-categorical conversion) multiple times across sections, and including substantial workflow content that should live in the referenced files. The referenced bundle files don't exist, undermining the progressive disclosure structure.
Suggestions
Eliminate redundant code examples: backed mode, sparse matrix conversion, and strings_to_categoricals each appear 3-4 times—show each pattern once in Quick Start or the relevant capability section.
Move 'Common Workflows', 'Integration with Scverse Ecosystem', and 'Troubleshooting' sections into reference files (e.g., references/workflows.md, references/integration.md) and keep only brief pointers in the main skill.
Remove the 'When to Use This Skill' and 'Overview' sections—Claude already knows what AnnData is given the frontmatter description, and the use cases are self-evident from the content.
Add validation checkpoints to multi-step workflows (e.g., verify shape after concatenation, confirm expected obs columns, check for NaN values after index alignment).
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose at ~300+ lines. The 'Overview' explains what AnnData is (Claude knows this). The 'When to Use This Skill' section is unnecessary padding. The Scanpy integration section, common workflows, and troubleshooting sections duplicate content that belongs in referenced files or that Claude already knows. Many code examples are repeated across sections (e.g., backed mode appears 4+ times, sparse matrix conversion 3+ times). | 1 / 3 |
Actionability | The skill provides fully executable, copy-paste ready code examples throughout—creating AnnData objects, reading/writing files, subsetting, concatenation, batch integration, and large dataset handling. Commands are specific and complete. | 3 / 3 |
Workflow Clarity | The common workflows section provides numbered steps for scRNA-seq analysis and batch integration, but lacks explicit validation checkpoints. There's no verification after concatenation (e.g., checking shapes, confirming batch labels), no validation after writing files, and no error recovery feedback loops for the multi-step processes. | 2 / 3 |
Progressive Disclosure | The skill references multiple files (references/data_structure.md, references/io_operations.md, etc.) which is good structure, but no bundle files are provided so these references are broken. Additionally, the SKILL.md itself contains extensive inline content that duplicates what should be in those reference files—the 'Common Workflows', 'Integration with Scverse Ecosystem', and 'Troubleshooting' sections are substantial and should be offloaded. | 2 / 3 |
Total | 8 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
metadata_version | 'metadata.version' is missing | Warning |
Total | 10 / 11 Passed | |
cbcae7b
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.