Skip to content

feat(agent-skills): add toolchain-manager migration guides - #2877

Open
Erik Osterman (Cloud Posse) (osterman) wants to merge 4 commits into
mainfrom
osterman/toolchain-migration-skill
Open

feat(agent-skills): add toolchain-manager migration guides#2877
Erik Osterman (Cloud Posse) (osterman) wants to merge 4 commits into
mainfrom
osterman/toolchain-migration-skill

Conversation

@osterman

@osterman Erik Osterman (Cloud Posse) (osterman) commented Aug 5, 2026

Copy link
Copy Markdown
Member

what

  • Add a new sub-section to the atmos-migration agent skill covering migration from external CLI tool-version managers to the built-in Atmos toolchain.
  • Add six new reference files under agent-skills/skills/atmos-migration/references/, one per source tool: from-asdf.md, from-aqua.md, from-tfenv.md, from-tofuenv.md, from-tenv.md, and from-homebrew-brewfile.md.
  • Each reference gives a before/after config comparison, step-by-step migration instructions, a command-mapping table, a shell-integration walkthrough (bash/zsh/fish/PowerShell), and a functional-gaps section noting where the migration isn't purely mechanical (e.g. unsupported Aqua package types, in-flight support tracked in feat(toolchain): support Aqua github_archive package type #2416, missing SemVer range constraints).
  • Update atmos-migration/SKILL.md: new frontmatter references, a "Replace a Tool-Version Manager" routing section, an escalation link to atmos-toolchain, two new anti-patterns, and matching entries in Additional Resources.
  • Write all new prose in ASD-STE100 (Simplified Technical English): short active-voice sentences, imperative steps, no contractions, no dash-interrupted asides.

why

  • Atmos's toolchain feature already replaces asdf, aqua, tfenv, tofuenv, tenv, and (partially) Homebrew Brewfiles, but the atmos-migration skill only covered migrating Terraform/OpenTofu layouts, not tool-version-manager configs — an agent helping a user adopt the Atmos toolchain had no concrete recipe to follow.
  • Documenting the config translation, command mapping, and shell-integration opt-in (atmos toolchain env) up front avoids agents improvising inaccurate migration steps or missing that most of these tools auto-inject into the shell via a PATH shim, which the Atmos toolchain does not do by default.

references

  • None

Summary by CodeRabbit

  • Documentation
    • Expanded Atmos migration guidance for replacing asdf, Aqua, tfenv, tofuenv, tenv, and Homebrew Brewfiles.
    • Added detailed migration references covering configuration, installation, version pinning, command mappings, verification, shell integration, and known limitations.
    • Documented toolchain escalation, project-specific tool resolution, proxy behavior, lock files, and recommended migration practices.

…igration

Add six ASD-STE100 reference files (from-asdf, from-aqua, from-tfenv,
from-tofuenv, from-tenv, from-homebrew-brewfile) covering migration from
external tool-version managers to the Atmos toolchain, each with a
before/after config comparison, command mapping, shell integration steps,
and functional-gap notes. Wire them into atmos-migration/SKILL.md with a
new routing section, escalation link, anti-patterns, and resource index.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@atmos-pro

atmos-pro Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Tip

Atmos Pro  

No affected stacks workflow was detected for this pull request.
If this is expected, no action is needed.
Learn More. Ask AI.

@osterman Erik Osterman (Cloud Posse) (osterman) added the no-release Do not create a new release (wait for additional code changes) label Aug 5, 2026
@github-actions github-actions Bot added the size/l Large size PR label Aug 5, 2026
@mergify

mergify Bot commented Aug 5, 2026

Copy link
Copy Markdown

💥 This pull request now has conflicts. Could you fix it Erik Osterman (Cloud Posse) (@osterman)? 🙏

@mergify mergify Bot added the conflict This PR has conflicts label Aug 5, 2026
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 074e9bb2-f48b-4f93-91f0-80c9538d8c6d

📥 Commits

