Skip to main content
skill CX Codex

amazon-ec2-image-builder — Claude Code skill: build AMIs and images

A skill that gives your agent working knowledge of EC2 Image Builder: recipes, components, pipelines, distribution and failed-build diagnosis.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add aws/agent-toolkit-for-aws --skill amazon-ec2-image-builder -a claude-code
Open on GitHub

What amazon-ec2-image-builder does

This skill hands the agent domain expertise for EC2 Image Builder. It walks from the build IAM role and components through the image recipe, infrastructure and distribution configuration. One-off builds and recurring pipelines for golden AMI automation and OS patching are covered separately.

Bundled references do the heavy lifting: end-to-end image and pipeline creation, distribution options (launch templates, SSM parameters, other Regions), troubleshooting, Windows and macOS specifics, container images to ECR, and custom workflows. The agent reads the matching reference before answering, since the exact commands and platform requirements live there.

It works best with the AWS MCP server for sandboxed execution and audit logging, though plain AWS CLI access is fine too. Note the boundaries: launching instances from existing AMIs, AMI lifecycle and retirement, and general EC2 fleet management belong to other skills. Keep architecture consistent across the base image, component binaries and instance types — Image Builder does no create-time validation, so a mismatch only surfaces mid-build.

What it helps with

  • build a custom AMI from a recipe and components
  • set up a recurring pipeline for golden AMI rebuilds
  • publish the output AMI via a launch template or SSM parameter
  • figure out why a build failed or hangs
  • build a container image and push it to ECR

Example prompts for the agent

  • Build a custom AMI on Amazon Linux 2023 with OS updates and the CloudWatch agent
  • Set up a pipeline that rebuilds the golden AMI on a schedule
  • The build failed at a component step — check the logs and tell me what to fix

How to install amazon-ec2-image-builder

1Skills CLI (Vercel)

npx skills add aws/agent-toolkit-for-aws --skill amazon-ec2-image-builder -a claude-code

2Manually: put the files in place

~/.claude/skills/amazon-ec2-image-builder/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/amazon-ec2-image-builder/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about amazon-ec2-image-builder

How do I install amazon-ec2-image-builder in Claude?

Run npx skills add aws/agent-toolkit-for-aws --skill amazon-ec2-image-builder -a claude-code. The skill file then lands at ~/.claude/skills/amazon-ec2-image-builder/SKILL.md.

What does amazon-ec2-image-builder do?

It helps the agent create custom AMIs and container images with EC2 Image Builder: roles, components, recipes, infrastructure, distribution and troubleshooting.

What is this skill not for?

Launching instances from existing AMIs, AMI lifecycle and retirement, and general EC2 fleet management — those are handled by separate skills.

Source text

SKILL.md · Apache-2.0
---
name: amazon-ec2-image-builder
description: Creates and automates custom image builds with EC2 Image Builder - Linux, Windows, and macOS AMIs, and container images to ECR. Covers the build IAM role, Amazon-managed and custom components, image recipes, infrastructure and distribution configuration (launch templates, SSM parameters, other Regions), one-off builds, recurring scheduled pipelines for golden AMI automation and OS patching, custom image workflows, and diagnosing failed builds. Applies when creating, automating, or scheduling AMI or container image builds with Image Builder, or when debugging a failed build. Not for launching instances from existing AMIs, AMI lifecycle/retirement, or general EC2 fleet management.
version: 1
---

# Amazon EC2 Image Builder

## Overview

Domain expertise for building custom AMIs and container images with EC2 Image Builder — from the build IAM role through recipes, pipelines, distribution, and troubleshooting.

