원클릭으로
migrate-to-ubuntu-slim
This skill should be used when the user asks to "migrate to ubuntu-slim".
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
This skill should be used when the user asks to "migrate to ubuntu-slim".
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Ask OpenAI Codex CLI for an autonomous second AI opinion. "ask codex", "codex と相談" などで起動。
Request GitHub Copilot review on a Pull Request. "PR レビュー依頼", "copilot review" などで起動。
Extract VTT transcript from a Zoom recording share page. "zoom transcript", "zoom 文字起こし" などで起動。
Download the video (MP4) from a Zoom recording share page. "zoom video download", "zoom 録画 ダウンロード", "zoom 動画 ダウンロード" などで起動。
Round-trip code review through difit. Use when the user mentions "difit", "diff review", "open the diff", "let me look at this", or "review this PR locally". Launch mode arg — "open" (default, no comments at launch), "explain" (AI annotates its own change), "review" (AI posts findings on human code).
Stop tool execution before exhausting your Claude usage — set a 5h/7d usage-% or per-session cost threshold.
| name | migrate-to-ubuntu-slim |
| description | This skill should be used when the user asks to "migrate to ubuntu-slim". |
| allowed-tools | Bash, Read, Edit, Glob, Grep |
| user-invocable | true |
Analyze GitHub Actions workflows and migrate eligible jobs from ubuntu-latest to ubuntu-slim for cost optimization.
ubuntu-slim is a lightweight, single-CPU GitHub-hosted runner optimized for lightweight operations:
| Specification | ubuntu-slim | ubuntu-latest |
|---|---|---|
| CPU | 1 | 4 |
| Memory | 5 GB | 16 GB |
| Storage | 14 GB | 14 GB |
| Timeout | 15 min | 6 hours |
| Cost (public) | Free | Free |
Best suited for: automation tasks, issue operations, short-running jobs, linting, simple tests.
First, discover all workflows and create a task list.
ls .github/workflows/*.yml .github/workflows/*.yaml 2>/dev/null || true
For each workflow, perform TWO checks:
Run the analysis script:
${CLAUDE_PLUGIN_ROOT}/skills/migrate-to-ubuntu-slim/scripts/analyze-workflow-duration.sh <workflow-file>
Output: workflow n mean stddev mean+2σ migration reason
migration: yes, no, or - (unknown)reason: Human-readable explanation of the decisionCriteria: mean + 2σ < 420 seconds (7 minutes). This allows 2x slowdown on ubuntu-slim (1 CPU vs 4 CPU) while staying under 15-minute timeout.
Read the workflow YAML and check for incompatible patterns.
Run a quick keyword scan to surface suspicious commands:
${CLAUDE_PLUGIN_ROOT}/skills/migrate-to-ubuntu-slim/scripts/check-slim-compat.sh <workflow-file>
Review matched lines and check if the workflow installs the tool before using it. If not, keep ubuntu-latest or add explicit install steps. Note: this script only checks for common CLI tools. Manually verify the patterns listed below (e.g., services:, container:).
Reject if ANY found:
| Pattern | Reason |
|---|---|
services: | Docker service containers not supported |
container: | Custom container images may not work |
docker build, docker push, docker compose, docker-compose | Docker is NOT available (container-based runner) |
| CLI tools not in preinstalled list | Missing tools require explicit install or use ubuntu-latest |
cargo build, go build, make -j | Heavy compilation too slow on 1 CPU |
npm run build, webpack, tsc --build | Frontend builds may be slow |
java, gradle, maven, mvn | JVM needs more memory |
Large matrix: strategy | Each job must still meet runtime criteria |
Good candidates:
eslint, ruff, golangci-lint)prettier, black)Mark workflow as:
Update todo: mark "Analyze workflow: " as completed.
After analyzing all workflows, present summary:
## Migration Plan
### Eligible:
| Workflow | mean+2σ | Note |
|----------|---------|------|
| test.yml | 198s | Simple pytest |
| lint.yml | 51s | ruff check |
### Not eligible:
| Workflow | Reason |
|----------|--------|
| build.yml | Uses services: postgres |
| e2e.yml | mean+2σ=920s exceeds limit |
Ask user: "Proceed with migration?"
After user confirmation, edit each eligible workflow file:
# Before
runs-on: ubuntu-latest
# After
runs-on: ubuntu-slim
Update todo as each file is edited.
git diff .github/workflows/
chore(ci): migrate eligible jobs to ubuntu-slim runner
Note: ubuntu-slim runs as a container (not a full VM) and is available for both public and private repositories.