Agent skill

Atmos Core Component Development

by cloudposse in cloudposse/atmos

Atmos CORE contributor guide for adding/modifying a component TYPE in the Go codebase (terraform/helmfile/packer/ansible/container): the component registry & provider, the CLI command group, the…

Apache-2.0Auto-check passedDevOps & Cloud

Install Atmos Core Component Development

skills CLI
$ npx skills add cloudposse/atmos --skill atmos-core-component-development -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install cloudposse/atmos atmos-core-component-development --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/cloudposse/atmos.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/atmos-core-component-development .claude/skills/atmos-core-component-development && rm -rf skills-src

Use ~/.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/

Facts

Skill name
atmos-core-component-development
GitHub stars
1.4k
Token cost
~1.4k tokens
SKILL.md length
495 words
Files
1
Skills in repo
70
Repo updated
First seen
Licence
Apache-2.0

At a glance

Atmos CORE contributor guide for adding/modifying a component TYPE in the Go codebase (terraform/helmfile/packer/ansible/container): the component registry & provider, the CLI command group, the…

  • Works in 5 steps: pkg/config/const.go — XComponentType /… → internal/exec/describe_stacks_component_p… → internal/exec/describe_stacks.go —… → …
  • Tasks that involve Infrastructure as code
  • SKILL.md covers The component provider…, First-class component config…, The CLI command group (cmd/) and CRITICAL: the describe/list…, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Atmos Core Component Development is an agent skill from cloudposse/atmos. Atmos CORE contributor guide for adding/modifying a component TYPE in the Go codebase (terraform/helmfile/packer/ansible/container): the component registry & provider, the CLI command group, the describe/list type whitelist, custom-component inheritance & deep-merge, schema, and tests. NOT for authoring user components in stacks (that is the atmos-components skill).

Its SKILL.md is about 1.4k 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, covering Infrastructure as code. It works with Ansible and Terraform. 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.

When your agent uses it

  • Tasks that involve Infrastructure as code

