Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/internscience/molclaw/molclaw-quickvina-dockingnpx skills add InternScience/MolClaw --skill molclaw-quickvina-dockinggit clone --depth 1 https://github.com/InternScience/MolClawWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/internscience/molclaw/molclaw-quickvina-docking)<a href="https://agentmods.dev/skills/internscience/molclaw/molclaw-quickvina-docking"><img src="https://agentmods.dev/badge/skills/internscience/molclaw/molclaw-quickvina-docking.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00027 | $0.01726 |
| Opus 5 | $0.00014 | $0.00863 |
| Sonnet 5 | $0.00005 | $0.00345 |
| Haiku 4.5 | $0.00003 | $0.00173 |
Grade A, and why
molclaw-quickvina-docking scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 133 lines — stays where its author put it; the contents beside it link to each section on GitHub.
QuickVina2 Molecular Docking
Note:
- Local files are not directly accessible by the server. Please upload them to the server using
molclaw-file-transferbefore execution. - For PDB file inputs, it is recommended to preprocess them using
molclaw-pdbfixerbefore execution. - Please refer to skill
molclaw-scp-serverto complete tool invocation.
step 1. Use skill molclaw-protein-structure-retrieve to get the target protein structure file. If the target protein structure file has been provided, skip this step.
step 2. If the user specifies a target chain or several chains, or if the agent autonomously identifies single-chain or multi-chain structures requiring extraction, invoke the tool extract_and_save_chains to generate and save the corresponding structure as a new PDB file. Otherwise, skip this step.
response = await tool_client.session.call_tool(
"extract_and_save_chains",
arguments={
"pdb_file_path": pdb_path,
"chain_ids": chain_ids ##Chain IDs (e.g., ["A", "C"])
}
)
result = tool_client.parse_result(response)
pdb_path = result["out_file"]
step 3. Use skill molclaw-pdbfixer to repair the protein structure file using the settings as below.
response = await client.session.call_tool(
"fix_pdb",
arguments={
"input_path": pdb_path,
"add_hydrogens": True,
"ph": 7.0,
"remove_heterogens": True,
"remove_water": True,
"replace_nonstandard": True
}
)
result = client.parse_result(response)
fixed_pdb_path = result["output_file"]
step 4. Use skill molclaw-fpocket or molclaw-p2rank to detect binding sites on the protein structure and return pocket information of the best one. If the pocket center and box size are already known (e.g., from a co-crystal ligand), skip this step and use the known values directly.
step 5. Use tool molecule_docking_quickvina_fullprocess to perform molecular docking. This is a full-process tool — it accepts a PDB file and SMILES string directly and handles all format conversions (PDB→PDBQT, SMILES→PDBQT) internally. Do NOT manually convert to PDBQT before calling this tool.
Tool description:
Perform molecular docking using QuickVina2-GPU (Accelerated version of AutoDock Vina).
The server selects the output directory. The current QuickVina2-GPU backend accepts at most 47.625 Å per docking-box axis, 129 movable ligand atoms, and 47 ligand torsions.
Args:
pdb_file_path (str): Path to the protein receptor file (format .pdb)
smiles (str): Input molecule SMILES string
pocket_center_x (float): X-coordinate of the docking pocket center
pocket_center_y (float): Y-coordinate of the docking pocket center
pocket_center_z (float): Z-coordinate of the docking pocket center
pocket_size_x (float): Size of the docking pocket along the X-axis (default 25.0)
pocket_size_y (float): Size of the docking pocket along the Y-axis (default 25.0)
pocket_size_z (float): Size of the docking pocket along the Z-axis (default 25.0)
Return:
status (str): success/error
msg (str): message
docking_affinity_value (float): Docking affinity value, unit kcal/mol
docking_file (str): A PDBQT file contains docking poses, atom types, and charges for analyzing binding results.
Tool Usage:
for smiles in smiles_list:
response = await client.session.call_tool(
"molecule_docking_quickvina_fullprocess",
arguments={
"pdb_file_path": fixed_pdb_path,
"smiles": smiles,
"pocket_center_x": best_pocket["center_x"],
"pocket_center_y": best_pocket["center_y"],
"pocket_center_z": best_pocket["center_z"],
"pocket_size_x": max(25.0, best_pocket.get("size_x", 25.0)),
"pocket_size_y": max(25.0, best_pocket.get("size_y", 25.0)),
"pocket_size_z": max(25.0, best_pocket.get("size_z", 25.0))
}
)
result_data = client.parse_result(response)
docking_affinity = result_data['docking_affinity_value']
docking_pose_file = result_data['docking_file']
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 133 lines · 27 tokens per session scan A 4bccfd84a567
molclaw-quickvina-docking is a skill published in the GitHub repository InternScience/MolClaw (33 stars, last pushed 28d ago), licensed MIT. It adds 27 tokens to every session and 1,726 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
instrument-data-to-allotrope
Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV. Use this skill when scientists need to standardize instrument data for LIMS systems, data lakes, or downstream analysis. Supports auto-detection of instrument types. Outputs include full…
exploratory-data-analysis
Perform bounded, local exploratory analysis of explicitly supported scientific files. Use for redacted CSV/TSV/JSON profiles; optional NumPy, HDF5, FASTA/FASTQ, and basic image metadata inspection; missingness/leakage audits; outlier and transformation sensitivity; and rigorous EDA report scaffolds. Other domain…
matlab
Build, review, migrate, and safely plan MATLAB or GNU Octave numerical workflows, including arrays, tabular/time data, tests, projects, graphics, MAT files, and explicit Python interoperability.
phylogenetics
Build and analyze phylogenetic trees using MAFFT (multiple alignment), IQ-TREE 2 (maximum likelihood), and FastTree (fast NJ/ML). Visualize with ETE3 or FigTree. For evolutionary analysis, microbial genomics, viral phylodynamics, protein family analysis, and molecular clock studies.
research-engineer
An uncompromising Academic Research Engineer. Operates with absolute scientific rigor, objective criticism, and zero flair. Focuses on theoretical correctness, formal verification, and optimal implementation across any required technology.
mapping-to-snomed
Maps clinical concept spans extracted by OpenMed to SNOMED CT concepts through a USER-SUPPLIED terminology server (the user's own Ontoserver, Snowstorm, or UMLS/UTS), never a bundled vocabulary. Use when the user wants to code findings, disorders, procedures, body structures, or substances to SNOMED CT, run an ECL…