registry / contribute

Publish a skill to the index

Submissions enter a review queue where a maintainer checks the manifest, runs the fixture invocation, and confirms the safety note before the entry is listed. Provide the source repository and the metadata below.

01

A valid SKILL.md at the repository root

Frontmatter with name, technique, category and license; a scope section that states the limits of the skill.

02

A runnable MCP server or reference implementation

Typed tool definitions and a sample invocation that completes against the bundled fixture data.

03

An instrument safety note

Anything that moves a stage, changes beam conditions, or mills material must declare it in plain language.

04

Reproducible outputs

Pinned dependencies and a deterministic mode so a reviewer can reproduce your reported numbers.

Submit your skill

Indexing is not certification. Listed skills are references to read and adapt — verify every procedure against your own instrument and sample before running it unattended.

SKILL.md template & folder layout

The registry repository is emskills-mcp/em-skills. Add one folder per skill under skills/<slug>/ and open a pull request. On merge, the importer validates every manifest and drops it into the moderation queue — the folder name must equal the slug in front matter.

repository layout
em-skills/
├── README.md
└── skills/
    ├── cryo2d-classify/
    │   ├── SKILL.md          # required — manifest + instructions
    │   ├── skill.json        # optional — overrides/extends front matter
    │   ├── examples/
    │   │   └── invoke.json   # sample tool call + expected output
    │   └── fixtures/
    │       └── sample.mrc    # small deterministic test input
    └── edax-phase-map/
        └── SKILL.md
skills/<slug>/SKILL.md
---
name: Cryo-EM 2D class triage
slug: cryo2d-classify
technique: cryo-EM
category: Segmentation
kind: MCP server
summary: Ranks 2D class averages and flags junk classes before 3D refinement
description: >
  Scores RELION/cryoSPARC 2D class averages on resolution, particle count and
  radial symmetry, then returns a keep/discard recommendation per class.
org: Example Structural Biology Lab
repo: emskills-mcp/em-skills
version: 0.1.0
license: MIT
runtime: python 3.11
tool_call: cryo2d_classify
mcp_endpoint: https://mcp.example.org/cryo2d
tags:
  - cryo-em
  - 2d-classification
  - qc
---

# Cryo-EM 2D class triage

## Scope
What this skill does, the data it expects (format, pixel size, box size), and
what it explicitly does not do. State the limits an agent must not exceed.

## Safety
Declare any action that touches hardware: stage movement, beam or dose changes,
aperture or valve control, milling. Read-only analysis skills state
"Read-only — no instrument control".

## Usage
```json
{
  "tool": "cryo2d_classify",
  "arguments": {
    "job_dir": "/data/relion/Class2D/job012",
    "min_particles": 500
  }
}
```

Expected output shape, units, and a deterministic example result produced from
the bundled fixture.

## Reproducibility
Pinned dependencies, seed/deterministic mode, and the command a reviewer runs
to reproduce the reported numbers.
skills/<slug>/skill.json (optional)
{
  "slug": "cryo2d-classify",
  "technique": "cryo-EM",
  "category": "Segmentation",
  "tool_call": "cryo2d_classify",
  "tags": ["cryo-em", "qc"]
}

required front matter

name
Human-readable skill name, e.g. “Cryo-EM 2D class triage”.
slug
Lowercase kebab-case id; must match the folder name.
technique
One of the registry techniques, one of SEM, TEM, STEM, EDS, EELS, cryo-EM, FIB.
category
One of the registry categories, e.g. Segmentation, Image acquisition, Calibration.
kind
“MCP server” or “SKILL.md”.
summary
One sentence, 20–200 characters, no trailing period needed.
license
SPDX id such as MIT, Apache-2.0, BSD-3-Clause.
version
Semantic version such as 0.1.0.
runtime
Execution environment, e.g. “python 3.11” or “node 20”.
tool_call
Canonical tool name agents invoke, snake_case.

optional front matter

org
Publishing lab, group or company. Defaults to the repo owner.
repo
Upstream source repository if it differs from this registry.
mcp_endpoint
HTTPS endpoint for a hosted MCP server.
tags
Up to 12 short tags, YAML list or [a, b, c].
description
Longer prose; falls back to the first body paragraph.

required body sections

  • ## Scope what the skill does and the instruments/data it assumes.
  • ## Safety beam dose, stage motion, or sample-damage limits an agent must respect.
  • ## Usage the exact tool call, arguments, and expected output.

Validation rejects unknown techniques or categories, non-semver versions, summaries outside 20–200 characters, and missing sections — each error names the file, the field, and how to fix it.