ablation-planner
Use when main results pass result-to-claim (claim_supported=yes or partial) and ablation studies are needed for paper submission.
Deploy and run ML experiments on local, remote, Vast.ai, or Modal serverless GPU. Use when user says "run experiment", "deploy to server", "跑实验", or needs to launch training jobs.
Claude Code
$ npx -y skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill run-experiment --agent claude-code
Codex
$ npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill run-experiment -a codex -y
Cursor
$ npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill run-experiment -a cursor -y
Gemini CLI
$ npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill run-experiment -a gemini-cli -y
GitHub Copilot
$ npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill run-experiment -a github-copilot -y
OpenCode
$ npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill run-experiment -a opencode -y
Windsurf
$ npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill run-experiment -a windsurf -y
name: run-experiment description: Deploy and run ML experiments on local, remote, Vast.ai, or Modal serverless GPU. Use when user says "run experiment", "deploy to server", "跑实验", or needs to launch training jobs. argument-hint: "[experiment-description]" allowed-tools: Bash(*), Read, Grep, Glob, Edit, Write, Skill(serverless-modal)
Deploy and run ML experiment: $ARGUMENTS
Read the project's `CLAUDE.md` to determine the experiment environment:
**Modal detection:** If `CLAUDE.md` has `gpu: modal` or a `## Modal` section, the entire deployment is handled by `/serverless-modal`. Jump to **Step 4: Deploy (Modal)** — Steps 2-3 are not needed (Modal handles code sync and GPU allocation automatically).
**Environment contract** (`../shared-references/compute-env-contract.md`): read existing server notes or the provider's ledger before preparing the environment. Reuse the user's confirmed conda/venv and working command; a missing ARIS ledger does not require rebuilding. If no relevant validation exists, run one small, task-relevant smoke in that environment and record the command and actual output. Reuse prior validation when the environment and execution path have not changed. New or rebuilt environments need the spec, import/kernel checks and a fresh agent-follows-doc pass once setup is stable; substantive installation or invocation changes need the affected checks. Plain prose/log edits do not trigger a rebuild or fresh recheck. This execution evidence does not replace research acceptance.
**Preparation failures:** carry the same failure, attempted fixes and remaining budget across child skills in the existing run notes/tracker. After two targeted repairs to the same environment problem make no new progress, stop repeating preparation and return the exact command/error to the main owner for takeover or an authorized alternative. Missing permissions, authentication, network access or a compatible driver are environment prerequisites, not reasons to rewrite the training script. Keep the original code-sanity retry budget and reviewer gates.
**Vast.ai detection priority:** 1. If `CLAUDE.md` has `gpu: vast` or a `## Vast.ai` section:
2. If no server info is found in `CLAUDE.md`, ask the user.
Check GPU availability on the target machine:
**Remote (SSH):**
ssh <server> nvidia-smi --query-gpu=index,memory.used,memory.total --format=csv,noheader
**Remote (Vast.ai):**
ssh -p <PORT> root@<HOST> nvidia-smi --query-gpu=index,memory.used,memory.total --format=csv,noheader
(Read `ssh_host` and `ssh_port` from `vast-instances.json`, or run `vastai ssh-url <INSTANCE_ID>` which returns `ssh://root@HOST:PORT`)
**Local:**
nvidia-smi --query-gpu=index,memory.used,memory.total --format=csv,noheader
# or for Mac MPS:
python -c "import torch; print('MPS available:', torch.backends.mps.is_available())"Free GPU = memory.used < 500 MiB.
Check the project's `CLAUDE.md` for a `code_sync` setting. If not specified, default to `rsync`.
Prefer the project's existing deployment command or explicit file list. Otherwise, allow directory traversal and include the configuration/small resources read by the actual experiment command, alongside Python sources. For example:
rsync -avz --prune-empty-dirs \ --exclude='.*' --exclude='__pycache__/' --exclude='/venv/' --exclude='/env/' \ --exclude='data/' --exclude='datasets/' --exclude='weights/' \ --exclude='checkpoints/' --exclude='outputs/' --exclude='wandb/' \ --include='*/' --include='*.py' \ --include='/configs/sanity.json' --include='/assets/vocab.json' \ --exclude='*' "<local_src>/" "<server>:<remote_dst>/"
Replace the two explicit config/resource paths with those your command needs; add other required small files explicitly. Keep exclusions before directory/file includes, and add project-specific private paths there. Hidden agent/config files, data, weights and outputs stay out of this example. Use the project source root, not the user's home directory; do not replace these rules with an unfiltered copy. A successful sync exit is not a launch check: run the smallest actual experiment from the configured remote code directory and inspect its log and result file.
Push local changes to remote repo, then pull on the server:
# 1. Push from local git add -A && git commit -m "sync: experiment deployment" && git push # 2. Pull on server ssh <server> "cd <remote_dst> && git pull"
Benefits: version-tracked, multi-server sync with one push, no rsync include/exclude rules needed.
Sync code to the vast.ai instance (always rsync, code dir is `/workspace/project/`):
rsync -avz -e "ssh -p <PORT>" \ --include='*.py' --include='*.yaml' --include='*.yml' --include='*.json' \ --include='*.txt' --include='*.sh' --include='*/' \ --exclude='*.pt' --exclude='*.pth' --exclude='*.ckpt' \ --exclude='__pycache__' --exclude='.git' --exclude='data/' \ --exclude='wandb/' --exclude='outputs/' \ ./ root@<HOST>:/workspace/project/
Install dependencies per the env contract
· · · · · · · · 💬 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…