CtrlK
BlogDocsLog inGet started
Tessl Logo

flow-cytometry-analysis

Complete flow cytometry analysis pipeline. FCS file handling, compensation, manual/automated gating, immunophenotyping, CFSE proliferation analysis, cell cycle analysis (Dean-Jett-Fox), and apoptosis assays. Extends flowio with analytical workflows. For raw FCS parsing only use flowio.

57

Quality

67%

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 ./backend/cli/skills/biology/flow-cytometry-analysis/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

60%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 body delivers strong, largely executable domain code with a well-sequenced gating workflow and genuinely useful troubleshooting, but it is bloated by duplicated workflow examples and — most seriously — completely ignores the four ready-to-run CLI scripts in scripts/, inlining equivalent library code instead of pointing to them. Scored against the actual bundle, progressive disclosure is the weakest dimension.

Suggestions

Replace the inlined implementations in sections 3-7 (or the Typical Workflows section) with invocations of the existing bundle scripts, e.g. 'python scripts/gate_fcs.py --fcs sample.fcs --gates {"FSC-A": [30000, 250000], "SSC-A": [5000, 200000]}', keeping only a one-line signature summary per capability in SKILL.md.

Remove the redundant Typical Workflows section (or the Quick Start) — Workflows 1-3 currently re-show code already presented in Core Capabilities 1-7, adding ~70 lines of duplication.

Make each code block self-contained: import numpy in Workflow 3 and either import or re-declare the cross-section dependencies (parse_spillover_matrix, immunophenotype) used by Workflow 1.

DimensionReasoningScore

Conciseness

The body is mostly dense, functional code rather than padded prose, but ~540 lines include substantial duplication: the Quick Start reappears nearly verbatim in Core Capabilities section 1, and the three Typical Workflows re-show the same loading/gating/analysis code already presented in sections 1-7 (e.g. Workflow 1 repeats compensation via 'parse_spillover_matrix' and Workflow 2 repeats the CFSE call from section 5). This is 'mostly efficient but could be tightened' rather than 'efficient with only minor trims'.

3 / 5

Actionability

Nearly all guidance is concrete, executable Python with real thresholds and complete function definitions (parse_spillover_matrix, immunophenotype, dean_jett_fox, annexin_v_pi_analysis), meeting 'mostly executable guidance with minor gaps'. It falls short of 5 because snippets depend on definitions from earlier sections (Workflow 1 calls parse_spillover_matrix/immunophenotype without imports), Workflow 3 uses np without importing it, and apoptosis example hardcodes arbitrary indices ('annexin_idx=3, pi_idx=4').

4 / 5

Workflow Clarity

The gating hierarchy is explicitly sequenced ('Step 1: FSC/SSC - remove debris', 'Step 2: Singlet gate', 'Step 3: Live gate') and three end-to-end worked workflows plus a problem/solution Troubleshooting section give error-recovery feedback for known failure modes ('GMM auto-gating splits one population into two -> Reduce n_components'). Not 5: verification is implicit (event-count prints) rather than explicit validation checkpoints, and the workflows lack any quality-gate step beyond prints.

4 / 5

Progressive Disclosure

The bundle ships four substantial CLI tools in scripts/ (gate_fcs.py, immunophenotype.py, cfse_proliferation.py, cell_cycle.py, each with argparse, usage docs, and CSV/plot output), yet the body never references them — no 'scripts/' path, filename, or invocation appears anywhere in SKILL.md. Instead ~400 lines of equivalent implementation are inlined, which matches anchor 2: 'content that clearly belongs in separate files is inlined'. Section headers exist, but the complete absence of navigation to the real bundle scripts keeps this below 3.

2 / 5

Total

13

/

20

Passed

Description

75%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.

A specific, well-differentiated description with comprehensive capability enumeration and an unusually explicit boundary against the sibling flowio skill. Its one structural weakness is the missing 'Use when...' trigger clause, which caps completeness and leaves the invocation condition implied.

Suggestions

Append an explicit trigger clause, e.g. 'Use when analyzing flow cytometry data, FCS/FCSExpress/BD FACSDiva exports, or when the user mentions gating, compensation, or immunophenotyping.'

Add the '.fcs' file extension and common synonyms (FACS analysis, fluorescence-activated cell sorting) to broaden natural keyword coverage.

DimensionReasoningScore

Specificity

The description enumerates seven concrete, distinct capabilities — 'FCS file handling, compensation, manual/automated gating, immunophenotyping, CFSE proliferation analysis, cell cycle analysis (Dean-Jett-Fox), and apoptosis assays' — with named methods, matching the 'multiple specific concrete actions; comprehensive coverage' anchor. Nothing is vague or padded, and third person is used throughout.

5 / 5

Completeness

The 'what' is clear and comprehensive (the full pipeline above), but there is no 'Use when...' clause for this skill. The only conditional guidance is 'For raw FCS parsing only use flowio', which is a when-NOT-to-use boundary for the sibling skill, not a trigger for this one. Per the judging guideline, a missing explicit 'Use when...' clause caps completeness at 3 ('has a clear what but when is missing or only weakly implied').

3 / 5

Trigger Term Quality

Strong domain keywords users would actually say: 'flow cytometry', 'FCS', 'gating', 'compensation', 'immunophenotyping', 'CFSE', 'cell cycle', 'apoptosis'. A few natural terms are missing — the '.fcs' file extension, common variants like 'FACS analysis', 'fluorescence-activated cell sorting', and the panel/markers vocabulary — so it sits at 'good keyword coverage; a few natural terms missing' rather than comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

A clear niche (flow cytometry analysis) with an explicit demarcation from the closest sibling — 'Extends flowio with analytical workflows. For raw FCS parsing only use flowio' — which actively routes the adjacent use case elsewhere. Domain-specific terms (FCS, CFSE, Dean-Jett-Fox) make accidental triggering by unrelated skills very unlikely, matching the 'clear niche with distinct triggers; minimal conflict risk' anchor.

5 / 5

Total

17

/

20

Passed

Validation

81%

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

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (540 lines); consider splitting into references/ and linking

Warning

metadata_version

'metadata.version' is missing

Warning

frontmatter_unknown_keys

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

Warning

Total

13

/

16

Passed

Repository
synthetic-sciences/openscience
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.