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 agentmods add skills/cloudposse/atmos/atmos-confignpx skills add cloudposse/atmos --skill atmos-configgit 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-config)<a href="https://agentmods.dev/skills/cloudposse/atmos/atmos-config"><img src="https://agentmods.dev/badge/skills/cloudposse/atmos/atmos-config.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.00031 | $0.00929 |
| Opus 5 | $0.00015 | $0.00464 |
| Sonnet 5 | $0.00006 | $0.00186 |
| Haiku 4.5 | $0.00003 | $0.00093 |
Grade A, and why
atmos-config 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 2d 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 — 105 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Atmos Root Configuration
Use this skill for the root mechanics of atmos.yaml: how Atmos finds config files, merges them,
resolves project-relative paths, imports modular config, and routes section-specific work to the
right skill. Do not use this skill as a catchall for every atmos.yaml section.
Configuration Discovery
Atmos searches for atmos.yaml in this order:
--configCLI flag orATMOS_CLI_CONFIG_PATH.- Active profile selected by
--profileorATMOS_PROFILE. - Current working directory.
- Git repository root.
- Parent directory walk.
- Home directory.
- System directory.
When multiple configuration files apply, Atmos deep-merges them. More specific sources override broader defaults.
Root Layout
Use base_path for the project root that relative paths resolve from. Keep the root config small
and point subsystem paths at their owning directories:
base_path: ""
stacks:
base_path: stacks
included_paths:
- "**/*"
excluded_paths:
- "**/_defaults.yaml"
- "catalog/**/*"
name_template: "{{ .vars.stage }}"
components:
terraform:
base_path: components/terraform
workflows:
base_path: stacks/workflows
For deeper path/layout guidance, load atmos-project-layout.
Modular Imports
Use import to split root config into focused files:
import:
- atmos.d/stacks.yaml
- atmos.d/components.yaml
- atmos.d/auth.yaml
- atmos.d/toolchain.yaml
Imported files are deep-merged into the active configuration. Keep imported files aligned with the subsystem they configure and load the subsystem skill before changing that section.
Routing
| Need | Load |
|---|---|
| Root discovery, merge order, imports, minimal bootstrap | stay in atmos-config |
Project paths, base_path, path conventions, relative path resolution |
atmos-project-layout |
Profiles, --profile, ATMOS_PROFILE, profile directory merge behavior |
atmos-profiles |
Global CLI behavior, settings, logs, errors, env, docs, metadata |
atmos-settings |
| Stack manifests, inheritance, stack imports, vars, locals, stack naming | atmos-stacks |
| Component structure, abstract components, metadata, component inheritance | atmos-components |
| Terraform/OpenTofu commands, backend defaults, Terraform component settings | atmos-terraform |
| Helmfile, Packer, or Ansible component behavior | atmos-helmfile, atmos-packer, atmos-ansible |
| Workflows section and workflow syntax | atmos-workflows |
| Custom commands and aliases | atmos-custom-commands |
| Auth providers, identities, keyring, cloud auth conventions | atmos-auth |
| Stores and store-backed YAML functions | atmos-stores |
Tool versions, dependencies.tools, registries, shell/PATH integration |
atmos-toolchain |
| Native CI, GitHub Actions, Atlantis, matrices, CI outputs | atmos-ci |
| Schemas and validation policy configuration | atmos-schemas, atmos-validation |
| Templates and YAML functions | atmos-templates, atmos-yaml-functions |
| Vendoring external components | atmos-vendoring |
| Introspection commands and querying resolved config | atmos-introspection |
What ships with it
1 file 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.
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.
- 2d ago First seen · 105 lines · 31 tokens per session scan A fd94364988f2
atmos-config is a skill published in the GitHub repository cloudposse/atmos (1,372 stars, last pushed today), licensed Apache-2.0. It adds 31 tokens to every session and 929 once invoked, about $0.0002 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
flow-nexus-swarm
Cloud-based AI swarm deployment and event-driven workflow automation with Flow Nexus platform.
ray-train
Distributed training orchestration across clusters. Scales PyTorch/TensorFlow/HuggingFace from laptop to 1000s of nodes. Built-in hyperparameter tuning with Ray Tune, fault tolerance, elastic scaling. Use when training massive models across multiple machines or running distributed hyperparameter sweeps.
skypilot-multi-cloud-orchestration
Multi-cloud orchestration for ML workloads with automatic cost optimization. Use when you need to run training or batch jobs across multiple clouds, leverage spot instances with auto-recovery, or optimize GPU costs across providers.
trigger-cost-savings
Analyze Trigger.dev tasks, schedules, and runs for cost optimization opportunities. Use when asked to reduce spend, optimize costs, audit usage, right-size machines, or review task efficiency. Combines static source analysis with live run analysis via the Trigger.dev MCP tools (listruns, getrundetails…
dstack-prototyping
Use with the dstack skill for model-serving work when the image, serving command, resources, backend/fleet choice, or service behavior is not proven. Guides task-first prototyping on real hardware, choosing fleets/backends that can reuse idle instances and caches, checking vLLM/SGLang sources, and verifying the final…
dstack-presets
Create and manage dstack presets: a toolkit that streamlines model inference optimization with agents, and a portable preset format. Use together with the dstack skill, and only when the user explicitly asks to create a preset or manage existing presets, not for deploying or serving a model.