CtrlK
BlogDocsLog inGet started
Tessl Logo

scrna-cell-type-annotator

Auto-annotate cell clusters from single-cell RNA data using marker genes.

49

Quality

62%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./scientific-skills/Data Analysis/scrna-cell-type-annotator/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

42%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The skill body has a real, executable script and a coherent workflow with explicit error handling and fallbacks, but it is buried under heavy generic boilerplate, references a missing requirements.txt, and never documents the script's actual interface (--markers CSV format, --demo) so the core workflow cannot be executed from the documentation alone.

Suggestions

Remove the generic template sections ('Key Features', 'Risk Assessment', 'Security Checklist', 'Evaluation Criteria', 'Lifecycle Status', 'Response Template') — they add ~100 lines of padding with no skill-specific content, which drives the conciseness score down to 2.

Document the script's real interface: the expected --markers CSV format (columns, one row per cluster vs. long format) and the --demo flag, with a copy-paste-ready example command that performs an actual annotation rather than only py_compile/--help.

Add a concrete validation checkpoint to the workflow, e.g. 'Review the top predictions' confidence scores and re-examine clusters whose best marker-database score falls below a stated threshold before returning results', and fix the broken reference to the nonexistent requirements.txt.

DimensionReasoningScore

Conciseness

The body is noticeably verbose: numerous padded, generic template sections ('Key Features', 'Risk Assessment', 'Security Checklist', 'Evaluation Criteria', 'Lifecycle Status', 'Output Requirements', 'Response Template', 'Input Validation') contain no skill-specific knowledge Claude does not already have, plus filler sentences like 'See `## Prerequisites` above for related details.' This matches anchor 2 (several unnecessary explanations or padded sections); it is not 1 because the core sections (Workflow, Parameters, Returns, Example, Error Handling) do carry real content.

2 / 5

Actionability

There are concrete, executable commands ('python -m py_compile scripts/main.py', 'python scripts/main.py --help') and a real example ('Cluster 1: IL2RA, CD3D → CD4 T cells'), but the guidance stops short of the actual task: the script's real interface (--markers CSV and --demo) is never documented, no markers CSV format is given, and the 'Example run plan' offers vague directions like 'Edit the in-file CONFIG block or documented parameters if the script uses fixed settings.' This matches anchor 3 (some concrete guidance but incomplete, missing key details); it is not 4 because a user cannot execute the core annotation workflow from what is written.

3 / 5

Workflow Clarity

The Workflow section lists a coherent five-step sequence with an explicit fallback on failure ('If execution fails or inputs are incomplete, switch to the fallback path'), but the checkpoints are abstract process rules ('Validate that the request matches the documented scope') rather than concrete validation of results — there is no step to verify annotation quality or confidence thresholds, and steps lack the concrete commands shown in the anchor-4 example. This matches anchor 3 (steps listed but checkpoints implicit); the destructive/batch cap does not apply since the operation only reads inputs and writes outputs.

3 / 5

Progressive Disclosure

The bundle is one level deep and clearly signaled ('Primary implementation surface: `scripts/main.py`', which exists), but the body also references `requirements.txt` ('Declared in `requirements.txt`') which does not exist in the bundle, and roughly 190 lines of inline generic template content (risk/security checklists, lifecycle, response template) arguably belongs in separate files or should be removed. This matches anchor 3 (some structure but could be better organized; references present but not all valid); it is not 4 because of the broken reference and the volume of inline content that should live elsewhere.

3 / 5

Total

11

/

20

Passed

Description

65%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is concrete, domain-specific, and clearly states what the skill does with low conflict risk, but it omits any 'Use when...' trigger guidance and lacks common synonyms such as 'scRNA-seq' and 'cell type annotation'. Adding an explicit trigger clause and one or two common variants would lift it to top level.

Suggestions

Add an explicit 'Use when...' clause, e.g. 'Use when annotating scRNA-seq clusters, identifying cell types from marker genes, or comparing cluster labels across studies' — completeness is currently capped at 3 because trigger guidance is missing.

Include common synonyms and variants users actually say — 'scRNA-seq', 'single-cell', 'cell type annotation', 'cluster annotation' — to raise trigger term coverage from good to comprehensive.

Enumerate the concrete actions the skill performs (score clusters against a marker database, rank predictions with confidence, suggest alternatives) so the capability list is comprehensive rather than a single action.

DimensionReasoningScore

Specificity

The description names the domain ('single-cell RNA data') and one concrete action ('Auto-annotate cell clusters... using marker genes'), matching anchor 3 (domain plus 1-2 concrete actions). It is not 4 because it does not list several specific actions (e.g., scoring against a marker database, assigning confidence, suggesting alternatives) that would show comprehensive coverage.

3 / 5

Completeness

The 'what' is clearly and explicitly stated ('Auto-annotate cell clusters from single-cell RNA data using marker genes'), but there is no 'Use when...' clause or equivalent trigger guidance, which per the judging guidelines caps completeness at 3 ('clear what but when is missing or only weakly implied'). It is not 2 because the 'what' is concrete, not vague.

3 / 5

Trigger Term Quality

Natural domain phrases are present: 'cell clusters', 'marker genes', 'single-cell RNA', 'annotate' — these are what a user in this domain would actually say. It falls between anchor 3 (missing common variations) and anchor 5 (comprehensive synonyms/extensions): common variants like 'scRNA-seq', 'single-cell', and 'cell type annotation' are absent, so anchor 4 ('good keyword coverage; a few natural terms missing') is the best fit.

4 / 5

Distinctiveness Conflict Risk

The description occupies a clear niche — automated cell-type annotation of scRNA clusters via marker genes — with triggers ('single-cell RNA', 'cell clusters', 'marker genes') that would not fire for unrelated skills, matching anchor 5 (clear niche with distinct triggers; minimal conflict risk).

5 / 5

Total

15

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
aipoch/medical-research-skills
Reviewed

Table of Contents

Is this your skill?

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.