CtrlK
BlogDocsLog inGet started
Tessl Logo

phylogenetics

Build and analyze phylogenetic trees using MAFFT (multiple alignment), IQ-TREE 2 (maximum likelihood), and FastTree (fast NJ/ML). Visualize with ETE3 or FigTree. For evolutionary analysis, microbial genomics, viral phylodynamics, protein family analysis, and molecular clock studies.

62

Quality

78%

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/phylogenetics/SKILL.md

The canonical home for this skill is phylogenetics in K-Dense-AI/scientific-agent-skills

SKILL.md
Quality
Evals
Security

Quality

Content

63%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-sequenced body with executable code for every pipeline stage, but it under-uses its own bundle: the reference file and analysis script are orphaned (never referenced) while their content is duplicated inline, inflating token cost. Fixing the FastTree dead parameters and adding a fix-and-retry loop around tool failures would round it out.

Suggestions

Link the existing bundle files from the body — e.g., under 'IQ-TREE Model Guide' point to references/iqtree_inference.md for full flag/model details, and replace the duplicated 'Complete Analysis Script' section with a pointer to scripts/phylogenetic_analysis.py — to cut inline duplication.

Consolidate the model-selection guidance that currently appears both as comments in the IQ-TREE section and again as the 'IQ-TREE Model Guide' tables into one location (ideally the reference file).

In run_fasttree, honor the model and n_threads parameters (use f'-{model}' for nucleotide input and pass '-threads' or document FastTree's single-threaded behavior) instead of silently ignoring them; also add a fix-and-retry note for tool failures (e.g., re-run with 'auto' method or fewer threads) to strengthen validation checkpoints.

DimensionReasoningScore

Conciseness

Mostly efficient — the body is dominated by executable code, tables, and selection guides rather than explanations of known concepts — but there is real redundancy: the 'Complete Analysis Script' (§6) re-implements functions already shown in §1–5, and the IQ-TREE model guidance appears both as inline comments in §3 and again as the 'IQ-TREE Model Guide' section. This matches 'mostly efficient but could be tightened' better than the minor-trimming of anchor 4.

3 / 5

Actionability

Copy-paste-ready, executable Python functions with concrete CLI commands, argument docs, method-selection guides, and a model table — covering the common cases well. Held below 5 by minor executable gaps: run_fasttree ignores its n_threads parameter and its model parameter for nucleotide input (hardcodes '-gtr'), and the pipeline's model ternary reduces to 'TEST' in both branches, signaling dead flexibility rather than a real gap.

4 / 5

Workflow Clarity

A clearly numbered 6-step standard workflow (align → trim → infer → visualize → full pipeline) with return-code checks that raise RuntimeError on failure and a graceful TrimAl fallback. Most checkpoints are present, but there are no explicit fix-and-retry feedback loops or validation of intermediate outputs (e.g., checking alignment quality before tree inference), which keeps it at anchor 4 rather than 5.

4 / 5

Progressive Disclosure

The bundle provides references/iqtree_inference.md and scripts/phylogenetic_analysis.py, but the body never links to or mentions either file — the reference material (model guide, CLI flag tables) is instead duplicated inline, and the full pipeline script duplicates what scripts/phylogenetic_analysis.py already provides. This matches anchor 3 exactly: structure exists, but references are not signaled and content that should live in separate files is inlined.

3 / 5

Total

14

/

20

Passed

Description

83%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 description: third-person, concise, with concrete named tools and an explicit 'when' clause covering several application domains. Main gaps are the generic 'analyze' verb, a few missing natural synonyms (sequence alignment, 16S, newick, .fasta), and slightly broad domain terms that create minor overlap risk with general genomics skills.

DimensionReasoningScore

Specificity

The description lists several concrete, specific actions — 'Build and analyze phylogenetic trees using MAFFT (multiple alignment), IQ-TREE 2 (maximum likelihood), and FastTree' and 'Visualize with ETE3 or FigTree' — with named tools, comparable to the anchor-4 example. It falls short of 5 because 'analyze' is generic and secondary capabilities (alignment trimming, rooting, divergence dating workflow) are only implied by the 'when' clause rather than stated as actions.

4 / 5

Completeness

It explicitly answers both what ('Build and analyze phylogenetic trees using MAFFT... Visualize with ETE3 or FigTree') and when ('For evolutionary analysis, microbial genomics, viral phylodynamics, protein family analysis, and molecular clock studies'), matching the anchor-5 pattern of concrete trigger phrases. The 'For...' clause is equivalent explicit trigger guidance to 'Use when...', so the completeness cap of 3 does not apply.

5 / 5

Trigger Term Quality

Good natural keyword coverage: 'phylogenetic trees', 'evolutionary analysis', 'microbial genomics', 'viral phylodynamics', 'protein family analysis', 'molecular clock' — phrases domain users would actually say. Not 5 because common synonyms and extensions are missing (e.g., 'sequence alignment', '16S', 'newick', '.fasta', 'tree building'); not 3 because coverage clearly goes beyond a few generic keywords.

4 / 5

Distinctiveness Conflict Risk

The named tools (MAFFT, IQ-TREE 2, FastTree, ETE3) give it a clear niche with mostly distinct triggers, but 'microbial genomics' and 'evolutionary analysis' are broad enough to overlap with a general genomics/bioinformatics skill — minor overlap risk, matching anchor 4. Not 3: the tool names and 'phylodynamics'/'molecular clock' phrasing make mis-triggering unlikely.

4 / 5

Total

17

/

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