Oma Tf Infra
first-fluke/oh-my-agent
Infrastructure-as-code specialist for multi-cloud provisioning using Terraform across any provider (AWS, GCP, Azure, Oracle Cloud).
Migrate to Atmos from native Terraform, Terraform Workspaces, Terramate, Terragrunt, Make, Just, or Task; migrate tool versions from mise or Aqua CLI; migrate AWS/GCP/Azure CLI configs, Leapp…
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add cloudposse/atmos --skill atmos-migration -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install cloudposse/atmos atmos-migration --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/cloudposse/atmos.git skills-src && mkdir -p .claude/skills && cp -r skills-src/agent-skills/skills/atmos-migration .claude/skills/atmos-migration && 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 "atmos-migration" agent skill from https://github.com/cloudposse/atmos/tree/main/agent-skills/skills/atmos-migration into .claude/skills/atmos-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "atmos-migration", 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/cloudposse/atmos/tree/main/agent-skills/skills/atmos-migrationType 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 cloudposse/atmos --skill atmos-migration -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install cloudposse/atmos atmos-migration --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cloudposse/atmos.git skills-src && mkdir -p .agents/skills && cp -r skills-src/agent-skills/skills/atmos-migration .agents/skills/atmos-migration && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "atmos-migration" agent skill from https://github.com/cloudposse/atmos/tree/main/agent-skills/skills/atmos-migration into .agents/skills/atmos-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "atmos-migration", 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 cloudposse/atmos --skill atmos-migration -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install cloudposse/atmos atmos-migration --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cloudposse/atmos.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/agent-skills/skills/atmos-migration .cursor/skills/atmos-migration && 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 "atmos-migration" agent skill from https://github.com/cloudposse/atmos/tree/main/agent-skills/skills/atmos-migration into .cursor/skills/atmos-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "atmos-migration", 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/cloudposse/atmos.git --path agent-skills/skills/atmos-migration--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 cloudposse/atmos --skill atmos-migration -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install cloudposse/atmos atmos-migration --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cloudposse/atmos.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/agent-skills/skills/atmos-migration .gemini/skills/atmos-migration && 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 "atmos-migration" agent skill from https://github.com/cloudposse/atmos/tree/main/agent-skills/skills/atmos-migration into .gemini/skills/atmos-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "atmos-migration", 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 cloudposse/atmos atmos-migrationInstalls 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 cloudposse/atmos --skill atmos-migration -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/cloudposse/atmos.git skills-src && mkdir -p .github/skills && cp -r skills-src/agent-skills/skills/atmos-migration .github/skills/atmos-migration && 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 "atmos-migration" agent skill from https://github.com/cloudposse/atmos/tree/main/agent-skills/skills/atmos-migration into .github/skills/atmos-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "atmos-migration", 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 cloudposse/atmos --skill atmos-migration -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install cloudposse/atmos atmos-migration --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cloudposse/atmos.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/agent-skills/skills/atmos-migration .opencode/skills/atmos-migration && 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 "atmos-migration" agent skill from https://github.com/cloudposse/atmos/tree/main/agent-skills/skills/atmos-migration into .opencode/skills/atmos-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "atmos-migration", 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.
atmos-migrationMigrate to Atmos from native Terraform, Terraform Workspaces, Terramate, Terragrunt, Make, Just, or Task; migrate tool versions from mise or Aqua CLI; migrate AWS/GCP/Azure CLI configs, Leapp…
Atmos Migration is an agent skill from cloudposse/atmos. Migrate to Atmos from native Terraform, Terraform Workspaces, Terramate, Terragrunt, Make, Just, or Task; migrate tool versions from mise or Aqua CLI; migrate AWS/GCP/Azure CLI configs, Leapp, Granted, saml2aws, or okta-aws-cli to atmos auth; and replace GitHub Actions CI (dflook, tfcmt, cloud OIDC, component updater, TFLint, Checkov, Trivy, KICS, Infracost, tfsec) with Atmos Native CI. Use for incremental adoption that preserves layout, state, task behavior, and CI enforcement.
Its SKILL.md is about 5.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 21 other files, including reference files (for example `references/from-aqua.md`, `references/from-aws-config.md` and `references/from-aws2saml.md`).
It sits in DevOps & Cloud, covering Infrastructure as code and OAuth and OpenID Connect. It works with Terraform, Amazon Web Services, Google Cloud and Microsoft Azure. The repository describes itself as: Atmos is the open-source runtime for infrastructure — it builds, authenticates, and ships Terraform, OpenTofu, Packer, Ansible, Kubernetes, Helm, and containers the same way on… The licence is Apache-2.0.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 36726ae. 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:
makejustFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
atmos.toolsFrom 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.
Atmos Migration loads about 5.1k tokens when it runs, and up to ~60k if it reads all its reference files. Until then it costs about 125 tokens; SKILL.md has 2,131 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.
| `~/.aws/config`/`~/.aws/credentials` profiles | [from-aws-config.md](references/from-aws-config.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 cloudposse/atmos at commit 36726ae, republished under its Apache-2.0 licence (© cloudposse). 2,131 words, ~5,108 tokens.
.claude/skills/atmos-migration/SKILL.md (or your agent's skills folder). This skill also uses 20 other files; get the full folder from GitHub.Use this skill to adopt Atmos for infrastructure orchestration, general-purpose task running, or tool-version management. Select the migration path from the user's goal and existing tools.
For Make, Just, and Task, assume the user is adopting Atmos as a task runner for application
builds, tests, scripts, releases, and other automation. Custom commands need only atmos.yaml;
do not introduce Terraform components, stacks, .tfvars conversion, or cloud credentials unless
the user separately requests infrastructure orchestration. Preserve the commands behind the tasks,
and let Atmos call the existing task runner while individual tasks are migrated.
For Terraform repositories, Atmos can adopt the existing file layout. Start with the smallest change that gives value and add structure as needed.
For full tutorials for end users, see:
This skill applies the same way to Terraform and to OpenTofu. Atmos runs the binary set in
components.terraform.command in atmos.yaml. The default binary is terraform. The migration
steps, file layouts, and the remote-state bridge do not change based on the binary. Use the same
word the user uses. If the user says "OpenTofu," write "OpenTofu" in your response.
These principles come before your normal instincts. Read them before you propose a change to the user's repository.
base_path at the user's existing layout (e.g., base_path: "terraform"
or base_path: ".") when preserving layout lowers adoption risk. The components/terraform/
convention is still the best-practice layout for new or fully migrated repos because Atmos
supports multiple toolchains (Terraform, Helmfile, Packer, Ansible); it is not a prerequisite
for adopting Atmos in Terraform-only repos..tfvars files may be kept during migration. Use !include to pull them into
stacks when the user wants minimal disruption. Converting values into native stack YAML remains
the best-practice end state when the user wants deep-merge inheritance and richer stack
composition, but it can happen progressively.backend.tf.json and *.auto.tfvars.json at runtime.terraform.workspace-driven environments,
Atmos can map onto their existing state via metadata.terraform_workspace and
workspace_key_prefix. They do not have to abandon their workspace state to adopt Atmos.!include vs gomplate.datasources for files, !exec vs templated shell, !env vs
gomplate getenv, !store vs custom datasource URLs), reach for the YAML function first.
YAML functions are type-safe, can't break YAML parsing, produce clear errors, and don't
require enabling Gomplate. See the atmos-yaml-functions
and atmos-templates skills for the boundary.atmos build or
another existing task. For Terraform adoption, start with a plan. Add configuration structure
only when it serves the selected migration.make,
just, or task during incremental adoption, with no requirement to remove the original files.Find the user's source pattern before you propose any change. Each pattern points to a different reference file:
| User has... | Use reference |
|---|---|
One TF root module, env config via .tfvars or env vars | from-native-terraform.md |
| Multiple TF root modules in scattered dirs | from-native-terraform.md |
terraform.workspace-driven environments with shared state backend | from-terraform-workspaces.md |
.tm.hcl files, stack.tm.hcl, generate_hcl blocks (Terramate project) | from-terramate.md |
| Need to read outputs from un-migrated TF (legacy or another repo) | remote-state-bridge.md |
| User has a Makefile driving builds/tests/deploys | from-makefile.md |
User has a Justfile (just command runner) | from-justfile.md |
| User has a Taskfile.yml (go-task) | from-taskfile.md |
cloudposse/github-action-atmos-component-updater | from-component-updater.md |
Terragrunt (terragrunt.hcl or terragrunt.stack.hcl) | from-terragrunt.md |
mise config (mise.toml, .mise.toml, .mise/config.toml, .tool-versions) for tool versions | from-mise.md |
aqua.yaml (Aqua CLI) for tool versions | from-aqua.md |
| CI on GitHub Actions (setup-terraform, configure-aws-credentials, dflook, tfcmt) | to-native-ci.md |
| Scanner actions (TFLint, Checkov, Trivy, KICS, Infracost, tfsec) | to-native-ci-scanners.md |
The remote-state-bridge pattern makes progressive migration possible. It lets a team migrate one component at a time. Without it, the team must migrate everything at once. Use this pattern when the user has existing Terraform state that a new Atmos component must read.
Check these before you open a reference file; each reference file's own "Common Problems" section has the exact field names and steps.
deps: runs concurrently by default, matching
dependencies.commands/dependencies.workflows directly. Make and Just run dependencies
sequentially by default (make -j is required for concurrency) -- moving an ordinary Make/Just
chain to dependencies.commands changes the order and can introduce a race. Preserve ordered
steps for a sequential source chain; reach for dependencies.commands only when the source used
-j, the prerequisites are genuinely independent, or a prerequisite is shared by more than one
caller (deduped to a single run regardless of concurrency, true for every one of these tools).inputs/artifacts at the step level, not to a whole recipe/task.
Task's sources:/generates: and non-.PHONY Make targets skip the entire recipe when
nothing changed. Atmos's step-level inputs.sources/artifacts.paths (implicitly
when: checksum.changed) only skip that step -- later steps in the same command still run.
Combine multi-command recipes into one shell/script step if the freshness gate must cover
all of them together; this doesn't carry over automatically. require/assert only checks
existence, not freshness.workflows.base_path must be set explicitly once the user has their own atmos.yaml
(atmos workflow <name> fails without it) -- add it the moment migration reaches its first
workflow. Workflows can organize general-purpose tasks as well as infrastructure operations;
many target chains can stay custom commands. For task-runner adoption, a path such as
workflows.base_path: "workflows" keeps workflows separate from Terraform stacks.Authentication is an orthogonal migration axis from IaC -- a user may migrate their Terraform code, their auth setup, both, or neither in a given session. Don't conflate the two. Identify which credential tooling the user has today and route to the matching reference:
| User has... | Use reference |
|---|---|
~/.aws/config/~/.aws/credentials profiles | from-aws-config.md |
gcloud CLI config, ADC, or service-account keys | from-gcp-config.md |
az CLI config, service principals, or Managed Identity | from-azure-config.md |
| Leapp (desktop credential manager) | from-leapp.md |
Granted (the assume CLI) | from-granted.md |
| saml2aws | from-aws2saml.md |
| okta-aws-cli | from-okta-cli.md -- partial support only, read the gap callouts |
All are pure config-translation guides -- there is no atmos auth import/migrate command.
None of them require touching the user's IaC migration path; they can run before, after, or
independently of one. from-okta-cli.md is the one exception to "full mapping exists": whether it
works depends on the org's Okta auth policy, not on a different AWS app type -- read it fully
before promising a user anything.
Choose the checklist for the user's goal.
atmos.yaml in the existing project.make build, just build, or
task build.atmos build and confirm it produces the same result as the original command.Use this checklist when the user explicitly wants Atmos to orchestrate existing Terraform code.
atmos.tools/install.atmos.yaml at the repo root, pointing base_path and components.terraform.base_path
at the user's existing layout. Do not ask them to move files.!include of an existing .tfvars file so
nothing has to be rewritten:# stacks/dev.yaml
import:
- _defaults
components:
terraform:
vpc:
vars: !include ../path/to/existing/dev.tfvarsatmos terraform plan vpc -s dev and confirm output matches what terraform plan -var-file=dev.tfvars produced before.A working example of this shape is at examples/native-terraform/ in the Atmos repository.
Pick the layout that matches the user's goals. Atmos recommends the components/terraform/
layout, especially for a new repository or a multi-tool project. You can keep an existing layout
when the user wants less disruption.
base_path | Use when |
|---|---|
base_path: "." | TF root modules live at the repo root; user wants zero file moves |
base_path: "terraform" | TF-only repo with code already in terraform/; preserve dir name |
base_path: "." + components.terraform.base_path: "components/terraform" | Multi-toolchain or new repo; canonical Atmos layout |
For more organization patterns, such as multi-region, multi-account, and organization hierarchies, see the skill atmos-design-patterns.
This is a common mistake: an agent chooses a Gomplate datasource when a YAML function is safer and clearer. Use the option in the right column:
| Goal | Reach for (NOT this) | Use instead |
|---|---|---|
| Include a file's contents | gomplate.datasources with file URL | !include path/to/file |
| Read an environment variable | gomplate getenv "FOO" | !env FOO |
| Run a shell command | Template + gomplate exec | !exec "command" |
| Read a store value | Custom datasource URL | !store store_name component stack key |
| Read Terraform output | Templated remote-state datasource | !terraform.state component output |
| Get current AWS account ID | gomplate.datasources AWS plugin | !aws.account_id |
A YAML function checks its own types. It gives a clear error message. It works without Gomplate turned on. It does not require the template text to stay valid YAML. Use a Go template only for control flow, such as a conditional, a loop, or a dynamic key, that a YAML function cannot express. See atmos-templates for when to use a Go template.
Tell the user this list first, if they are afraid of a large rewrite. None of these items must change to adopt Atmos:
source = "../../modules/foo", or a registry
source, keeps working.backend "s3" {} block from the .tf files, because
Atmos creates backend.tf.json. Or you can keep the block and turn off backend generation in
atmos.yaml. Both methods work..tfvars files. Atmos reads them through !include. Convert them to YAML later, only if
the user wants deep-merge inheritance..tf files. Pass environment
variables through stack env:. Pass Terraform variables through stack vars:.After the minimum migration works, the user will often ask what to do next. Send each question to the correct skill:
Push back if a user or another agent proposes one of these methods during migration:
components/terraform/ before you use Atmos." This is
false. That layout is a recommendation, not a requirement. Let the user pick: adopt the
recommended layout now, or point base_path at the current layout and reorganize later..tfvars files as YAML before you run Atmos." This is false. Native
stack YAML is the best final format for inheritance and composition. But !include lets the
user keep existing .tfvars files during a step-by-step migration.metadata.terraform_workspace and the remote-state-bridge pattern.atmos.yaml. Keep infrastructure adoption separate from task-runner adoption.Every reference file is already linked, with its routing condition, from the "Decide the Migration Shape First" and "Migrating Authentication" tables above -- load a reference directly from there rather than a separate resource list.
© cloudposse, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 20 other files (references) in agent-skills/skills/atmos-migration of cloudposse/atmos.
Open the folder on GitHubat commit 36726ae
Atmos Migration 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 |
|---|---|---|---|---|---|---|
| Atmos Migration this skillcloudposse/atmos | 1.4k | — | ~5.1k | Automated safety check: Warn | Apache-2.0 | |
| Oma Tf Infrafirst-fluke/oh-my-agent | 1.3k | — | ~2.8k | Automated safety check: Pass | MIT | |
| Senior DevOps Toolkitmaslennikov-ig/claude-code-orchestrator-kit | 260 | 6 repos | ~1.1k | Automated safety check: Notes | Custom licence | |
| Terravision Cloud Diagramspatrickchugh/terravision | 1.6k | — | ~5.6k | Automated safety check: Notes | AGPL-3.0-only | |
| TerrasharkLukasNiessen/terrashark | 714 | — | ~843 | Automated safety check: Pass | MIT | |
| Provider Verificationmondoohq/mql | 411 | — | ~3.7k | Automated safety check: Pass | Custom licence |
first-fluke/oh-my-agent
Infrastructure-as-code specialist for multi-cloud provisioning using Terraform across any provider (AWS, GCP, Azure, Oracle Cloud).
maslennikov-ig/claude-code-orchestrator-kit
Comprehensive DevOps skill for CI/CD, infrastructure automation, containerization, and cloud platforms (AWS, GCP, Azure). Includes pipeline setup…
patrickchugh/terravision
Draw cloud architecture diagrams for AWS, Azure or GCP with the official provider icon sets, using TerraVision.
LukasNiessen/terrashark
Prevent Terraform/OpenTofu hallucinations by diagnosing and fixing failure modes: identity churn, secret exposure, blast-radius mistakes, CI drift, and compliance gate gaps.
mondoohq/mql
Verify mql provider resource/field changes against real cloud infrastructure.
wshobson/agents
Build reusable, tested Terraform modules for AWS, Azure, GCP and OCI, with a standard file layout, an AWS VPC example, versioning rules and Terratest checks.
cloudposse/atmos
A skill your agent uses when implementing, finishing, documenting, or reviewing a fix, repair, remediation, bug fix, debug-and-fix task, workflow fix, infrastructure fix, or any change that should…
cloudposse/atmos
Atmos Terraform linting with TFLint: standalone atmos terraform lint, component-aware config discovery and toolchain versions, TFLint rule configuration, and lifecycle hooks/CI findings.
cloudposse/atmos
Blog post authoring for Atmos: MDX template, frontmatter, website/blog/tags.yml and authors.yml rules, problem-first framing, backtick-opening ban, optional cast embeds, and no-Go-internals leakage.
cloudposse/atmos
Decide whether a PR's new or changed default needs edition-journal handling (pkg/edition, docs/prd/editions.md), and do the mechanical work if so: journal entries, the four-layer default check…
cloudposse/atmos
Start an hourly background loop that keeps the current branch's PR rebased, its addressed CodeRabbit threads resolved, its CI checks passing, its lint clean, its tests passing with adequate patch…
cloudposse/atmos
Maintain and update the Atmos roadmap page (website/src/data/roadmap.js): milestone/initiative/quarter schema, progress-percentage math, the curated featured[] cap (max 6, never auto-modified), and…
Categories
Migrate to Atmos from native Terraform, Terraform Workspaces, Terramate, Terragrunt, Make, Just, or Task; migrate tool versions from mise or Aqua CLI; migrate AWS/GCP/Azure CLI configs, Leapp…. Atmos Migration is an agent skill from cloudposse/atmos. Migrate to Atmos from native Terraform, Terraform Workspaces, Terramate, Terragrunt, Make, Just, or Task; migrate tool versions from mise or Aqua CLI; migrate AWS/GCP/Azure CLI configs, Leapp, Granted, saml2aws, or okta-aws-cli to atmos auth; and replace GitHub Actions CI (dflook, tfcmt, cloud OIDC, component updater, TFLint, Checkov, Trivy, KICS, Infracost, tfsec) with Atmos Native CI.
Atmos Migration fits situations like: incremental adoption that preserves layout; tasks that involve Infrastructure as code; tasks that involve OAuth and OpenID Connect.
Run `npx skills add cloudposse/atmos --skill atmos-migration -a claude-code`. Or copy the skill folder (agent-skills/skills/atmos-migration in cloudposse/atmos) into .claude/skills/atmos-migration in your project. Claude Code loads it when a task matches its description.
Run `npx skills add cloudposse/atmos --skill atmos-migration -a codex`. Or copy the skill folder (agent-skills/skills/atmos-migration in cloudposse/atmos) into .agents/skills/atmos-migration 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 cloudposse/atmos --skill atmos-migration -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/atmos-migration, .gemini/skills/atmos-migration, .github/skills/atmos-migration and .opencode/skills/atmos-migration in your project.
Going by SKILL.md and its folder, Atmos Migration needs the command-line tools its instructions call (make and just).
SKILL.md names 1 domain. As links in the text: atmos.tools. 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.
Atmos Migration is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.1k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 54k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Atmos Migration: Oma Tf Infra (first-fluke/oh-my-agent, 1.3k stars), Senior DevOps Toolkit (maslennikov-ig/claude-code-orchestrator-kit, 260 stars), Terravision Cloud Diagrams (patrickchugh/terravision, 1.6k stars) and Terrashark (LukasNiessen/terrashark, 714 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
cloudposse (a GitHub organization) maintains it in cloudposse/atmos, which has 1,396 GitHub stars. The repository holds 70 skills in this directory. The repository was last updated on October 8, 2026.
Source: cloudposse/atmos on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.