atmos-migration

atmos-migration is a skill for Claude Code from cloudposse/atmos. It costs 96 tokens per session (4,476 once invoked), scanned A, original, Apache-2.0.

A decision guide for moving an existing infrastructure repository to Atmos. It covers native Terraform, Terraform Workspaces, Terragrunt, Terramate, Makefiles, Justfiles, and Taskfiles.

In plain words
What is it for?
Use it to plan migration steps, map workspace and task commands, choose file layouts, and move tool-version management into Atmos.
Why use it?
It helps adopt Atmos gradually while preserving the existing repository structure where practical. It also explains how to map current tasks and layouts to Atmos concepts.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the atmos plugin — 51 skills shipped together

Good fit Use it to plan migration steps, map workspace and task commands, choose…

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/cloudposse/atmos/atmos-migration
About the project

Atmos is an infrastructure runtime that coordinates tools such as Terraform, OpenTofu, Kubernetes, Helm, Packer, Ansible, and containers through consistent commands and configuration. It is for teams running cloud infrastructure on laptops, in CI, or through AI agents across environments and regions. Its catalogue entries provide skills, agents, commands, and other add-ons for Atmos workflows.

cloudposse/atmos · 1,372 stars · on GitHub · atmos.tools

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add cloudposse/atmos --skill atmos-migration
Clone the repo
git clone --depth 1 https://github.com/cloudposse/atmos

Made for: Claude Code.

Or install atmos, the plugin that ships this one along with the rest of its 51 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for atmos-migration

README.md
[![agentmods](https://agentmods.dev/badge/skills/cloudposse/atmos/atmos-migration.svg)](https://agentmods.dev/skills/cloudposse/atmos/atmos-migration)
Your own site
<a href="https://agentmods.dev/skills/cloudposse/atmos/atmos-migration"><img src="https://agentmods.dev/badge/skills/cloudposse/atmos/atmos-migration.svg" alt="Measured on agentmods" height="20"></a>
Per session 96 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,476 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00096 $0.04476
Opus 5 $0.00048 $0.02238
Sonnet 5 $0.00019 $0.00895
Haiku 4.5 $0.00010 $0.00448

Measured 3d ago against content hash c0a8d4798b4e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

atmos-migration scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

agent-skills/skills/atmos-migration/SKILL.md · 293 lines

How it starts

The opening of the file, as written. The whole thing — 293 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Migrating to Atmos

Overview

This skill is a decision guide. Use it to migrate an existing Terraform repository to Atmos. Atmos can adopt an existing repository without a reorganization. The components/terraform/ layout is a recommendation. It is not a requirement. Start with the smallest change that gives value. Add more only when the user has a real need for it.

This skill also covers migrating CLI tool-version management from mise or Aqua CLI to the Atmos toolchain -- see from-mise.md and from-aqua.md in the routing table below.

For full tutorials for end users, see:

Terraform or OpenTofu

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.

Core Principles

These principles come before your normal instincts. Read them before you propose a change to the user's repository.

  1. Migration is opt-in, not all-or-nothing. Atmos does not require a filesystem reorganization. Point 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.
  2. Existing .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.
  3. No Terraform code changes are required. Don't rewrite providers, backends, or modules during migration. Atmos generates backend.tf.json and *.auto.tfvars.json at runtime.
  4. Workspaces are not the enemy. If the user has 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.
  5. Prefer YAML functions over Gomplate datasources. When both can express the same thing (!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.
  6. Crawl → walk → run. Get the user to a working atmos terraform plan in 20 minutes; defer inheritance, catalogs, and multi-account hierarchies until they have a concrete need.
  7. Task runners are not a blocker. Atmos custom commands and workflows can replace the targets, recipes, and tasks that Make, Just, and Task provide. This doesn't have to happen all at once — a Makefile, Justfile, or Taskfile can stay as a thin wrapper around atmos commands during migration, the same incremental approach described in Principle 6. The end state turns each leaf target into a custom command; a target chain usually stays a custom command too, using dependencies.commands/dependencies.workflows for its prerequisites. Reserve workflows for fixed, multi-step orchestration across more than one component — not every dependency chain needs one.

Read the full file on GitHub · 293 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago Changed · +82 lines · +17 tokens per session c0a8d4798b4e
  2. 3d ago First seen · 211 lines · 79 tokens per session scan A 01f4e976daf5

Subscribe to this mod's changes

atmos-migration is a skill published in the GitHub repository cloudposse/atmos (1,372 stars, last pushed today), licensed Apache-2.0. It adds 96 tokens to every session and 4,476 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.