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…
ECS deployment tool - deploy, manage, and troubleshoot ECS services
$ npx skills add kayac/ecspresso --skill ecspresso -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install kayac/ecspresso ecspresso --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/kayac/ecspresso.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ecspresso .claude/skills/ecspresso && 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 "ecspresso" agent skill from https://github.com/kayac/ecspresso/tree/v2/skills/ecspresso into .claude/skills/ecspresso/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ecspresso", 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/kayac/ecspresso/tree/v2/skills/ecspressoType 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 kayac/ecspresso --skill ecspresso -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install kayac/ecspresso ecspresso --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kayac/ecspresso.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ecspresso .agents/skills/ecspresso && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ecspresso" agent skill from https://github.com/kayac/ecspresso/tree/v2/skills/ecspresso into .agents/skills/ecspresso/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ecspresso", 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 kayac/ecspresso --skill ecspresso -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install kayac/ecspresso ecspresso --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kayac/ecspresso.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ecspresso .cursor/skills/ecspresso && 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 "ecspresso" agent skill from https://github.com/kayac/ecspresso/tree/v2/skills/ecspresso into .cursor/skills/ecspresso/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ecspresso", 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/kayac/ecspresso.git --path skills/ecspresso--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 kayac/ecspresso --skill ecspresso -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install kayac/ecspresso ecspresso --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kayac/ecspresso.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ecspresso .gemini/skills/ecspresso && 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 "ecspresso" agent skill from https://github.com/kayac/ecspresso/tree/v2/skills/ecspresso into .gemini/skills/ecspresso/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ecspresso", 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 kayac/ecspresso ecspressoInstalls 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 kayac/ecspresso --skill ecspresso -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/kayac/ecspresso.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ecspresso .github/skills/ecspresso && 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 "ecspresso" agent skill from https://github.com/kayac/ecspresso/tree/v2/skills/ecspresso into .github/skills/ecspresso/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ecspresso", 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 kayac/ecspresso --skill ecspresso -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install kayac/ecspresso ecspresso --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kayac/ecspresso.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ecspresso .opencode/skills/ecspresso && 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 "ecspresso" agent skill from https://github.com/kayac/ecspresso/tree/v2/skills/ecspresso into .opencode/skills/ecspresso/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ecspresso", 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.
ecspressoECS deployment tool - deploy, manage, and troubleshoot ECS services
Ecspresso is an agent skill from kayac/ecspresso. ECS deployment tool - deploy, manage, and troubleshoot ECS services
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: ["claude","codex","agents"]
It sits in DevOps & Cloud, covering Deployment. It works with Amazon Web Services and Docker. The repository describes itself as: ecspresso is a deployment tool for Amazon ECS. The licence is MIT.
Read from SKILL.md and the folder at commit 2ce2e4f. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash and jsonnet).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
["claude","codex","agents"]
From compatibility in the SKILL.md frontmatter.
Ecspresso loads about 1.4k tokens when it runs. Until then it costs about 19 tokens; SKILL.md has 313 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 no risky patterns in SKILL.md.
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 kayac/ecspresso at commit 2ce2e4f, republished under its MIT licence (© kayac). 313 words, ~1,358 tokens.
.claude/skills/ecspresso/SKILL.md (or your agent's skills folder).ecspresso is a deployment tool for Amazon ECS. You can use it to deploy, manage, and troubleshoot ECS services through configuration files.
Use the docs subcommand to look up how ecspresso works. This command requires no AWS credentials or config file.
# Browse the table of contents to find relevant sections
ecspresso docs --index --json
# Search for a topic by keyword
ecspresso docs --search "fargate" --json
# Read the full documentation
ecspresso docs --jsonAlways use --json for structured output that is easier to parse.
# Show service status (running tasks, deployments, events)
ecspresso status --config ecspresso.yml
# Show differences between local definitions and running service
ecspresso diff --config ecspresso.yml
# Verify that resources referenced in definitions exist and are valid
ecspresso verify --config ecspresso.yml# Preview what will change (dry-run)
ecspresso deploy --config ecspresso.yml --dry-run
# Deploy the service
ecspresso deploy --config ecspresso.yml
# Deploy and wait until stable
ecspresso deploy --config ecspresso.yml --wait-until stable# Rollback to the previous task definition
ecspresso rollback --config ecspresso.yml
# Rollback with dry-run
ecspresso rollback --config ecspresso.yml --dry-run# Scale to a specific number of tasks
ecspresso scale --config ecspresso.yml --tasks 5# Run a standalone task using the service's task definition
ecspresso run --config ecspresso.yml
# Run and watch logs
ecspresso run --config ecspresso.yml --watch-container app# List running tasks as JSON
ecspresso tasks --config ecspresso.yml --output json# Render resolved task definition (with template variables expanded)
ecspresso render --config ecspresso.yml taskdef
# Render resolved service definition
ecspresso render --config ecspresso.yml servicedefecspresso uses a config file (default: ecspresso.yml) that references a task definition file and optionally a service definition file.
ecspresso.yml # Main config: region, cluster, service, file paths
ecs-task-def.json # ECS task definition (JSON, YAML, or Jsonnet)
ecs-service-def.json # ECS service definition (JSON, YAML, or Jsonnet)Definition files support template syntax: {{ env "VAR" "default" }}, {{ must_env "VAR" }}, and plugin functions like {{ tfstate "resource.attr" }}.
When creating or modifying definition files, prefer the Jsonnet (.jsonnet) format over JSON or YAML. Jsonnet has several advantages:
// and /* */ comments. JSON does not allow comments at all.std.parseInt(), std.parseJson(), etc.{{ }} can cause readability issues. In Jsonnet, use native functions like std.native('env')('VAR', 'default') instead, which are cleaner and can return non-string types.Example Jsonnet config:
// ecspresso.jsonnet
{
region: 'ap-northeast-1',
cluster: 'default',
service: 'myservice',
service_definition: 'ecs-service-def.jsonnet',
task_definition: 'ecs-task-def.jsonnet',
}Example Jsonnet task definition:
// ecs-task-def.jsonnet
local env = std.native('env');
local must_env = std.native('must_env');
local tfstate = std.native('tfstate');
{
family: 'myservice',
cpu: '256',
memory: '512',
networkMode: 'awsvpc',
requiresCompatibilities: ['FARGATE'],
executionRoleArn: tfstate('aws_iam_role.ecs_execution.arn'),
containerDefinitions: [
{
name: 'app',
image: must_env('APP_IMAGE'),
cpu: 0,
portMappings: [{ containerPort: 8080 }],
environment: [
{ name: 'ENV', value: env('ENV', 'production') },
],
logConfiguration: {
logDriver: 'awslogs',
options: {
'awslogs-group': '/ecs/myservice',
'awslogs-region': 'ap-northeast-1',
'awslogs-stream-prefix': 'app',
},
},
},
],
}Use ecspresso init --jsonnet to generate Jsonnet files from an existing service. For more details, run ecspresso docs --search "jsonnet" --json.
ecspresso diff before ecspresso deploy to understand what will change.--dry-run on destructive operations (deploy, rollback, delete, scale) to preview the action.verify command checks IAM roles, container images, secrets, and log groups referenced in definitions.ecspresso docs --search "<keyword>" --json to find the relevant documentation section.© kayac, 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 skills/ecspresso of kayac/ecspresso.
Open the folder on GitHubat commit 2ce2e4f
Ecspresso 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 |
|---|---|---|---|---|---|---|
| Ecspresso this skillkayac/ecspresso | 1.1k | — | ~1.4k | Automated safety check: Pass | 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 | |
| Ec2 Deployadam-s/intercept | 189 | — | ~1.9k | Automated safety check: Warn | 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 |
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.
adam-s/intercept
Deploy to EC2 production server. An agent skill from adam-s/intercept.
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.
Works with
Categories
ECS deployment tool - deploy, manage, and troubleshoot ECS services. Ecspresso is an agent skill from kayac/ecspresso.
Ecspresso fits situations like: tasks that involve Deployment.
Run `npx skills add kayac/ecspresso --skill ecspresso -a claude-code`. Or copy the skill folder (skills/ecspresso in kayac/ecspresso) into .claude/skills/ecspresso in your project. Claude Code loads it when a task matches its description.
Run `npx skills add kayac/ecspresso --skill ecspresso -a codex`. Or copy the skill folder (skills/ecspresso in kayac/ecspresso) into .agents/skills/ecspresso 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 kayac/ecspresso --skill ecspresso -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ecspresso, .gemini/skills/ecspresso, .github/skills/ecspresso and .opencode/skills/ecspresso in your project.
SKILL.md names no scripts, command-line tools or credentials: Ecspresso is instructions for the agent only. Compatibility (from SKILL.md): ["claude","codex","agents"].
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Ecspresso is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.4k 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 Ecspresso: Senior DevOps Toolkit (maslennikov-ig/claude-code-orchestrator-kit, 260 stars), Aspire Deployment (CommunityToolkit/Aspire, 629 stars), Ec2 Deploy (adam-s/intercept, 189 stars) and Deploy (serithemage/serverless-openclaw, 196 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
kayac (a GitHub organization) maintains it in kayac/ecspresso, which has 1,132 GitHub stars. The repository was last updated on October 5, 2026.
Source: kayac/ecspresso on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.