**Works best with** the [AWS MCP server](https://docs.aws.amazon.com/aws-mcp/) — recommended for sandboxed execution and audit logging. All guidance also works with standard AWS CLI access.

## Guardrail — where this skill's own files live (MCP vs local install)

This skill can be loaded two ways, and they resolve the skill's own bundled
files from different places. Determine how the skill was loaded before reading
a reference or running a script:

- **Loaded through the AWS MCP `retrieve_skill` tool:** The skill is not
  installed on the local filesystem. You MUST fetch each reference or script
  via `retrieve_skill` with the `file` parameter (e.g.
  `file="references/creating-images.md"`), and use the returned content.
  Do NOT `file_read` these paths locally — they do not exist on disk.
- **Installed locally** (e.g. `.kiro/skills/amazon-ec2-image-builder/` or
  `~/.claude/skills/amazon-ec2-image-builder/`): Read files from the local
  skill directory using relative paths.

This distinction applies only to the skill's own packaged files. User data and
session artifacts are always read from and written to the user's working
directory. Never fetch or write user data through `retrieve_skill`.

## First decision: one-off image or recurring pipeline

Ask this before creating anything — it changes what you build.

| The user wants | Do this |
|---|---|
| One custom AMI, once | Follow [creating-images.md](references/creating-images.md) through step 7a: `create-image` with a recipe and infrastructure configuration — no pipeline needed. |
| A golden AMI that stays current (scheduled rebuilds that pick up base-image updates and patches) | An image pipeline: follow [creating-images.md](references/creating-images.md) — the schedule is part of the create-image-pipeline call (step 7b). |

## Related skills — route there instead

| Use this skill | When the request is about |
|---|---|
| **launching-ec2-instance-with-best-practices** | Launching instances from an AMI the user already has |
| **setting-up-ec2-instance-profiles** | Instance profiles in general (not the build IAM role this skill creates) |
| **aws-compute** | AMI sharing, retiring, and lifecycle management; general EC2 fleet questions |

**Not covered here:** AMI lifecycle/retirement (route via the table above) and VM/ISO image import and export (follow the AWS documentation directly).

## Routing (references in this skill)

Read the matching reference before answering. The exact commands, failure fixes, and platform requirements live in the references — answering Image Builder questions from general knowledge is how agents get the details subtly wrong.

| User need | Read |
|---|---|
| Create an image or pipeline end to end: role, components, recipe, infrastructure, schedules, patching, scanning, chaining | [creating-images.md](references/creating-images.md) |
| Get the output AMI where it's needed: launch templates, SSM parameters (the service-linked role writes only under `/imagebuilder/`), other Regions | [distribution-options.md](references/distribution-options.md) |
| A build failed, hangs, or an Image Builder API call errors | [troubleshooting.md](references/troubleshooting.md) |
| Windows (exit-3010 reboots), macOS (Mac Dedicated Hosts required), container images to ECR (extra build-role policy) | [other-image-types.md](references/other-image-types.md) |
| Custom image workflows (advanced — always require an execution role) | [custom-workflows.md](references/custom-workflows.md) |

Reference files carry specific ARNs, Amazon-managed resource names, and service defaults — when precision matters, confirm against the AWS documentation.

## Guardrails (every workflow)

- Quote CLI filter values that contain spaces: `--filters "name=name,values=Amazon Linux 2023 x86"`. Unquoted spaces are a CLI parse error.
- Use the exact ARN each create call returns — never construct ARNs by hand.
- For a "latest" base image use an Amazon-managed image ARN with the `x.x.x` wildcard, or an `ssm:` parameter reference where no managed image exists. Never list versions and sort them as strings — the list is not semver-ordered.
- Keep architecture consistent across the base image, every component's binaries, and the infrastructure instance types. Image Builder performs no create-time validation of this; a mismatch only fails mid-build when the component runs.
- For component failures, the root cause lives in CloudWatch log group `/aws/imagebuilder/<image-name>` (on by default; also in the S3 logs if configured) — never in the API state. See [troubleshooting.md](references/troubleshooting.md).
- To reboot mid-build, exit the step with code `194` (Linux) or `3010` (Windows). The build re-runs that same step after the reboot — not the next step — so guard it with a marker file. A plain reboot command fails the step.
- If a resource the user describes isn't visible to `get-image`/`get-image-pipeline`, say you can't find it and check the Region and credentials in use — then keep troubleshooting from the user's description; a failed lookup is not proof the resource doesn't exist.
- Distribution handles launch templates and SSM publishing natively (`launchTemplateConfigurations`, `ssmParameterConfigurations`) — never add Lambda glue or manual launch-template versions for AMI propagation.
- Default to: Amazon Linux 2023 base, IMDSv2 required (`instanceMetadataOptions httpTokens=required`), and at least two instance types in the infrastructure configuration. S3 build logging is opt-in — CloudWatch logging is on regardless.
- Check Amazon-managed components (`aws imagebuilder list-components --owner Amazon`) before writing component YAML. Common needs (AWS CLI, OS updates, CloudWatch agent, STIG hardening) are already covered.

## Security considerations

The defaults above are the security posture: IMDSv2 required on build instances, no inbound security-group rules, least-privilege build IAM role (two managed policies for AMI builds plus only the scoped grants a workflow needs), no secrets in components or logs, and log buckets with Block Public Access. Build logs capture full command output that can carry sensitive material; CloudWatch Logs encrypts them at rest by default, and associating a customer-managed KMS key with each `/aws/imagebuilder/...` log group (`aws logs associate-kms-key`) is recommended. For auditing and operational visibility, enable CloudTrail in the account so Image Builder API calls are recorded, and configure EventBridge rules or CloudWatch alarms on build failures (source `aws.imagebuilder`, detail-type `EC2 Image Builder Image State Change`) so misconfigurations and unauthorized changes surface promptly. Per-build notifications are covered by the SNS topic option (creating-images.md step 6) — prefer a customer-managed key on that topic too. Deviations from these should be explicit user decisions. Reference: [EC2 Image Builder security best practices](https://docs.aws.amazon.com/imagebuilder/latest/userguide/security-best-practices.html).

© aws · Apache-2.0 · aws/agent-toolkit-for-aws

Similar skills

All skills for Cloud: AWS, Azure, GCP →

From the same set137

aws-social-messaging This skill manages WhatsApp messaging through AWS End User Messaging Social, including templates, media, delivery events, and troubleshooting. Use it when building messaging flows. CX Codex +1 3,000installs aws-storage Compares AWS object, file, and block storage services, troubleshoots configurations, and estimates TCO based on access patterns. CX Codex +1 3,000installs querying-aws-redshift Turns on Redshift system-table publishing to S3 Tables as Iceberg and helps you query the published logs from Athena or Redshift. CX Codex +1 2,600installs amazon-braket Runs quantum computing workflows on AWS with Amazon Braket: finds QPUs and simulators, builds circuits, and sets spending limits. CX Codex +1 2,600installs agents-get-started Helps developers bootstrap agents on AWS AgentCore: pick the right framework, scaffold project files, and prepare the first run. CX Codex +1 2,000installs agents-connect A skill for Claude and other AI editors that connects your agent to external APIs, MCP servers and Lambda through AgentCore Gateway, with Cedar policies to restrict tool access. CX Codex +1 2,000installs agents-debug Reads traces and logs to find why an AgentCore agent errors out, times out or returns wrong answers. Also checks prerequisites when the CLI itself is broken. CX Codex +1 2,000installs agents-deploy Validates configuration, deploys AgentCore agents to AWS, and diagnoses CDK, IAM, or quota errors. Useful for releases, canary setups, and rollbacks. CX Codex +1 2,000installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor