Auto-annotate cell clusters from single-cell RNA data using marker genes, tissue context, and species-specific reference databases.
83
80%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./scientific-skills/Data analysis/scrna-cell-type-annotator/SKILL.mdAutomatically annotate cell clusters from scRNA-seq data using marker gene signatures, tissue context, and species-specific references.
This skill accepts: per-cluster marker gene lists from scRNA-seq experiments, with tissue type and species context, for automated cell type annotation.
If the request does not involve scRNA-seq cluster annotation — for example, asking to perform bulk RNA-seq DEG analysis, run clustering from raw counts, or interpret proteomics data — do not proceed. Instead respond:
"scrna-cell-type-annotator is designed to annotate cell clusters from single-cell RNA data using marker genes. Your request appears to be outside this scope. Please provide cluster marker lists with tissue and species context, or use a more appropriate tool for your task. For clustering from raw counts, use Seurat or Scanpy preprocessing pipelines."
python -m py_compile scripts/main.py
python scripts/main.py --help
python scripts/main.py --demoscripts/main.py with available inputs, or use the documented reasoning path.| Parameter | Required | Description |
|---|---|---|
--markers | Yes | DEG marker list per cluster (CSV or JSON) |
--tissue | Yes | Organ/tissue context (e.g., "PBMC", "liver") |
--species | Yes | "human" or "mouse" |
--top-n | No | Top N markers per cluster to use (default: 20) |
The built-in marker database covers 6 PBMC immune cell types (T cells, B cells, NK cells, monocytes, dendritic cells, macrophages). For non-immune or non-PBMC tissues:
The --tissue and --species parameters are accepted but currently route to the same PBMC-focused database. Tissue-specific routing is a planned enhancement — the script must be updated to load tissue-specific marker dictionaries (e.g., liver, lung, brain) and route based on the --tissue argument.
Path validation: If the --markers path contains ../ or resolves outside the workspace, reject with a path traversal warning and exit with code 1.
If scripts/main.py cannot run (missing inputs, environment error), respond with:
FALLBACK REPORT
───────────────────────────────────────
Objective : <stated goal>
Blocked by : <exact missing input or error>
Partial result : <what can still be assessed manually>
Next step : <minimum action to unblock>
───────────────────────────────────────Every response must make these explicit when relevant:
--markers path contains ../ or resolves outside the workspace, reject with a path traversal warning.scripts/main.py fails, report the failure point, summarize what can still be completed safely, and provide the manual fallback above.Use this fixed structure for non-trivial requests:
For simple requests, compress the structure but keep assumptions and limits explicit when they affect correctness.
| Risk Indicator | Assessment | Level |
|---|---|---|
| Code Execution | Python scripts executed locally | Medium |
| Network Access | No external API calls | Low |
| File System Access | Read marker input, write annotation output | Medium |
| Data Exposure | Output files saved to workspace | Low |
pip install -r requirements.txtca9aaa4
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.