Reviewing files that changed from the base of the PR and between 1e25886 and 7840da5.

📒 Files selected for processing (7)
  • agent-skills/skills/atmos-migration/SKILL.md
  • agent-skills/skills/atmos-migration/references/from-aqua.md
  • agent-skills/skills/atmos-migration/references/from-asdf.md
  • agent-skills/skills/atmos-migration/references/from-homebrew-brewfile.md
  • agent-skills/skills/atmos-migration/references/from-tenv.md
  • agent-skills/skills/atmos-migration/references/from-tfenv.md
  • agent-skills/skills/atmos-migration/references/from-tofuenv.md
🚧 Files skipped from review as they are similar to previous changes (7)
  • agent-skills/skills/atmos-migration/SKILL.md
  • agent-skills/skills/atmos-migration/references/from-tofuenv.md
  • agent-skills/skills/atmos-migration/references/from-tfenv.md
  • agent-skills/skills/atmos-migration/references/from-asdf.md
  • agent-skills/skills/atmos-migration/references/from-homebrew-brewfile.md
  • agent-skills/skills/atmos-migration/references/from-tenv.md
  • agent-skills/skills/atmos-migration/references/from-aqua.md

📝 Walkthrough

Walkthrough

The Atmos migration skill now covers six tool-version managers and Homebrew Brewfiles. It adds routing guidance and reference guides for configuration, command conversion, shell integration, tool resolution, and documented functional gaps.

Changes

Toolchain migration documentation

Layer / File(s) Summary
Migration skill routing
agent-skills/skills/atmos-migration/SKILL.md
The skill adds routing for six migration guides, toolchain guidance, escalation details, anti-patterns, and resource links.
Aqua and Brewfile migration guides
agent-skills/skills/atmos-migration/references/from-aqua.md, agent-skills/skills/atmos-migration/references/from-homebrew-brewfile.md
The guides document configuration conversion, eligible tool classification, installation, command mappings, shell integration, project-scoped resolution, and functional gaps.
asdf migration guide
agent-skills/skills/atmos-migration/references/from-asdf.md
The guide documents .tool-versions reuse, registry configuration, command mappings, shell integration, static PATH behavior, and unsupported plugin features.
Terraform manager migration guides
agent-skills/skills/atmos-migration/references/from-tfenv.md, agent-skills/skills/atmos-migration/references/from-tofuenv.md, agent-skills/skills/atmos-migration/references/from-tenv.md
The guides document version-file conversion, Atmos configuration, command mappings, shell integration, per-invocation resolution, and selector limitations for tfenv, tofuenv, and tenv.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • cloudposse/atmos#2493: Both changes update the Atmos migration skill and its migration guidance.
  • cloudposse/atmos#2677: This change documents .tool-versions and atmos toolchain install workflows related to the referenced toolchain changes.
  • cloudposse/atmos#2740: Both changes expand routing and linked reference guides in SKILL.md.

Suggested reviewers: aknysh

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the primary change: adding toolchain-manager migration guides to the agent skills.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch osterman/toolchain-migration-skill

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🧹 Nitpick comments (1)
agent-skills/skills/atmos-migration/references/from-aqua.md (1)

59-62: 🗄️ Data Integrity & Integration | 🔵 Trivial | ⚡ Quick win

Make the lockfile example deterministic and repository-relative.

The default toolchain.lock.yaml can change when toolchain.install_path changes, so this migration doc should not present it as a reliable aqua-checksums.json replacement unless the path is also fixed. Add lock_file: toolchain.lock.yaml to the example config.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@agent-skills/skills/atmos-migration/references/from-aqua.md` around lines 59
- 62, Update the toolchain configuration example to explicitly set
toolchain.lock_file to the repository-relative path toolchain.lock.yaml, and
adjust the surrounding documentation to describe that configured path as the
deterministic replacement for aqua-checksums.json.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@agent-skills/skills/atmos-migration/references/from-aqua.md`:
- Around line 42-44: Update the aqua source entry in the migration to preserve
the original aqua.yaml registry pin by replacing the moving main branch
reference with the corresponding v4.245.0 tag or commit, while retaining the
existing registry path.
- Around line 178-182: Update the command_aliases row in the Aqua-to-Atmos
mapping to direct users to toolchain.proxies for recreating command-name
behavior, and remove the incorrect reference to toolchain.aliases. Leave the
other migration mappings unchanged.

