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.
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.
npx skills add cloudposse/atmos --skill atmos-migrationgit clone --depth 1 https://github.com/cloudposse/atmosWrote 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.
[](https://agentmods.dev/skills/cloudposse/atmos/atmos-migration)<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>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.
| Model | Per session | Once 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 |
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.
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:
- Migrating from Native Terraform
- Migrating from Terraform Workspaces
- Migrating from Terragrunt -- see from-terragrunt.md for the agent-actionable recipes
- Migrating from Terramate -- covered by this skill via references/from-terramate.md (no atmos.tools tutorial yet)
- Migrating from Makefiles
- Migrating from Justfiles
- Migrating from Taskfile.yml
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.
- Migration is opt-in, not all-or-nothing. Atmos does not require a filesystem
reorganization. Point
base_pathat the user's existing layout (e.g.,base_path: "terraform"orbase_path: ".") when preserving layout lowers adoption risk. Thecomponents/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. - Existing
.tfvarsfiles may be kept during migration. Use!includeto 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. - No Terraform code changes are required. Don't rewrite providers, backends, or modules
during migration. Atmos generates
backend.tf.jsonand*.auto.tfvars.jsonat runtime. - Workspaces are not the enemy. If the user has
terraform.workspace-driven environments, Atmos can map onto their existing state viametadata.terraform_workspaceandworkspace_key_prefix. They do not have to abandon their workspace state to adopt Atmos. - Prefer YAML functions over Gomplate datasources. When both can express the same thing
(
!includevsgomplate.datasourcesfor files,!execvs templated shell,!envvsgomplate getenv,!storevs 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. - Crawl → walk → run. Get the user to a working
atmos terraform planin 20 minutes; defer inheritance, catalogs, and multi-account hierarchies until they have a concrete need. - 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
atmoscommands 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, usingdependencies.commands/dependencies.workflowsfor its prerequisites. Reserve workflows for fixed, multi-step orchestration across more than one component — not every dependency chain needs one.
What ships with it
11 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- references/from-aqua.md 10 KB
- references/from-component-updater.md 2.2 KB
- references/from-justfile.md 9.5 KB
- references/from-makefile.md 14 KB
- references/from-mise.md 10 KB
- references/from-native-terraform.md 8.4 KB
- references/from-taskfile.md 9.3 KB
- references/from-terraform-workspaces.md 7.9 KB
- references/from-terragrunt.md 16 KB
- references/from-terramate.md 23 KB
- references/remote-state-bridge.md 11 KB
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.
- 3d ago Changed · +82 lines · +17 tokens per session c0a8d4798b4e
- 3d ago First seen · 211 lines · 79 tokens per session scan A 01f4e976daf5
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.
Other skills, from other repositories
gws-tasks
Google Tasks: Manage task lists and tasks.
persona-customer-support
Manage customer support — track tickets, respond, escalate issues.
recipe-create-doc-from-template
Copy a Google Docs template, fill in content, and share with collaborators.
recipe-create-events-from-sheet
Read event data from a Google Sheets spreadsheet and create Google Calendar entries for each row.
recipe-create-shared-drive
Create a Google Shared Drive and add members with appropriate roles.
recipe-create-task-list
Set up a new Google Tasks list with initial tasks.