Your AI labmate for the full research lifecycle — from reading papers to running experiments to writing them up.
You start a research project with an AI coding agent. Three hours later you're debugging a CUDA kernel and have completely forgotten what hypothesis you were testing.
Your agent is no better — doesn't know what you tried last week, can't read your reference papers, and treats every session like day one.
LabMate fixes both sides. It gives your agent persistent experiment memory and domain knowledge. It gives you a research flow that keeps hypotheses, baselines, and findings visible — even when you're deep in implementation.
# Add marketplace, then install
/plugin marketplace add freemty/labmate-marketplace
/plugin install labmate@labmate-marketplaceFrom a local checkout of the yuanbo-skills marketplace:
codex plugin marketplace add /path/to/yuanbo-skills
codex plugin add labmate@yuanbo-skillsStart a new task and review LabMate's hook definitions with /hooks.
Then initialize your project:
| Host | Invocation |
|---|---|
| Claude Code | /labmate:init-project |
| Codex | Type $labmate:init-project, or choose it from /skills |
| Other Agent Skills hosts | Ask to use LabMate's init-project skill |
New to agentic coding for research? Start here: CC Research Playbook — covers context engineering, skills, hooks, sub-agents, and how LabMate ties it all together. LabMate keeps project memory portable across Claude Code (CLAUDE.md / .claude/) and Codex or Antigravity (AGENTS.md / .agents/).
Codex users must review changed lifecycle-hook hashes after installation or update. Skills can load while untrusted plugin hooks remain skipped.
LabMate works on its own, but these plugins make it better. The commands below are for Claude Code:
# Development workflow (TDD, planning, code review, brainstorming)
/plugin install superpowers
# Better slides quality (visual spec for slide generation)
/plugin install frontend-slides
# Fetch Twitter/X, XiaoHongShu, Bilibili content for paper discovery
/plugin install agent-reachsuperpowers is strongly recommended — it powers the structured development workflow that keeps research projects from going off the rails.
Drop a link or PDF. LabMate breaks down the methodology, flags the assumptions, and connects it to your own work.
Claude Code: /labmate:read-paper https://arxiv.org/abs/2401.04088
Codex: $labmate:read-paper https://arxiv.org/abs/2401.04088
After the deep-dive, ask follow-up questions. Say "save" when done — it archives to your literature base automatically.
Want a broader picture? Survey a whole topic:
Claude Code: /labmate:survey-literature attention sink mechanisms in Diffusion Transformers
Codex: $labmate:survey-literature attention sink mechanisms in Diffusion Transformers
Describe what you want to test. LabMate scaffolds the experiment directory, config, run script, and analysis script.
Claude Code: /labmate:new-experiment
Codex: $labmate:new-experiment
After you start the run, check status anytime:
Claude Code: /labmate:monitor
Codex: $labmate:monitor
LabMate diagnoses failures and proposes the smallest safe recovery action. Retries or process interruption remain explicit, authorized actions.
One command to get domain interpretation and literature comparison:
Claude Code: /labmate:analyze-experiment
Codex: $labmate:analyze-experiment
Request slides separately through research-slides, or build a result view:
Claude Code: /labmate:visualize
Codex: $labmate:visualize
LabMate keeps experiment history, paper notes, and key findings in project files. Session startup injects only current stage and a pointer to that durable knowledge; skills load the deeper context when needed.
Commit your work with automatic CHANGELOG updates:
Claude Code: /labmate:commit-changelog
Codex: $labmate:commit-changelog
LabMate does not inject a workflow catalog or cross-sell reminders after every tool call. Skill descriptions handle discovery, typed scripts handle mechanical state changes, and project files hold durable knowledge.
init-project → new-experiment → monitor → analyze-experiment
→ visualize → commit-changelog → repeat
read papers anytime: read-paper, survey-literature
Pipeline state lives in .pipeline-state.json. Your agent picks up where you left off.
| Capability | labmate | K-Dense | Orchestra | ARIS |
|---|---|---|---|---|
| Deep paper reading | Yes | No | No | No |
| Literature survey | Yes | No | No | No |
| Experiment design | Yes | No | Partial | No |
| Research memory | Yes | No | No | No |
| Experiment monitoring | Yes | No | No | Yes |
| Results dashboard | Yes | No | No | No |
| Cross-discipline | Yes | Bio/Chem | ML/AI only | ML only |
Override anything by creating a local copy in your project:
Claude Code named-agent override:
mkdir -p .claude/agents
# Your local .claude/agents/domain-expert.md overrides the plugin versionCodex does not load the plugin's Markdown named agents. Agent-backed LabMate
skills automatically use a normal subagent or the main thread instead. Personal
Codex custom agents in .codex/agents/*.toml are optional and are not created
by LabMate.
For Codex or Antigravity project memory, use .agents/skills/project-skill/
and keep it mirrored with .claude/skills/project-skill/ when both platforms
are active.
LabMate contains 12 portable skills and 3 focused hook handlers across 3 lifecycle events. Claude Code also receives 5 specialized named agents; Codex uses the same compact role instructions through skill-level fallback. See CLAUDE.md and AGENTS.md.
- superpowers — skills framework and development workflow
- frontend-slides — slide generation engine
- Agent-Reach — multi-platform content fetching
@software{labmate2026,
title = {LabMate: Research Harness for AI Coding Agents},
author = {freemty},
year = {2026},
version = {0.10.0},
url = {https://github.com/freemty/labmate}
}MIT