In `@agent-skills/skills/atmos-migration/references/from-asdf.md`:
- Around line 102-107: Update the shell-resolution sections at
agent-skills/skills/atmos-migration/references/from-asdf.md lines 102-107,
agent-skills/skills/atmos-migration/references/from-aqua.md lines 104-108,
agent-skills/skills/atmos-migration/references/from-homebrew-brewfile.md lines
105-108, agent-skills/skills/atmos-migration/references/from-tfenv.md lines
82-87, agent-skills/skills/atmos-migration/references/from-tofuenv.md lines
88-92, and agent-skills/skills/atmos-migration/references/from-tenv.md lines
108-114 to document .tool-versions as the project-wide default toolchain source
while retaining dependencies.tools as the stack/scoped override.

In `@agent-skills/skills/atmos-migration/references/from-homebrew-brewfile.md`:
- Around line 70-74: Update the Homebrew migration guidance for kubernetes-cli
to use the GitHub repository kubernetes/kubernetes instead of
kubernetes-sigs/kubectl. Replace the kubernetes-sigs/kubectl reference in the
later example or package registry entries while preserving the surrounding
mapping instructions.

In `@agent-skills/skills/atmos-migration/SKILL.md`:
- Around line 111-113: Update the shell initialization guidance around “atmos
toolchain env” and “atmos toolchain path” to use supported shell-specific forms:
evaluate the output of “atmos toolchain env” or explicitly prepend the output of
“atmos toolchain path” to PATH, with equivalent Fish and PowerShell commands.
Clarify that running “atmos toolchain path” alone does not modify PATH.

---

Nitpick comments:
In `@agent-skills/skills/atmos-migration/references/from-aqua.md`:
- Around line 59-62: Update the toolchain configuration example to explicitly
set toolchain.lock_file to the repository-relative path toolchain.lock.yaml, and
adjust the surrounding documentation to describe that configured path as the
deterministic replacement for aqua-checksums.json.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 6e87e746-2af4-4cbf-a8b4-6036acfae3cc

📥 Commits

Reviewing files that changed from the base of the PR and between d2b8e81 and f447eca.

📒 Files selected for processing (7)
  • agent-skills/skills/atmos-migration/SKILL.md
  • agent-skills/skills/atmos-migration/references/from-aqua.md
  • agent-skills/skills/atmos-migration/references/from-asdf.md
  • agent-skills/skills/atmos-migration/references/from-homebrew-brewfile.md
  • agent-skills/skills/atmos-migration/references/from-tenv.md
  • agent-skills/skills/atmos-migration/references/from-tfenv.md
  • agent-skills/skills/atmos-migration/references/from-tofuenv.md

Comment thread agent-skills/skills/atmos-migration/references/from-aqua.md Outdated
Comment thread agent-skills/skills/atmos-migration/references/from-aqua.md Outdated
Comment thread agent-skills/skills/atmos-migration/references/from-asdf.md Outdated
Comment thread agent-skills/skills/atmos-migration/references/from-homebrew-brewfile.md Outdated
Comment thread agent-skills/skills/atmos-migration/SKILL.md Outdated
…gration-skill

# Conflicts:
#	agent-skills/skills/atmos-migration/SKILL.md
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues found.

Scanned Files

None

