skill
VirtualLab-CC
VirtualLab_CC: An LLM-Augmented Virtual Laboratory for Automated Computational Chemistry Research - Work in Progress
Set up
Skills are installed by placing their folder where your agent loads skills.
The download comes from github.com/CCBG-Lab/VirtualLab_CC itself, not from our server, so what you get is exactly what its author published.
Install instructions come from the README
README
synced Oct 22, 2026VirtualLab_CC
An LLM-Augmented Virtual Laboratory for Automated Computational Chemistry Research
Archived software (release v1.1.0): DOI 10.5281/zenodo.21396720
VirtualLab_CC is an AI-driven framework that pairs large language models (Claude, Anthropic) with quantum chemistry software (Gaussian 16, ORCA, MRCC, OpenMolcas, CREST) to run the full computational chemistry research workflow — from literature review, through calculation execution on HPC clusters, to result analysis and manuscript preparation. A human principal investigator (PI) supervises the pipeline and approves every decision at defined checkpoints.
This repository accompanies the paper:
Kieninger, M.; Segovia, M.; Vega-Teijido, M.; Katz, A.; Martinez, A.; Vuan, E.; Irving, K.; Ventura, O. N. "VirtualLab_CC: An LLM-Augmented Virtual Laboratory for Automated Computational Chemistry Research." Artificial Intelligence in Chemistry (2026). DOI:
10.0000/PLACEHOLDER-DOI(to be updated on acceptance).
Overview
VirtualLab_CC organizes computational chemistry research around three ideas:
- A three-layer architecture that separates research data, orchestration, and a personal knowledge base.
- A gated project lifecycle (G0–G5) with mandatory human approval at the points where resources or scientific claims are committed.
- A library of composable skills that the language model invokes to perform concrete tasks — literature search, cluster synchronization, result extraction, peer review, citation checking, and more.
Three-Layer Architecture
| Layer | Role |
|---|---|
| Data layer | Projects, calculations, methods library, publications, and shared resources. One folder per project, with a consistent directory structure. |
| Orchestration layer | Session state, lifecycle gates, agent assignments, decision records, and dashboards. The orchestrator reads project state, proposes the next action, and waits for PI approval. |
| Knowledge layer | A personal-knowledge-management vault (Obsidian) for literature notes, method cards, templates, and deadlines. |
┌───────────────────────────────────────────────┐
│ PI (human oversight, approves every gate) │
├───────────────────────────────────────────────┤
│ Orchestrator (ccbg-orchestrator) │
│ ├── Project lifecycle gates (G0–G5) │
│ ├── Calculation stages (S0–S5) │
│ └── Agent roster (CC_R01–CC_R10) │
├───────────────────────────────────────────────┤
│ Skill layer (25 specialized skills) │
│ ├── Lab operations │
│ ├── Quality & review │
│ ├── Research tools │
│ ├── Manuscript & reporting │
│ └── Meta / system │
├───────────────────────────────────────────────┤
│ HPC cluster │
│ SLURM + Gaussian 16 / ORCA / MRCC / │
│ OpenMolcas / CREST │
└───────────────────────────────────────────────┘
Gated Lifecycle (G0–G5)
Every project advances through six gates. The orchestrator never crosses a gate on its own; the PI reviews and approves each transition.
| Gate | Name | What happens |
|---|---|---|
| G0 | Inception | Literature review, novelty assessment, hypothesis framing |
| G1 | Method design | Method protocol selection, computational plan, resource estimate |
| G2 | Production | Conformer search, DFT optimization, frequency analysis |
| G3 | Analysis | Result extraction, PES mapping, thermochemistry, benchmarking |
| G4 | Manuscript | Manuscript drafting, automated pre-review, citation validation |
| G5 | Submission | Final PI review, submission preparation, archival |
Gates (G0–G5, project lifecycle) are orthogonal to calculation stages (S0–S5, the state of an individual calculation). A project at G3 may still have calculations at several different stages.
Agent Roster (CC_R01–CC_R10)
Work is distributed across ten role-specialized agent profiles. The PI sits above the roster and approves all actions.
| Agent | Role | Focus |
|---|---|---|
| CC_R01 | Computational lead | Geometry optimization, TS search, conformer search |
| CC_R02 | Methodology critic | Method review, T1 diagnostics, spin contamination |
| CC_R03 | Cluster operations | SLURM submission, monitoring, rsync |
| CC_R04 | Output analyst | Gaussian/ORCA parsing and extraction |
| CC_R05 | Property calculator | Energies, barriers, rate constants |
| CC_R06 | Validation specialist | Benchmarks, coupled-cluster verification |
| CC_R07 | Literature specialist | PubMed/arXiv search, reference curation |
| CC_R08 | Analysis & reporting | Synthesis, tables, manuscript preparation |
| CC_R09 | Data management | File organization, backup, naming |
| CC_R10 | Principal investigator | Final authority, gate approval, strategy |
The roster matches Table 2 of the accompanying paper. The PI (CC_R10) holds final authority and approves every gate transition. See framework/agent_roster.md for the full definitions.
How Skills Plug In
Each skill is a self-contained module with a SKILL.md specification (name, description, trigger phrases, instructions) plus any supporting scripts. The language model selects a skill when a request matches its description, then follows the steps inside. Skills are the unit of capability: adding a behaviour means adding a skill folder, not modifying the core.
This release ships 25 skills, listed below. This list is generated from the skills/ directory of this release and matches Table 3 of the accompanying paper exactly.
Lab operations
| Skill | Purpose |
|---|---|
add-new-project | Onboard a new research project into the standard directory structure |
cluster-sync | Bidirectional SSH/rsync synchronization with the HPC cluster |
ccbg-orchestrator | Central dispatcher: read session state, propose the next action, await PI approval |
ccbg-cluster-integration | Generate, submit and monitor SLURM jobs with node- and scratch-aware templates |
ccbg-event-logger | Append-only traceability log for every calculation and finding |
project-change-propagator | Propagate a decision or gate change across dependent project files |
lab-state-reconciler | Weekly audit reconciling recorded project state against what is on disk |
Quality & review
| Skill | Purpose |
|---|---|
novelty-check | Prior-art search and 4-dimension overlap scoring at the G0 to G1 transition |
manuscript-reviewer | Blind pre-review against a 10-dimension rubric before PI review |
citation-validator | Verify every reference against a resolvable DOI; flag phantom citations |
result-extractor | Parse Gaussian/ORCA output into standardized JSON plus quality flags |
Research tools
| Skill | Purpose |
|---|---|
deep-research-synthesizer | Synthesize findings across papers; PRISMA 2020 systematic-review mode |
arxiv-search | Search arXiv for preprints in chemistry, physics and computational science |
pubmed-search | Search PubMed for biomedical and chemical literature |
pubchem-search | Look up compounds, SMILES, InChI and molecular properties |
rdkit-tools | Cheminformatics: descriptors, fingerprints, substructure and similarity search |
unpaywall-downloader | Check DOIs against Unpaywall and retrieve open-access PDFs |
web-search | General web search for proceedings, manuals and reference data |
Manuscript & reporting
| Skill | Purpose |
|---|---|
academic-paper | Manuscript drafting pipeline (full/section/revision/format/cleanup modes) |
manuscript-schema | Canonical schema for manuscript.json publication metadata |
Knowledge vault & schemas
| Skill | Purpose |
|---|---|
vault-deadline-radar | Unified deadline timeline across calendar and vault notes |
vault-inbox-triage | Classify and route inbox notes into the knowledge vault |
vault-tag-garden | Audit and prune the vault tag taxonomy |
vault-weekly-agenda | Day-by-day weekly overview of events, tasks and running jobs |
virtuallab-session-schema | Canonical JSON schema for session files (gates, stages, task graphs) |
Skills provided by an external plugin. The runtime additionally loads general-purpose skills that are not part of this repository and are therefore not counted above:
render-molecule,source-validator,decision-journal, andskill-creator. They are supplied by an installed skills plugin, not by VirtualLab_CC, and are listed separately in the paper for the same reason.
HPC Integration
VirtualLab_CC drives calculations on a SLURM-managed cluster over SSH. The framework supports:
- Engines: Gaussian 16, ORCA, MRCC, OpenMolcas, and CREST conformer sampling.
- Job management: SLURM script generation with consistent job-name prefixes, per-project submission caps, and a job queue that drains automatically.
- Scratch hygiene: every job stages temporary files into node-local scratch; a guard script aborts the run if scratch is missing or unwritable, preventing silent home-directory overflow.
- Synchronization:
cluster-syncpulls recently modified outputs after every submission round, excluding large binary artifacts (*.chk,*.gbw,*.wfn, scratch temporaries). - Result parsing:
result-extractorconverts engine output into standardized energies, geometries, frequencies, T1 diagnostics, and convergence flags.
The cluster connection is configured by copying the template at skills/cluster-sync/references/references/cluster_config_template.env and filling in host, user, and remote-base details. SSH keys are never stored in the repository.
Repository Structure
VirtualLab_CC/
├── skills/ # 25 specialized skills (each with SKILL.md)
│ ├── ccbg-orchestrator/ # Central workflow orchestrator
│ ├── cluster-sync/ # HPC cluster synchronization
│ ├── novelty-check/ # Prior-art search at G0→G1
│ ├── manuscript-reviewer/ # Automated peer review at G4
│ ├── citation-validator/ # DOI verification for references
│ ├── result-extractor/ # Gaussian/ORCA → structured data
│ ├── arxiv-search/ # ArXiv literature search
│ ├── pubmed-search/ # PubMed literature search
│ ├── pubchem-search/ # PubChem compound lookup
│ ├── rdkit-tools/ # RDKit molecular operations
│ └── ... # See skills/ for the full set
├── framework/
│ ├── lifecycle/ # Gate and stage definitions
│ ├── methods/ # Method protocol library (METH_001–007)
│ ├── scripts/ # Cluster management scripts
│ ├── agent_roster.md # Agent role definitions (CC_R01–CC_R10)
│ └── lab_charter.md # Lab operating principles
├── docs/ # Additional documentation
├── examples/ # Example configurations
├── CITATION.cff # Citation metadata
├── LICENSE # MIT License
└── README.md
Method Protocols
The framework/methods/ directory contains standardized computational protocols (METH_001–METH_019 in the live laboratory; the subset relevant to the published case study is shipped here):
- METH_001 — General DFT optimization for organic molecules
- METH_002 — Criegee–terpene PES mapping (the case study in the paper)
- METH_003 — PFAS electrode degradation
- METH_004 — Cyanobacterial VOC OH-oxidation
- METH_005 — Selenenic acid thermochemistry
- METH_006 — Chalcogen triad spectrokinetics
- METH_007 — 2-Haloethanol IR and kinetics
Requirements
- LLM backend: Claude (Anthropic) via Claude Code or Cowork
- Quantum chemistry: Gaussian 16 and/or ORCA; optional MRCC, OpenMolcas, CREST
- HPC access: SLURM-managed cluster with SSH access
- Python: 3.10+ with RDKit, NumPy, cclib
- Optional: PyMOL (molecular visualization), Obsidian (knowledge vault)
Getting Started
- Clone this repository.
- Copy
skills/cluster-sync/references/references/cluster_config_template.envto your working directory ascluster_config.envand fill in your cluster details. - Configure your Claude Code or Cowork environment to load skills from the
skills/directory. - Set up SSH key-based authentication to your HPC cluster.
- Create your first project with the
add-new-projectskill.
Release and reproducibility
The skill registry above, the gate names (G0–G5), and the agent roster (CC_R01–CC_R10) are identical to Table 3, Section 2.3, and Table 2 of the accompanying paper respectively. All three are pinned to release v1.1.0 of this repository; cite that release (or its Zenodo DOI) when referring to a specific version of the system.
Citation
If you use VirtualLab_CC in your research, please cite the paper above and the software via the metadata in CITATION.cff. GitHub and Zenodo both read this file, so the "Cite this repository" button will produce a correctly formatted reference.
License
MIT — see LICENSE.
Acknowledgments
Developed at the Computational Chemistry and Biology Group (CCBG), DETEMA, Facultad de Química, Universidad de la República, Montevideo, Uruguay. HPC resources provided by the CCBG beorn cluster. Financial support: PEDECIBA, CSIC (Universidad de la República) and ANII.