atmos ai skill install atmos-introspectionAtmos Introspection
Purpose
Atmos provides powerful introspection commands (describe and list) for querying the stack graph,
component configurations, dependencies, and change impact. AI agents operating in a terminal should
use these commands to understand the user's workspace instead of guessing at configurations.
When to Use Introspection
- Before generating configuration -- Run
atmos describe componentto see the current resolved config - To find dependencies -- Run
atmos describe dependentsto see what depends on a component - To understand project structure -- Run
atmos list stacksandatmos list components - For CI/CD -- Run
atmos describe affectedoratmos list affectedto detect changed stacks - To debug configuration -- Use
--provenanceto trace where values originate
Describe Commands
atmos describe component
Display the complete, fully resolved configuration for a specific component in a stack.
atmos describe component vpc -s plat-ue2-prodatmos describe component vpc -s plat-ue2-prod --format jsonatmos describe component vpc -s plat-ue2-prod --provenanceatmos describe component vpc -s plat-ue2-prod -q '.vars.cidr_block'
Key flags:
-s, --stack(required) -- Stack name-f, --format-- Output format (yaml, json). Default: yaml--provenance-- Show where each configuration value originated (file:line:column)-q, --query-- Filter output with yq expressions--process-templates/--process-functions-- Enable/disable template and YAML function processing--skip-- Skip specific YAML functions during processing
The output includes all resolved sections: vars, settings, env, backend, metadata,
deps, inheritance, and remote_state_backend.
atmos describe stacks
Show fully deep-merged configuration for all stacks and their components.
atmos describe stacksatmos describe stacks -s plat-ue2-prodatmos describe stacks --components vpc,eksatmos describe stacks --component-types terraformatmos describe stacks --sections vars,settingsatmos describe stacks -q '.[] | select(.vars.environment == "prod")'
Key flags:
-s, --stack-- Filter by specific stack--components-- Filter by component names (comma-separated)--component-types-- Filter by type (terraform, helmfile, packer)--sections-- Output specific sections (backend, deps, env, inheritance, metadata, remote_state_backend, settings, vars)--include-empty-stacks-- Include stacks with no components
atmos describe affected
Identify components and stacks affected by Git changes between two refs.
atmos describe affectedatmos describe affected --ref mainatmos describe affected --sha abc123atmos describe affected --include-dependentsatmos describe affected --format json --file affected.json
Key flags:
--ref-- Git reference to compare (default: refs/remotes/origin/HEAD)--sha-- Git commit SHA (takes precedence over --ref)--repo-path-- Path to pre-cloned target repo (fastest, avoids cloning)--clone-target-ref-- Clone the target reference instead of checking out--include-dependents-- Include components that depend on changed components--include-settings-- Include the settings section for each affected component--exclude-locked-- Exclude components marked as locked--upload-- Upload results to an HTTP endpoint (for CI/CD integration)--ssh-key-- Path to PEM-encoded private key for SSH cloning--ssh-key-password-- Encryption password for the PEM-encoded private key--process-templates-- Enable/disable Go template processing (default: true)--process-functions-- Enable/disable YAML functions processing (default: true)--skip-- Skip executing specific YAML functions
atmos describe dependents
List components that depend on a given component.
atmos describe dependents vpc --stack plat-ue2-prodatmos describe dependents vpc --stack plat-ue2-prod --format json
Key flags:
--stack(required) -- Stack name-f, --format-- Output format (json, yaml). Default: json
atmos describe config
Display the final merged CLI configuration (atmos.yaml resolution result).
atmos describe configatmos describe config --format jsonatmos describe config -q '.stacks.name_template'
atmos describe workflows
List all workflows and their associated files.
atmos describe workflowsatmos describe workflows --format jsonatmos describe workflows --output map
atmos describe locals
Display locals defined in stack manifests.
atmos describe locals --stack plat-ue2-prodatmos describe locals vpc --stack plat-ue2-prod
List Commands
atmos list stacks
List all stacks with optional component filtering.
atmos list stacksatmos list stacks --component vpcatmos list stacks --format tree --provenanceatmos list stacks --format json
Key flags:
--component-- Filter stacks that contain a specific component--provenance-- Show import provenance (tree format only)-f, --format-- Output format (table, json, yaml, csv, tsv, tree)
atmos list components
List all unique component definitions.
atmos list componentsatmos list components -s 'plat-*-prod'atmos list components --type abstractatmos list components --enabled trueatmos list components --format tree
Key flags:
-s, --stack-- Filter by stack pattern (glob supported)--type-- Filter by component type (real, abstract, all). Default: real--abstract-- Include abstract components--enabled-- Filter by enabled status (true/false)--locked-- Filter by locked status (true/false)
atmos list instances
List all component-stack combinations (instances).
atmos list instancesatmos list instances --stack 'plat-*-prod'atmos list instances --format jsonatmos list instances --columns component,stack,typeatmos list instances --sort 'stack:asc,component:asc'
Key flags:
--stack-- Filter by stack pattern--filter-- YQ-based filter expressions--columns-- Custom column selection--sort-- Sort specification (e.g.,component:asc,stack:desc)--upload-- Upload instances to Atmos Pro API
atmos list affected
List affected components in table format (tabular version of describe affected).
atmos list affectedatmos list affected --ref main --include-dependentsatmos list affected --format csv
This is an experimental command.
atmos list workflows
List all workflows with file and description information.
atmos list workflowsatmos list workflows --file deploy.yaml
Other List Commands
atmos list values <component> # Component values across stacksatmos list vars <component> # Component variables across stacksatmos list settings <component> # Component settings across stacksatmos list sources <component> # Component source informationatmos list vendor # Vendor configurationsatmos list aliases # Command aliasesatmos list themes # Available CLI themesatmos list metadata # Metadata information
Common Patterns
Output Format Support
| Command Type | Formats |
|---|---|
| Describe commands | yaml, json |
| List commands | table (default), json, yaml, csv, tsv, tree |
Column Customization (List Commands)
# Simple field namesatmos list instances --columns component,stack,type# Named columns with templatesatmos list instances --columns "Component={{ .component }},Stack={{ .stack }}"
Sorting (List Commands)
atmos list instances --sort component:ascatmos list instances --sort "stack:asc,component:desc"
YQ Query Filtering
All commands support -q, --query for filtering with yq expressions:
atmos describe stacks -q '.[] | select(.vars.environment == "prod")'atmos describe component vpc -s plat-ue2-prod -q '.vars'atmos list instances --filter '.type == "terraform"'
Provenance Tracking
Use --provenance to trace where configuration values originate:
atmos describe component vpc -s plat-ue2-prod --provenanceatmos list stacks --format tree --provenance
Shows file:line:column details and import hierarchy visualization.
Template and Function Control
# Disable Go template processingatmos describe component vpc -s prod --process-templates=false# Disable YAML functionsatmos describe stacks --process-functions=false# Skip specific YAML functionsatmos describe component vpc -s prod --skip '!terraform.output'
Authentication for Remote Resources
# Use specific identity for YAML function resolutionatmos describe component vpc -s prod -i prod-admin# Interactive identity selectionatmos describe component vpc -s prod -i
CLI Help: --help=<topic>
Every atmos command supports a scoped --help=<topic> flag (implemented per
docs/prd/topic-specific-cli-help.md, Status: Implemented) so help output doesn't bury the one thing you
need. This is the fastest way for an agent to confirm correct command syntax without reading the full flag
reference:
atmos terraform plan --help # Default: description, usage, examples, subcommands,# command-specific flags, and a hint for expanded helpatmos terraform plan --help=usage # ONLY the usage line + embedded usage examples --# the fastest way to see real invocation examplesatmos terraform plan --help=flags # Command-specific flags only, excludes inherited/global flagsatmos terraform plan --help=all # Full reference: everything, including inherited/global flags
Prefer --help=usage over the default --help when you just need to confirm how a command is invoked --
it skips straight to worked examples instead of the full flag listing. Reach for --help=all only when you
need the complete inherited-flag surface (e.g. global --stack/--format/logging flags shared across
commands).
Introspection Workflow for AI Agents
When assisting a user with Atmos configuration, follow this sequence:
- Understand the project:
atmos describe configto see atmos.yaml settings - List what exists:
atmos list stacksandatmos list components - Inspect specific configs:
atmos describe component <name> -s <stack> - Check dependencies:
atmos describe dependents <name> -s <stack> - Trace configuration origins: Add
--provenanceto any describe command - Validate changes:
atmos describe affectedto see impact of modifications
Never guess at stack names, component names, or configuration values. Always query first.