Thank you for your interest in contributing to the ENCODE MCP Connector! This guide covers how to add new skills, improve existing ones, and submit changes.
Each skill lives in skills/{skill-name}/ with this structure:
skills/my-skill/
├── SKILL.md # Required: Main skill file
├── references/ # Optional: Supplementary docs loaded on demand
│ └── detailed-guide.md
├── scripts/ # Optional: Executable code
│ └── validate.py
└── assets/ # Optional: Templates, configs
Every skill MUST include these sections:
---
name: skill-name
description: >-
One paragraph describing when this skill triggers and what it does.
Include specific keywords that should activate this skill.
---- Overview -- What the skill does and when to use it
- Key Literature -- At least 2 peer-reviewed papers with DOIs and citation counts
- Workflow / Steps -- Numbered steps with tool calls and parameters
- Code Examples -- At least 1 complete workflow example
- Pitfalls & Edge Cases -- At least 3 common mistakes with solutions
- Presenting Results -- How to format and present outputs to the user
- Related Skills -- Table linking to complementary skills
- $ARGUMENTS -- Footer declaring skill arguments
Every skill that provides scientific guidance MUST cite peer-reviewed literature:
- Include DOI for every citation
- Prefer papers with >100 citations for core methodology
- Include citation count as a credibility signal
- Use format:
Author et al., Year (Journal, ~N citations) - Reference ENCODE consortium papers where applicable
- Every workflow step must specify which MCP tool to use
- Code examples must be copy-pasteable (no pseudocode)
- Pitfalls must include the solution, not just the problem
- Presenting Results must specify format (table, list, narrative)
- Related Skills table must link to at least 3 other skills
When adding a skill for an external database (GTEx, ClinVar, GWAS Catalog, etc.):
- Use the database's public REST API -- no authentication required
- Show how to cross-reference with ENCODE data
- Include the database's canonical citation
- Explain what biological question the integration answers
- Add the skill to cross-reference Related Skills table
Pipeline skills are children of pipeline-guide (the parent):
- Create
skills/pipeline-{assay}/with SKILL.md + references/ + scripts/ - Include Nextflow DSL2 pipeline in
scripts/main.nf - Include Dockerfile in
scripts/Dockerfile - Include
scripts/nextflow.configwith local/slurm/gcp/aws profiles - Break stages into reference files (01-qc-trimming.md, 02-alignment.md, etc.)
- Update the parent
pipeline-guide/SKILL.mdto reference the new child
- Python: Follow PEP 8, use type hints
- Nextflow: DSL2, one process per stage
- R: tidyverse style
- Bash: Use set -euo pipefail
- Create a feature branch:
git checkout -b add-{skill-name} - Run verification:
python -m encode_connector.server.main(must start) - Check skill completeness: all required sections present
- Update CLAUDE.md skill count and table
- Update CHANGELOG.md with your additions
- Submit PR with description of what the skill enables
- Verify the MCP server starts:
python -m encode_connector.server.main - Verify skill has all required sections
- Verify code examples reference correct tool names
- Verify literature citations have DOIs
- For pipeline skills: verify Nextflow syntax with
nextflow -version
Open an issue or reach out to the maintainers.