Monitor CI
nrwl/nx
Monitor Nx Cloud CI pipeline and handle self-healing fixes. An agent skill from nrwl/nx.
Shared Atmos step DSL for workflows, custom commands, hooks, and cast recordings: step types, env, output, workingdirectory, retry, and native alternatives to shell glue
$ npx skills add cloudposse/atmos --skill atmos-steps -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install cloudposse/atmos atmos-steps --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-steps .claude/skills/atmos-steps && 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-steps" agent skill from https://github.com/cloudposse/atmos/tree/main/agent-skills/skills/atmos-steps into .claude/skills/atmos-steps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "atmos-steps", 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-stepsType 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-steps -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install cloudposse/atmos atmos-steps --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-steps .agents/skills/atmos-steps && 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-steps" agent skill from https://github.com/cloudposse/atmos/tree/main/agent-skills/skills/atmos-steps into .agents/skills/atmos-steps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "atmos-steps", 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-steps -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install cloudposse/atmos atmos-steps --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-steps .cursor/skills/atmos-steps && 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-steps" agent skill from https://github.com/cloudposse/atmos/tree/main/agent-skills/skills/atmos-steps into .cursor/skills/atmos-steps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "atmos-steps", 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-steps--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-steps -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install cloudposse/atmos atmos-steps --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-steps .gemini/skills/atmos-steps && 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-steps" agent skill from https://github.com/cloudposse/atmos/tree/main/agent-skills/skills/atmos-steps into .gemini/skills/atmos-steps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "atmos-steps", 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-stepsInstalls 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-steps -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-steps .github/skills/atmos-steps && 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-steps" agent skill from https://github.com/cloudposse/atmos/tree/main/agent-skills/skills/atmos-steps into .github/skills/atmos-steps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "atmos-steps", 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-steps -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-steps --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-steps .opencode/skills/atmos-steps && 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-steps" agent skill from https://github.com/cloudposse/atmos/tree/main/agent-skills/skills/atmos-steps into .opencode/skills/atmos-steps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "atmos-steps", 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-stepsShared Atmos step DSL for workflows, custom commands, hooks, and cast recordings: step types, env, output, workingdirectory, retry, and native alternatives to shell glue
Atmos Steps is an agent skill from cloudposse/atmos. Shared Atmos step DSL for workflows, custom commands, hooks, and cast recordings: step types, env, output, workingdirectory, retry, and native alternatives to shell glue
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in DevOps & Cloud. 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.
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:
python3From 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 Steps loads about 2.3k tokens when it runs. Until then it costs about 46 tokens; SKILL.md has 1,032 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 no risky patterns in SKILL.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). 1,032 words, ~2,327 tokens.
.claude/skills/atmos-steps/SKILL.md (or your agent's skills folder).Atmos steps are the shared execution DSL used by workflows, custom commands,
hooks (kind: step), and cast recordings. When a task involves steps:, step
type, working_directory, env, output, retries, or hook with: payloads,
use this skill together with the surface-specific skill (atmos-workflows,
atmos-custom-commands, or atmos-hooks).
A step is a typed action with native fields. Do not treat steps as a place to write shell scripts by default. Prefer the Atmos field that expresses the operation directly:
working_directory instead of cd for real execution. A type: simulate child of a
mode: steps cast may display cd <directory> to narrate a directory transition, but it
never changes the working directory of later real steps.env maps instead of inline FOO=bar command or export.output: none instead of redirecting to /dev/null.type: script instead of heredoc shell snippets like python3 - <<'PY'.type: workdir with source and reset instead of mkdir, rm -rf,
and cp.type: atmos for Atmos commands instead of shelling out to atmos ...
when the surface supports typed steps.rc configuration instead of hand-managing
temporary .terraformrc or .tofurc files.Shell is still valid for real shell work, but it should be a conscious fallback when no native step type or field expresses the intent.
Step fields are shared, but defaults differ by surface:
type: atmos.with:. For kind: step, the hook's type
selects the step type, while with: contains the step-specific fields.Always load the surface-specific skill for invocation rules, path anchoring, and template context.
Most typed steps can use these fields when the step type supports them:
steps:
- name: validate
type: script
interpreter: python3
working_directory: !repo-root .
env:
ATMOS_LOGS_LEVEL: warn
output: none
retry:
max_attempts: 3
delay: 2s
script: |
print("ok")Important shared fields:
name: Stable step id for logs, dependencies, outputs, and resume behavior.type: Registered step handler; the canonical catalog below is the source for authored YAML.command: Command text for command-running steps.script and interpreter: Inline script body and runtime for type: script.working_directory: Directory for the subprocess or script.env: Map of environment variables layered onto the step.output: Output mode: raw, log, viewport, or none; test groups instead use failures or all.retry: Retry policy around the whole step.identity: Atmos identity used when the step runs.when: Declarative condition for whether the step runs.needs: Dependency names for concurrent control steps.timeout: Duration limit for supported steps.tty and interactive: Terminal handoff for commands that need it.Use atmos.tools/workflows/steps/type and its
type-specific subpages (e.g. atmos.tools/workflows/steps/type/shell) as the canonical
reference. Current canonical step types include:
atmos, shell, script, exec, container,
emulator, http, archive, require, workdir, cast, store.test, parallel, matrix, wait, wait-all, cancel.input, confirm, choose, filter, file, write.toast, markdown, spin, table, pager, format,
join, style, log, junit, hint, alert, say, title, clear,
linebreak, stage, sleep, env, exit.Use webhook only as the http alias and assert only as the require alias;
document and configure the canonical names unless compatibility requires an alias.
If code and docs disagree, inspect the registered step handlers under
pkg/runner/step/ and schema constants in pkg/schema/task.go.
For smoke tests and integration checks, use atmos-tests for test groups, assertions, parallel dependencies, and matrix cases.
Prefer map syntax:
env:
PATH: '{{ env "PWD" }}/../../.context/bin:{{ env "PATH" }}'
ATMOS_LOGS_LEVEL: warnFor custom commands, command-level env supports the same map style. Use
template expressions such as {{ env "PATH" }} or .Env where supported. Use
valueCommand only when the value genuinely must come from a command's stdout;
do not move shell string building into valueCommand.
Use working_directory at the narrowest useful scope:
steps:
- name: docs
type: shell
working_directory: !repo-root .
command: npm run docs:buildDo not use --chdir or cd for real workflow, custom-command, or step execution when
working_directory can express the same thing. In a mode: steps cast, a display-only
type: simulate cd <directory> is the exception: use it to keep the recorded story coherent,
and still configure working_directory on every real step. Relative paths must be checked
against the surface's base path rules.
Working-directory resolution is not one rule — it differs by surface, and getting this wrong
silently anchors relative fields (source, destination, path, files, context, ...) to the
wrong directory instead of erroring:
| Surface | Relative working_directory resolves against |
|---|---|
Custom command's own working_directory: (command- or step-level) | Atmos base_path — always, whether or not the value starts with ./ |
A workflow's own working_directory: (the workflow-level default), or a type: shell/exec/atmos step's working_directory: | Atmos base_path — always, whether or not the value starts with ./ |
An extended/registered step type (archive, file, junit, workdir, container, ...) with its own step-level working_directory: | The current working directory — always, whether or not the value starts with ./ |
kind: step/kind: steps hook | The component's own working directory for a bare value or when unset; the current working directory for a dot-prefixed value (., .., ./x, ../x) — see atmos-hooks for the full Dot/Bare rule |
A workflow-level working_directory: default still reaches extended step types that leave their
own working_directory: unset — it falls back to the same base_path-anchored resolution the
workflow-level default already gets for shell/exec/atmos steps.
After working_directory is resolved, relative handler fields such as source, destination,
path, files, and context resolve against that directory. For container builds, Dockerfile
resolves relative to the resolved context, not directly to working_directory.
Use output modes instead of pipe redirection:
steps:
- name: prepare
type: atmos
command: terraform generate varfile vpc -s dev
output: noneoutput: none is for quiet setup. raw preserves command output, log routes
through Atmos logging, and viewport is for richer terminal display.
Use type: script for inline scripts:
steps:
- name: validate-cast
type: script
interpreter: python3
script: |
from pathlib import Path
text = Path("path/to/your.cast").read_text()
if "All proofs passed" not in text:
raise SystemExit("cast validation failed")Do not put command on a script step. The schema requires interpreter and
script.
Use type: workdir for repeatable scratch directories:
steps:
- name: stage-fixtures
type: workdir
path: .context/casts/demo
source: demo/casts/fixtures
reset: trueThis replaces shell sequences that create, delete, and copy directories.
For hooks, the hook envelope controls lifecycle behavior and with: is the
step payload. A scaffold template may use this bridge too, but only with
kind: step or kind: steps and its two generation events:
hooks:
notify:
kind: step
type: http
events: [after.terraform.apply]
on_failure: warn
retry:
max_attempts: 3
with:
url: https://example.com/hook
method: POSTUse atmos-hooks for hook events, outcome conditions, on_failure, and
preflight behavior.
When changing step YAML, verify the user-facing command from the directory where
users actually run Atmos. Prefer working_directory fields in YAML and command
tool workdir settings in tests over shell cd or --chdir.
© 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
Just SKILL.md in agent-skills/skills/atmos-steps of cloudposse/atmos.
Open the folder on GitHubat commit 36726ae
Atmos Steps 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 Steps this skillcloudposse/atmos | 1.4k | — | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Monitor CInrwl/nx | 29k | 6 repos | ~4.7k | Automated safety check: Pass | MIT | |
| Terraform and OpenTofu Guideagentscope-ai/QwenPaw | 35k | 6 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Vercel Optimize Auditvercel-labs/agent-skills | 32k | 9 repos | ~4.3k | Automated safety check: Pass | None | |
| Openclaw Live Updateropenclaw/openclaw | 392k | — | ~3.7k | Automated safety check: Pass | MIT | |
| Analyze GitHub Action Logswithastro/astro | 63k | 1 repos | ~1.3k | Automated safety check: Pass | Custom licence |
nrwl/nx
Monitor Nx Cloud CI pipeline and handle self-healing fixes. An agent skill from nrwl/nx.
agentscope-ai/QwenPaw
Guidance for writing and testing Terraform and OpenTofu code: module structure, naming, test approaches, CI/CD workflows, state handling and security scanning.
vercel-labs/agent-skills
Runs a metrics-first audit of a deployed Vercel project, gating investigations on real signals to produce ranked, citation-backed cost and performance recommendations.
openclaw/openclaw
Maintain the canonical live OpenClaw main checkout, macOS LaunchAgent-managed Gateway, local macOS app, exact-head main CI, and recurring full release validation.
withastro/astro
Analyze recent GitHub Actions workflow runs to identify patterns, mistakes, and improvements.
kubesphere/kubesphere
Creates and queries KubeSphere users, workspaces and projects and assigns built-in roles, defaulting to least privilege and never deleting anything.
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
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…
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…
Categories
Shared Atmos step DSL for workflows, custom commands, hooks, and cast recordings: step types, env, output, workingdirectory, retry, and native alternatives to shell glue. Atmos Steps is an agent skill from cloudposse/atmos.
Atmos Steps fits situations like: devOps & Cloud work in your project.
Run `npx skills add cloudposse/atmos --skill atmos-steps -a claude-code`. Or copy the skill folder (agent-skills/skills/atmos-steps in cloudposse/atmos) into .claude/skills/atmos-steps in your project. Claude Code loads it when a task matches its description.
Run `npx skills add cloudposse/atmos --skill atmos-steps -a codex`. Or copy the skill folder (agent-skills/skills/atmos-steps in cloudposse/atmos) into .agents/skills/atmos-steps 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-steps -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-steps, .gemini/skills/atmos-steps, .github/skills/atmos-steps and .opencode/skills/atmos-steps in your project.
Going by SKILL.md and its folder, Atmos Steps needs the command-line tools its instructions call (python3). Our summary lists: Python 3.
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 found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Atmos Steps 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 2.3k tokens (SKILL.md is roughly 9.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Atmos Steps: Monitor CI (nrwl/nx, 29k stars), Terraform and OpenTofu Guide (agentscope-ai/QwenPaw, 35k stars), Vercel Optimize Audit (vercel-labs/agent-skills, 32k stars) and Openclaw Live Updater (openclaw/openclaw, 392k 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.