experiment-registry
Manage ML experiment lifecycle via structured YAML registry — register, record results, compare runs, track status.
Skill by jiahao-shao1
Chalk Labs
Need help deploying experiment-registry?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jiahao-shao1-experiment-registry
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: ml
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/experiment-registry
What's inside
- Skill name
experiment-registry- Description
- Manage ML experiment lifecycle via structured YAML registry — register, record results, compare runs, track status. Triggers: 'register experiment', 'compare experiments', 'experiment results', 'exp init', 'exp list', '注册实验', '对比实验', '查实验', '哪个实验最好', '记录结果'. Not for training monitoring, checkpoints, or launching jobs.
- License
- MIT
- Instructions
- 137 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Experiment Registry
Structured YAML experiment registry for ML research. YAML was chosen over databases or JSON because experiment files should be human-readable, git-diffable, and hand-editable — researchers often need to inspect or tweak entries directly.
## Prerequisites
The `exp` CLI must be installed:
```bash
pip install exp-registry
```
If `exp` is not found, install it first. If the project has no `exp.config.yaml`, run `exp init` before any other command.
## How to Think About Experiment Registry
This tool manages the **metadata layer** of experiments — what was run, with what config, and what results came out. It does NOT manage training code, checkpoints, or logs.
The mental model: each experiment gets a YAML file that serves as its "identity card." Over time, benchmark results accumulate in that file as the experiment progresses through training steps. When it's time to report or decide next steps, you compare across experiments.
### Decision Flow
When the user mentions experiments, follow this flow:
1. **Check environment first.** Does `exp.config.yaml` exist? If not, ask if they want to initialize (`exp init`). Don't silently init — the user should confirm the project root.
2. **Understand intent.** Map the user's request to the right action:
- "New experiment" / "register" → `exp register` (but first `exp list` to check for ID conflicts)
- "What's running" / "experiment status" → `exp list` (suggest filters if there are many)
- "Record results" / "add benchmark" → `exp add-benchmark` (ask for dataset and step if not provided)
- "Compare" / "which is better" → `exp compare` (auto-discover shared datasets from `exp show`)
- "What happened with exp07" → `exp show` first, then summarize findings
3. **Be proactive with context.** After any operation, offer useful next steps:
- After registering → "Ready to add benchmarks when results come in"
- After adding a benchmark → suggest comparing with related experiments if they exist
- After comparing → highlight the best performer and surface any findings
### Smart Comparison
When the user asks "compare experiments" or "which is better," don't just dump the table. First run `exp show` on each experiment to discover which datasets and eval_modes they share, then run `exp compare` on those shared dimensions. If experiments have no common benchmarks, tell the user — don't produce an empty comparison silently.
### Series Grouping
Experiment IDs like `exp07a`, `exp07b`, `exp07c` automatically group into series `exp07`. This lets you filter by series to see all variants of one experimental idea. When a user discusses "the exp07 experiments," use `exp list --series exp07` to get the full picture.
## Command Reference
| Task | Command |
|------|---------|
| Initialize | `exp init` |
| List all | `exp list` |
| Filter by status | `exp list --status completed` |
| Filter by type | `exp list --type rl` |
| Filter by series | `exp list --series exp07` |
| Show details | `exp show <id>` |
| JSON output | `exp show <id> --json` |
| Register new | `exp register <id> --type rl --model Qwen3-VL-8B` (auto-records git HEAD; `--commit <sha>` to override) |
| Add benchmark | `exp add-benchmark <id> --dataset mmlu --eval-mode cot --samples 100 --step 50 --extra acc=0.72` |
| Compare | `exp compare <id1> <id2> --dataset mmlu` |
| Update status | `exp update <id> --status completed` |
| Add finding | `exp update <id> --finding "key insight"` |
All list/show/compare commands support `--json` for machine-readable output.
## Typical Workflows
### Experiment Lifecycle
```
register → (train) → add-benchmark at step N → add-benchmark at step M → update status + finding
```
Example:
1. `exp register exp01 --type rl --model Qwen3-VL-8B --reward reward_tool_strict`
2. *(user trains the model)*
3. `exp add-benchmark exp01 --dataset zebra-cot --eval-mode agent --samples 50 --step 50 --extra text_only=0.42 with_tools=0.52`
4. `exp add-benchmark exp01 --dataset zebra-cot --eval-mode agent --samples 50 --step 90 --extra text_only=0.44 with_tools=0.55`
5. `exp update exp01 --status completed --finding "tool use improves reasoning"`
Benchmarks are organized by step number within each dataset — this tracks how performance evolves during training, which is critical for deciding when to stop or which checkpoint to use.
### Compare for Meeting/Report
```bash
exp compare exp07a exp07b exp07c --dataset zebra-cot
```
Outputs a Markdown table — paste directly into docs or slides.
## Project Configuration
`exp.config.yaml` at project root:
```yaml
registry_dir: experiments/ # where YAML files live
paths_template:
local: outputs/{id}/ # {id} is replaced with experiment ID
defaults:
type: rl # default for `exp register`
types:
rl:
fields: [model, config, script, reward]
sft:
fields: [model, config, script, base_model]
```
Config is discovered by walking up from CWD. No config = sensible defaults (`registry_dir: experiments/`).
## YAML Schema
Each experiment is one file in `<registry_dir>/<exp_id>.yaml`:
**Required fields:** `id`, `name`, `type`, `series`, `date`, `status`
**Auto-generated:** `series` (inferred from ID prefix), `paths` (from template), `date` (today)
**Structured benchmarks:**
```yamlFrom jiahao-shao1/sjh-skills, MIT.
More from jiahao-shao1/sjh-skills
- 0.660score
session-team
jiahao-shao1
Coordinate Claude Code or Codex sessions on one machine, including messaging an existing CC session from Codex.
SkillAFreshness: A★ 39Claude Code +9 - 0.620score
notion-lifeos
jiahao-shao1
User's personal Notion LifeOS (PARA: tasks, notes, projects, Make Time journals) with pre-configured DB IDs + API access — required for any LifeOS interaction.
SkillBFreshness: B★ 39Claude Code +9 - 0.616score
paper-analyzer
jiahao-shao1
Deep critical analysis of one specific paper — dissect experimental setup, extract numbers, evaluate claims against a hypothesis.
SkillBFreshness: B★ 39Claude Code +9 - 0.610score
sync-docs
jiahao-shao1
Update the project's documentation to match recent code changes, then commit.
SkillBFreshness: B★ 39Claude Code +9 - 0.570score
paper-self-review
jiahao-shao1
Self-review for paper paragraphs — diagnose v1 issues and give a revision direction (intro, abstract, method, related work).
SkillCFreshness: C★ 39Claude Code +9 - 0.565score
context-audit
jiahao-shao1
Audit project context management (CLAUDE.md, rules, knowledge) for progressive disclosure compliance.
SkillCFreshness: C★ 39Claude Code +9 - 0.564score
init-project
jiahao-shao1
初始化新项目的 Claude Code 配置。用户说"初始化项目"、"init project"、"配置 Claude Code"时触发。
SkillCFreshness: C★ 39Claude Code +9 - 0.505score
daily-summary
jiahao-shao1
Produce daily/yesterday work summary (日报) by aggregating Claude Code sessions, Git commits, and Notion task data — git log alone cannot do this.
SkillDFreshness: D★ 39Claude Code +9 - 0.502score
bibtex-fetch
jiahao-shao1
Fetch BibTeX entries from arXiv / Semantic Scholar.
SkillDFreshness: D★ 39Claude Code +9 - 0.500score
web-fetcher
jiahao-shao1
Fetch any URL as clean markdown.
SkillDFreshness: D★ 39Claude Code +9 - 0.500score
project-review
jiahao-shao1
Strategic project review — auto-discovers strategy docs (vision, roadmap, decisions, notes), produces five-dimension snapshot.
SkillDFreshness: D★ 39Claude Code +9 - 0.499score
handoff
jiahao-shao1
Generate a structured handoff summary for the next session.
SkillDFreshness: D★ 39Claude Code +9
Signals
- Stars
- 39
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- May 27, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/jiahao-shao1/sjh-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from jiahao-shao1
- 0.660score
session-team
jiahao-shao1
Coordinate Claude Code or Codex sessions on one machine, including messaging an existing CC session from Codex.
SkillAFreshness: A★ 39Claude Code +9 - 0.620score
notion-lifeos
jiahao-shao1
User's personal Notion LifeOS (PARA: tasks, notes, projects, Make Time journals) with pre-configured DB IDs + API access — required for any LifeOS interaction.
SkillBFreshness: B★ 39Claude Code +9 - 0.616score
paper-analyzer
jiahao-shao1
Deep critical analysis of one specific paper — dissect experimental setup, extract numbers, evaluate claims against a hypothesis.
SkillBFreshness: B★ 39Claude Code +9 - 0.610score
sync-docs
jiahao-shao1
Update the project's documentation to match recent code changes, then commit.
SkillBFreshness: B★ 39Claude Code +9 - 0.570score
paper-self-review
jiahao-shao1
Self-review for paper paragraphs — diagnose v1 issues and give a revision direction (intro, abstract, method, related work).
SkillCFreshness: C★ 39Claude Code +9 - 0.565score
context-audit
jiahao-shao1
Audit project context management (CLAUDE.md, rules, knowledge) for progressive disclosure compliance.
SkillCFreshness: C★ 39Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get experiment-registry running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
experiment-registry skill. Agent Mart. https://agentmart.dev/skills/jiahao-shao1-experiment-registry (last updated 2026-10-24)