Current-density reconstruction
A network that outperforms our published one at recovering current maps from noisy magnetic images.
Synthetic test data · a typical test image
PhysKit is a free, open-source plugin for Claude Code and Codex for collaborative agentic research: skills, prompts, templates, and code that give an AI agent the habits of a careful experimentalist and build those habits into the tools it works with, not just its instructions.
Pre-release: the skills and doctrine still change between versions. Use the latest release.
01Why we built PhysKit
In experimental physics, models are approximations and data carry noise, systematic effects and apparatus details the agent cannot see, so a result is only as good as the checks behind it. More in the preprint.
Without PhysKit
With PhysKit
In the preprintSix case studies from our quantum-sensing work →A tool for collaborative agentic research in experimental physics, designed to reduce the probability of errors and the burden of verification.
Each run is archived with its exact code, configuration and data, and every number is labeled by where it came from.
Every result is labeled with how it was checked, up to an independent verifier at the level you set; reports map each claim to its evidence.
The agent proposes, runs, evaluates, verifies and records, toward a goal and a frozen metric you set. You can add ideas at any time.
Skills for framing problems, verifying results, designing and validating simulations, dimensional analysis, deriving theory, debugging, and honest reporting. They work in any session; the agent picks the matching skill.
Scaffold and run a closed research loop — propose, implement, run, evaluate, verify, record, repeat — with a frozen honesty and verification core the loop cannot change, and health checks you can run while it works. How a campaign works ↓
The agent interviews you first: the goal, the constraints, and the metric that will decide what counts as better. It runs a baseline experiment before anything changes, so every later result has something real to beat.
Each cycle the agent proposes a change, implements it, runs it, and evaluates the result against the metric. Every result carries a label saying how it was checked, and every cycle is recorded, including the ones that failed. You can step in between cycles, or let it run.
When the goal is met, or you stop it, the claims are audited against the record before the report is written, and you decide what comes next.
Six case studies of collaborative agentic research from our quantum-sensing work, reported in the preprint (Sec. IV): very different projects, in simulation, on measured data, and on live hardware. They ran on earlier PhysKit versions, listed in the preprint; for new work, use the latest release.
A network that outperforms our published one at recovering current maps from noisy magnetic images.
Synthetic test data · a typical test image
A photodynamic model of VB− defects in hBN that outperforms our published model.
Measured data
A fabrication-ready waveguide design with 2.7× the field of the best design in the agent's first size sweep.
Simulation
A pulse-sequence candidate that beats the published benchmark by >10× and stays ahead under disorder.
Simulation
From an uncalibrated state to ~1 Hz frequency precision (best run; ten-run median 1.5 Hz).
Live hardware
To our knowledge, the first such reconstruction from diffraction-limited magnetic imaging.
Measured data · fit residual at 30.3 mT (saturation) · baseline fit 101 → joint fit 20 µT rms (clearest frame)
On GitHub now, as a pre-release. It works with Claude Code and Codex.
In a Claude Code session:
/plugin marketplace add Walsworth-Group/physkit
/plugin install physkit@physkit
In Codex, from your shell, then start a new session:
codex plugin marketplace add Walsworth-Group/physkit
codex plugin add physkit@physkit
Skills appear as /physkit:<name> in Claude Code and $physkit:<name> in Codex.
Scopes, updating, pinning a version, other agents, and keeping the doctrine always loaded:
the full install guide ·
getting started.
If you use PhysKit, please cite the preprint and the software version you used:
N. R. Reed, D. M. Daly, A. J. Beling, J. D. Giandrea, R. L. Walsworth, J. W. Blanchard, and D. Ang, Principles and Techniques for Agentic Research in Experimental Physics, arXiv:2610.17193 (2026).
@misc{reed_principles_2026,
title = {Principles and Techniques for Agentic Research in Experimental Physics},
author = {Reed, Niko R. and Daly, Declan M. and Beling, Andrew J. and Giandrea, Jordan D.
and Walsworth, Ronald L. and Blanchard, John W. and Ang, Daniel},
year = {2026},
eprint = {2610.17193},
archivePrefix = {arXiv}
}
GitHub's “Cite this repository” button gives the current citation in BibTeX and APA.
A framework for agentic research in experimental physics including skills, prompts, templates, and code, installed as a plugin. It has two layers: a general science toolkit you can use in any session, and a campaign layer that runs closed-loop research campaigns.
The full plugin installs in Claude Code and Codex. OpenCode and Gemini CLI can use the general skills through a bundled installer. See the multi-agent notes.
PhysKit is free and MIT-licensed. You need access to the agent you run it in.
No. General skills can trigger in ordinary sessions with no setup beyond installing the plugin.
Several ways, layered. Every result carries an honest label saying how it was checked — unverified,
self-checked, or confirmed by an independent check — and the label travels with the number into every
report. Every number in a report is labeled by provenance, cite-check verifies each reference
against its source, and in a campaign executable gates refuse to promote a result under a stronger label
than it earned. These reduce the risk; they don't remove the need for you to check work you build on.
PhysKit itself makes no network calls — it is skills, templates, and local scripts. Your agent sends your session to its model provider as it normally does.
We tested PhysKit on tasks relevant to our work in experimental physics, including derivations and simulations which support our work. However, we expect many components of the kit to be more broadly useful. Users should feel free to adapt the kit to suit their needs
PhysKit is still pre-release: skills, templates, and doctrine still change between versions and we are seeking feedback from early users. We recommend using the latest release.
Open an issue on GitHub, or write to [email protected].