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
Agentic research is increasingly common in experimental physics, and verifying it is the hard part. 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.
AI agents can now do substantial research work, and their output can look right even when it is wrong. In experimental physics, where models are approximations and data carry noise and systematic effects and depend on apparatus details the agent cannot see, a result is only as good as the checks behind it. From our preprint:
PhysKit builds rigor into the system the agent works in, so that the researcher directs the work, can check what was actually found, and can build on it.
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 ↓
frame-problem | start any physics problem here — before modeling, simulating, or deriving |
verify | check a result, number, or derivation before relying on it |
report | write it up — every number labeled by provenance, every citation verified |
new-campaign | stand up a closed-loop research campaign |
campaign-status | health-check or checkpoint a running campaign |
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
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.
No single safeguard is trusted alone. Each layer covers gaps in the others.
verify checks a result by an independent route, not by re-reading the reasoning that
produced it, and recomputes every reported number.The kit improves itself from reviews of real runs, but the honesty and verification core is frozen: a change that would weaken it is rejected outright.
A framework for AI coding agents doing experimental physics: skills, prompts, templates, and code, installed as one 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 with a frozen honesty and verification core.
The full plugin installs in Claude Code and Codex. OpenCode and Gemini CLI can use the general skills (not campaigns) 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 (Claude Code or Codex), which is billed separately by its provider.
No. The general skills — frame-problem, verify, report, and the rest —
work in ordinary sessions with no setup beyond installing the plugin. Campaigns are there when you want
the agent to iterate on a problem in a closed loop, with you checking in and steering.
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.
Campaigns are designed for it: the setup interview front-loads your decisions, the evaluation is
frozen so the loop can't quietly change how it is scored, a hook refuses to promote a result its checks
don't support, and campaign-status lets you check its health at any point. Note that in
Claude Code, the agents a campaign launches run without per-command permission prompts, because no one
is there to answer them; their limits are the campaign's own checks and, for hardware, the instrument
ranges you set at setup. Run campaigns in a project folder and on a machine where that is acceptable,
and supervise them the way you would a new student: check in, and read the report critically.
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.
That is the focus for now: its doctrine, templates, and checks are written for experimental physics — measurements, instruments, and the simulations around them. Some general skills (verification, honest reporting, debugging) may be useful elsewhere, but that is not what it was designed or evaluated for.
PhysKit is still pre-release: skills, templates, and doctrine still change between versions. Use the latest release; older versions stay tagged so that work which cites them can be traced.
Open an issue on GitHub, or write to [email protected].
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.