CtrlK
BlogDocsLog inGet started
Tessl Logo

flowio

Parse FCS (Flow Cytometry Standard) files v2.0-3.1. Extract events as NumPy arrays, read metadata/channels, convert to CSV/DataFrame, for flow cytometry data preprocessing.

60

Quality

71%

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/flowio/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

A highly actionable, well-structured skill body with executable examples throughout and a properly signaled one-level-deep reference file. Its weaknesses are redundancy-driven length (repeated imports, duplicate sections, a restating Summary) and the absence of validation checkpoints in file-writing and batch workflows.

Suggestions

Add a validation checkpoint after writing files: e.g., re-open the output with FlowData('output.fcs', only_text=True) and assert event_count/channel_count match before considering the export done.

Trim redundancy: drop the 'Summary' section, remove the 'Integration Notes' DataFrame snippet that duplicates 'Converting FCS to CSV', and consolidate the duplicated preprocessing explanation.

Move the four full 'Common Use Cases' example scripts into references/api_reference.md (or a dedicated examples file), keeping one short representative example inline in SKILL.md.

DimensionReasoningScore

Conciseness

The body mostly shows code rather than explaining known concepts (good), but at ~610 lines it contains several redundant sections: the 'Summary' restates the Overview, 'Integration Notes' repeats the DataFrame conversion already shown in 'Converting FCS to CSV', 'Data Preprocessing' is explained twice (attribute docs and its own section), and basic reading/import patterns are demonstrated many times over. This fits 'Mostly efficient but includes some unnecessary explanation or could be tightened' — more than the 'minor instances' of anchor 4, but far from the concept-explaining padding of anchors 1–2.

3 / 5

Actionability

Nearly every section provides copy-paste-ready, executable Python covering the common cases: FlowData reading with all key attributes, only_text=True metadata reads, offset-error recovery parameters, create_fcs with channel names and metadata, multi-dataset handling via MultipleDataSetsError and read_multiple_data_sets, CSV export, filtering, and a full error-handling ladder. This matches 'Fully executable; copy-paste ready code or commands; specific examples cover the common cases'.

5 / 5

Workflow Clarity

Sequences are clear (read → extract → modify → create_fcs; detect MultipleDataSetsError → read_multiple_data_sets), and error handling is thorough. However, workflows that write files (create_fcs, write_fcs) and the 'Batch Processing Multiple Files' loop lack any output validation or verification step — no re-read of the written file, no confirmation the exported CSV is well-formed. Per the guideline capping batch/destructive operations without validation at 3, this sits at anchor 3 ('sequence present but checkpoints missing or implicit') rather than 4.

3 / 5

Progressive Disclosure

The body defers the full API documentation to a real, well-organized, one-level-deep bundle file, clearly signaled with '**Read:** `references/api_reference.md`', a list of its contents, and when to load it — verified that the file exists and contains no nested references. It falls short of anchor 5 only because substantial example-heavy content (four full 'Common Use Cases' scripts, 'Advanced Topics') remains inline in SKILL.md that could be split out, leaving the overview longer than ideal.

4 / 5

Total

15

/

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 strong, specific description with concrete actions and clear niche identity. Its main weaknesses are the absence of an explicit 'Use when...' trigger clause (capping completeness) and missing natural variations like the '.fcs' extension.

Suggestions

Add an explicit trigger clause, e.g., 'Use when working with .fcs files or when the user mentions flow cytometry data, FCS files, or converting cytometry exports.'

Include the '.fcs' file extension and common synonyms (e.g., 'FACS data') among the trigger terms to improve natural-keyword coverage.

Rephrase the trailing purpose fragment 'for flow cytometry data preprocessing' into a full sentence so the 'when' guidance is explicit rather than implied.

DimensionReasoningScore

Specificity

The description lists multiple concrete, specific actions: "Parse FCS (Flow Cytometry Standard) files v2.0-3.1. Extract events as NumPy arrays, read metadata/channels, convert to CSV/DataFrame" — with version bounds and concrete output formats. This matches the anchor 'Lists multiple specific concrete actions; comprehensive coverage'; it is not score 4 because there are no meaningful coverage gaps, and not below because every clause names a concrete action rather than generic handling.

5 / 5

Completeness

The 'what' is clear and detailed, but the 'when' is only weakly implied by the trailing purpose phrase "for flow cytometry data preprocessing" — there is no explicit 'Use when...' clause or equivalent trigger guidance, which per the judging guidelines caps completeness at 3. It is not score 2 because the 'what' is far from vague, and not score 4/5 because no explicit use-when trigger statement exists.

3 / 5

Trigger Term Quality

Good natural keyword coverage: "FCS", "Flow Cytometry Standard", "flow cytometry data preprocessing", "metadata/channels" — phrases a user would naturally say. It falls short of the anchor-5 example (which includes synonyms and extensions like 'PDFs, .pdf') because the '.fcs' file extension and common variations (e.g., 'FACS', 'FlowJo files') are missing; it is above anchor 3 because the core domain terms users actually use are all present.

4 / 5

Distinctiveness Conflict Risk

FCS / flow cytometry file parsing is a clear niche with distinct triggers; the description would not plausibly fire for unrelated skills. The mild generality of "convert to CSV/DataFrame" does not create real overlap risk since it is anchored to the FCS domain. Fits the anchor 'Clear niche with distinct triggers; minimal conflict risk' exactly.

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 (614 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.