A Claude Code agent skill (ddps-sky-run) by DDPS Lab for running lab experiments on
SkyPilot.
Describe an experiment in natural language — the skill asks only for what is missing,
generates a SkyPilot YAML from lab-validated templates, shows the instance/cost
table, and launches only after you approve (it never passes -y).
pip install skypilot
aws configure # your own cloud credentials; sky runs locally and reads them
sky check aws # must show "enabled"
claude plugin marketplace add ddps-lab/skypilot-agent-skill
claude plugin install ddps-sky-run@skypilot-agent-skill --scope project--scope project activates the plugin ONLY for the current project (recorded in the
project's .claude/settings.json, so repo collaborators get it too). Use
--scope local for project-only AND personal (not committed), or omit the flag /
choose User scope for all your projects.
(Or interactively: run /plugin inside Claude Code, open the Discover tab, and
install ddps-sky-run from the skypilot-agent-skill marketplace — the scope
picker appears at install time.)
Then run claude in your own project and describe the experiment, e.g.:
"OLMoE 모델을 EP로 서빙 테스트하고 싶어. GPU는 L4 1장짜리 노드 2개."
The skill classifies the workload (online serving / offline inference / training), interviews you for the missing fields, and walks you to the cost-approval prompt.
| Template | Layout | Status |
|---|---|---|
online-ep-2node.yaml |
2 nodes x L4:1 — TP=1 x DP=2, EP=2 (experts split across nodes) | VERIFIED (2026-07-22, vllm 0.25.1, spot) |
online-ep-tp.yaml |
1 node x L4:4 — TP=2 x DP=2, EP=4 | pending (needs 48-vCPU spot quota) |
online-ep-dp.yaml |
1 node x L4:4 — TP=1 x DP=4, EP=4 | pending (same quota) |
offline-inference-gpu.yaml |
L4:1 managed job — latency percentiles to S3, auto-teardown | runnable |
offline-inference-neuron.yaml |
Inferentia + custom AMI skeleton | placeholders (AMI id/region/command) |
.claude-plugin/marketplace.json marketplace catalog -> ./agent
agent/
.claude-plugin/plugin.json plugin manifest
skills/ddps-sky-run/
SKILL.md trigger + behavior rules (the skill itself)
references/
gotchas.md 12 field-tested pitfall rules
upstream.md routing to official SkyPilot reference docs
templates/ the 5 templates above
EXPERIMENT.md validation runbook (how templates get VERIFIED)
- Templates ship only after passing their
EXPERIMENT.mdphase. A template that has not been run for real does not get published (skeletons are marked as such). - Every real failure becomes a rule. The 12 entries in
references/gotchas.mdwere each hit in an actual run (secrets semantics, mount modes, quota shapes, KV-cache preallocation, ...) and are applied to every generated config. - Out-of-template requests route to the official SkyPilot reference docs via
references/upstream.md; lab rules take precedence on conflicts, and such configs are flagged as not yet lab-validated. - Cost gate is non-negotiable. The skill never bypasses SkyPilot's "Considered resources" Y/n prompt.