@mergify mergify Bot removed the conflict This PR has conflicts label Aug 5, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@agent-skills/skills/atmos-migration/references/from-homebrew-brewfile.md`:
- Around line 70-74: Update the candidate resolution guidance in the section
describing Homebrew formula mappings to use kubernetes-sigs/kubectl for kubectl,
matching the existing configured alias. Ensure this identifier is used
consistently for both brew info lookups and the Atmos toolchain owner/repo
value, replacing the conflicting kubernetes/kubectl reference.

In `@agent-skills/skills/atmos-migration/SKILL.md`:
- Around line 109-111: Update the Shell Integration section to distinguish
Homebrew from asdf-like shim or proxy managers: state that Homebrew exposes
tools through a global bin directory, while shim-based managers provide
per-directory resolution. Clarify that the Atmos toolchain resolves tools only
during an atmos <subcommand> invocation, without implying Homebrew offers
per-directory behavior.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 217ccb12-7835-4211-a1df-24815163506b

📥 Commits

Reviewing files that changed from the base of the PR and between d2b8e81 and 1e25886.

📒 Files selected for processing (7)
  • agent-skills/skills/atmos-migration/SKILL.md
  • agent-skills/skills/atmos-migration/references/from-aqua.md
  • agent-skills/skills/atmos-migration/references/from-asdf.md
  • agent-skills/skills/atmos-migration/references/from-homebrew-brewfile.md
  • agent-skills/skills/atmos-migration/references/from-tenv.md
  • agent-skills/skills/atmos-migration/references/from-tfenv.md
  • agent-skills/skills/atmos-migration/references/from-tofuenv.md

Comment thread agent-skills/skills/atmos-migration/SKILL.md Outdated
@codecov

codecov Bot commented Aug 5, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.76%. Comparing base (d2b8e81) to head (1e25886).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #2877      +/-   ##
==========================================
- Coverage   82.76%   82.76%   -0.01%     
==========================================
  Files        1861     1861              
  Lines      180438   180438              
==========================================
- Hits       149342   149334       -8     
- Misses      23309    23315       +6     
- Partials     7787     7789       +2     
Flag Coverage Δ
unittests 82.76% <ø> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 7 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

…uides

- from-aqua.md: point command_aliases workaround at toolchain.proxies
  instead of toolchain.aliases, which only maps a short name to an
  owner/repo for lookup and cannot change a command's invoked name.
- from-aqua.md: pin the mirrored aqua-registry with the dedicated `ref`
  field instead of baking the branch/tag into the `source` URL path,
  matching how pkg/toolchain/registry/loader.go actually resolves pins.
- SKILL.md: describe atmos toolchain env/path as needing eval/export
  wrapping, and split the shim-based tools (asdf, aqua, tfenv, tofuenv,
  tenv) from Homebrew's global bin-directory model.
- from-homebrew-brewfile.md: fix the kubernetes-cli formula mapping to
  kubernetes-sigs/kubectl, matching the file's own atmos.yaml example
  and the other reference files.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…ration source

- Replace kubernetes-sigs/kubectl (not a real aqua-registry package) with
  kubernetes/kubectl across from-aqua.md, from-asdf.md, and
  from-homebrew-brewfile.md. Verified against the live aqua-registry index
  (aquaproj/aqua-registry registry.yaml): kubectl is a `type: http` package
  named kubernetes/kubernetes/kubectl with a documented `kubernetes/kubectl`
  alias, matching Atmos's own alias-resolution code
  (pkg/toolchain/registry/aqua/search.go) and the pre-existing
  demo/landing/fixtures/kubernetes/atmos.yaml example.
- Clarify Shell Integration sections in from-aqua.md, from-asdf.md,
  from-tfenv.md, from-tofuenv.md, and from-tenv.md: `atmos toolchain env`
  (and per-invocation PATH injection) resolves tools from `.tool-versions`
  (the project-wide default) as well as `dependencies.tools` (a scoped
  override), not dependencies.tools alone -- matching
  pkg/toolchain/env.go, which reads only .tool-versions, and the canonical
  framing already in agent-skills/skills/atmos-toolchain/SKILL.md.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-release Do not create a new release (wait for additional code changes) size/l Large size PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant