Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Workflow 1.5: Bridge between idea discovery and auto review. Reads EXPERIMENT_PLAN.md, implements experiment code, deploys to GPU, collects initial results. Use when user says "实现实验", "implement experiments", "bridge", "从计划到跑实验", "deploy the plan", or has an experiment plan ready to execute.
.claude/skills/brycewang-stanford-experiment-bridge/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 3198% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 18% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 118% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 119% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 68% | 0% |
Implement and deploy experiments from plan: $ARGUMENTS
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 → deploy → collect → initial results ready
refine-logs/EXPERIMENT_TRACKER.md code /run-experiment for /auto-review-loop
refine-logs/FINAL_PROPOSAL.mdfalse to review code before deploying.true, prefer IDEA_CANDIDATES.md over the full IDEA_REPORT.md, and append completed runs to EXPERIMENT_LOG.md.> Override: /experiment-bridge "EXPERIMENT_PLAN.md" — compact: true, base repo: https://github.com/org/project
This skill expects one or more of:
refine-logs/EXPERIMENT_PLAN.md (best) — claim-driven experiment roadmap from /experiment-planrefine-logs/EXPERIMENT_TRACKER.md — run-by-run execution tablerefine-logs/FINAL_PROPOSAL.md — method description for implementation contextIDEA_CANDIDATES.md — compact idea summary (preferred when COMPACT = true)IDEA_REPORT.md — fallback if refine-logs don't existIf none exist, ask the user what experiments to implement.
Read EXPERIMENT_PLAN.md and extract:
FINAL_PROPOSAL.md — what exactly to implementPresent a brief summary:
📋 Experiment plan loaded:
- Milestones: [N] (sanity → baseline → main → ablation)
- Must-run experiments: [N]
- Nice-to-have: [N]
- Estimated GPU-hours: [X]
Proceeding to implementation.If BASE_REPO is set — clone the repo first:
bashgit clone <BASE_REPO> base_repo/
For each milestone (in order), write the experiment scripts:
base_repo/) for existing experiment scripts, model code, and data loaders. Reuse as much as possible.Before deploying the full experiment suite, run the sanity-stage experiment:
/run-experiment [sanity experiment command]Wait for completion. Verify:
If sanity fails → fix the code, re-run. Do not proceed to full deployment with broken code.
Deploy experiments following the plan's milestone order:
/run-experiment [experiment commands]For each milestone:
/monitor-experiment to track progress🚦 Checkpoint (if AUTO_DEPLOY = false):
🔧 Code implementation complete. Ready to deploy:
Milestone 0 (sanity): [status — passed/pending]
Milestone 1 (baseline): [N experiments, ~X GPU-hours]
Milestone 2 (main method): [N experiments, ~X GPU-hours]
Milestone 3 (ablations): [N experiments, ~X GPU-hours]
Total estimated: ~X GPU-hours on [N] GPUs
Deploy now? Or review the code first?As experiments complete:
/training-check to detect NaN, loss divergence, plateaus, or overfitting. If W&B is not configured, skip silently.refine-logs/EXPERIMENT_TRACKER.md — fill in Status and Notes columnsmarkdown# Initial Experiment Results **Date**: [today] **Plan**: refine-logs/EXPERIMENT_PLAN.md ## Results by Milestone ### M0: Sanity — PASSED - [result] ### M1: Baselines | Run | System | Key Metric | Status | |-----|--------|-----------|--------| | R001 | baseline_1 | X.XX | DONE | ### M2: Main Method | Run | System | Key Metric | Status | |-----|--------|-----------|--------| | R003 | our_method | X.XX | DONE | ### M3: Ablations ... ## Summary - [X/Y] must-run experiments completed - Main result: [positive/negative/inconclusive] - Ready for /auto-review-loop: [YES/NO] ## Next Step → /auto-review-loop "[topic]"
Skip entirely if COMPACT is false.
Append each completed experiment to EXPERIMENT_LOG.md:
markdown## [Run ID] — [timestamp] - **System**: [method name] - **Config**: [key hyperparameters] - **Result**: [primary metric = X.XX] - **Verdict**: [positive / negative / inconclusive] - **Reproduce**: `python train.py --config configs/run_id.yaml --seed 42`
After main experiments (M2) complete with positive results, invoke /ablation-planner to design ablation studies:
refine-logs/EXPERIMENT_PLAN.md and refine-logs/EXPERIMENT_TRACKER.mdIf /ablation-planner is unavailable, skip silently.
Present final status:
🔬 Experiment bridge complete:
- Implemented: [N] experiment scripts
- Deployed: [N] experiments on [M] GPUs
- Completed: [X/Y] must-run, [A/B] nice-to-have
- Main result: [one sentence]
Results: refine-logs/EXPERIMENT_RESULTS.md
Tracker: refine-logs/EXPERIMENT_TRACKER.md
Ready for Workflow 2:
→ /auto-review-loop "[topic]"cat << 'EOF' > file) to write in chunks. Do NOT ask the user for permission — just do it silently.EXPERIMENT_TRACKER.md should reflect real status after each run completes./idea-discovery "direction" ← Workflow 1: find + refine + plan
/experiment-bridge ← you are here (Workflow 1.5: implement + deploy)
/auto-review-loop "topic" ← Workflow 2: review + iterate
/paper-writing "NARRATIVE_REPORT.md" ← Workflow 3: write the paper
Or use /research-pipeline for the full end-to-end flow (includes this bridge).| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 8,886 | 9,641 | +8% | 1 | 1 | 0% | 249 | 2,744 | +1002% | 0 | 0 | — |
case-02 | fail→pass | 3,066 | 25,277 | +724% | 1 | 1 | 0% | 248 | 8,178 | +3198% | 0 | 0 | — |
case-03 | fail→fail | 4,187 | 3,073 | -27% | 1 | 1 | 0% | 245 | 2,691 | +998% | 0 | 0 | — |
case-04 | fail→fail | 5,275 | 4,165 | -21% | 1 | 1 | 0% | 1,044 | 2,775 | +166% | 0 | 0 | — |
case-05 | fail→pass | 14,027 | 5,176 | -63% | 1 | 1 | 0% | 2,839 | 3,353 | +18% | 0 | 0 | — |
case-06 | fail→fail | 18,266 | 2,856 | -84% | 1 | 1 | 0% | 4,302 | 2,756 | -36% | 0 | 0 | — |
case-07 | pass→fail | 10,791 | 5,501 | -49% | 1 | 1 | 0% | 2,351 | 2,916 | +24% | 0 | 0 | — |
case-08 | fail→fail | 8,793 | 5,059 | -42% | 1 | 1 | 0% | 1,999 | 2,785 | +39% | 0 | 0 | — |
case-09 | pass→pass | 10,333 | 2,971 | -71% | 1 | 1 | 0% | 1,786 | 2,997 | +68% | 0 | 0 | — |
case-10 | fail→pass | 7,123 | 1,991 | -72% | 1 | 1 | 0% | 1,316 | 2,867 | +118% | 0 | 0 | — |
case-11 | pass→pass | 9,738 | 2,840 | -71% | 1 | 1 | 0% | 1,642 | 3,069 | +87% | 0 | 0 | — |
case-12 | fail→pass | 9,325 | 5,970 | -36% | 1 | 1 | 0% | 1,572 | 3,444 | +119% | 0 | 0 | — |
case-13 | fail→pass | 11,391 | 5,793 | -49% | 1 | 1 | 0% | 2,134 | 3,591 | +68% | 0 | 0 | — |
case-14 | fail→fail | 7,243 | 5,345 | -26% | 1 | 1 | 0% | 1,475 | 2,804 | +90% | 0 | 0 | — |
case-15 | fail→fail | 13,568 | 9,376 | -31% | 1 | 1 | 0% | 2,752 | 4,241 | +54% | 0 | 0 | — |
case-16 | fail→pass | 3,267 | 2,436 | -25% | 1 | 1 | 0% | 652 | 2,999 | +360% | 0 | 0 | — |
case-17 | pass→pass | 3,242 | 4,017 | +24% | 1 | 1 | 0% | 528 | 3,260 | +517% | 0 | 0 | — |
case-18 | pass→pass | 11,352 | 5,650 | -50% | 1 | 1 | 0% | 2,195 | 3,554 | +62% | 0 | 0 | — |
case-19 | fail→pass | 10,008 | 2,599 | -74% | 1 | 1 | 0% | 1,756 | 3,004 | +71% | 0 | 0 | — |
case-20 | fail→fail | 4,599 | 5,363 | +17% | 1 | 1 | 0% | 226 | 2,788 | +1134% | 0 | 0 | — |
case-21 | fail→fail | 31,799 | 4,601 | -86% | 1 | 1 | 0% | 6,191 | 2,787 | -55% | 0 | 0 | — |
case-22 | fail→fail | 3,246 | 4,766 | +47% | 1 | 1 | 0% | 184 | 2,713 | +1374% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 11 counted toward the lift figure. The other 11 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +27 percentage points is the difference between those two pass rates over the 11 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 8/8/2026 | +23% |
Other measured skills in the registry, with their headline benchmark lift.