Example prompts

  • “Use the atmos-core-component-development skill to atmo CORE contributor guide for adding/modifying a component TYPE in the Go codebase…”
  • “/atmos-core-component-development”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. pkg/config/const.go — XComponentType / XSectionName consts.
  2. internal/exec/describe_stacks_component_processor.go — the typeEntries list AND
  3. internal/exec/describe_stacks.go — getComponentBasePath switch.
  4. internal/exec/describe_component.go — the detectComponentType auto-detect order (a loop over
  5. pkg/list/extract/components.go — THREE hardcoded type lists (per-stack extractComponentType ×2,

What it can do on your machine

Read from SKILL.md and the folder at commit bbe58a6. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Atmos Core Component Development loads about 1.4k tokens when it runs. Until then it costs about 100 tokens; SKILL.md has 495 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~100
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from cloudposse/atmos at commit bbe58a6, republished under its Apache-2.0 licence (© cloudposse). 495 words, ~1,436 tokens.

Download SKILL.mdSave it as .claude/skills/atmos-core-component-development/SKILL.md (or your agent's skills folder).
name
atmos-core-component-development
description
Atmos CORE contributor guide for adding/modifying a component TYPE in the Go codebase (terraform/helmfile/packer/ansible/container): the component registry & provider, the CLI command group, the describe/list type whitelist, custom-component inheritance & deep-merge, schema, and tests. NOT for authoring user components in stacks (that is the atmos-components skill).
metadata.copyright
Copyright Cloud Posse, LLC 2026
metadata.version
1.0.0

Atmos Core: Component Type Development

Use this skill when developing Atmos itself — adding or modifying a component type (kind) in the Go codebase. This is contributor/core guidance, distinct from the user-facing atmos-components skill (which documents authoring terraform/helmfile/container components in stacks).

Start from docs/developing-component-plugins.md (the component-plugin development guide). The notes below capture the non-obvious wiring learned while adding the container component type.

The component provider (pkg/component)

A component type is a ComponentProvider (pkg/component/provider.go) registered via init() with component.Register(...) (pkg/component/registry.go). Reference impls:

  • pkg/component/ansible/ — typed-config built-in style.
  • pkg/component/mock/, pkg/component/custom/ — the Plugins-map plugin style.
  • pkg/component/container/ — provider + cmd/lifecycle split.

Layout per the guide: config.go (typed Config + parseConfig), <type>.go (provider + init), executor.go (verb implementations), <type>_test.go (>90% coverage). Wire a blank import into cmd/root.go so init() runs.

Reusable error sentinels live in errors/errors.go: ErrComponentExecutionFailed, ErrComponentConfigInvalid, ErrComponentValidationFailed, ErrComponentTypeEmpty.

First-class component config (NOT vars)

Per-instance config that is not arbitrary template data must be first-class top-level sections (siblings of metadata/env/composition), NOT nested under vars. For container, the config reuses the workflow container-step structs (schema.ContainerBuildStep/ContainerRunStep/ContainerMount/ ContainerPort in pkg/schema/workflow.go) for consistency. Decode a YAML-derived map[string]any into those structs with mapstructure using TagName: "yaml" so snake_case keys (build_args, read_only) map.

The CLI command group (cmd/<type>)

Mirror cmd/ansible/: a base cobra.Command registered through the command registry (cmd/internal CommandProvider), persistent flags via flags.NewStandardParser() (NEVER viper.BindEnv/BindPFlag), one thin file per verb dispatching to component.MustGetProvider(<type>).Execute(&component.ExecutionContext{...}). Wire a blank import into cmd/root.go.

CRITICAL: the describe/list type whitelist

A new top-level components.<type> is dropped (stack renders {}, "component not found") unless the type is added to several hardcoded lists. Grep AnsibleSectionName / "ansible" across internal/exec + pkg/list/extract and mirror every hit:

  1. pkg/config/const.go — XComponentType / XSectionName consts.
  2. internal/exec/describe_stacks_component_processor.go — the typeEntries list AND componentsSectionHasComponents.
  3. internal/exec/describe_stacks.go — getComponentBasePath switch.
  4. internal/exec/describe_component.go — the detectComponentType auto-detect order (a loop over [terraform, helmfile, packer, ansible, container]); a type missing here makes atmos describe component <name> fail even when the lifecycle works.
  5. pkg/list/extract/components.go — THREE hardcoded type lists (per-stack extractComponentType ×2, unique extractUniqueComponentType).

Verify with atmos describe stacks (stack with only the new type must be non-empty) and atmos describe component <name> -s <stack>.

Show full SKILL.md (158 more words)Show less

Inheritance & deep-merge for custom types

Built-in types (terraform/helmfile/packer/ansible) get full inheritance via the processComponent pipeline. Other types ride the custom-component fallback in internal/exec/stack_processor_process_stacks.go. That fallback now resolves metadata.inherits and generic-deep-merges all top-level keys (resolveCustomComponentInheritance), so custom types honor catalog/abstract defaults. Gotchas:

  • Strip metadata.type/inherits/component from a base before merging, or an abstract base poisons the concrete component (sanitizeBaseForInheritance).
  • Reject metadata.type: abstract for execution and filter it from listings.
  • Use the native merge (pkg/merge) — it already incorporates the slice-truncation and permissive-type-mismatch fixes in docs/fixes/2026-03-19-* and docs/fixes/2026-03-24-*.
  • Component-level config sections (vars/settings/env/hooks/secrets/...) that need per-section inheritance still require the section whitelist plumbing (see docs/errors.md / the merge helpers).

Schema, docs, tests

  • JSON schema: pkg/datafetcher/schema/atmos/manifest/1.0.json — add <type>_components + <type>_component_manifest definitions and the components.<type> property.
  • Docs: website/docs/components/components-overview.mdx (Component Types table + directory diagram), website/docs/components/<type>.mdx, and website/docs/cli/commands/<type>/usage.mdx.
  • Tests: provider unit tests with a mockgen Runtime/dependency, cmd.NewTestKit for the command, inheritance + abstract + graceful-empty cases. Regenerate affected --help golden snapshots with -regenerate-snapshots (never hand-edit).
  • Gate: ./custom-gcl run --new-from-rev=origin/<base> ./pkg/component/<type>/... ./internal/exec/....

© 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

Files

Just SKILL.md in .claude/skills/atmos-core-component-development of cloudposse/atmos.

Open the folder on GitHubat commit bbe58a6

Compare with similar skills

Atmos Core Component Development 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.

Atmos Core Component Development compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Atmos Core Component Development this skillcloudposse/atmos1.4k—~1.4kAutomated safety check: PassApache-2.0
Spa Create Configsplunk/splunk-platform-automator137—~3.5kAutomated safety check: PassProprietary
Infra As Code Reviewmohitagw15856/pm-claude-skills1.4k—~3.3kAutomated safety check: PassMIT
Expert OpsReJeCtAll/ExpertTeam-Codex113—~625Automated safety check: PassMIT
Senior DevOps Toolkitmaslennikov-ig/claude-code-orchestrator-kit2596 repos~1.1kAutomated safety check: NotesCustom licence
Cloudflarehodgef/apiker1277 repos~2.2kAutomated safety check: PassMIT

Similar skills

  • Spa Create Config

    splunk/splunk-platform-automator

    A skill your agent uses when creating or updating splunkconfig.yml, designing Splunk Enterprise lab topology, multisite IDXC, SHC layout, architecture plan before config, or AWS Terraform block for…

    137 GitHub stars~3.5k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Infra As Code Review

    mohitagw15856/pm-claude-skills

    Write an infrastructure-as-code review checklist and conduct a structured review of Terraform, CloudFormation, Pulumi, or Ansible code.

    1.4k GitHub stars~3.3k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Expert Ops

    ReJeCtAll/ExpertTeam-Codex

    基础设施运维专家入口。用于 Codex CLI 的 $expert-ops 调用. An agent skill from ReJeCtAll/ExpertTeam-Codex.

    113 GitHub stars~625 tokensUpdated 3 mo ago
    DevOps & CloudAuto-check passed
  • Senior DevOps Toolkit

    maslennikov-ig/claude-code-orchestrator-kit

    Comprehensive DevOps skill for CI/CD, infrastructure automation, containerization, and cloud platforms (AWS, GCP, Azure). Includes pipeline setup…

    259 GitHub starsUsed in 6 repos~1.1k tokens
    DevOps & CloudAuto-check: notes
  • Cloudflare

    hodgef/apiker

    Comprehensive Cloudflare platform skill covering Workers, Pages, storage (KV, D1, R2), AI (Workers AI, Vectorize, Agents SDK), feature flags (Flagship), networking (Tunnel, Spectrum), security (WAF…

    127 GitHub starsUsed in 7 repos~2.2k tokens
    DevOps & CloudAuto-check passed
  • Terravision Cloud Diagrams

    patrickchugh/terravision

    Draw cloud architecture diagrams for AWS, Azure or GCP with the official provider icon sets, using TerraVision.

    1.6k GitHub stars~5.6k tokensUpdated yesterday
    DevOps & CloudAuto-check: notes

More from cloudposse/atmos

All 70 skills in this repo
  • Fix Log

    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…

    1.4k GitHub stars~685 tokensUpdated yesterday
    Auto-check passed
  • Atmos Lint

    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.

    1.4k GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Changelog

    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.

    1.4k GitHub stars~2.7k tokensUpdated yesterday
    Auto-check passed
  • Editions

    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…

    1.4k GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • Atmos Migration

    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…

    1.4k GitHub stars~5.1k tokensUpdated yesterday
    Auto-check: warnings
  • PR Maintenance Loop

    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…

    1.4k GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Atmos Core Component Development

What does Atmos Core Component Development do?

Atmos CORE contributor guide for adding/modifying a component TYPE in the Go codebase (terraform/helmfile/packer/ansible/container): the component registry & provider, the CLI command group, the…. Atmos Core Component Development is an agent skill from cloudposse/atmos. Atmos CORE contributor guide for adding/modifying a component TYPE in the Go codebase (terraform/helmfile/packer/ansible/container): the component registry & provider, the CLI command group, the describe/list type whitelist, custom-component inheritance & deep-merge, schema, and tests.

When should I use Atmos Core Component Development?

Atmos Core Component Development fits situations like: tasks that involve Infrastructure as code.

How do I install Atmos Core Component Development in Claude Code?

Run `npx skills add cloudposse/atmos --skill atmos-core-component-development -a claude-code`. Or copy the skill folder (.claude/skills/atmos-core-component-development in cloudposse/atmos) into .claude/skills/atmos-core-component-development in your project. Claude Code loads it when a task matches its description.

How do I install Atmos Core Component Development in Codex?

Run `npx skills add cloudposse/atmos --skill atmos-core-component-development -a codex`. Or copy the skill folder (.claude/skills/atmos-core-component-development in cloudposse/atmos) into .agents/skills/atmos-core-component-development in your project. Codex loads it when a task matches its description.

Can I use Atmos Core Component Development in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add cloudposse/atmos --skill atmos-core-component-development -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-core-component-development, .gemini/skills/atmos-core-component-development, .github/skills/atmos-core-component-development and .opencode/skills/atmos-core-component-development in your project.

What does Atmos Core Component Development need to run?

SKILL.md names no scripts, command-line tools or credentials: Atmos Core Component Development is instructions for the agent only.

Does Atmos Core Component Development access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Atmos Core Component Development safe to install?

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.

What licence does Atmos Core Component Development use?

Atmos Core Component Development 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.

How many tokens does Atmos Core Component Development use?

About 1.4k tokens (SKILL.md is roughly 5.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Atmos Core Component Development?

Skills that share tags, products or a category with Atmos Core Component Development: Spa Create Config (splunk/splunk-platform-automator, 137 stars), Infra As Code Review (mohitagw15856/pm-claude-skills, 1.4k stars), Expert Ops (ReJeCtAll/ExpertTeam-Codex, 113 stars) and Senior DevOps Toolkit (maslennikov-ig/claude-code-orchestrator-kit, 259 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Atmos Core Component Development?

cloudposse (a GitHub organization) maintains it in cloudposse/atmos, which has 1,395 GitHub stars. The repository holds 70 skills in this directory. The repository was last updated on October 7, 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.