Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/zjunlp/mechanist/auto-experimentnpx skills add zjunlp/Mechanist --skill auto-experimentgit clone --depth 1 https://github.com/zjunlp/MechanistWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/zjunlp/mechanist/auto-experiment)<a href="https://agentmods.dev/skills/zjunlp/mechanist/auto-experiment"><img src="https://agentmods.dev/badge/skills/zjunlp/mechanist/auto-experiment.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00075 | $0.17486 |
| Opus 5 | $0.00037 | $0.08743 |
| Sonnet 5 | $0.00015 | $0.03497 |
| Haiku 4.5 | $0.00007 | $0.01749 |
Grade A, and why
auto-experiment scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 671 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Workflow 1.5: Experiment
Implement and deploy experiments from plan: $ARGUMENTS
Overview
This skill bridges Workflow 1 (idea discovery + method refinement) and Workflow 2 (auto review loop). It takes the experiment plan and turns it into running experiments with initial results.
Workflow 1 output: This skill: Workflow 2 input:
refine-logs/EXPERIMENT_PLAN.md → implement → LLM review → deploy → collect → initial results ready
refine-logs/EXPERIMENT_TRACKER.md code (cross-model) /run-experiment for /auto-iteration-loop
refine-logs/FINAL_PROPOSAL.md
Constants
- RESEARCH_DOMAIN = auto — Project domain tag (free-form, e.g.
mechanistic-interpretability,vision-encoders,rl-policy-eval). Consumed by Phase 1.5 only as a routing constraint to/mechanism-skills— see Phase 1.5 Step 2'sdomain:arg. Whennullorauto, Phase 1.5 infers fromFINAL_PROPOSAL.md; on ambiguous inference, silently default togeneraland log[research-domain] inference ambiguous — defaulted to general(this fallback bypassesAUTO_PROCEEDby design — see/auto's flag-table row for the canonical statement). To force a specific domain, pass it explicitly on the CLI. (Note: Phase 1.1 routes through/experiment-tipsusing its own symptom-level trigger table and does not consume this constant.) - MECHANISM_ROUTING = auto — Phase 1.5 mechanism-family routing mode.
auto(default): invoke/mechanism-skills, writerefine-logs/MECHANISM_ROUTING.md, present 2–3 candidates and let the caller pick (auto-select #1 whenAUTO_PROCEED=true; otherwise block on the caller'sAskUserQuestion).skip: assume routing already exists (or is not applicable) and proceed.not-applicable: explicitly mark behavioral-only proposal and skip without invoking. When called from/auto, the orchestrator's mini-prompt fillsCHOSEN_FAMILYso this skill is re-entered withMECHANISM_ROUTING=skip. - CHOSEN_FAMILY = none (dynamic — not in config; forwarded by /auto's orchestrator — from
MECHANISM=given(the user'schosen_mechanismcaptured by the claim stage), theAUTO_PROCEED=falsefamily mini-prompt, or an explicitfamily:pin intask.md(cross-round Rule 2), after any settled-pin conflict is resolved) — When set, commits this family/submethod combo fromMECHANISM_ROUTING.mdbefore implementation (Phase 1.5 Mode B). - CODE_REVIEW = true — external LLM reviewer checks experiment code before deployment. Catches logic bugs before wasting GPU hours. Set
falseto skip. - AUTO_DEPLOY = true — Automatically deploy experiments after implementation + review. Set
falseto manually inspect code before deploying. Treated as a standing approval for the deploy step: whenAUTO_DEPLOY=true, the Phase 4 deploy proceeds even ifAUTO_PROCEED=false. - AUTO_PROCEED = true — Whether the Phase 4 Experiment Gate may skip the UI prompt. When
true(default) andAUTO_DEPLOY=true, the gate proceeds silently. WhenfalseandAUTO_DEPLOY=false, the gate callsAskUserQuestion(approve / narrow-scope / abort) and blocks until the user answers.AUTO_DEPLOY=trueoverridesAUTO_PROCEED=falsefor this gate (standing approval). Forwarded from/auto. - SANITY_FIRST = true — Run the sanity-stage experiment first (smallest, fastest) before launching the rest. Catches setup bugs early.
- MAX_PARALLEL_RUNS = 4 — Maximum number of experiments to deploy in parallel (limited by available GPUs). For Phase 4's queue dispatch path (Phase 4.B), this becomes
max_parallel:in the/experiment-queuemanifest. For the direct dispatch path (Phase 4.A), it's the in-skill concurrency cap on/run-experimentcalls. - BATCH_DISPATCH =
auto— Phase 4 dispatch routing rule.auto(default): per the Phase 4.0 table — milestones with ≥ 10 runs,depends_on, grid expansions, or ≥ 3-seed × ≥ 3-config multi-seed sweeps go to/experiment-queue; smaller ad-hoc milestones go to/run-experiment.queue: force every milestone to/experiment-queue(use when you know the workload benefits from OOM retry + stale cleanup even at small sizes).direct: force every milestone to/run-experiment(use only when debugging the queue scheduler itself; emits a warning if any milestone would have triggered the queue rule underauto). Forwarded from/auto. - BASE_REPO = null — GitHub repo URL to use as base codebase. When set, clone the repo first and implement experiments on top of it. When
null, write code from scratch or reuse existing project files. - COMPACT = false — When
true, (1) readidea-stage/IDEA_CANDIDATES.mdinstead of fullidea-stage/IDEA_REPORT.mdif available, (2) append experiment results toEXPERIMENT_LOG.mdafter collection. - RESUME = false — When
true, each phase checks if its primary artifact already exists non-empty and skips itself if so (see "Resume protocol" below). Useful for picking up after a crash. Defaultfalse= every phase always runs from scratch and overwrites prior artifacts. Resume never deletes pre-existing files. - GPU_ID =
auto— GPU device(s) to use for sanity and full-suite runs.auto(default) inherits from environment / launcher. A single id (0) or comma-list (4,5,6,7) causes Phase 3 (sanity) and Phase 4 (deploy) to passCUDA_VISIBLE_DEVICES=<GPU_ID>as the first positional argument to/run-experiment— the run-experiment skill then exports this env var before launching the experiment subprocess (do not treat it as a shell prefix;/run-experimentis a Skill invocation, not a shell command). Also record the effectiveCUDA_VISIBLE_DEVICESinto each run'srun.shso reproductions land on the same devices. Override:— gpu-id: 4,5,6,7. WhenGPU_IDlists multiple devices andMAX_PARALLEL_RUNS > 1, partition devices across concurrent runs (e.g.,GPU_ID=4,5,6,7+ 2 parallel → run A on4,5, run B on6,7); do not co-schedule two runs on the same device unless memory measurements confirm fit. Forwarded from/autoand fromagents/experiment.md;/auto-verifyfollows the same convention for verify variants.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 671 lines · 75 tokens per session scan A 2e51372bf7fe
auto-experiment is a skill published in the GitHub repository zjunlp/Mechanist (71 stars, last pushed 10d ago), licensed MIT. It adds 75 tokens to every session and 17,486 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
nanoresearch-experiment
Generate a Python code skeleton from an experiment blueprint.
nanoresearch-writing
Draft a LaTeX research paper from all previous stage outputs.
nanoresearch-ideation
Search academic literature and generate research hypotheses.
scienceworld-animal-identifier
Use when the agent needs to locate, identify, and focus on a specific animal or biological entity in the ScienceWorld environment. This skill handles tasks involving animal comparison, examination, or interaction (such as determining lifespan extremes) by navigating to the correct location with "teleport to"…
scienceworld-measurement-taker
Use when the agent needs to measure a quantitative property (temperature, weight, pH) of a target object or substance using a measurement tool. This skill covers acquiring the tool, preparing both tool and target with focus actions, executing the measurement via "use [TOOL] on [TARGET]", and interpreting the resulting…
scienceworld-object-selector
Use when the agent needs to choose a specific object from multiple candidates in the environment based on task criteria such as object type (non-living thing, electrical component, container), properties, or category. This skill surveys visible objects with "look around", evaluates each against the task requirements…