#266 by GitHub stars
aipoch/open-science
The open-source AI research workbench for scientific research and agent workflows. Local-first, model-agnostic desktop app with extensible skills, MCP tools and connectors, Python/R execution and traceable artifacts for reproducible research on macOS, Windows and Linux.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
resources/skills/alphafold2/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/boltz/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/borzoi/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/chai1/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/compute-env-setup/SKILL.md
Week of Nov 2, 2026 · +6 / −0 lines
Before Instructions only → After Network or broad shell
cac95dda0309 → 357d1a980056
+ 13
+ 14 Software environment setup and Slurm accounting service configuration are separate concerns.
+ 15 An unavailable `sacct` service is not evidence that Python, Conda, modules, or the named activation
+ 16 file are missing. Use the Remote Compute Skill's Slurm troubleshooting reference for scheduler
+ 17 status and cancellation problems; do not make enabling accounting the only recovery path or assume
+ 18 the user has administrator privileges.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/customize/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/diffdock/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/docx-generation/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/env-management/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/esmfold2/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/evo2/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/fair-esm2/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/figure-composer/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/figure-style/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/indication-dossier/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/ligandmpnn/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/literature-review/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/openfold3/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/paper-narrative/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/proteinmpnn/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/remote-compute-ssh/SKILL.md
Week of Nov 2, 2026 · +55 / −25 lines
Before Instructions only → After Network or broad shell
cac95dda0309 → 357d1a980056
- 172 Treat only `result_final: true` as the final result; a provider-terminal status can still be waiting
- 173 for local harvest. The app owns provider polling and harvest in the background. An unread final
+ 172 Treat only `result_final: true` as the final result. It means the automatic response is ready:
+ 173 `success`, `failed`, and `timeout` can still be waiting for local harvest, while `cancelled` and
+ 174 `error` are final without waiting for partial output collection. `output_files` contains only files
+ 175 actually available locally; an empty list does not prove there are no remote outputs.
+ 176 The app owns provider polling and harvest in the background. An unread final
+ 188
+ 189 For a Slurm status error or failed cancellation, read
+ 190 [Slurm troubleshooting](references/slurm-troubleshooting.md). In that exceptional path,
+ 191 `compute.callCommand` can inspect the same job and its outputs and perform recovery within the
+ 192 user's existing task authorization. Keep ordinary submission on the Compute API.
- 205 `error_code` on failure, and `last_poll_error` when observation or submission recovery needs
+ 213 `error: { code, message }` on a job-level error, and `last_poll_error` when observation or submission recovery needs
- 243 // job_id, scheduler_job_id?, status, result_final, cancellation_status?, exit_code,
- 244 // error_code?, last_poll_error?, stdout_tail, stderr_tail, remote_workdir,
+ 251 // job_id, scheduler_job_id?, status, result_final, cancellation?, exit_code,
+ 252 // error?, last_poll_error?, stdout_tail, stderr_tail, remote_workdir,
- 247 // status: 'queued' | 'submitted' | 'running' | 'success' | 'failed' | 'timeout' | 'error'
- 248 // result_final is the authority for whether local harvest is complete; status alone is not.
+ 255 // status: 'queued' | 'submitted' | 'running' | 'success' | 'failed' | 'timeout' | 'cancelled' | 'error'
+ 256 // result_final means the automatic response is ready; partial outputs may still be remote.
+ 257 // error: { code, message }
+ 258 // cancellation: { status: 'cancelling' } or { status: 'failed', error: { code, message } }
- 254 await c.attachJob(job.job_id).cancel()
- 255 // cancellation_status is 'cancelling' until owned remote termination is confirmed,
- 256 // then 'cancelled'. Repeating cancel() is safe.
- 257 ```
+ 264 const cancellation = await c.attachJob(job.job_id).cancel()
+ 265 // While pending: cancellation.cancellation.status === 'cancelling'.
+ 266 // Completed: cancellation.status === 'cancelled', result_final === true.
+ 267 // Failed attempt: cancellation.cancellation.status === 'failed'; inspect its error.
+ 268 // An explicit cancel() on a still-active job can retry a failed cancellation.
+ 269 ```
+ 270
+ 271 Cancellation failure ends that cancellation attempt, not the computation: a snapshot can have
+ 272 `status: 'running'`, `result_final: false`, and `cancellation: { status: 'failed', error: ... }`.
+ 273 Its operation-failure notification is separate from the job's later final-result notification.
+ 274 `error.code`/`error.message` describe the task problem; `cancellation.error.code`/
+ 275 `cancellation.error.message` describe cancellation failure. A cancelled snapshot has only top-level
+ 276 `status: 'cancelled'`, without a duplicate cancellation object or job error.
+ 277
+ 278 After final `error` or `cancelled`, end waiting rather than repeatedly calling status or cancel.
+ 279 An `error` reports an application processing problem and does not prove the remote process stopped.
+ 280 Empty scheduler queries and a name-filtered `ps` check do not establish remote termination. Output
+ 281 files establish the bytes recovered, not the job's exit code; keep those conclusions separate.
+ 282 Retain `job_id`, `scheduler_job_id`, and `remote_workdir` for diagnosis. When useful output remains,
+ 283 inspect it before choosing a rerun based on command idempotency, compute cost, remote state, and
+ 284 the user's goal. See the troubleshooting reference for concrete checks.
- 261 | status | meaning |
- 262 | ----------- | --------------------------------------------------------------------- |
- 263 | `queued` | waiting for a Session concurrency slot |
- 264 | `submitted` | accepted; direct dispatch or Slurm queue observation is in progress |
- 265 | `running` | direct process or Slurm allocation observed running |
- 266 | `success` | exit code 0 |
- 267 | `failed` | non-zero exit (`job_failed`) or process vanished (`process_vanished`) |
- 268 | `timeout` | exceeded `timeoutSeconds` |
- 269 | `error` | dispatch or setup failed before a tracked workload started |
+ 288 | status | meaning |
+ 289 | ----------- | -------------------------------------------------------------------------------------------------------- |
+ 290 | `queued` | waiting for a Session concurrency slot |
+ 291 | `submitted` | accepted; direct dispatch or Slurm queue observation is in progress |
+ 292 | `running` | direct process or Slurm allocation observed running |
+ 293 | `success` | exit code 0 |
+ 294 | `failed` | non-zero exit (`job_failed`) or process vanished (`process_vanished`) |
+ 295 | `timeout` | exceeded `timeoutSeconds` |
+ 296 | `cancelled` | cancellation completed; partial output collection may be incomplete |
+ 297 | `error` | application could not complete processing, including unavailable final status; remote work may still run |
- 338 Read `r.exit_code` and `r.stderr_tail`. An infrastructure failure (wrong partition, env not
- 339 activated, missing module, OOM, walltime) is yours to fix — adjust `command`, record the fix,
- 340 fresh `c.submitJob()`. A harvest failure (`r.stderr_tail` notes it, `r.remote_workdir` is
- 341 preserved) means some files were not downloaded — the remote workdir is kept so you can
- 342 `c.callCommand('ls ...', intent='...')` to inspect what's there.
+ 366 Read `r.error`, `r.exit_code`, and `r.stderr_tail` to identify the failing layer. A confirmed
+ 367 computation failure can call for corrected resources, environment, or command and a fresh
+ 368 `c.submitJob()`. For `job_status_unavailable`, inspect the scheduler and outputs before deciding
+ 369 whether a rerun is appropriate; the application has ended automatic tracking without proving
+ 370 remote termination. A harvest failure (`r.harvest_error`) leaves `r.remote_workdir` available for
+ 371 inspection through `c.callCommand(command, intent)`. Do not replace useful existing outputs merely
+ 372 because collection or tracking failed.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/scgpt/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/scvi-tools/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/self-awareness/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/skill-creator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → cac95dda0309
No earlier version was observed for comparison.
resources/skills/solublempnn/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
cac95dda0309 → 357d1a980056
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → cac95dda0309
No earlier version was observed for comparison.
Verified commit 357d1a980056e191f380d0e01ec4fbc7cf529d1b
git clone --filter=blob:none --no-checkout https://github.com/aipoch/open-science.git .hotskills/aipoch-open-science && git -C .hotskills/aipoch-open-science checkout --detach 357d1a980056e191f380d0e01ec4fbc7cf529d1b
# Copy each selected skill directory from .hotskills/aipoch-open-science into .agents/skills/<skill-name>/Heat
7.0- Star growth, last 7 daysAhead of 88% of tracked repositories
- Star growth, last 24 hoursAhead of 85% of tracked repositories
- Rank movement, last 7 daysAhead of 48% of tracked repositories
- Commits, last 30 daysAhead of 99% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- alphafold2
resources/skills/alphafold2 - boltz
resources/skills/boltz - borzoi
resources/skills/borzoi - chai1
resources/skills/chai1 - compute-env-setup
resources/skills/compute-env-setup - customize
resources/skills/customize - diffdock
resources/skills/diffdock - docx-generation
resources/skills/docx-generation - env-management
resources/skills/env-management - esmfold2
resources/skills/esmfold2 - evo2
resources/skills/evo2 - fair-esm2
resources/skills/fair-esm2 - figure-composer
resources/skills/figure-composer - figure-style
resources/skills/figure-style - indication-dossier
resources/skills/indication-dossier - ligandmpnn
resources/skills/ligandmpnn - literature-review
resources/skills/literature-review - openfold3
resources/skills/openfold3 - paper-narrative
resources/skills/paper-narrative - proteinmpnn
resources/skills/proteinmpnn - remote-compute-ssh
resources/skills/remote-compute-ssh - scgpt
resources/skills/scgpt - scvi-tools
resources/skills/scvi-tools - self-awareness
resources/skills/self-awareness - skill-creator
resources/skills/skill-creator - solublempnn
resources/skills/solublempnn
How it works
alphafold2
When your agent uses it
Predict protein structure for monomers and multimers with AlphaFold2 via the ColabFold runner (Mirdita et al. 2022, github.com/sokrypton/ColabFold; AlphaFold2 Jumper et al. 2021). Reach for this skill to fold a sequence or complex with the AF2/AF2-Multimer evoformer, to validate designed sequences by self-consistency pLDDT, ipTM, and RMSD, or to run a quick MSA-backed prediction using the public MMseqs2 server.
What it loads into context
Frontmatter
385 tokensAlways available to the agent
SKILL.md
1,390 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Running it
- Unified-memory defaults loop forever under gVisor — the env patches them out
- The MSA server is the wall-clock bottleneck, and it is shared
- Errors worth recognizing
Files
.catalog_stampasset13 bytesSKILL.mdcore5,391 bytesSKILL.mdcore5,391 bytes
Read SKILL.md
# AlphaFold2 (ColabFold runner)
This skill wraps AlphaFold2 and AlphaFold2-Multimer through `colabfold_batch`,
which replaces DeepMind's local-database MSA pipeline with a call to the public
MMseqs2 server — so a prediction is one command and one FASTA, not a 2 TB
database mount. AF2 remains the reference monomer predictor and the multimer
model is still a strong protein–protein validator, but it does not handle
ligands or nucleic acids; for those, route to `boltz`, `chai1`, or `openfold3`.
The ColabFold code is MIT (github.com/sokrypton/ColabFold) and the AlphaFold2
code is Apache-2.0 (github.com/google-deepmind/alphafold); the AF2 model
parameters are CC-BY-4.0 with DeepMind's terms of use.
## Running it
View the complete source on GitHubboltz
When your agent uses it
Structure prediction for protein, nucleic-acid, and small-molecule complexes with Boltz-2 (Passaro & Wohlwend et al. 2025, github.com/jwohlwend/boltz). Reach for this skill to validate designed binders against a target, to co-fold a protein with a SMILES or CCD ligand, or to get an open-source AlphaFold3 alternative with optional binding-affinity prediction.
What it loads into context
Frontmatter
310 tokensAlways available to the agent
SKILL.md
1,482 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Running it
- Affinity head
- `msa: empty` is an accuracy hit, not a memory save
- Missing fast kernels are slow, not fatal
- Errors worth recognizing
Files
.catalog_stampasset13 bytesSKILL.mdcore5,687 bytesSKILL.mdcore5,687 bytesSKILL.mdcore5,687 bytes
Read SKILL.md
# Boltz-2
Boltz-2 is the open-weights diffusion co-folder closest in surface to
AlphaFold3: a YAML describing protein, DNA, RNA, and ligand chains in, mmCIF
plus pTM/ipTM/pLDDT confidences out, with an optional small-molecule affinity
head. Among our four co-fold skills it is the default for binder-validation
campaigns — fully open MIT weights and the fastest sampler; pick `chai1` when
you want a second independent model for consensus, `openfold3` when AF3-faithful
settings matter, and `esmfold2` when you can live without an MSA. Code and
weights are MIT (PyPI `boltz`, github.com/jwohlwend/boltz).
## Running it
```yamlView the complete source on GitHubborzoi
When your agent uses it
Predict genome-wide functional tracks (RNA-seq, CAGE, DNase, ChIP) from DNA sequence with Borzoi. Use this skill when: (1) Scoring the regulatory effect of a variant on expression/accessibility, (2) Generating predicted coverage tracks for a locus, (3) Prioritising non-coding variants by predicted track delta.
What it loads into context
Frontmatter
302 tokensAlways available to the agent
SKILL.md
1,064 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- How to run
- Output format
- Remote compute
- Troubleshooting
Files
.catalog_stampasset13 bytesSKILL.mdcore3,947 bytesSKILL.mdcore3,947 bytesSKILL.mdcore3,947 bytesSKILL.mdcore3,947 bytes
Read SKILL.md
# Borzoi — DNA → Functional Track Prediction
## Prerequisites
| Requirement | Minimum | Recommended |
| ----------- | ------- | ----------- |
| Python | 3.10+ | 3.11 |
| CUDA | 12.1+ | 12.4+ |
| GPU VRAM | 16 GB | 24 GB+ |
## How to run
```python
from borzoi_pytorch import BorzoiView the complete source on GitHubchai1
When your agent uses it
Structure prediction for protein, nucleic-acid, and small-molecule complexes with the Chai-1 foundation model (Chai Discovery 2024, github.com/chaidiscovery/chai-lab). Reach for this skill to predict an antibody-antigen or protein-ligand complex from a single FASTA, to re-fold designed binders as an AlphaFold-multimer alternative, or to drive co-folding from Python for batched campaigns on a GPU.
What it loads into context
Frontmatter
342 tokensAlways available to the agent
SKILL.md
1,287 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Running it
- Unset `CHAI_DOWNLOADS_DIR` fails mid-run with PermissionError on a read-only image
- No-MSA mode still loads a 3 B-parameter ESM — same VRAM, not less
- Errors worth recognizing
Files
.catalog_stampasset13 bytesSKILL.mdcore4,926 bytesSKILL.mdcore4,926 bytes
Read SKILL.md
# Chai-1
Chai-1 is an all-atom diffusion co-folder in the same family as Boltz-2 and
AlphaFold3: a multi-entity FASTA in, mmCIF plus pTM/ipTM/pLDDT out, with
protein, RNA, DNA, and SMILES-ligand chains all first-class. It and `boltz`
cover the same surface; running both and keeping designs that pass either is a
common consensus filter, and Chai's Python entry point makes it the easier of
the two to embed in a loop. Code and weights are Apache-2.0 — commercial use
including drug discovery is explicitly permitted
(github.com/chaidiscovery/chai-lab).
## Running it
```pythonView the complete source on GitHubcompute-env-setup
When your agent uses it
Prepare reproducible setup instructions and validate a user-managed named software environment on an Open-Science SSH Compute Host, including direct SSH and Slurm hosts. Use when a remote job needs packages, modules, cache variables, or a repeatable activation that the host does not already provide.
What it loads into context
Frontmatter
72 tokensAlways available to the agent
SKILL.md
2,221 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Define the environment
- Prepare user-owned installation and removal
- Validate where jobs run
- Record reusable host facts
Files
SKILL.mdcore10,689 bytesSKILL.mdcore10,689 bytesSKILL.mdcore10,689 bytesSKILL.mdcore10,689 bytesSKILL.mdcore10,689 bytes
Read SKILL.md
# Compute environment setup
Prepare one reproducible environment definition and instructions for one small user-managed host
activation file. Open-Science resolves `submitJob(..., { environment: '<name>' })` by sourcing
`~/.open-science/environments/<name>.sh` before the workload. Existing `~/.openscience/environments/<name>.sh` definitions remain readable in place. Before creating an activation, check both names: update the existing definition at its exact location; if both exist, ask the user which to retain. Never create a second activation just to rename the brand. The file contains activation only; it
does not install packages when a job starts.
Software environment setup and Slurm accounting service configuration are separate concerns.
An unavailable `sacct` service is not evidence that Python, Conda, modules, or the named activation
file are missing. Use the Remote Compute Skill's Slurm troubleshooting reference for scheduler
status and cancellation problems; do not make enabling accounting the only recovery path or assume
the user has administrator privileges.
The environment, package caches, images, and activation file are user-managed durable resources,View the complete source on GitHubcustomize
When your agent uses it
Use when the user wants to create or manage a Specialist agent or create, revise, publish, or delete a Skill through the conversational `/Customize` entry. Routes Skill work to the internal skill-creator and handles Specialist work through the JavaScript host.agents SDK.
What it loads into context
Frontmatter
66 tokensAlways available to the agent
SKILL.md
2,356 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Route first
- Specialist runtime
- The `host.agents` SDK surface
- Specialist identity and composition
- Workflow — every operation
- Scope clarification (Full vs Selected)
- Ordinary mutation review
- Confirmation boundaries
- Revision and stale drafts
- Structured declines
- Read-back and reporting
- Do not expose UUIDs/revisions in ordinary prose
- Language
Files
SKILL.mdcore10,968 bytes
Read SKILL.md
# Customize
This Skill routes conversational customization to one of two native composers. It is **not a security
boundary**: it helps the user draft, review, confirm, and report changes, while the application decides
whether a destructive or identity-affecting operation actually takes effect.
> Important: this is a framework Skill, not hard isolation. Do not claim that this Skill provides hard
> security isolation; it is workflow guidance only.
## Route first
- For creating, revising, publishing, inspecting, or deleting a Skill, call
`host.skills.read('skill-creator')` and follow that internal Skill completely. Do not duplicate its
authoring workflow here.View the complete source on GitHubdiffdock
When your agent uses it
Predict small-molecule binding poses with DiffDock-L (Corso et al. 2023/2024, github.com/gcorso/DiffDock) — blind diffusion docking that places a ligand into a protein pocket without a predefined search box and ranks the samples with a learned confidence model. Reach for this skill to dock a SMILES or SDF against a PDB, to generate ranked 3D poses for a small fragment library, or to get a starting pose for downstream rescoring. DiffDock predicts geometry, not affinity.
What it loads into context
Frontmatter
233 tokensAlways available to the agent
SKILL.md
1,174 tokensWhen the skill is activated
Reference documents
531 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Running it
- The YAML config overwrites your CLI flags
- The first run is silent for ~11 minutes and needs ≥32 GB host RAM
- The README's `--ligand` works on the CLI by accident — use `--ligand_description`
- Errors worth recognizing
Files
.catalog_stampasset13 bytesSKILL.mdcore4,950 bytesSKILL.mdcore4,950 bytesreferences/workflows.mddoc1,984 bytes
Read SKILL.md
# DiffDock-L
DiffDock-L is a blind pose predictor: given a protein structure and a ligand,
it samples ligand placements over the whole surface with a diffusion model and
ranks them with a separately trained confidence head. The confidence score
correlates with pose correctness, not with binding free energy — DiffDock does
not predict whether or how tightly the ligand binds, so for hit triage you
still pair it with a scorer (GNINA, MM-GBSA) or with `boltz`'s affinity head.
For protein–protein and nucleic-acid co-folding, route to `boltz` or `chai1`.
Code and weights are MIT (github.com/gcorso/DiffDock).
## Running it
```bashView the complete source on GitHubdocx-generation
When your agent uses it
Use when creating a Word DOCX report from Markdown, converting Markdown tables and lists to DOCX, or choosing a workflow for editing an existing DOCX while preserving its structure and styles. Use this workflow before running Markdown-to-DOCX shell commands. Includes report typography, table layout, a reusable reference document, and a Python converter.
What it loads into context
Frontmatter
82 tokensAlways available to the agent
SKILL.md
1,012 tokensWhen the skill is activated
Reference documents
922 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Markdown to a new DOCX
- Editing existing DOCX files
- Artifact delivery
Scripts executed separately
kernel.pyscripts/build_kernel.pyscripts/build_reference.pyscripts/convert.py
Files
README.mddoc4,378 bytesSKILL.mdcore5,178 bytesSKILL.mdcore5,178 bytesSKILL.mdcore5,178 bytesassets/reference.docxasset11,062 byteskernel.pyruns29,926 bytesopen-science.jsonasset254 bytesscripts/build_kernel.pyruns1,654 bytesscripts/build_reference.pyruns5,915 bytesscripts/convert.pyruns8,469 bytes
Read SKILL.md
# DOCX generation and editing
Choose a workflow that preserves the user's requested content, structure, and presentation. User requirements take precedence over defaults. Keep tables, headings, and lists as native document structures.
## Markdown to a new DOCX
For ordinary reports, use the bundled converter with an existing Pandoc 3.12.1 executable and Python 3.9 or newer. It uses a versioned reference document, separates ordinary table paragraphs from the Compact style shared by lists, and records converter/template provenance inside the DOCX. It does not install software. Run this converter rather than a bare `pandoc source.md -o output.docx` command: that command bypasses the report template and its typography, page geometry, table spacing, and provenance.
In Open Science, first prepare the workflow through the registered Notebook helper:
```json
{
"kernelSkillIds": ["docx-generation"],
"code": "docx_workflow = prepare_docx_conversion('.')\nprint(docx_workflow)"View the complete source on GitHubenv-management
When your agent uses it
Use when a notebook run fails on a missing package (ImportError, ModuleNotFoundError, "there is no package called"), when you need to inspect an installed package version, or when you need to install, add, or manage Python or R packages for the notebook runtime. Covers inspect_packages, routing Python vs R through manage_packages, why in-cell %pip/!pip/install.packages() and OS installers are forbidden, restarting the kernel after an install, and when to stop and ask the user.
What it loads into context
Frontmatter
116 tokensAlways available to the agent
SKILL.md
1,481 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When a package is missing
- Check an installed version
- Route by language
- Restart the kernel after an install when told to
- Never install any other way
- When to stop and tell the user
Files
SKILL.mdcore6,989 bytes
Read SKILL.md
# Environment and package management
The notebook runs against the session's **bound runtime**: the app-managed default (`default-python` / `default-r`) unless you bind another one with `notebook_bind_runtime` — a named environment you created, or one of the user's own detected interpreters. You never activate environments by hand, and you never install packages from inside a cell. Installs happen in the trusted main process through a single tool, `manage_packages`, and always land in the currently bound runtime. This page is the workflow for getting a package installed and for knowing when a package is not something you can install yourself.
## When a package is missing
A run that fails with `ImportError` / `ModuleNotFoundError` (Python) or `Error in library(x): there is no package called 'x'` (R) means the package is not in the environment yet. The fix is one `manage_packages` call, not a code change. Do not rewrite the cell to use a different library that "does roughly the same thing" — install the package the task actually needs. Do not fall back to reading data or computing results a worse way to dodge the missing import.
## Check an installed version
Use `inspect_packages(language, packages)` when the user asks whether a package is installed in an app-managed runtime or which version is present, or when your code depends on a version-specific feature. It reads package metadata from the session's bound app-managed runtime without importing the package or changing the environment. An `installed` result does not prove the import will succeed; use `notebook_execute` when importability itself is the question.
Inspection does not provision a missing app-managed default runtime. If it reports `DEFAULT_RUNTIME_NOT_READY`, use `notebook_execute` in that language to prepare the runtime under notebook execution approval, then retry `inspect_packages`.
View the complete source on GitHubesmfold2
When your agent uses it
Biohub ESMFold2 / ESMFold2-Fast all-atom co-folding (Candido et al. 2026, github.com/Biohub/esm). Single-sequence and MSA modes; protein, DNA, RNA, ligand (CCD/SMILES), modified residues. FoldBench Ab-Ag 50-55%, PPI 70-77% DockQ-pass. Also covers the ESMC-{300M,600M,6B} protein language models from the same release: masked-LM logits, hidden states, mutation scoring, contact prediction, and the SAE interpretability head. MIT-licensed weights on HuggingFace org `biohub`. Use this skill when: (1) Predicting complex structures with single-sequence input, (2) Validating designed binders with ESMFold2-Fast, (3) Running ESMFold2 with MSA input, (4) Getting ESMC embeddings or per-residue mutation scores, (5) Choosing kernel backend and sampling-step settings for paper-faithful throughput.
What it loads into context
Frontmatter
397 tokensAlways available to the agent
SKILL.md
3,141 tokensWhen the skill is activated
Reference documents
1,371 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Install
- Usage — local model
- Model variants on HF `biohub/`
- Throughput: `set_kernel_backend("fused")` is REQUIRED
- ESMFold2-Experimental* — design hook
- Gotcha: cusolver SVD poison + structseq constructor
- With-MSA mode
- Paper-matched inference configuration
- Training data cutoff
- ESMC language model
Files
.catalog_stampasset13 bytesSKILL.mdcore10,951 bytesSKILL.mdcore10,951 bytesSKILL.mdcore10,951 bytesSKILL.mdcore10,951 bytesSKILL.mdcore10,951 bytesSKILL.mdcore10,951 bytesSKILL.mdcore10,951 bytesSKILL.mdcore10,951 bytesreferences/design-hook.mddoc1,452 bytesreferences/esmc.mddoc3,052 bytes
Read SKILL.md
# ESMFold2 (Biohub)
All-atom diffusion co-folding from the Biohub ESM release (2026). ESMFold2 =
48 pair layers with MSA support; ESMFold2-Fast = 24 layers, single-sequence
only, ~1.7x faster.
**License:** MIT (code github.com/Biohub/esm + weights HF `biohub/*`).
**Paper:** "Language Modeling Materializes a World Model of Protein Biology" (2026).
## Install
CUDA 12.x GPU (H100/A100-class); Python **3.12 only**. Fresh venv; needs
egress to HF Hub, GitHub, PyPI:
View the complete source on GitHubevo2
When your agent uses it
Score, embed, and generate DNA sequences with Evo 2, a long-context genomic foundation model. Use this skill when: (1) Computing per-nucleotide or per-sequence likelihoods for variant effect scoring, (2) Embedding genomic windows for downstream classification, (3) Generating DNA conditioned on a prefix, (4) Scoring regulatory or coding regions across species.
What it loads into context
Frontmatter
238 tokensAlways available to the agent
SKILL.md
1,472 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- How to run
- Models
- Output format
- Decision tree
- Remote compute
- Typical performance
- Troubleshooting
Files
.catalog_stampasset13 bytesSKILL.mdcore5,446 bytesSKILL.mdcore5,446 bytesSKILL.mdcore5,446 bytesSKILL.mdcore5,446 bytesSKILL.mdcore5,446 bytesSKILL.mdcore5,446 bytes
Read SKILL.md
# Evo 2 — DNA Language Model
## Prerequisites
| Requirement | Minimum | Recommended |
| ----------- | --------------- | ------------ |
| Python | 3.11 | 3.12 (<3.13) |
| CUDA | 12.1+ | 12.4+ |
| GPU VRAM | 24 GB (7B bf16) | 80 GB (40B) |
| RAM | 32 GB | 128 GB |
## How to run
### InstallationView the complete source on GitHubfair-esm2
When your agent uses it
Embed proteins with Meta AI's ESM-2 (`fair-esm` package). Use this skill when: (1) Extracting per-residue or per-sequence embeddings for downstream ML, (2) Masked-LM likelihood / mutation effect scoring, (3) Contact prediction from a sequence.
What it loads into context
Frontmatter
186 tokensAlways available to the agent
SKILL.md
1,627 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- How to run
- Models
- Output format
- Remote compute
- Troubleshooting
Files
.catalog_stampasset13 bytesSKILL.mdcore5,997 bytesSKILL.mdcore5,997 bytesSKILL.mdcore5,997 bytesSKILL.mdcore5,997 bytesSKILL.mdcore5,997 bytesSKILL.mdcore5,997 bytesSKILL.mdcore5,997 bytes
Read SKILL.md
# fair-esm2 — ESM-2 (Meta AI)
ESM-2 code and weights are MIT (Meta AI, github.com/facebookresearch/esm).
> **Package disambiguation.** `pip install fair-esm` gives you `import esm`
> with `esm.pretrained.*` (ESM-1/2). Biohub's github.com/Biohub/esm fork
> (MIT) gives you `from esm.models.esmfold2 import ESMFold2InputBuilder` —
> see the **`esmfold2`** skill. Both share the `esm` namespace but are
> different libraries. This skill covers **fair-esm** (the Meta package).
## Prerequisites
| Requirement | Minimum | Recommended |
| ----------- | ----------------------- | ------------------ |View the complete source on GitHubfigure-composer
When your agent uses it
Compose one publication-grade multi-panel figure. Start from a one-line claim plus immutable data Artifact Version references, or inspect an existing figure and draft its outline directly. Plan a 12-column panel outline, delegate one worker per panel, compose and inspect the result, then run at most three adversarial review rounds while regenerating only affected panels. For a standalone plot use `figure-style`; for whole-paper figure ordering use `paper-narrative`.
What it loads into context
Frontmatter
106 tokensAlways available to the agent
SKILL.md
2,640 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Open-Science Notebook call
- Inputs
- Entry points
- 1. Narrative → panel outline
- 2. Fan out panel workers
- 3. Compose and bind the producer Run
- 3.5 Look before review
- 4. Adversarial review loop
- Anti-patterns
Scripts executed separately
kernel.py
Files
SKILL.mdcore11,645 byteskernel.pyruns18,083 bytesopen-science.jsonasset494 bytes
Read SKILL.md
# Figure Composer — narrative → panels → compose → adversarial loop
`figure-composer` is the outer workflow for one multi-panel figure. Use the
`figure-style` rules while planning and reviewing; every panel worker uses those
rules independently. Run `paper-narrative` first when the paper-level figure
sequence is still undecided.
## Open-Science Notebook call
Every `notebook_execute` request whose `code` uses a function named in this skill
includes this skill ID:
```json
{ "kernelSkillIds": ["figure-composer"], "code": "print(figure_outline_schema())" }View the complete source on GitHubfigure-style
When your agent uses it
Publication-grade correctness and legibility rules for final-deliverable scientific figures, not exploratory plots. Use for a figure that will ship in a report, paper, export, or kept artifact. Covers data fidelity, label economy, color threading, chart choice, layout, and render-then-verify QA without imposing a visual house style. For multi-panel composition use `figure-composer`; for whole-paper ordering use `paper-narrative`.
What it loads into context
Frontmatter
104 tokensAlways available to the agent
SKILL.md
4,831 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Open-Science Notebook call
- §0 Scope
- §1 Data fidelity & self-consistency
- §2 Label economy — floor and ceiling
- §3 Axes, scales, small multiples
- §4 Color
- §5 Typography
- §6 Chart-family guidance (by data shape)
- §7 Layout & narrative
- §8 Anti-patterns
- §9 Render-then-verify
Scripts executed separately
kernel.py
Files
SKILL.mdcore20,380 bytesSKILL.mdcore20,380 bytesSKILL.mdcore20,380 bytesSKILL.mdcore20,380 bytesSKILL.mdcore20,380 bytesSKILL.mdcore20,380 byteskernel.pyruns17,958 bytesopen-science.jsonasset493 bytes
Read SKILL.md
# Publication-Grade Figure Rules
_A checklist for correct, legible, internally-consistent scientific figures. This
skill does not impose a visual house style — frame, font, and palette are
parameters. Before plotting, follow the Notebook call below and invoke
`apply_figure_style()`._
## Open-Science Notebook call
Every `notebook_execute` request whose `code` uses a function named in this skill
includes this skill ID:
```json
{ "kernelSkillIds": ["figure-style"], "code": "apply_figure_style()\n..." }View the complete source on GitHubindication-dossier
When your agent uses it
Generate a therapeutic indication dossier. Covers the patient population, epidemiology, disease biology, standard of care, regulatory precedent, and landmark clinical trials.
What it loads into context
Frontmatter
49 tokensAlways available to the agent
SKILL.md
1,372 tokensWhen the skill is activated
Reference documents
5,204 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Framing
- Inputs
- Tools this skill expects
- Output layout
- Before starting
- Workflow
- Resuming
Files
.catalog_stampasset13 bytesSKILL.mdcore6,550 bytesreferences/00-research-standards.mddoc3,101 bytesreferences/01-meta-initialization.mddoc1,729 bytesreferences/02-epidemiology-research.mddoc2,113 bytesreferences/03-biology-soc-research.mddoc2,373 bytesreferences/04-regulatory-trials-research.mddoc3,159 bytesreferences/05-synthesis.mddoc5,340 bytesreferences/06-writing-style.mddoc1,746 bytesreferences/waypoint-schemas.mddoc2,954 bytes
Read SKILL.md
# Indication Dossier
Produces a structured research dossier on a single indication, framed as a
patient population: who they are, what's wrong, how they're treated today,
and how clinical trials can be designed to help them. Runs as five phases
that write resumable waypoint files; after a brief identity check at the end
of Phase 1, the remaining phases run straight through.
## Framing
**Think of an indication as a patient population.** Frame everything
from the patient perspective: "Who are these patients?" not "What is this
disease?"; "How are these patients identified and managed?" not "What causes
this condition?"; population nesting: "all patients in {child} are patientsView the complete source on GitHubligandmpnn
When your agent uses it
Inverse-fold a backbone with ligand, nucleic-acid, and metal context using LigandMPNN (Dauparas et al. 2023, github.com/dauparas/LigandMPNN). Reach for this skill to redesign the residues lining a binding pocket around a bound small molecule or cofactor, to design metal-coordinating sites where the geometry must be respected, or to get threaded designed-sequence PDBs out of any MPNN run.
What it loads into context
Frontmatter
222 tokensAlways available to the agent
SKILL.md
1,682 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Running it
- Model types — which one to pick
- ProDy compiles from source on py3.11 — `pip install` fails without a C compiler
- Turning ligand context off changes the answer, not the model
- Stripped HETATM or a chain filter silently drops the ligand — the design comes back pocket-blind
- Errors worth recognizing
Files
.catalog_stampasset13 bytesSKILL.mdcore6,821 bytesSKILL.mdcore6,821 bytesSKILL.mdcore6,821 bytesSKILL.mdcore6,821 bytesSKILL.mdcore6,821 bytesSKILL.mdcore6,821 bytesSKILL.mdcore6,821 bytes
Read SKILL.md
# LigandMPNN
LigandMPNN extends the ProteinMPNN graph with non-protein atoms — small
molecules, nucleic acids, and metals are visible to the network — so it is the
right inverse-folding tool whenever the design surface includes a bound ligand
or cofactor that vanilla `proteinmpnn` would ignore. The same `run.py` is also
the most convenient runner for the other MPNN families because, unlike the
original ProteinMPNN script, it threads designs back onto the input structure
and writes PDBs alongside the FASTA. Code and weights are MIT
(github.com/dauparas/LigandMPNN). The model is small enough to run on CPU —
for a handful of designs on one structure that is seconds and usually faster
than dispatching, so the normal path is local with
`pip install torch numpy biopython ProDy ml_collections dm-tree`; a GPU helps
for batched campaigns.View the complete source on GitHubliterature-review
When your agent uses it
Find, verify, and synthesize scientific literature — from "what's the seminal paper for X" through full multi-source reviews. Covers grounding claims in real retrieved sources, avoiding fabricated citations, handling retractions, and calibrating confidence to evidence strength.
What it loads into context
Frontmatter
299 tokensAlways available to the agent
SKILL.md
2,787 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Setup (any agent, no API key)
- Read the request for what it's actually asking
- Grounding: retrieve first, then write
- Retractions and the null result
- Synthesis is comparison, not summary
- Making the prose carry its weight
- Write prose, not a bulleted bibliography
- Calibrating to evidence
- Put the answer in the answer — and open on the substance
- Style pass before saving
Scripts executed separately
kernel.pykernel.test.tstest_kernel.py
Files
.catalog_stampasset13 bytesSKILL.mdcore12,649 bytesSKILL.mdcore12,649 bytesSKILL.mdcore12,649 byteskernel.pyruns21,813 byteskernel.test.tsruns685 bytestest_kernel.pyruns2,893 bytes
Read SKILL.md
# Literature review
A literature question has two halves: finding the papers a domain expert would point to, and turning them into something more useful than a reading list — a synthesis that says what's established, what's contested, what's new, and where the holes are. Both halves can fail quietly and look like competent output until someone checks.
## Setup (any agent, no API key)
This is a **pure skill** — `kernel.py` is deterministic Python (plain HTTP/stdlib calls to CrossRef and OpenAlex) and _you_ (the base model) do all the reasoning: the finding, the synthesis, the prose. There is no `host` runtime and no LLM API. Load the helpers once per session in a Python cell:
```python
exec(open("<this skill's directory>/kernel.py").read())
```
Nothing auto-loads it outside Claude Science. Then call the helpers directly — `verify_dois`, `crossref_lookup`, `search_openalex`, `expand_citations`, `extract_dois`, `style_pass`. If a helper name is not defined, you haven't exec'd `kernel.py`.
View the complete source on GitHubopenfold3
When your agent uses it
Structure prediction using OpenFold3, an open-weights PyTorch reproduction of AlphaFold3 from the AlQuraishi Lab. Use this skill when predicting protein/nucleic-acid/ligand complex structures with an Apache-2.0-licensed AF3 reimplementation.
What it loads into context
Frontmatter
297 tokensAlways available to the agent
SKILL.md
2,218 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- How to run
- Query JSON format
- Key parameters
- Output format
- What good output looks like
- Verify
- Troubleshooting
Files
.catalog_stampasset13 bytesSKILL.mdcore10,079 bytesSKILL.mdcore10,079 bytesSKILL.mdcore10,079 bytesSKILL.mdcore10,079 bytesSKILL.mdcore10,079 bytes
Read SKILL.md
# OpenFold3 Structure Prediction
## Prerequisites
| Requirement | Minimum | Recommended |
| -------------- | ------- | ----------- |
| Python | 3.10+ | 3.11 |
| CUDA | 12.1+ | 12.4+ |
| GPU VRAM | 24GB | 80GB (H100) |
| RAM | 32GB | 64GB |
| Disk (weights) | 3GB | - |
## How to run
View the complete source on GitHubpaper-narrative
When your agent uses it
Judge and reshape the story told by an entire paper figure deck. Use when writing or revising a paper to derive a grounded brief from the manuscript and captions, review the full deck as a handling editor, and hand an ordered figure arc to `figure-composer`.
What it loads into context
Frontmatter
71 tokensAlways available to the agent
SKILL.md
3,898 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Open-Science Notebook call
- Required inputs and trust labels
- 1. Reason from manuscript and captions
- 2. Review the full deck as a handling editor
- 3. Hand the reviewed arc to figure-composer
- 4. Re-review and converge
- Minimal invocation
Scripts executed separately
kernel.py
Files
SKILL.mdcore17,616 bytesSKILL.mdcore17,616 bytesSKILL.mdcore17,616 bytesSKILL.mdcore17,616 bytesSKILL.mdcore17,616 bytesSKILL.mdcore17,616 bytesSKILL.mdcore17,616 bytesSKILL.mdcore17,616 bytesSKILL.mdcore17,616 byteskernel.pyruns3,423 bytesopen-science.jsonasset301 bytes
Read SKILL.md
# Paper Narrative — manuscript → brief → figure arc → editorial loop
`paper-narrative` is the outermost figure workflow. It judges the paper-level
story before `figure-composer` designs any one figure. The inputs are the work
itself: a manuscript (or abstract), figure captions, and the current full deck.
## Open-Science Notebook call
Every `notebook_execute` request whose `code` uses a function named in this skill
includes this skill ID:
```json
{ "kernelSkillIds": ["paper-narrative"], "code": "print(paper_brief_schema())" }
```View the complete source on GitHubproteinmpnn
When your agent uses it
Inverse-fold a protein backbone (PDB structure) into amino-acid sequence with ProteinMPNN (Dauparas et al. 2022, github.com/dauparas/ProteinMPNN). Reach for this skill to run sequence design on RFdiffusion backbones, to redesign one chain of a PDB while holding interface residues fixed, or to generate a temperature-swept set of sequences for downstream folding.
What it loads into context
Frontmatter
205 tokensAlways available to the agent
SKILL.md
1,267 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Running it
- A flat chain map in `--fixed_positions_jsonl` silently redesigns every residue
- Checkpoints — which one to pick
- Errors worth recognizing
Files
.catalog_stampasset13 bytesSKILL.mdcore5,258 bytesSKILL.mdcore5,258 bytesSKILL.mdcore5,258 bytes
Read SKILL.md
# ProteinMPNN
ProteinMPNN is the default inverse-folding step in the binder pipeline: a
message-passing network that sees backbone geometry only, so it is the right
choice when the design surface is protein–protein and the wrong one as soon as
a ligand, nucleic acid, or metal is part of the interface — `ligandmpnn` adds
those atoms to the graph with a near-identical CLI, and `solublempnn` swaps in
weights trained on soluble structures for an expression-biased prior. Code and
weights are MIT (github.com/dauparas/ProteinMPNN). The model is small enough
to run on CPU — for a handful of sequences on one backbone that is seconds and
usually faster than dispatching a remote job; a GPU helps for batched
campaigns (hundreds of backbones or large `--num_seq_per_target`). Either way
the repo is cloned in-job — there is no PyPI dist and the checkpoints are
bundled in the repo.View the complete source on GitHubremote-compute-ssh
When your agent uses it
Evaluate and use SSH Remote Compute before choosing where to run GPU, high-memory, parallel, batch, model-inference, bioinformatics, or other long-running scientific work; supports short remote commands and asynchronous jobs with automatic harvest and analysis.
What it loads into context
Frontmatter
64 tokensAlways available to the agent
SKILL.md
5,649 tokensWhen the skill is activated
Reference documents
1,193 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Choose an execution location
- API reference
- API reference (async jobs)
- Workflow: the analysis turn
- Chaining jobs via left_on_remote
- Submitting several jobs
- Session concurrency control
- callCommand error handling
- Typical first-contact workflow
- What to record in the knowledge doc
Files
SKILL.mdcore25,653 bytesSKILL.mdcore25,653 bytesSKILL.mdcore25,653 bytesSKILL.mdcore25,653 bytesreferences/slurm-troubleshooting.mddoc5,875 bytes
Read SKILL.md
This skill covers remote compute over SSH, including direct execution and Slurm submission:
listing hosts, creating handles, running short remote commands (callCommand), reading/writing host
knowledge docs, and the full async job lifecycle — submit → save `job_id` → read non-blocking
snapshots by that ID →
harvest → analysis turn → publish artifacts.
**Where host.compute runs:** `host.compute` lives ONLY on the control-plane REPL kernel — run
every example below with the `repl_execute` tool (JavaScript), the same kernel that hosts
`host.mcp`. The `python`/`r` data kernels have NO `host.compute` (SSH and approvals stay outside
the sandbox workspace); calling it from a python/r cell will fail with `host.compute is undefined`.
## Choose an execution location
Only Compute Hosts enabled for this Session are visible or callable. Discover them in one catalog;View the complete source on GitHubscgpt
When your agent uses it
Embed and annotate single-cell expression data with scGPT, a foundation model for single-cell biology. Use this skill when: (1) Producing cell embeddings from an AnnData for clustering/integration, (2) Zero-shot or fine-tuned cell-type annotation, (3) Gene-level representation for perturbation/GRN tasks. For probabilistic single-cell models (scVI etc.), use the scvi-tools library.
What it loads into context
Frontmatter
260 tokensAlways available to the agent
SKILL.md
1,360 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- How to run
- Output format
- Remote compute
- Gotchas
- Troubleshooting
Files
.catalog_stampasset13 bytesSKILL.mdcore5,961 bytesSKILL.mdcore5,961 bytesSKILL.mdcore5,961 bytesSKILL.mdcore5,961 bytesSKILL.mdcore5,961 bytesSKILL.mdcore5,961 bytes
Read SKILL.md
# scGPT — Single-Cell Foundation Model
## Prerequisites
| Requirement | Minimum | Recommended |
| ----------- | ------- | ----------- |
| Python | 3.10+ | 3.11 |
| CUDA | 12.1+ | 12.4+ |
| GPU VRAM | 16 GB | 24 GB+ |
## How to run
### Loading the vocabulary and checkpoint
View the complete source on GitHubscvi-tools
When your agent uses it
Probabilistic single-cell RNA-seq with scvi-tools — scVI for a batch-corrected latent space, scANVI for semi-supervised label transfer, and Bayesian differential expression. Reach for this skill to integrate scRNA-seq batches, embed cells for clustering, transfer annotations from a reference onto a query, or score differentially expressed genes per cluster. For spatial deconvolution / mapping use the cell2location, DestVI, or Tangram methods instead.
What it loads into context
Frontmatter
138 tokensAlways available to the agent
SKILL.md
2,860 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Setup (any agent, no API key)
- How to run
- Differential expression
- Output format
- Remote compute (rent a GPU)
- Gotchas
- Troubleshooting
Scripts executed separately
kernel.pytest_kernel.py
Files
.catalog_stampasset13 bytesSKILL.mdcore14,567 bytesSKILL.mdcore14,567 bytesSKILL.mdcore14,567 bytesSKILL.mdcore14,567 bytesSKILL.mdcore14,567 bytesSKILL.mdcore14,567 bytesSKILL.mdcore14,567 byteskernel.pyruns4,535 bytestest_kernel.pyruns5,264 bytes
Read SKILL.md
# scvi-tools — scVI / scANVI
scvi-tools (Gayoso et al. 2022, github.com/scverse/scvi-tools, BSD-3-Clause)
wraps a family
of deep generative models for single-cell omics. The scRNA-seq core is **scVI**
(unsupervised batch-corrected latent embedding) and **scANVI** (scVI + a
classifier head for semi-supervised cell-type label transfer). Both expect
**raw integer UMI counts** and emit a low-dimensional `X_scVI` / `X_scANVI`
that drops into the scanpy neighbors → leiden → umap pipeline.
## Setup (any agent, no API key)
This is a **pure skill** — `kernel.py` is deterministic Python and _you_ (the
base model) do all the reasoning. There is no `host` runtime and no LLM API.View the complete source on GitHubself-awareness
When your agent uses it
Inspect Open-Science's JavaScript control REPL, discover managed Project files, Sessions, and Agent Frames, and safely feature-gate host.* calls with host.capabilities(). Use when an Agent needs to discover available host APIs, locate an Artifact or Upload Version, diagnose a Session, or read a Frame transcript in the current Project.
What it loads into context
Frontmatter
74 tokensAlways available to the agent
SKILL.md
3,268 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Inspect available capabilities
- Discover managed Project files
- Read immutable Version lineage
- Discover Agent Frames
- Diagnose Project Sessions
- Continue with the owning Skill
- Maintain this contract
- Read a Session linked for discussion
Files
SKILL.mdcore15,056 bytesSKILL.mdcore15,056 bytesSKILL.mdcore15,056 bytesSKILL.mdcore15,056 bytesSKILL.mdcore15,056 bytesSKILL.mdcore15,056 bytes
Read SKILL.md
# Self-awareness
Use `repl_execute` for every `host.*` call. The `host` object exists only in the persistent
JavaScript control REPL; Python and R data kernels do not receive it.
## Inspect available capabilities
```javascript
const caps = await host.capabilities()
```
The current project-native result contains 20 known boolean keys:
- `mcp` gates connector calls through `host.mcp(server, method, args?)`.View the complete source on GitHubskill-creator
When your agent uses it
Create, revise, evaluate, publish, and improve Open-Science Skills through the native JavaScript host.skills composer. Use when the user wants a reusable workflow, an existing Skill changed, test cases or benchmarks for a Skill, or better Skill triggering.
What it loads into context
Frontmatter
58 tokensAlways available to the agent
SKILL.md
1,382 tokensWhen the skill is activated
Reference documents
1,680 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Native composer
- Choose the current stage
- Capture intent
- Author the package
- Create test cases
- Run and evaluate
- Improve from feedback
- Review and publish
Scripts executed separately
eval-viewer/generate-review.jspackage.jsonscripts/aggregate-benchmark.jsscripts/generate-report.jsscripts/improve-description.jsscripts/index.jsscripts/quick-validate.jsscripts/run-eval.jsscripts/run-loop.jsscripts/utils.js
Files
SKILL.mdcore6,646 bytesagents/analyzer.mddoc989 bytesagents/comparator.mddoc815 bytesagents/grader.mddoc1,212 bytesassets/eval_review.htmlasset3,608 byteseval-viewer/generate-review.jsruns4,123 byteseval-viewer/viewer.htmlasset4,664 bytespackage.jsonruns25 bytesreferences/schemas.mddoc3,823 bytesscripts/aggregate-benchmark.jsruns1,264 bytesscripts/generate-report.jsruns1,471 bytesscripts/improve-description.jsruns1,627 bytesscripts/index.jsruns321 bytesscripts/quick-validate.jsruns1,912 bytesscripts/run-eval.jsruns395 bytesscripts/run-loop.jsruns793 bytesscripts/utils.jsruns1,059 bytes
Read SKILL.md
# Skill Creator
Create one focused, reusable Skill package. Skills are application-managed packages, not Artifacts.
Use the JavaScript control-plane REPL and the native `host.skills` composer for lifecycle operations.
## Native composer
```javascript
await host.skills.list()
await host.skills.read(name)
await host.skills.read(name, path)
await host.skills.validate(name)
await host.skills.edit(name, path, content)
await host.skills.edit(name, path, replacement, oldString)View the complete source on GitHubsolublempnn
When your agent uses it
Inverse-fold a backbone with SolubleMPNN — ProteinMPNN retrained on a soluble-PDB subset (Dauparas et al. 2022) — for sequences biased toward cytosolic expression and reduced aggregation. Reach for this skill when designs from vanilla ProteinMPNN are aggregating or going to inclusion bodies, when redesigning a membrane-adjacent fold for soluble expression, or when an E. coli expression screen is the next step.
What it loads into context
Frontmatter
232 tokensAlways available to the agent
SKILL.md
1,072 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Running it
- Hydrophobic surface patches still recur where the fold needs them
- "Crystallisable" training set ≠ "soluble in your host" — keep an orthogonal filter
Files
.catalog_stampasset13 bytesSKILL.mdcore4,277 bytesSKILL.mdcore4,277 bytesSKILL.mdcore4,277 bytes
Read SKILL.md
# SolubleMPNN
SolubleMPNN is not a separate package — it is the ProteinMPNN architecture
retrained on a soluble-PDB subset, which shifts the output distribution away
from the surface hydrophobics that the full-PDB model happily places (because
many of them are buried at crystallographic or membrane interfaces in the
training set). Reach for it when the goal is soluble yield in a heterologous
host; stick with `proteinmpnn` when native-like recovery matters more, since
the soluble prior trades a few points of recovery for the surface bias. Code
and weights are MIT (github.com/dauparas/ProteinMPNN, `soluble_model_weights`;
also exposed via github.com/dauparas/LigandMPNN). The model is small enough to
run on CPU — for a handful of sequences on one backbone that is seconds and
usually faster than dispatching; a GPU helps for batched campaigns. Either way
the repo is cloned in-job (no PyPI dist; checkpoints bundled).View the complete source on GitHubSkills included
- alphafold2
- boltz
- borzoi
- chai1
- compute-env-setup
- customize
- diffdock
- docx-generation
- env-management
- esmfold2
- evo2
- fair-esm2
- figure-composer
- figure-style
- indication-dossier
- ligandmpnn
- literature-review
- openfold3
- paper-narrative
- proteinmpnn
- remote-compute-ssh
- scgpt
- scvi-tools
- self-awareness
- skill-creator
- solublempnn
Repository facts
- License
- Apache-2.0
- Created
- Jul 3, 2026
- Last pushed
- Nov 6, 2026
- Forks
- 551
- Open issues
- 18
- Project activity
- Active
Rank over the last 12 weeks
Now #266 · best #242 · down 19 in 30 days
- #261 on Oct 31
- #260 on Nov 1
- #261 on Nov 2
- #262 from Nov 3 to Nov 4
- #263 on Nov 5
- #266 since Nov 6
76 earlier periods
- #490 on Aug 2
- #456 on Aug 7
- #457 on Aug 8
- #446 on Aug 9
- #459 on Aug 10
- #436 on Aug 11
- #432 on Aug 12
- #417 on Aug 13
- #397 on Aug 14
- #383 on Aug 15
- #384 on Aug 16
- #381 on Aug 17
- #382 on Aug 18
- #378 on Aug 19
- #379 on Aug 20
- #376 on Aug 21
- #367 on Aug 22
- #369 on Aug 23
- #365 on Aug 24
- #363 on Aug 25
- #358 on Aug 26
- #355 from Aug 27 to Aug 28
- #352 on Aug 29
- #328 on Aug 30
- #337 on Aug 31
- #342 on Sep 1
- #337 on Sep 2
- #342 on Sep 3
- #336 on Sep 4
- #319 on Sep 5
- #296 on Sep 6
- #292 on Sep 7
- #287 on Sep 8
- #285 on Sep 9
- #281 on Sep 10
- #276 on Sep 11
- #281 on Sep 12
- #277 on Sep 13
- #280 on Sep 14
- #281 on Sep 15
- #274 on Sep 16
- #268 on Sep 17
- #271 on Sep 18
- #257 on Sep 19
- #258 on Sep 20
- #255 from Sep 21 to Sep 22
- #257 from Sep 23 to Sep 24
- #254 on Sep 25
- #255 on Sep 26
- #249 on Sep 27
- #252 on Sep 28
- #249 on Sep 29
- #246 on Sep 30
- #248 on Oct 1
- #249 on Oct 2
- #245 on Oct 3
- #242 on Oct 4
- #243 on Oct 5
- #244 on Oct 6
- #247 from Oct 7 to Oct 8
- #251 on Oct 9
- #247 on Oct 10
- #249 on Oct 11
- #252 on Oct 12
- #255 on Oct 13
- #254 from Oct 14 to Oct 15
- #245 on Oct 16
- #246 from Oct 17 to Oct 18
- #245 from Oct 19 to Oct 20
- #247 from Oct 21 to Oct 22
- #246 on Oct 23
- #247 on Oct 24
- #249 on Oct 25
- #253 on Oct 28
- #257 on Oct 29
- #259 on Oct 30
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 3, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 80 notes
resources/skills/alphafold2/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedresources/skills/boltz/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedresources/skills/boltz/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedresources/skills/borzoi/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedresources/skills/borzoi/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedresources/skills/borzoi/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedresources/skills/chai1/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedresources/skills/compute-env-setup/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedresources/skills/compute-env-setup/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedresources/skills/compute-env-setup/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedresources/skills/compute-env-setup/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedresources/skills/diffdock/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedresources/skills/docx-generation/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedresources/skills/docx-generation/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedresources/skills/esmfold2/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedresources/skills/esmfold2/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedresources/skills/esmfold2/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedresources/skills/esmfold2/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedresources/skills/esmfold2/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedresources/skills/esmfold2/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 4 dangerous shell commandsin 4 files: env-management/SKILL.md:43 literature-review/SKILL.md:34 literature-review/kernel.py:11 and 1 more
- 154 network referencesin 22 files: literature-review/kernel.py:14 docx-generation/scripts/convert.py:15 literature-review/SKILL.md:15 and 19 more
- 2 obfuscation signalsin 2 files: docx-generation/kernel.py:284 docx-generation/scripts/build_kernel.py:34
- No instruction overrides
- 22 executable scriptsin 22 files: docx-generation/kernel.py:1 docx-generation/scripts/build_kernel.py:1 docx-generation/scripts/build_reference.py:1 and 19 more
- 14 references to secretsin 4 files: literature-review/kernel.py:14 literature-review/SKILL.md:7 figure-style/kernel.py:22 and 1 more
- No requests to vote in Hot
Show all 196 signals by file
resources/skills/alphafold2/SKILL.md
- Network accessline 21
provider: Google DeepMind license: CC-BY-4.0 terms_url: https://github.com/google-deepmind/alphafold#model-parameters-license - Network accessline 22
license: CC-BY-4.0 terms_url: https://github.com/google-deepmind/alphafold#model-parameters-license # api.colabfold.com has no published ToS or privacy policy. The GitHub - Network accessline 23
terms_url: https://github.com/google-deepmind/alphafold#model-parameters-license - Network accessline 28
name: ColabFold MSA server (api.colabfold.com) provider: Steinegger Lab info_url: https://github.com/sokrypton/ColabFold/wiki - Network accessline 29
provider: Steinegger Lab info_url: https://github.com/sokrypton/ColabFold/wiki --- - Network accessline 30
info_url: https://github.com/sokrypton/ColabFold/wiki
resources/skills/boltz/SKILL.md
- Network accessline 17
name: Boltz-2 license: MIT terms_url: https://github.com/jwohlwend/boltz/blob/main/LICENSE - Network accessline 18
license: MIT terms_url: https://github.com/jwohlwend/boltz/blob/main/LICENSE # SKILL.md — `--use_msa_server` queries api.colabfold.com; the doc says to - Network accessline 19
terms_url: https://github.com/jwohlwend/boltz/blob/main/LICENSE - Network accessline 24
name: ColabFold MSA server (api.colabfold.com) provider: Steinegger Lab info_url: https://github.com/sokrypton/ColabFold/wiki - Network accessline 25
provider: Steinegger Lab info_url: https://github.com/sokrypton/ColabFold/wiki --- - Network accessline 26
info_url: https://github.com/sokrypton/ColabFold/wiki
resources/skills/borzoi/SKILL.md
- Network accessline 22
provider: Calico Life Sciences license: CC-BY-4.0 info_url: https://huggingface.co/johahi/borzoi-replicate-0 - Network accessline 23
license: CC-BY-4.0 info_url: https://huggingface.co/johahi/borzoi-replicate-0 --- - Network accessline 24
info_url: https://huggingface.co/johahi/borzoi-replicate-0
resources/skills/chai1/SKILL.md
- Network accessline 20
provider: Chai Discovery license: Apache-2.0 terms_url: https://github.com/chaidiscovery/chai-lab/blob/main/LICENSE - Network accessline 21
license: Apache-2.0 terms_url: https://github.com/chaidiscovery/chai-lab/blob/main/LICENSE # SKILL.md — `--use-msa-server` / `use_msa_server=True` sends the sequence - Network accessline 22
terms_url: https://github.com/chaidiscovery/chai-lab/blob/main/LICENSE - Network accessline 27
name: ColabFold MSA server (api.colabfold.com) provider: Steinegger Lab info_url: https://github.com/sokrypton/ColabFold/wiki - Network accessline 28
provider: Steinegger Lab info_url: https://github.com/sokrypton/ColabFold/wiki --- - Network accessline 29
info_url: https://github.com/sokrypton/ColabFold/wiki
resources/skills/diffdock/SKILL.md
resources/skills/docx-generation/README.md
resources/skills/docx-generation/kernel.py
resources/skills/docx-generation/scripts/build_kernel.py
resources/skills/docx-generation/scripts/build_reference.py
- Executable scriptline 1
#!/usr/bin/env python3
resources/skills/docx-generation/scripts/convert.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 15
VERSION = '3' PANDOC_VERSION = '3.12.1' W = 'http://schemas.openxmlformats.org/wordprocessingml/2006/main' - Network accessline 16
PANDOC_VERSION = '3.12.1' W = 'http://schemas.openxmlformats.org/wordprocessingml/2006/main' NS = {'w': W} - Network accessline 17
W = 'http://schemas.openxmlformats.org/wordprocessingml/2006/main' - Network accessline 53
cp = 'http://schemas.openxmlformats.org/officeDocument/2006/custom-properties' - Network accessline 54
vt = 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes' - Network accessline 55
rel = 'http://schemas.openxmlformats.org/package/2006/relationships' - Network accessline 56
ct = 'http://schemas.openxmlformats.org/package/2006/content-types' - Network accessline 64
parts['docProps/custom.xml'] = ET.tostring(root, encoding='utf-8', xml_declaration=True) relations = ET.fromstring(parts['_rels/.rels']) custom_type = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-prope - Network accessline 65
relations = ET.fromstring(parts['_rels/.rels']) custom_type = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties' if not any(el.get('Type') == custom_type for el in relations): - Network accessline 66
custom_type = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties'
resources/skills/env-management/SKILL.md
- Network accessline 42
- OS package managers — `apt`, `brew`, `yum` — and `sudo`. - `curl | bash`, downloading and running installers, or hand-rolled `subprocess` installs. - Dangerous shell operationline 43
- `curl | bash`, downloading and running installers, or hand-rolled `subprocess` installs. - Network accessline 43
- `curl | bash`, downloading and running installers, or hand-rolled `subprocess` installs.
resources/skills/esmfold2/SKILL.md
- Network accessline 28
provider: Biohub license: MIT terms_url: https://github.com/Biohub/esm/blob/main/LICENSE.md - Network accessline 29
license: MIT terms_url: https://github.com/Biohub/esm/blob/main/LICENSE.md --- - Network accessline 30
terms_url: https://github.com/Biohub/esm/blob/main/LICENSE.md - Network accessline 50
uv pip install "torch>=2.5,<2.8" einops "biotite>=1.0" rdkit msgpack-numpy biopython scikit-learn brotli attrs pandas cloudpathlib httpx tenacity zstd pydssp pygtrie accelerate huggingface_hub safetensors "numpy<3" networkx sent - Network accessline 53
pygtrie accelerate huggingface_hub safetensors "numpy<3" networkx \ sentencepiece tokenizers regex packaging filelock pyyaml typing_extensions \ "transformers @ git+https://github.com/Biohub/transformers.git@3a8956fb4d4ea16b0ec8e71deef2 - Network accessline 54
sentencepiece tokenizers regex packaging filelock pyyaml typing_extensions \ "transformers @ git+https://github.com/Biohub/transformers.git@3a8956fb4d4ea16b0ec8e71deef2c2909b6a5cbf" uv pip install --no-deps "esm @ git+https://github.com/B - Network accessline 55
"transformers @ git+https://github.com/Biohub/transformers.git@3a8956fb4d4ea16b0ec8e71deef2c2909b6a5cbf" - Network accessline 56
uv pip install --no-deps "esm @ git+https://github.com/Biohub/esm.git@f652b471"
resources/skills/esmfold2/references/esmc.md
- Network accessline 62
Paper's atlas SAE = layer 60. Feature metadata API (alpha — endpoint may change; check biohub.ai/esm docs): `https://biohub.ai/esm/protein/api/v1alpha1/features/{idx}` returns - Network accessline 63
change; check biohub.ai/esm docs): `https://biohub.ai/esm/protein/api/v1alpha1/features/{idx}` returns `{description, top_100_uniref_ids, ...}`. 5,382 features classified as - Network accessline 64
`https://biohub.ai/esm/protein/api/v1alpha1/features/{idx}` returns
resources/skills/evo2/SKILL.md
- Network accessline 22
provider: Arc Institute license: Apache-2.0 terms_url: https://github.com/ArcInstitute/evo2/blob/main/LICENSE - Network accessline 23
license: Apache-2.0 terms_url: https://github.com/ArcInstitute/evo2/blob/main/LICENSE --- - Network accessline 24
terms_url: https://github.com/ArcInstitute/evo2/blob/main/LICENSE
resources/skills/fair-esm2/SKILL.md
- Network accessline 18
provider: Meta AI license: MIT terms_url: https://github.com/facebookresearch/esm/blob/main/LICENSE - Network accessline 19
license: MIT terms_url: https://github.com/facebookresearch/esm/blob/main/LICENSE --- - Network accessline 20
terms_url: https://github.com/facebookresearch/esm/blob/main/LICENSE
resources/skills/figure-composer/kernel.py
- Executable scriptline 1
Executable file
resources/skills/figure-style/kernel.py
resources/skills/indication-dossier/references/00-research-standards.md
- Network accessline 7
**URL_Validation** — Only use URLs you successfully fetched or retrieved from MCP tools. NEVER construct or guess URLs. If a URL fails, note it in `anomaly_flags`. Academic journal links often break — try DOI resolver (`https://doi.org/[DOI - Network accessline 19
**PDF_Retrieval** — `WebSearch` results carry only the search-index snippet, never the PDF body. To read a PDF, call `WebFetch` on its URL: text extraction is native, so no separate download step is needed. `WebFetch` is text-only; when fig
resources/skills/indication-dossier/references/06-writing-style.md
resources/skills/ligandmpnn/SKILL.md
- Network accessline 18
name: LigandMPNN license: MIT terms_url: https://github.com/dauparas/LigandMPNN/blob/main/LICENSE - Network accessline 19
license: MIT terms_url: https://github.com/dauparas/LigandMPNN/blob/main/LICENSE --- - Network accessline 20
terms_url: https://github.com/dauparas/LigandMPNN/blob/main/LICENSE - Network accessline 41
pip install torch numpy biopython ProDy ml_collections dm-tree git clone --depth 1 https://github.com/dauparas/LigandMPNN.git ligandmpnn - Network accessline 42
git clone --depth 1 https://github.com/dauparas/LigandMPNN.git ligandmpnn
resources/skills/literature-review/SKILL.md
- Access to secretsline 7
[Credential-related source omitted] - Network accessline 15
- kind: service name: Crossref info_url: https://www.crossref.org/documentation/retrieve-metadata/ - Network accessline 16
name: Crossref info_url: https://www.crossref.org/documentation/retrieve-metadata/ privacy_url: https://www.crossref.org/operations-and-sustainability/privacy/ - Network accessline 17
info_url: https://www.crossref.org/documentation/retrieve-metadata/ - Network accessline 18
privacy_url: https://www.crossref.org/operations-and-sustainability/privacy/ - Network accessline 19
- kind: service name: OpenAlex terms_url: https://openalex.org/OpenAlex_termsofservice.pdf - Network accessline 20
name: OpenAlex terms_url: https://openalex.org/OpenAlex_termsofservice.pdf privacy_url: https://openalex.org/OpenAlex_privacy_policy.pdf - Network accessline 21
terms_url: https://openalex.org/OpenAlex_termsofservice.pdf - Network accessline 22
privacy_url: https://openalex.org/OpenAlex_privacy_policy.pdf - Dangerous shell operationline 34
exec(open("<this skill's directory>/kernel.py").read()) - Network accessline 41
[Credential-related source omitted] - Access to secretsline 41
[Credential-related source omitted] - Network accessline 82
Cite inline as a markdown link — `[Author Year](https://doi.org/10.xxxx/xxxxxx)` — so the rendered prose reads `(Author Year)` and the DOI rides in the href where a reader can click it and a regex can still extract it. If the DOI itself con
resources/skills/literature-review/kernel.py
- Executable scriptline 1
Executable file - Dangerous shell operationline 11
exec(open("<this-skill-dir>/kernel.py").read()) - Network accessline 14
[Credential-related source omitted] - Access to secretsline 14
[Credential-related source omitted] - Network accessline 15
/ expand_citations); free at https://openalex.org/settings/api HOST_USER_EMAIL optional contact email for the CrossRef/doi.org polite - Network accessline 16
https://openalex.org/settings/api - Access to secretsline 43
[Credential-related source omitted] - Access to secretsline 47
[Credential-related source omitted] - Access to secretsline 65
[Credential-related source omitted] - Access to secretsline 68
[Credential-related source omitted] - Network accessline 72
"OpenAlex requires a free API key and none is set. Export " "OPENALEX_API_KEY and re-run — keyless calls are unsupported. Get a " "free key at https://openalex.org/settings/api, or skip the " - Network accessline 73
[Credential-related source omitted] - Access to secretsline 73
[Credential-related source omitted] - Network accessline 74
"free key at https://openalex.org/settings/api, or skip the " - Access to secretsline 81
[Credential-related source omitted] - Network accessline 88
[Credential-related source omitted] - Access to secretsline 88
[Credential-related source omitted] - Network accessline 89
+ urllib.parse.quote(key, safe="")) req = urllib.request.Request( url, headers={"User-Agent": "ClaudeScience-literature-review/1.0"} - Network accessline 90
req = urllib.request.Request( - Network accessline 92
) try: with urllib.request.urlopen(req, timeout=timeout): - Network accessline 93
try: with urllib.request.urlopen(req, timeout=timeout): return True - Network accessline 94
with urllib.request.urlopen(req, timeout=timeout): - Access to secretsline 105
[Credential-related source omitted] - Network accessline 119
[Credential-related source omitted] - Access to secretsline 119
[Credential-related source omitted] - Network accessline 120
for attempt in (0, 1): req = urllib.request.Request( full, headers={"User-Agent": "ClaudeScience-literature-review/1.0"} - Network accessline 121
req = urllib.request.Request( - Network accessline 123
) try: with urllib.request.urlopen(req, timeout=timeout) as r: - Network accessline 124
try: with urllib.request.urlopen(req, timeout=timeout) as r: return json.loads(r.read().decode("utf-8")) - Network accessline 125
with urllib.request.urlopen(req, timeout=timeout) as r: - Network accessline 130
"OpenAlex rejected the API key (HTTP %d). Re-check it " "under Customize → Credentials → OpenAlex against " "https://openalex.org/settings/api — do not retry " - Network accessline 131
"under Customize → Credentials → OpenAlex against " "https://openalex.org/settings/api — do not retry " "anonymously." % e.code - Network accessline 132
"https://openalex.org/settings/api — do not retry " - Network accessline 143
"Re-check it under Customize → Credentials → " "OpenAlex against " "https://openalex.org/settings/api — do not retry " - Network accessline 144
"OpenAlex against " "https://openalex.org/settings/api — do not retry " "anonymously." - Network accessline 145
"https://openalex.org/settings/api — do not retry " - Network accessline 172
ua = ua.encode("ascii", "ignore").decode("ascii") for attempt in (0, 1): req = urllib.request.Request(url, headers={"User-Agent": ua}) - Network accessline 173
for attempt in (0, 1): req = urllib.request.Request(url, headers={"User-Agent": ua}) try: - Network accessline 174
req = urllib.request.Request(url, headers={"User-Agent": ua}) - Network accessline 175
try: with urllib.request.urlopen(req, timeout=timeout) as r: return json.loads(r.read().decode("utf-8")) - Network accessline 176
with urllib.request.urlopen(req, timeout=timeout) as r: - Network accessline 247
opener = urllib.request.build_opener(NoRedirect) for attempt in (0, 1): req = urllib.request.Request(url, headers={"User-Agent": ua}, method="HEAD") - Network accessline 248
for attempt in (0, 1): req = urllib.request.Request(url, headers={"User-Agent": ua}, method="HEAD") try: - Network accessline 249
req = urllib.request.Request(url, headers={"User-Agent": ua}, method="HEAD") - Network accessline 286
continue enc = quote_doi_path(d) j = litrev_get(f"https://api.crossref.org/works/{enc}") - Network accessline 287
enc = quote_doi_path(d) j = litrev_get(f"https://api.crossref.org/works/{enc}") time.sleep(0.06) - Network accessline 288
j = litrev_get(f"https://api.crossref.org/works/{enc}") - Network accessline 317
code = litrev_head(f"https://doi.org/{enc}") - Network accessline 331
q = urllib.parse.quote(ref_string) j = litrev_get(f"https://api.crossref.org/works?query.bibliographic={q}&rows=1") - Network accessline 332
j = litrev_get(f"https://api.crossref.org/works?query.bibliographic={q}&rows=1") - Network accessline 354
flt = f"&filter={filters}" if filters else "" j = litrev_openalex_get( f"https://api.openalex.org/works?search={q}&per-page={min(n, 25)}" - Network accessline 355
j = litrev_openalex_get( f"https://api.openalex.org/works?search={q}&per-page={min(n, 25)}" f"&sort=cited_by_count:desc{flt}" - Network accessline 356
f"https://api.openalex.org/works?search={q}&per-page={min(n, 25)}" - Network accessline 363
out.append( { "doi": (w.get("doi") or "").replace("https://doi.org/", ""), - Network accessline 364
{ "doi": (w.get("doi") or "").replace("https://doi.org/", ""), "title": w.get("title"), - Network accessline 365
"doi": (w.get("doi") or "").replace("https://doi.org/", ""), - Network accessline 389
enc = quote_doi_path(doi) work = litrev_openalex_get( f"https://api.openalex.org/works/doi:{enc}?select=id" - Network accessline 390
work = litrev_openalex_get( f"https://api.openalex.org/works/doi:{enc}?select=id" ) - Network accessline 391
f"https://api.openalex.org/works/doi:{enc}?select=id" - Network accessline 400
out.append( { "doi": (w.get("doi") or "").replace("https://doi.org/", ""), - Network accessline 401
{ "doi": (w.get("doi") or "").replace("https://doi.org/", ""), "title": w.get("title"), - Network accessline 402
"doi": (w.get("doi") or "").replace("https://doi.org/", ""), - Network accessline 411
def _list(filter_expr: str, n: int) -> list[dict]: base = ( f"https://api.openalex.org/works?filter={filter_expr}" - Network accessline 412
base = ( f"https://api.openalex.org/works?filter={filter_expr}" f"&sort=cited_by_count:desc&per-page={min(n, 100)}" - Network accessline 413
f"https://api.openalex.org/works?filter={filter_expr}" - Network accessline 473
if re.search(r"(DOIs?\s+(were\s+)?verif|verified against (CrossRef|PubMed)|no retraction|current as of)", draft, re.I): issues.append({"code": "PROCNOTE", "note": "process-narration line present; delete it"}) if re.search(r"\]\( - Network accessline 474
issues.append({"code": "PROCNOTE", "note": "process-narration line present; delete it"}) if re.search(r"\]\(https://doi\.org/[^)\s]*\([^)\s]*\)", draft): issues.append({"code": "PARENDOI", "note": "DOI href contains literal ( ); - Network accessline 475
if re.search(r"\]\(https://doi\.org/[^)\s]*\([^)\s]*\)", draft):
resources/skills/literature-review/kernel.test.ts
- Executable scriptline 1
Executable file
resources/skills/literature-review/test_kernel.py
- Executable scriptline 1
Executable file
resources/skills/openfold3/SKILL.md
- Network accessline 18
provider: OpenFold Consortium license: Apache-2.0 terms_url: https://github.com/aqlaboratory/openfold-3/blob/main/LICENSE - Network accessline 19
license: Apache-2.0 terms_url: https://github.com/aqlaboratory/openfold-3/blob/main/LICENSE # SKILL.md — `--use-msa-server` DEFAULTS to true (MSA server is - Network accessline 20
terms_url: https://github.com/aqlaboratory/openfold-3/blob/main/LICENSE - Network accessline 25
name: ColabFold MSA server (api.colabfold.com) provider: Steinegger Lab info_url: https://github.com/sokrypton/ColabFold/wiki - Network accessline 26
provider: Steinegger Lab info_url: https://github.com/sokrypton/ColabFold/wiki --- - Network accessline 27
info_url: https://github.com/sokrypton/ColabFold/wiki
resources/skills/paper-narrative/kernel.py
- Executable scriptline 1
Executable file
resources/skills/proteinmpnn/SKILL.md
- Network accessline 17
name: ProteinMPNN license: MIT terms_url: https://github.com/dauparas/ProteinMPNN/blob/main/LICENSE - Network accessline 18
license: MIT terms_url: https://github.com/dauparas/ProteinMPNN/blob/main/LICENSE --- - Network accessline 19
terms_url: https://github.com/dauparas/ProteinMPNN/blob/main/LICENSE - Network accessline 40
pip install torch numpy # if not already present git clone --depth 1 https://github.com/dauparas/ProteinMPNN.git proteinmpnn - Network accessline 41
git clone --depth 1 https://github.com/dauparas/ProteinMPNN.git proteinmpnn
resources/skills/remote-compute-ssh/SKILL.md
- Access to secretsline 478
[Credential-related source omitted]
resources/skills/remote-compute-ssh/references/slurm-troubleshooting.md
- Network accessline 85
Command semantics: [squeue](https://slurm.schedmd.com/squeue.html), - Network accessline 86
[scontrol](https://slurm.schedmd.com/scontrol.html), - Network accessline 87
[sacct](https://slurm.schedmd.com/sacct.html), and - Network accessline 88
[scancel](https://slurm.schedmd.com/scancel.html). The disappearance inference above is an
resources/skills/scgpt/SKILL.md
- Network accessline 24
name: scGPT provider: Wang Lab (University of Toronto) info_url: https://github.com/bowang-lab/scGPT - Network accessline 25
provider: Wang Lab (University of Toronto) info_url: https://github.com/bowang-lab/scGPT --- - Network accessline 26
info_url: https://github.com/bowang-lab/scGPT
resources/skills/scvi-tools/SKILL.md
- Dangerous shell operationline 36
exec(open("scvi-tools/kernel.py", encoding="utf-8").read()) # path to this skill's kernel.py
resources/skills/scvi-tools/kernel.py
- Executable scriptline 1
Executable file
resources/skills/scvi-tools/test_kernel.py
- Executable scriptline 1
Executable file
resources/skills/skill-creator/eval-viewer/generate-review.js
- Executable scriptline 1
Executable file
resources/skills/skill-creator/package.json
- Executable scriptline 1
Executable file
resources/skills/skill-creator/scripts/aggregate-benchmark.js
- Executable scriptline 1
Executable file
resources/skills/skill-creator/scripts/generate-report.js
- Executable scriptline 1
Executable file
resources/skills/skill-creator/scripts/improve-description.js
- Executable scriptline 1
Executable file
resources/skills/skill-creator/scripts/index.js
- Executable scriptline 1
Executable file
resources/skills/skill-creator/scripts/quick-validate.js
- Executable scriptline 1
Executable file
resources/skills/skill-creator/scripts/run-eval.js
- Executable scriptline 1
Executable file
resources/skills/skill-creator/scripts/run-loop.js
- Executable scriptline 1
Executable file
resources/skills/skill-creator/scripts/utils.js
- Executable scriptline 1
Executable file
resources/skills/solublempnn/SKILL.md
- Network accessline 19
name: SolubleMPNN license: MIT terms_url: https://github.com/dauparas/ProteinMPNN/blob/main/LICENSE - Network accessline 20
license: MIT terms_url: https://github.com/dauparas/ProteinMPNN/blob/main/LICENSE --- - Network accessline 21
terms_url: https://github.com/dauparas/ProteinMPNN/blob/main/LICENSE - Network accessline 42
pip install torch numpy # if not already present git clone --depth 1 https://github.com/dauparas/ProteinMPNN.git proteinmpnn - Network accessline 43
git clone --depth 1 https://github.com/dauparas/ProteinMPNN.git proteinmpnn
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 1 fact
- Contacts schemas.openxmlformats.org, which SKILL.md, the README and the plugin manifest do not mentiondocx-generation/scripts/convert.py:17High confidence
Signal confidence: 196 facts
- Network access in the frontmatter of the SKILL.mdalphafold2/SKILL.md:21Low confidence
- Network access in the frontmatter of the SKILL.mdalphafold2/SKILL.md:22Low confidence
- Network access in the frontmatter of the SKILL.mdalphafold2/SKILL.md:23Low confidence
- Network access in the frontmatter of the SKILL.mdalphafold2/SKILL.md:28Low confidence
- Network access in the frontmatter of the SKILL.mdalphafold2/SKILL.md:29Low confidence
- Network access in the frontmatter of the SKILL.mdalphafold2/SKILL.md:30Low confidence
- Network access in the frontmatter of the SKILL.mdboltz/SKILL.md:17Low confidence
- Network access in the frontmatter of the SKILL.mdboltz/SKILL.md:18Low confidence
- Network access in the frontmatter of the SKILL.mdboltz/SKILL.md:19Low confidence
- Network access in the frontmatter of the SKILL.mdboltz/SKILL.md:24Low confidence
- Network access in the frontmatter of the SKILL.mdboltz/SKILL.md:25Low confidence
- Network access in the frontmatter of the SKILL.mdboltz/SKILL.md:26Low confidence
- Network access in the frontmatter of the SKILL.mdborzoi/SKILL.md:22Low confidence
- Network access in the frontmatter of the SKILL.mdborzoi/SKILL.md:23Low confidence
- Network access in the frontmatter of the SKILL.mdborzoi/SKILL.md:24Low confidence
- Network access in the frontmatter of the SKILL.mdchai1/SKILL.md:20Low confidence
- Network access in the frontmatter of the SKILL.mdchai1/SKILL.md:21Low confidence
- Network access in the frontmatter of the SKILL.mdchai1/SKILL.md:22Low confidence
- Network access in the frontmatter of the SKILL.mdchai1/SKILL.md:27Low confidence
- Network access in the frontmatter of the SKILL.mdchai1/SKILL.md:28Low confidence
- Network access in the frontmatter of the SKILL.mdchai1/SKILL.md:29Low confidence
- Network access in the frontmatter of the SKILL.mddiffdock/SKILL.md:20Low confidence
- Network access in the frontmatter of the SKILL.mddiffdock/SKILL.md:21Low confidence
- Network access in the frontmatter of the SKILL.mddiffdock/SKILL.md:22Low confidence
- Network access in prose of documentationdocx-generation/README.md:69Low confidence
- Network access in prose of documentationdocx-generation/README.md:70Low confidence
- Executable script in a comment of a file that runsdocx-generation/kernel.py:1Low confidence
- Possible obfuscation in code of a file that runsdocx-generation/kernel.py:284High confidence
- Executable script in code of a file that runsdocx-generation/scripts/build_kernel.py:1High confidence
- Possible obfuscation in code of a file that runsdocx-generation/scripts/build_kernel.py:34High confidence
- Executable script in code of a file that runsdocx-generation/scripts/build_reference.py:1High confidence
- Executable script in code of a file that runsdocx-generation/scripts/convert.py:1High confidence
- Network access in code of a file that runsdocx-generation/scripts/convert.py:15High confidence
- Network access in code of a file that runsdocx-generation/scripts/convert.py:16High confidence
- Network access in code of a file that runsdocx-generation/scripts/convert.py:17High confidence
- Network access in code of a file that runsdocx-generation/scripts/convert.py:53High confidence
- Network access in code of a file that runsdocx-generation/scripts/convert.py:54High confidence
- Network access in code of a file that runsdocx-generation/scripts/convert.py:55High confidence
- Network access in code of a file that runsdocx-generation/scripts/convert.py:56High confidence
- Network access in code of a file that runsdocx-generation/scripts/convert.py:64High confidence
- Network access in code of a file that runsdocx-generation/scripts/convert.py:65High confidence
- Network access in code of a file that runsdocx-generation/scripts/convert.py:66High confidence
- Network access in prose of the SKILL.mdenv-management/SKILL.md:42Low confidence
- Dangerous shell operation in prose of the SKILL.mdenv-management/SKILL.md:43Low confidence
- Network access in prose of the SKILL.mdenv-management/SKILL.md:43Low confidence
- Network access in the frontmatter of the SKILL.mdesmfold2/SKILL.md:28Low confidence
- Network access in the frontmatter of the SKILL.mdesmfold2/SKILL.md:29Low confidence
- Network access in the frontmatter of the SKILL.mdesmfold2/SKILL.md:30Low confidence
- Network access in code of the SKILL.mdesmfold2/SKILL.md:50High confidence
- Network access in code of the SKILL.mdesmfold2/SKILL.md:53High confidence
and 146 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md resources/skills/alphafold2/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md resources/skills/alphafold2/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md resources/skills/alphafold2/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md resources/skills/alphafold2/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md resources/skills/alphafold2/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/aipoch-open-science/)