Senior DevOps Toolkit
maslennikov-ig/claude-code-orchestrator-kit
Comprehensive DevOps skill for CI/CD, infrastructure automation, containerization, and cloud platforms (AWS, GCP, Azure). Includes pipeline setup…
Deploy to EC2 production server. An agent skill from adam-s/intercept.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add adam-s/intercept --skill ec2-deploy -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install adam-s/intercept ec2-deploy --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/adam-s/intercept.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/ec2-deploy .claude/skills/ec2-deploy && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ec2-deploy" agent skill from https://github.com/adam-s/intercept/tree/main/.claude/skills/ec2-deploy into .claude/skills/ec2-deploy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ec2-deploy", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/adam-s/intercept/tree/main/.claude/skills/ec2-deployType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add adam-s/intercept --skill ec2-deploy -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install adam-s/intercept ec2-deploy --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adam-s/intercept.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/ec2-deploy .agents/skills/ec2-deploy && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ec2-deploy" agent skill from https://github.com/adam-s/intercept/tree/main/.claude/skills/ec2-deploy into .agents/skills/ec2-deploy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ec2-deploy", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add adam-s/intercept --skill ec2-deploy -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install adam-s/intercept ec2-deploy --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adam-s/intercept.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/ec2-deploy .cursor/skills/ec2-deploy && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ec2-deploy" agent skill from https://github.com/adam-s/intercept/tree/main/.claude/skills/ec2-deploy into .cursor/skills/ec2-deploy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ec2-deploy", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/adam-s/intercept.git --path .claude/skills/ec2-deploy--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add adam-s/intercept --skill ec2-deploy -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install adam-s/intercept ec2-deploy --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adam-s/intercept.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/ec2-deploy .gemini/skills/ec2-deploy && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ec2-deploy" agent skill from https://github.com/adam-s/intercept/tree/main/.claude/skills/ec2-deploy into .gemini/skills/ec2-deploy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ec2-deploy", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install adam-s/intercept ec2-deployInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add adam-s/intercept --skill ec2-deploy -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/adam-s/intercept.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/ec2-deploy .github/skills/ec2-deploy && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ec2-deploy" agent skill from https://github.com/adam-s/intercept/tree/main/.claude/skills/ec2-deploy into .github/skills/ec2-deploy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ec2-deploy", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add adam-s/intercept --skill ec2-deploy -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install adam-s/intercept ec2-deploy --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adam-s/intercept.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/ec2-deploy .opencode/skills/ec2-deploy && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ec2-deploy" agent skill from https://github.com/adam-s/intercept/tree/main/.claude/skills/ec2-deploy into .opencode/skills/ec2-deploy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ec2-deploy", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ec2-deployDeploy to EC2 production server. An agent skill from adam-s/intercept.
Ec2 Deploy is an agent skill from adam-s/intercept. Deploy to EC2 production server. Use when deploying new code, rebuilding Docker images, wiping and reseeding the database, checking container health, or managing the EC2 instance via AWS CLI.
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in DevOps & Cloud, covering Containers and Deployment. It works with Amazon Web Services and Docker. The repository describes itself as: Turn any website into a typed JSON API using self improving agents. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 6451b89. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
dockersshawsgitshpnpmcurlFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use docker, ssh, aws, git, pnpm and curl, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
SSH_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ec2 Deploy loads about 1.9k tokens when it runs. Until then it costs about 51 tokens; SKILL.md has 518 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found patterns that need a careful read before installing.
| `SSH_KEY` | Local SSH private key | `~/.ssh/my-app-prod-key.pem` |- `.env` file is at `$PROJECT_DIR/.env` (not in the Docker image)Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from adam-s/intercept at commit 6451b89, republished under its MIT licence (© adam-s). 518 words, ~1,888 tokens.
.claude/skills/ec2-deploy/SKILL.md (or your agent's skills folder).Check if .claude/user-consent.md exists with ACCEPTED: true. If yes, display: ✅ Prior consent on file (DATE). Proceeding. and skip to "Config."
If not, present the 3 warnings from .claude/skills/instruction-tuning/SKILL.md (ToS, autonomous agents, resource consumption). All 3 must be accepted. Write .claude/user-consent.md on acceptance. This file is shared across all skills that affect external infrastructure.
Manage EC2 instances and Docker Compose services using the AWS CLI and SSH.
Use this skill when asked to:
Configure these values based on your deployment environment. All commands below reference them by name.
| Variable | Description | Example |
|---|---|---|
INSTANCE_NAME | EC2 instance name tag | my-app-prod |
SSH_KEY | Local SSH private key | ~/.ssh/my-app-prod-key.pem |
SSH_USER | OS user on instance | ubuntu (or ec2-user) |
PROJECT_DIR | Git repo root on instance | /home/ubuntu/my-project |
COMPOSE_FILE | Docker Compose config | docker-compose.prod.yml |
DB_USER | Database username | appuser |
DB_NAME | Database name | app_db |
Get your INSTANCE_ID from AWS console or aws ec2 describe-instances --filters "Name=tag:Name,Values=$INSTANCE_NAME".
ALWAYS start here. Never hardcode IPs — use AWS CLI to get the current public IP:
aws ec2 describe-instances \
--filters "Name=instance-state-name,Values=running" \
--query "Reservations[*].Instances[*].{ID:InstanceId,Name:Tags[?Key=='Name']|[0].Value,IP:PublicIpAddress,Type:InstanceType,State:State.Name}" \
--output tableFind your instance name from the output above. If its public IP has changed, this command will always show the current one.
ssh -i $SSH_KEY -o StrictHostKeyChecking=no $SSH_USER@<PUBLIC_IP>$SSH_KEY (configure before use)$SSH_USER (typically ubuntu for Ubuntu, ec2-user for Amazon Linux)$PROJECT_DIR (your git repo path)Verify the key before SSHing:
aws ec2 describe-instances \
--instance-ids $INSTANCE_ID \
--query "Reservations[0].Instances[0].KeyName" \
--output textDocker containers managed via docker-compose.prod.yml:
| Container | Image | Purpose |
|---|---|---|
app_db | timescale/timescaledb or postgres | PostgreSQL database |
app_redis | redis:7-alpine | Job queue (BullMQ) |
app_api | your-app-api (local build) | API server |
app_web | your-app-web (local build) | Frontend (Next.js or similar) |
app_proxy | caddy:2-alpine | Reverse proxy (80/443) |
Key facts:
docker exec or within Docker network.env file is at $PROJECT_DIR/.env (not in the Docker image)docker-compose.prod.ymlWhen only code changes (no schema or seed changes):
ssh -i $SSH_KEY $SSH_USER@<IP> "
cd $PROJECT_DIR
git pull origin main
docker compose -f $COMPOSE_FILE build api web
docker compose -f $COMPOSE_FILE up -d
"When schema changed or a clean slate is needed.
git push origin mainssh -i $SSH_KEY $SSH_USER@<IP> "
cd $PROJECT_DIR && git pull origin main && git log --oneline -3
"ssh -i $SSH_KEY $SSH_USER@<IP> "
docker exec app_db psql -U $DB_USER -d postgres \
-c \"SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname='$DB_NAME' AND pid<>pg_backend_pid();\"
docker exec app_db psql -U $DB_USER -d postgres \
-c 'DROP DATABASE IF EXISTS $DB_NAME;'
docker exec app_db psql -U $DB_USER -d postgres \
-c 'CREATE DATABASE $DB_NAME OWNER $DB_USER;'
"ssh -i $SSH_KEY $SSH_USER@<IP> "
cd $PROJECT_DIR
docker compose -f $COMPOSE_FILE stop api web
"ssh -i $SSH_KEY $SSH_USER@<IP> "
cd $PROJECT_DIR
docker compose -f $COMPOSE_FILE build api web
"Takes 3–8 minutes depending on dependency installations.
ssh -i $SSH_KEY $SSH_USER@<IP> "
cd $PROJECT_DIR
docker compose -f $COMPOSE_FILE run --rm --no-deps api \
sh -c 'cd /app && pnpm run db:migrate && pnpm run db:seed'
"Adjust migration/seed commands to match your project setup.
ssh -i $SSH_KEY $SSH_USER@<IP> "
cd $PROJECT_DIR
docker compose -f $COMPOSE_FILE up -d
"# Container health
ssh -i $SSH_KEY $SSH_USER@<IP> \
"docker ps --format 'table {{.Names}}\t{{.Status}}'"
# API health
curl -s https://your-domain.com/api/health
# DB check
ssh -i $SSH_KEY $SSH_USER@<IP> "
docker exec app_db psql -U $DB_USER -d $DB_NAME -c 'SELECT COUNT(*) FROM information_schema.tables;'
"ssh -i $SSH_KEY $SSH_USER@<IP> \
"docker exec app_db psql -U $DB_USER -d $DB_NAME -c 'SELECT COUNT(*) FROM users;'"ssh -i $SSH_KEY $SSH_USER@<IP> \
"docker logs app_api --tail 50 -f"ssh -i $SSH_KEY $SSH_USER@<IP> "
cd $PROJECT_DIR
docker compose -f $COMPOSE_FILE run --rm --no-deps api \
sh -c 'pnpm run scripts/my-script.ts'
"| Issue | Likely Cause | Fix |
|---|---|---|
docker exec app_db psql fails | postgres not running or wrong container name | Check docker ps to see running containers, update app_db name |
DROP DATABASE hangs | connections still open | Run terminate step first before DROP |
| SSH auth fails | Wrong key or username | Verify with aws ec2 describe-instances |
| Old code running after deploy | Image not rebuilt | Run docker compose build explicitly |
| Port 3001 already in use (local) | Another app using port | kill $(lsof -t -iTCP:3001 -sTCP:LISTEN) |
# List instances
aws ec2 describe-instances --filters "Name=instance-state-name,Values=running"
# Start/stop
aws ec2 stop-instances --instance-ids $INSTANCE_ID
aws ec2 start-instances --instance-ids $INSTANCE_ID
# Check instance type
aws ec2 describe-instances \
--instance-ids $INSTANCE_ID \
--query "Reservations[0].Instances[0].InstanceType" \
--output text
# Check CPU/memory metrics
aws cloudwatch get-metric-statistics \
--namespace AWS/EC2 \
--metric-name CPUUtilization \
--dimensions Name=InstanceId,Value=$INSTANCE_ID \
--start-time $(date -u -v-1H +%Y-%m-%dT%H:%M:%SZ) \
--end-time $(date -u +%Y-%m-%dT%H:%M:%SZ) \
--period 300 \
--statistics Average \
--output table© adam-s, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/ec2-deploy of adam-s/intercept.
Open the folder on GitHubat commit 6451b89
Ec2 Deploy next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ec2 Deploy this skilladam-s/intercept | 189 | — | ~1.9k | Automated safety check: Warn | MIT | |
| Senior DevOps Toolkitmaslennikov-ig/claude-code-orchestrator-kit | 260 | 6 repos | ~1.1k | Automated safety check: Notes | Custom licence | |
| Aspire DeploymentCommunityToolkit/Aspire | 629 | — | ~4.5k | Automated safety check: Notes | MIT | |
| Deployserithemage/serverless-openclaw | 196 | — | ~898 | Automated safety check: Notes | None | |
| AWS Ecs Fargatesickn33/agentic-awesome-skills | 47k | 2 repos | ~3k | Automated safety check: Pass | MIT | |
| Devops Deploysickn33/agentic-awesome-skills | 47k | 2 repos | ~1.9k | Automated safety check: Pass | MIT |
maslennikov-ig/claude-code-orchestrator-kit
Comprehensive DevOps skill for CI/CD, infrastructure automation, containerization, and cloud platforms (AWS, GCP, Azure). Includes pipeline setup…
CommunityToolkit/Aspire
WORKFLOW SKILL — Deploy Aspire apps from AppHost models to Docker Compose, Kubernetes, Azure, AWS, or preview Radius.
serithemage/serverless-openclaw
Deploys Serverless OpenClaw CDK stacks to AWS. An agent skill from serithemage/serverless-openclaw.
sickn33/agentic-awesome-skills
Deploy containers on ECS and Fargate. An agent skill from sickn33/agentic-awesome-skills.
sickn33/agentic-awesome-skills
DevOps e deploy de aplicacoes — Docker, CI/CD com GitHub Actions, AWS Lambda, SAM, Terraform, infraestrutura como codigo e monitoramento.
jeremylongshore/tons-of-skills-marketplace
Deploy Evernote integrations to production environments. An agent skill from jeremylongshore/tons-of-skills-marketplace.
adam-s/intercept
Discover any website's API and create domain plugins with proxy routes.
adam-s/intercept
Build a complete application from a short description. An agent skill from adam-s/intercept.
adam-s/intercept
Iterative debugging with targeted logs. An agent skill from adam-s/intercept.
adam-s/intercept
Use sub-agents to iteratively improve dashboard-building instructions.
adam-s/intercept
Use sub-agents as test subjects to iteratively improve .claude/ instruction files.
adam-s/intercept
Bottom-up systematic validation for multi-layer architectures.
Works with
Categories
Deploy to EC2 production server. An agent skill from adam-s/intercept. Ec2 Deploy is an agent skill from adam-s/intercept. Deploy to EC2 production server.
Ec2 Deploy fits situations like: deploying new code; rebuilding Docker images; wiping and reseeding the database; checking container health.
Run `npx skills add adam-s/intercept --skill ec2-deploy -a claude-code`. Or copy the skill folder (.claude/skills/ec2-deploy in adam-s/intercept) into .claude/skills/ec2-deploy in your project. Claude Code loads it when a task matches its description.
Run `npx skills add adam-s/intercept --skill ec2-deploy -a codex`. Or copy the skill folder (.claude/skills/ec2-deploy in adam-s/intercept) into .agents/skills/ec2-deploy in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add adam-s/intercept --skill ec2-deploy -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ec2-deploy, .gemini/skills/ec2-deploy, .github/skills/ec2-deploy and .opencode/skills/ec2-deploy in your project.
Going by SKILL.md and its folder, Ec2 Deploy needs the command-line tools its instructions call (docker, ssh, aws, git, sh and pnpm) and credentials named SSH_KEY. Our summary lists: Docker; A credential in SSH_KEY.
SKILL.md contains no URLs. Its commands use docker, ssh, git and curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md flagged 1 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way.
Ec2 Deploy is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Ec2 Deploy: Senior DevOps Toolkit (maslennikov-ig/claude-code-orchestrator-kit, 260 stars), Aspire Deployment (CommunityToolkit/Aspire, 629 stars), Deploy (serithemage/serverless-openclaw, 196 stars) and AWS Ecs Fargate (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
adam-s (a GitHub user) maintains it in adam-s/intercept, which has 189 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on July 31, 2026.
Source: adam-s/intercept on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.