mdhewei/bioinfor-claw/function-annotation-for-gene-list
Claude Code and agent skill by mdhewei/bioinfor-claw
- community
Checking that the SKILL.md file is still in the repository.
Use when the user wants comprehensive annotation for one gene or a gene list, including gene identifiers, protein information, concise functional summary, domain architecture, Gene Ontology terms, pathway annotations, disease associations, and source-backed metadata.
Install
npx vskill@latest install mdhewei/bioinfor-claw/function-annotation-for-gene-listSKILL.md
Annotation for Gene List
Use this skill to build a structured annotation table for one gene or a gene list. It is designed for users who want a concise but information-rich summary of gene identity, protein features, biological role, domain composition, pathway context, and disease relevance.
Purpose
This skill aggregates per-gene annotations into a clean, analysis-ready table. It is intended to help users quickly understand what a gene is, what protein it encodes, what domains it contains, what broad biological functions it performs, what pathways it is associated with, and what disease connections are known.
This skill is especially useful when the user wants:
- identifier mapping
- gene and protein names
- concise gene-function summaries
- protein domain annotation
- GO annotations
- pathway annotations
- disease associations
- a structured annotation sheet for downstream analysis or figure preparation
Use when
Use this skill when the user:
- provides one gene or a gene list
- asks to annotate genes
- wants gene identifiers mapped
- wants protein names or UniProt IDs
- wants domain information
- wants a concise function summary
- wants GO, pathway, or disease annotations
- wants a consolidated annotation table
- wants a TSV or CSV output for further analysis
Typical requests:
- “Annotate this gene list.”
- “Give me full gene and protein annotation for these genes.”
- “Add domain information for these genes.”
- “Summarize what these genes do.”
- “Map these symbols to Ensembl, Entrez, and UniProt IDs.”
- “Give pathway and disease annotations for these genes.”
Do not use when
Do not use this skill when the user:
- wants over-representation enrichment analysis rather than per-gene annotation
- wants preranked GSEA
- wants CRISPR sgRNA design
- wants literature curation as the primary task
- wants expression profiling or essentiality analysis as the primary task
- wants TCGA-specific survival, mutation, or expression analysis
- wants detailed wet-lab protocol information
If the user specifically wants expression, dependency, DepMap, CCLE, or TCGA analysis, use a dedicated downstream skill for those tasks instead.
Expected inputs
The skill expects one of the following:
- a single gene
- a comma-separated gene list
- a plain-text file with one gene per line
Supported optional inputs:
- organism
- output format
- a request for concise annotation only
- a request for specific fields such as domain information or disease annotations
Supported organisms
Supported user inputs include:
humanhomo sapienshshsapiensmousemus musculusmm
These are normalized internally.
Default organism:
human
Expected outputs
The skill generates a structured annotation table with one row per gene and one column per annotation field.
Output formats supported by the script:
- TSV
- CSV
The default behavior is to produce a TSV file.
Default annotation schema
Use these columns unless the user requests otherwise:
input_genemapping_statusmapping_noteapproved_symbolfull_gene_namealiasesorganismentrez_idensembl_gene_iduniprot_accessionprotein_nameprotein_lengthgene_typechromosomecytobandstrandgenomic_locationreported_functionsubcellular_locationdomain_annotationdomain_coordinateskey_domain_summaryfunctional_domain_classmolecular_functionbiological_processcellular_componentreactome_pathwayskegg_pathwayshallmark_pathwayspathway_annotation_summarydisease_associationprotein_classdruggabilitysource_summary
Field intent
Use the fields with the following interpretation:
Identifier and mapping fields
input_gene: original user-provided gene symbol or tokenmapping_status: whether the gene matched exactly, by alias, by best match, or failedmapping_note: short explanation of mapping behaviorapproved_symbol: resolved preferred symbolfull_gene_name: resolved full gene namealiases: known aliases or alternate symbolsentrez_id: Entrez Gene IDensembl_gene_id: Ensembl gene IDuniprot_accession: canonical reviewed UniProt accession where available
Gene and protein identity
protein_name: recommended protein nameprotein_length: protein sequence lengthgene_type: broad gene class such as protein-codingchromosome,cytoband,strand,genomic_location: genomic context
Function and localization
reported_function: concise one-sentence summary, not a raw long text dumpsubcellular_location: brief localization summarymolecular_function,biological_process,cellular_component: concise GO-derived summaries
Domain-related fields
domain_annotation: semicolon-separated domain or feature listdomain_coordinates: domain names with residue coordinateskey_domain_summary: concise domain architecture summaryfunctional_domain_class: broad interpreted class such as reader, writer, eraser, kinase, transcription factor, RNA-binding protein, or membrane protein
Pathway-related fields
reactome_pathways: concise Reactome pathway membershipskegg_pathways: concise KEGG pathway membershipshallmark_pathways: reserved column for future Hallmark membership supportpathway_annotation_summary: short merged pathway summary
Disease and interpretation fields
disease_association: concise disease names, preferring readable full names over acronymsprotein_class: broad class inferred from keywords and domain contextdruggability: coarse interpretive label such as potentially_druggable or challenging_but_relevantsource_summary: concise list of annotation sources used
Annotation principles
This skill should prioritize:
- concise and readable summaries over long copied text
- structured identifiers over prose
- full disease names over unexplained acronyms
- domain architecture as a first-class annotation
- clean pathway splitting by source where possible
- deterministic table output
Avoid:
- long raw paragraphs copied from source databases
- duplicated information across columns
- unexplained abbreviations when fuller wording is available
- mixing expression and dependency analysis into this skill
Workflow
- Read the input gene list.
- Normalize gene tokens and remove empty entries.
- Resolve the organism.
- Query core gene metadata and identifier mapping.
- Determine the best gene match and mapping status.
- Extract identifiers, genomic location, aliases, and basic metadata.
- Resolve the UniProt accession if available.
- Retrieve protein-level annotations.
- Extract protein name, length, functional text, localization, keywords, and features.
- Convert raw function text into a concise function summary.
- Extract domain annotations and domain coordinates.
- Infer a broad functional domain class when possible.
- Split pathway annotations into separate source-specific columns when available.
- Summarize disease associations into short readable names.
- Infer broad protein class and rough druggability label when possible.
- Assemble the final table using the default schema.
- Write the result table to TSV or CSV.
Interaction model
Users may describe their needs in natural language. Translate supported requests into appropriate script arguments or output expectations.
Examples:
- “Annotate these genes”
→ run the skill with default schema
- “Include domain information”
→ keep domain fields in output
- “Give me concise function summaries”
→ preserve short reported_function behavior
- “Map these genes to UniProt and Ensembl”
→ ensure identifier columns are included
- “Output a CSV”
→ use --output-format csv
- “Use mouse genes”
→ set --organism mouse
Execution
Run the main script:
python scripts/annotation_for_gene_list.py --input <gene_file> --output <output_tsv>
Common examples
Annotate a human gene list and output TSV:
python scripts/annotation_for_gene_list.py --input examples/example_genes.txt --output results/example_annotations.tsv --organism human
Annotate a mouse gene list and output CSV:
python scripts/annotation_for_gene_list.py --input examples/example_genes.txt --output results/example_annotations.csv --organism mouse --output-format csv
Supported arguments
Required:
--input <gene_file>--output <output_path>
Optional:
--organism <human|mouse|hs|hsapiens|homo sapiens|mm|mus musculus>--output-format <tsv|csv>
Parameter decision guide
| Signal in user request | Parameter to set | |
|---|---|---|
| Human gene list (default) | --organism human | |
| Mouse gene list | --organism mouse | |
| "output CSV instead of TSV" | --output-format csv | |
| "just give me IDs" (minimal output) | default schema already includes identifiers; no extra flag needed | |
| "include domain information" | default schema already includes domain fields; verify they are populated | |
| "disease associations" | default schema includes disease_association; no extra flag needed | |
| Gene symbols from a file | --input genes.txt | |
| Inline gene list | write to a temp file first, then pass --input | |
| "map to UniProt" | automatically done; check uniprot_accession column | |
| "map to Ensembl" | automatically done; check ensembl_gene_id column |
Defaults
Unless the user specifies otherwise:
- use
humanas the organism - write TSV output
- include the full default annotation schema
- keep function, disease, and pathway fields concise
- do not attempt expression, essentiality, or TCGA analysis
Source behavior
This skill is built around source-backed gene and protein annotation retrieval.
Core source categories include:
- gene-level identifier and metadata source
- protein-level source for reviewed protein annotation
- source-specific pathway fields when available
- protein feature and disease comments when available
When a field is unavailable from the sources used, leave it blank rather than hallucinating content.
Output conventions
- one row per gene
- one column per annotation field
- preserve input order as much as possible through row processing
- use concise summaries rather than full copied paragraphs
- prefer full disease names over acronyms where possible
- keep pathway source columns separate when possible
- keep the workflow deterministic and reproducible
Failure modes
Fail clearly when:
- the input gene list is empty
- the organism is unsupported
- the output path is not writable
Handle gracefully when:
- a gene cannot be mapped
- a UniProt accession cannot be found
- pathway annotations are sparse
- hallmark membership is unavailable
- disease annotations are absent
- one or more fields are missing from source records
When a gene cannot be fully annotated:
- still return a row
- set
mapping_statusappropriately - explain the issue in
mapping_note
Robot usage notes
When another robot uses this skill:
- do not overload the output with raw copied source text
- prefer concise summaries in
reported_function - prefer explicit identifiers and domain fields
- leave unsupported fields blank rather than guessing
- do not use this skill for expression, essentiality, or TCGA analysis
- do not silently convert this into literature curation or enrichment analysis
- return the saved file path in the final response
Trigger examples
This skill should trigger for prompts like:
- “Annotate this gene list.”
- “Give me IDs and protein information for these genes.”
- “Add domain annotation for these genes.”
- “Summarize what these genes do.”
- “Map these symbols to Ensembl and UniProt.”
- “Give pathway and disease information for these genes.”
Non-trigger examples
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckinggene-list-analysis/function-annotation-for-gene-list/SKILL.md
Popularity
- Repository stars
- 65
- Repository forks
- 12
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/mdhewei/bioinfor-claw/function-annotation-for-gene-list)