ablation-planner
Use when main results pass result-to-claim (claim_supported=yes or partial) and ablation studies are needed for paper submission.
Periodically check WandB metrics during training to catch problems early (NaN, loss divergence, idle GPUs). Avoids wasting GPU hours on broken runs. Use when training is running and you want automated health checks.
Claude Code
$ npx -y skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill training-check --agent claude-code
Codex
$ npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill training-check -a codex -y
Cursor
$ npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill training-check -a cursor -y
Gemini CLI
$ npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill training-check -a gemini-cli -y
GitHub Copilot
$ npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill training-check -a github-copilot -y
OpenCode
$ npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill training-check -a opencode -y
Windsurf
$ npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill training-check -a windsurf -y
name: training-check description: Periodically check WandB metrics during training to catch problems early (NaN, loss divergence, idle GPUs). Avoids wasting GPU hours on broken runs. Use when training is running and you want automated health checks. argument-hint: "[wandb-run-path]" allowed-tools: Bash(*), Read, Grep, Glob, Write, Edit, mcp__codex__codex, mcp__codex__codex-reply, mcp__antigravity__antigravity, mcp__antigravity__antigravity-reply, mcp__grok__grok, mcp__grok__grok-reply, mcp__claude-review__review, mcp__claude-review__review_reply, mcp__claude-review__review_start, mcp__claude-review__review_reply_start, mcp__claude-review__review_status
> **Before each reviewer slot**, follow [Selectable Reviewers](../shared-references/reviewer-backends.md): > resolve invocation → `.aris/reviewer.json` → Claude Code default (Codex MCP) > with `reviewer_route.py` through the canonical helper resolver, preserving this > slot's tier, fresh contexts, source/image inputs and deterministic gates. > Codex examples/pins below apply only to `backend=codex`; other routes use their > own first-call/reply contract. Save the route and actual returned identity; > unavailable selections are `REVIEW_UNAVAILABLE`. Classify acceptance from actual > families/completion/scope. Forward invocation reviewer/model/effort overrides > to reviewer-bearing children. Generation workers are unchanged.
Periodically read WandB metrics during training to catch problems early. Do not wait until training finishes to discover it was a waste of GPU time.
> ⏱ This skill is **correctly** cron-wired (see below): it polls > machine-checkable training health (NaN / divergence / idle GPU) — the additive > external-wait shape in > [`shared-references/external-cadence.md`](../shared-references/external-cadence.md). > The occasional Codex call for an ambiguous metric is a **one-shot** check per > tick, not a multi-round verdict loop, so it stays additive — it never grows > into a wrapped verdict skill.
import wandb
api = wandb.Api()
run = api.run("<entity>/<project>/<run_id>")
history = run.history()If WandB is unreachable (API error, network issue), fall back to reading the log file directly via SSH:
ssh server "tail -100 /path/to/training.log"
Check these signals:
| Signal | Judgment | Action | |--------|----------|--------| | NaN/Inf in loss | **Clearly bad** | Stop training, investigate | | Loss diverging (increasing for >N steps) | **Clearly bad** | Stop training, investigate | | Eval metrics significantly worse than baseline | **Clearly bad** | Stop training, investigate | | Loss decreasing, metrics improving | **Clearly fine** | Continue, increase check interval | | Loss flat but not diverging | **Unsure** | → Step 3 (Codex judgment) | | Metrics noisy, can't tell trend | **Unsure** | → Step 3 (Codex judgment) | | Slightly worse than baseline but still early | **Unsure** | → Step 3 (Codex judgment) |
Only escalate to Codex when the signal is ambiguous. For clearly good or clearly bad signals, act directly.
> Resolve this reviewer slot first; the following is the `backend=codex` example.
mcp__codex__codex:
model: gpt-6-astra
config: {"model_reasoning_effort": "xhigh"}
prompt: |
TRAINING HEALTH CHECK — need your judgment on ambiguous metrics.
Run: <entity>/<project>/<run_id>
Current epoch/step: X / Y total
Training loss (last 10 checkpoints): [values]
Eval metrics (last 3 evals): [values]
Baseline reference: [numbers from paper/reproduction]
What I'm unsure about: [specific concern]
Please respond with exactly one of:
- STOP: clearly problematic, should kill training
- CONTINUE: looks fine, check again next interval
- WAIT: not enough data to judge, check again sooner| Decision | Action | |----------|--------| | **Stop** | Kill the training session. Save the WandB run URL, key metrics, and reason for stopping. Log to project notes for debugging. | | **Continue** | Do nothing. Will be invoked again at next interval (increase interval if consistently healthy). | | **Wait** | Do nothing but keep the current short interval (don't increase). |
Training-check and [watchdog.py](../../tools/watchdog.py) operate at different levels:
| Layer | Tool | What it checks | Frequency | |-------|------|----------------|-----------| | Process health | watchdog.py | Session alive? GPU active? | Every 60s (continuous) | | Training quality | training-check | Loss trend? Metrics improving? | Every 10-60 min (periodic) |
Use both together:
· · · · · · · · 💬 Join Community · 🌱 ARIS is a methodology, not a platform. What matters is the research workflow — take it wherever you go.
Use when main results pass result-to-claim (claim_supported=yes or partial) and ablation studies are needed for paper submission.
Quick single-paper lookup via AlphaXiv LLM-optimized summaries with tiered source fallback. Use when user says "explain this…
Analyze ML experiment results, compute statistics, generate comparison tables and insights. Use when user says "analyze results",…
Search, download, and summarize academic papers from arXiv. Use when user says "search arxiv", "download paper", "fetch arxiv",…
Autonomously improve a generated paper via GPT-6-Astra xhigh review → implement fixes → recompile, for 2 rounds. Use when user…
Autonomous research review loop using any OpenAI-compatible LLM API. Configure via llm-chat MCP server or environment variables.…
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…