SKILL.md entrypoint that the agent loads on demand based on context.
Developing Skills (Branch Workflow)
You can test skill changes on a branch before merging tomain by pinning a notebook to a specific latch-skills branch.
Create a branch
Push a branch to the
latch-skills repository with your changes (new or modified skills).Set the skills branch
In Edit mode, open Runtime Settings (via the runtime dropdown in the notebook top bar) and select your branch from the Skills Branch picker.

Restart the pod
Restart the notebook runtime. On startup, the agent clones
latch-skills at your chosen branch instead of main.The skills branch setting is per-notebook and persists across restarts. On every restart, the runtime fetches the latest commit on the configured branch, so you can push updates and restart without changing the setting.
Built-in Skills
Every agent session includes Latch’s public skill set fromlatch-skills. These are cloned automatically at startup — no registration required. By default, the main branch is used. See Developing Skills above to test on a different branch.
Platform Skills
Core Latch Plots APIs and patterns:| Skill | Description |
|---|---|
latch-plots-ui | Widget APIs for output (plots, tables, H5 viewers), user input (selects, sliders, checkboxes), and layout (rows, columns, grids) |
latch-data-access | File selection widgets, Latch Data browsing, Registry tables, and LPath utilities for latch:// paths |
latch-workflows | Launching and monitoring bioinformatics workflows — parameter construction, validation, and output retrieval |
latch-curation | Curating external datasets (GEO/GSE) into Latch-compatible AnnData with Ensembl gene IDs and ontology-annotated metadata |
Technology Skills
Provider-specific analysis workflows and best practices:| Skill | Technology | Description |
|---|---|---|
takara-devkit | Takara Seeker / Trekker | QC, background removal, normalization, clustering, differential expression, and cell typing |
xenium-devkit | 10x Xenium | Data preparation, preprocessing, differential expression, cell type annotation, and domain detection |
vizgen-devkit | Vizgen MERFISH | Cell segmentation, preprocessing, QC, spatial analysis, and secondary analysis |
atlasx-devkit | AtlasXomics DBiT-seq | QC, clustering, differential analysis, and cell type annotation for spatial ATAC-seq |
Custom Skills
Organization admins can register private GitHub repositories containing custom skills that get loaded into agent runtimes across all workspaces in the organization.Skill Repository Structure
A skill repository must follow this structure:Rules
- Each top-level directory containing a
SKILL.mdfile becomes a skill - Only one level of skill directories — no nesting skills inside skills
README.mdat the repo root is for GitHub — the agent does not load it- Skill directory names must be unique across all registered repos in an organization. If two repos define the same skill name, syncing will fail.
Writing a SKILL.md
Every skill needs aSKILL.md file with YAML frontmatter and markdown instructions:
Required Fields
| Field | Description |
|---|---|
name | Lowercase letters, numbers, and hyphens only (max 64 characters). Used as the skill identifier. |
description | What the skill does and when to use it. The agent reads this to decide when to load the skill automatically. |
Optional Fields
| Field | Description |
|---|---|
allowed-tools | Restrict which tools the agent can use (e.g., Read, Grep, Glob). |
disable-model-invocation | Set to true to prevent auto-loading. The skill can only be triggered explicitly. |
argument-hint | Hint shown for expected arguments (e.g., [dataset-name]). |
Supporting Files
KeepSKILL.md focused and under 500 lines. Move detailed reference material to separate files and link them from SKILL.md:
SKILL.md.
Merging Multiple Repositories
When multiple repositories are registered with the same target path (the default.claude/skills/), their skill directories are merged side by side:
spatial-analysis/ skill, syncing will fail and the conflict will be reported in Organization Settings → Agent Skills.
Registering a Repository
Create a GitHub Personal Access Token
Generate a GitHub PAT with repo scope so the agent runtime can clone private repositories.
Connect your PAT
Go to Organization Settings → Agent Skills → GitHub Authentication and enter your GitHub username and token.
Add a repository
Click Add Repository and provide:
- Display Name: A human-readable label (e.g., “Our Lab Skills”)
- Repository URL: The HTTPS clone URL (e.g.,
https://github.com/my-org/agent-skills.git) - Branch: The branch to track (defaults to
main) - Target Path: Where to mount in the runtime (defaults to
.claude/skills)
How Skills Are Loaded
When an agent runtime starts in a workspace belonging to your organization:- All registered repositories are cloned using the org’s GitHub PAT
- Skill directory names are checked for uniqueness — conflicts block the sync
- The agent discovers
SKILL.mdfiles and reads theirdescriptionfields - During a session, the agent automatically loads a skill when your request matches its description