用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Delphine-L/claude_global --skill phylogenetics命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Run shell commands bare — no decorative echo headers ("=== X ==="), no echo-then-cmd chains, no trailing "echo done". Use the Bash tool's description field for any narration. Triggers any time you're about to issue a Bash command.
Expert guide for managing Claude Code global skills and commands. Use when creating new skills, symlinking to projects, updating existing skills, or organizing the centralized skill repository.
Token optimization best practices for cost-effective Claude Code usage. Automatically applies efficient file reading, command execution, and output handling strategies. Includes model selection guidance (Opus for learning, Sonnet for development/debugging). Prefers bash commands over reading files.
基于 SOC 职业分类
正在显示 SKILL.md
| name | phylogenetics |
| description | Phylogenetic tree analysis, visualization, annotation management, and iTOL troubleshooting |
| allowed-tools | Read, Grep, Glob, Bash |
Expert knowledge for phylogenetic tree analysis, visualization, and annotation management.
Problem: Species in tree file don't match annotation files, causing missing data in ITOL visualization.
Root Causes:
Alca_Torda vs Alca_torda)Solution Workflow:
Compare tree versions:
# Find species that exist in original but are different in processed tree
grep -o "[A-Z][a-z]*_[a-z]*" Tree.nwk | sort -u > original_names.txt
grep -o "[A-Z][a-z]*_[a-z]*" Tree_final.nwk | sort -u > processed_names.txt
comm -3 original_names.txt processed_names.txt
Identify incomplete names:
# Species with genus only (no underscore after first word)
with open('Tree_final.nwk', 'r') as f:
tree = f.read()
# Look for patterns like "Myxine:" instead of "Myxine_glutinosa:"
Fix systematically:
Verification checklist:
Critical: When adding/removing species, update ALL annotation files:
.nwk).csv)itol_*_colorstrip_final.txtitol_*_labels_final.txtitol_branch_colors_final.txtVerification script:
def verify_itol_sync():
files = [
'Tree_final.nwk',
'itol_taxonomic_colorstrip_final.txt',
'itol_taxonomic_labels_final.txt',
'itol_branch_colors_final.txt'
]
counts = {}
for f in files:
# Extract species list from each file
species = extract_species(f)
counts[f] = len(species)
if len(set(counts.values())) == 1:
print(f"✓ All files synchronized: {counts[files[0]]} species")
else:
print("✗ Files out of sync:")
for f, count in counts.items():
print(f" {f}: {count}")
Scientific accuracy often requires detailed fish categories:
For visualization clarity, users may prefer simplified categories:
Implementation approach:
Key insight: Users may prioritize:
Always confirm categorization preferences when creating phylogenetic visualizations, especially for:
When updating ITOL annotation files, use this pattern to avoid data corruption:
def update_itol_file(input_file, species_updates):
"""
Safely update ITOL annotation file.
Args:
input_file: Path to ITOL file
species_updates: Dict mapping species -> (category, color)
"""
with open(input_file, 'r') as f:
lines = f.readlines()
# Find critical line indices
data_start = None
legend_labels_idx = None
legend_colors_idx = None
for i, line in enumerate(lines):
if line.strip() == 'DATA':
data_start = i
if line.startswith('LEGEND_LABELS'):
legend_labels_idx = i
if line.startswith('LEGEND_COLORS'):
legend_colors_idx = i
# Update data section
for i in range(data_start + 1, len(lines)):
if not lines[i].strip():
continue
parts = lines[i].strip().split('\t')
if len(parts) >= 3:
species = parts[0]
if species in species_updates:
new_cat, new_color = species_updates[species]
lines[i] = f"{species}\t{new_color}\t{new_cat}\n"
# Recalculate category counts
category_counts = {}
for i (data_start + , (lines)):
lines[i].strip():
parts = lines[i].strip().split()
(parts) >= :
category = parts[]
category_counts[category] = category_counts.get(category, ) +
(input_file, ) f:
f.writelines(lines)
category_counts
Key principles: