Install any skill in seconds. Free to start, no credit card required.
Get Started Free →ML paper pipeline: experiment design to submission.
.claude/skills/hezaohezao-research-paper-writing/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✓→✓ | = Same ✓ | 35% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 43% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 39% | 0% |
| case-06 | ✓→✓ | = Same ✓ | 57% | 0% |
| case-07 | ✓→✓ | = Same ✓ | 54% | 0% |
End-to-end pipeline for producing publication-ready ML/AI research papers targeting NeurIPS, ICML, ICLR, ACL, AAAI, COLM. Covers the full research lifecycle: experiment design, execution, analysis, paper writing, review, revision, and submission.
This is not a linear pipeline — it is an iterative loop. Results trigger new experiments. Reviews trigger new analysis.
Phase 0: Project Setup → Phase 1: Literature Review
│ │
▼ ▼
Phase 2: Experiment Phase 5: Paper Drafting ◄──┐
Design │ │
│ ▼ │
▼ Phase 6: Self-Review │
Phase 3: Execution & Revision ───────────┘
& Monitoring │
│ ▼
▼ Phase 7: Submission
Phase 4: Analysis project/ ├── experiments/ ├── data/ ├── src/ ├── paper/ │ ├── main.tex │ ├── figures/ │ └── references.bib └── README.md
arxiv skill to find related workweb_search for non-arXiv papers (Semantic Scholar, Google Scholar)browse_page to read key papers in fullreferences.bib with all cited worksbash# Run experiments python src/train.py --config configs/exp1.yaml # Monitor with logging python src/train.py --config configs/exp1.yaml --log-dir runs/exp1 # Track experiments python src/eval.py --checkpoint runs/exp1/best.pt --eval-set test
bash python src/plot.py --results runs/ --output paper/figures/
Follow venue template structure:
Writing principles:
Use academic-paper-review skill to self-review:
bash# Multiple seeds — compute mean ± std python3 -c " import numpy as np results = [0.85, 0.83, 0.86, 0.84, 0.82] # per-seed results print(f'Mean: {np.mean(results):.4f} ± {np.std(results):.4f}') " # Paired t-test vs baseline python3 -c " from scipy import stats baseline = [0.80, 0.79, 0.81, 0.78, 0.80] ours = [0.85, 0.83, 0.86, 0.84, 0.82] t, p = stats.ttest_rel(ours, baseline) print(f't={t:.3f}, p={p:.4f}') "
proactively.
This skill benefits from: numpy, scipy, matplotlib (analysis + plots). Install via pip install numpy scipy matplotlib.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 24,363 | 24,867 | +2% | 1 | 1 | 0% | 3,678 | 5,317 | +45% | 0 | 0 | — |
case-02 | fail→fail | 26,943 | 50,250 | +87% | 1 | 1 | 0% | 4,015 | 6,751 | +68% | 0 | 0 | — |
case-03 | pass→pass | 35,185 | 24,145 | -31% | 1 | 1 | 0% | 3,553 | 4,803 | +35% | 0 | 0 | — |
case-04 | pass→pass | 17,936 | 18,276 | +2% | 1 | 1 | 0% | 2,688 | 3,845 | +43% | 0 | 0 | — |
case-05 | pass→pass | 55,757 | 28,465 | -49% | 1 | 1 | 0% | 4,217 | 5,843 | +39% | 0 | 0 | — |
case-06 | pass→pass | 14,842 | 15,260 | +3% | 1 | 1 | 0% | 2,257 | 3,549 | +57% | 0 | 0 | — |
case-07 | pass→pass | 33,679 | 15,596 | -54% | 1 | 1 | 0% | 2,563 | 3,952 | +54% | 0 | 0 | — |
case-08 | pass→pass | 7,158 | 5,706 | -20% | 1 | 1 | 0% | 1,398 | 2,268 | +62% | 0 | 0 | — |
case-09 | pass→pass | 12,868 | 10,358 | -20% | 1 | 1 | 0% | 1,836 | 2,772 | +51% | 0 | 0 | — |
case-10 | pass→pass | 13,792 | 12,912 | -6% | 1 | 1 | 0% | 1,749 | 3,136 | +79% | 0 | 0 | — |
case-11 | pass→pass | 13,902 | 12,359 | -11% | 1 | 1 | 0% | 2,233 | 2,902 | +30% | 0 | 0 | — |
case-12 | fail→fail | 19,325 | 20,497 | +6% | 1 | 1 | 0% | 2,801 | 4,754 | +70% | 0 | 0 | — |
case-13 | pass→pass | 26,775 | 26,461 | -1% | 1 | 1 | 0% | 3,056 | 4,320 | +41% | 0 | 0 | — |
case-14 | pass→pass | 13,374 | 13,366 | -0% | 1 | 1 | 0% | 1,941 | 3,405 | +75% | 0 | 0 | — |
case-15 | pass→pass | 13,594 | 12,032 | -11% | 1 | 1 | 0% | 1,837 | 3,113 | +69% | 0 | 0 | — |
case-16 | pass→pass | 17,793 | 5,981 | -66% | 1 | 1 | 0% | 2,475 | 2,158 | -13% | 0 | 0 | — |
case-17 | pass→pass | 13,841 | 8,741 | -37% | 1 | 1 | 0% | 1,916 | 2,579 | +35% | 0 | 0 | — |
case-18 | pass→pass | 8,992 | 3,356 | -63% | 1 | 1 | 0% | 1,200 | 1,756 | +46% | 0 | 0 | — |
case-19 | pass→pass | 11,102 | 9,083 | -18% | 1 | 1 | 0% | 1,532 | 2,886 | +88% | 0 | 0 | — |
case-20 | pass→pass | 13,534 | 12,673 | -6% | 1 | 1 | 0% | 1,862 | 3,083 | +66% | 0 | 0 | — |
case-21 | pass→pass | 15,208 | 10,542 | -31% | 1 | 1 | 0% | 2,352 | 3,204 | +36% | 0 | 0 | — |
case-22 | pass→pass | 18,617 | 38,800 | +108% | 1 | 1 | 0% | 2,679 | 3,851 | +44% | 0 | 0 | — |
case-23 | pass→pass | 16,468 | 38,304 | +133% | 1 | 1 | 0% | 2,434 | 4,168 | +71% | 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. 23 cases were attempted. The headline lift of 0 percentage points is the difference between those two pass rates over the 23 comparable cases.
Other measured skills in the registry, with their headline benchmark lift.