regression-test
Skill1.4k starsChanged 28 days agoApache-2.0View on GitHub
Compare Atmos revisions for upgrade regressions: behavior changes, broken existing workflows, new side effects, and slowdowns. Use for 'regression test', 'compare main against the previous release', or 'check upgrade compatibility'. Assess existing and potential config edition protection. Investigation only; general feature/DX exploration belongs to field-test, and isolated slowdown investigations to performance-regression.
4 other projects use a version of this.
Adopted by
Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data
Most recently taken up by
- phpstan/phpstan-srctheir own version, first seen Oct 9, 2026
- open-guji/luatex-cntheir own version, first seen Oct 9, 2026
- peteonrails/voxtypetheir own version, first seen Oct 8, 2026
- VodouAI/OStheir own version, first seen Jul 19, 2026
Who's talking about cloudposse/atmos
- basti-app/basti“homebrew formula to use `brew install basti`”GitHub · Aug 27, 2023 · 4 reactions
- runatlantis/atlantis“Release every time there is a new code change ”GitHub · Dec 24, 2022 · 3 reactions
- dineshba/tf-summarize“Add bump homebrew formula workflow to keep formula updated”GitHub · Sep 19, 2022 · 3 reactions
- cloudposse/terraform-provider-utils“Error: Plugin Did not Respond”GitHub · Dec 12, 2024 · 2 reactions
- NixOS/nixpkgs“atmos: 1.16.0 -> 1.53.0”GitHub · Jan 10, 2024 · 2 reactions
The biggest 5 of 45 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 45
Talked about on GitHub and Hacker News (45 times).
On GitHub · 44
- Aug 27, 2023homebrew formula to use `brew install basti` — basti-app/basti4 reactions
- Dec 24, 2022Release every time there is a new code change — runatlantis/atlantis3 reactions
- Sep 19, 2022Add bump homebrew formula workflow to keep formula updated — dineshba/tf-summarize3 reactions
- Dec 12, 2024Error: Plugin Did not Respond — cloudposse/terraform-provider-utils2 reactions · 3 comments
- Jan 10, 2024atmos: 1.16.0 -> 1.53.0 — NixOS/nixpkgs2 reactions · 2 comments
39 more on GitHub
- Nov 5, 2026[chore] Speed up go cache on Windows GitHub runners — signalfx/splunk-otel-collector1 reaction · 2 comments
- Feb 20, 2026Fix Copilot author detection in mergify rules — cloudposse/.github1 reaction · 2 comments
- Jan 17, 2025`utils_component_config` does not work with `name_template`, requires `name_pattern` — cloudposse/terraform-provider-utils1 reaction
- Oct 17, 2024Adding new --stack parameter — cloudposse/github-action-atmos-affected-stacks1 reaction · 1 comment
- Sep 5, 2024feat: Add Atmos by Cloud Posse — asdf-vm/asdf-plugins1 reaction · 4 comments
- Aug 19, 2024feat: add IAM auth support (required for stack config templating as of atmos `1.86.2`) — cloudposse/github-action-atmos-affected-stacks1 reaction · 1 comment
- May 30, 2022Add a deployment process — jhannah/legislature_calendar1 reaction
- Mar 11, 2022tools: add atmos — shuaibiyy/awesome-tf1 reaction · 1 comment
- Nov 15, 2021atmos 1.3.9 (new formula) — Homebrew/homebrew-core1 reaction · 1 comment
- Nov 4, 2026Intermittent windows test failures due to step-security — orcasound/pods-ai0 reactions
- Nov 3, 2026atmos: 1.233.0 -> 1.233.2 — NixOS/nixpkgs0 reactions · 2 comments
- Oct 28, 2026claude-code-plugins.github.cloudposse.atmos: init at 1.233.2 — sudosubin/agents.nix0 reactions
- Oct 28, 2026claude-code-marketplaces.github.cloudposse.atmos: init at 1.233.2 — sudosubin/agents.nix0 reactions
- Oct 25, 2026feat(cloudposse/atmos): trust tagged signing from v1.235.0 — aquaproj/aqua-registry0 reactions · 1 comment
- Oct 25, 2026fix(cloudposse/atmos): update signing identity from v1.233.2 — aquaproj/aqua-registry0 reactions · 2 comments
- Oct 24, 2026agent-skills.github.cloudposse.atmos: 1.233.1 → 1.233.2 — sudosubin/agents.nix0 reactions
- Oct 24, 2026feat: show why CI failed — failed job log excerpts (--logs, MCP get_failed_logs) — devblac/prw0 reactions · 1 comment
- Oct 23, 2026Enroll cloudposse/atmos — anthropics/oss-scanner0 reactions · 2 comments
- Oct 22, 2026atmos: 1.231.0 -> 1.233.0 — NixOS/nixpkgs0 reactions · 2 comments
- Oct 21, 2026agent-skills.github.cloudposse.atmos: 1.233.0 → 1.233.1 — sudosubin/agents.nix0 reactions
- Oct 20, 2026agent-skills.github.cloudposse.atmos: 1.232.0 → 1.233.0 — sudosubin/agents.nix0 reactions
- Oct 16, 2026[Candidate] cloudposse/atmos - large collection (87 SKILL.md files) — ProSkillsMD/proskills0 reactions · 1 comment
- Oct 13, 2026agent-skills.github.cloudposse.atmos: 1.230.1 → 1.232.0 — sudosubin/agents.nix0 reactions
- Oct 10, 2026atmos: 1.230.0 -> 1.231.0 — NixOS/nixpkgs0 reactions · 2 comments
- Oct 3, 2026agent-skills.github.cloudposse.atmos: 1.229.0 → 1.230.1 — sudosubin/agents.nix0 reactions
- Aug 31, 2026atmos/1.227.0: add package definition for the Atmos CLI — wolfi-dev/os0 reactions
- Aug 30, 2026`import:` in atmos.yaml silently ignored by data sources — Atmos import adapters never registered in the provider binary — cloudposse/terraform-provider-utils0 reactions
- Jun 10, 2026Update Terraform utils to < 1.36.0 (main) — cloudposse/terraform-spacelift-cloud-infrastructure-automation0 reactions · 1 comment
- May 4, 2026Evaluate https://github.com/cloudposse/atmos for opentofu orchastration — GSA-TTS/cloud-sandbox0 reactions
- Mar 11, 2026Improve documentation and add Atmos integration examples — cloudposse/terraform-provider-context0 reactions · 1 comment
- Nov 28, 2025git clone fail when upgraded to git 2.52.0 (latest version as of now) and use command golangci-lint custom — golangci/golangci-lint0 reactions · 2 comments
- Oct 30, 2025Bump github.com/cloudposse/atmos from 1.189.0 to 1.196.0 — cloudposse/terraform-provider-utils0 reactions · 1 comment
- May 13, 2025Plan fails unless VPC isn't already deployed — terraform-aws-modules/terraform-aws-vpc0 reactions · 3 comments
- Jan 21, 2025Addressing Resource Visibility and Pagination Issues — magodo/pipeform0 reactions · 1 comment
- Aug 21, 2024add atmos pro stack locking — cloudposse/github-action-atmos-terraform-apply0 reactions
- Aug 20, 2024DEV-2465: add stack locking — cloudposse/github-action-atmos-terraform-plan0 reactions
- Sep 19, 2023Update Terraform utils to v1.35.0 — MaxymVlasov/renovate-tf-lockfile0 reactions
- Jan 3, 2023Automate releases without a manual PR prior to release — runatlantis/atlantis0 reactions
- Dec 24, 2022Bump homebrew formula upon new releases — runatlantis/atlantis0 reactions
On Hacker News · 1
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- peteonrails/voxtype★ 1.8ksame name
- phpstan/phpstan-src★ 400same name
- open-guji/luatex-cn★ 127same name
- VodouAI/OS★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository38 other files it gives its agents.
- agent-skills/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .cursor/rules/atmos-rules.mdcCursor rule
- atmos-asciicastSkill
- atmos-core-component-developmentSkill
- changelogSkill
- code-hygieneSkill
- component-developmentSkill
- docsSkill
- editionsSkill
- field-testSkill
- fix-allSkill
- fix-logSkill
- gh-stackSkill
- homebrewSkill
- lintSkill
- performance-regressionSkill
- pr-maintenance-loopSkill
- pull-requestSkill
- releasesSkill
- roadmapSkill
- saySkill
- security-remediateSkill
- speckit-analyzeSkill
- speckit-checklistSkill
- speckit-clarifySkill
- speckit-constitutionSkill
- speckit-git-commitSkill
- speckit-git-featureSkill
- speckit-git-initializeSkill
- speckit-git-remoteSkill
- speckit-git-validateSkill
- speckit-implementSkill
- speckit-planSkill
- speckit-specifySkill
- speckit-tasksSkill
- speckit-taskstoissuesSkill
- test-coverageSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
21 rules. 0 are common, 14 are distinctive, and 7 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
14
Distinctive
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
Use the hypothesis-driven, real-execution discipline of field-test, with the comparative evidence and edition analysis below.
- Distinctive: line 31
Never substitute the current feature branch or include its uncommitted code in the candidate.
- Very specific: line 32
Verify refs and ancestry. Use the endpoint diff (git diff <baseline-sha> <candidate-sha>), not a merge-base diff that silently changes the …
- Distinctive: line 38
If both endpoints are identical, report that there is no revision delta to investigate.
- Distinctive: line 42
Read the production diff content, implementation on both sides, relevant existing tests, and migration/release documentation.
- Very specific: line 46
Read historical-patterns.md and search docs/fixes for the changed subsystems.
- Distinctive: line 50
Create a prioritized coverage ledger: hypothesis, user impact, command/configuration, fixture source, expected comparison, and …
- Distinctive: line 57
Do not exclude a useful differential experiment merely because unit tests cover that path.
- Very specific: line 62
Read editions, docs/prd/editions.md, the journal in pkg/edition, and the changed code's actual edition/config consumers.
- Distinctive: line 67
Test any existing protection end to end.
- Distinctive: line 72
If protection is missing or ineffective, assess whether introducing a transition can preserve release behavior.
- Distinctive: line 90
Do not recommend preserving unsafe behavior merely to obtain equality.
- Very specific: line 95
Prefer copies of release-compatible fixtures from tests/fixtures/scenarios, examples, or historical reproducers.
- Very specific: line 100
Use equivalent initial state, isolated homes/config/cache directories, and controlled dependencies.
- Distinctive: line 111
Run structured-output tests as real captured subprocesses and parse their stdout.
- Distinctive: line 116
Verify actual downstream effects: parsed flags alone do not prove propagation, exit zero does not prove valid data, and a dry-run flag does …
- Very specific: line 125
Use ATMOS_BENCH_FIELD_FILTER to select relevant workloads.
- Distinctive: line 130
Do not compare local Mac measurements with Linux CI history or call harness allocations CLI memory.
- Distinctive: line 135
Keep evidence and the report under the run directory.
- Distinctive: line 150
Do not promote unknown-intent differences to confirmed accidental regressions without evidence.
- Very specific: line 153
Follow-up fixes are a separate task and use the repository's fix-log workflow.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Regression Test
Answer: What happens differently to an existing user who upgrades without changing their project?
Investigate and report. Do not fix product code, implement edition transitions, regenerate goldens, publish findings, or create issues as part of this skill. The number of bugs found is not a success metric. Unchanged bugs do not count as new regressions, but a worsening of an existing bug can. New functionality matters here when it affects existing workflows.
Use the hypothesis-driven, real-execution discipline of field-test, with the comparative evidence and edition analysis below. Passing today's unit tests alone does not establish upgrade compatibility. Under plan mode, research and specify the experiments; wait for execution mode before writing fixtures or executing the investigation.
1. Freeze the comparison
Interpret supplied baseline, candidate, and subsystem arguments. Otherwise:
- Resolve the latest published, non-draft, non-prerelease release through GitHub release
metadata (
gh api repos/cloudposse/atmos/releases/latest). A newer RC tag is not the default. - Resolve remote
main, fetching missing/stale refs when necessary. Pin both endpoints to commit SHAs; record the release tag, publication time, resolution time, and candidate SHA. Never substitute the current feature branch or include its uncommitted code in the candidate. - Verify refs and ancestry. Use the endpoint diff (
git diff <baseline-sha> <candidate-sha>), not a merge-base diff that silently changes the baseline. If refs cannot be obtained, report the unavailable comparison rather than guessing a different release. - Preserve the user's checkout and changes. Build isolated sources under a unique
.context/regression-test/<run>/directory; record source, toolchain, build settings, binary hashes, and harness revision. Distinguish locally rebuilt releases from published binaries. If both endpoints are identical, report that there is no revision delta to investigate.
2. Generate upgrade hypotheses
Read the production diff content, implementation on both sides, relevant existing tests, and migration/release documentation. Map changed shared code to its existing callers; an unchanged command can regress when its loader, runner, cache, or output writer changes.
Read historical-patterns.md and search docs/fixes for
the changed subsystems. Verify historical claims against code and live execution. Fix logs
provide hypotheses and realistic fixture shapes, not proof of a current regression.
Create a prioritized coverage ledger: hypothesis, user impact, command/configuration, fixture source, expected comparison, and evidence/status. Cover changed behavior first, plus historical sentinel cases for configuration/merge/path semantics and machine output. Account explicitly for relevant flag/env/config precedence, lazy evaluation, side effects, credential and cache isolation, concurrency, cancellation, and performance. Mark untested areas rather than claiming whole-product coverage.
Do not exclude a useful differential experiment merely because unit tests cover that path. Conversely, a new command unsupported by the baseline is not itself a regression.
3. Analyze editions, including gates that could be introduced
Read editions, docs/prd/editions.md, the journal in pkg/edition,
and the changed code's actual edition/config consumers. For each meaningful difference:
- Establish whether intent is documented or unresolved. Do not infer intent from a changed test expectation or a new default alone.
- Test any existing protection end to end. Compare the same configuration on both binaries with a pin before the relevant transition, the boundary date, no pin, and relevant explicit overrides. Use the actual journal date, not an assumed release date. Where pin parsing or precedence changes, also exercise partial dates, invalid pins, and flag > environment > config precedence. Keep invalid-input failures separate from gates.
- If protection is missing or ineffective, assess whether introducing a transition can preserve release behavior. Use KindValue for default changes; use KindBehavior when a stored value keeps its spelling but changes meaning or execution. New keys that replace previously unconditional behavior also need this assessment.
- Recommend the transition's old/new behavior, affected settings/call sites, retained compatibility path, and tests proving old pins preserve behavior and newer/unpinned configurations select the intended change. Do not implement the recommendation.
A journal entry is not a compatibility path. Trace BehaviorChanged to its callers and
verify execution; historical candidate notes may remain ungated. Explicit configuration
must retain its documented precedence over edition-derived defaults. Never change a user's
pin solely to make a failing comparison pass: label such an experiment as mitigation.
Classify an intentional, correctly gated transition as a compatibility finding, with its unpinned upgrade impact. Report missing/ineffective protection explicitly. Accidental crashes, wrong values, isolation failures, and slowdowns remain regressions even if a gate is proposed. Recommend correcting pure regressions for every edition. Edition transitions preserve intentional behavior changes; do not recommend gating a fix to preserve a defect. Do not recommend preserving unsafe behavior merely to obtain equality; identify cases that need a direct fix or an explicit migration instead.
4. Run paired experiments
Prefer copies of release-compatible fixtures from tests/fixtures/scenarios, examples, or
historical reproducers. Use identical fixture content for both binaries, including the same
external tool versions. Preserve fixture origins and any modifications. A current fixture
using new syntax cannot establish that an old workflow regressed.
- Use equivalent initial state, isolated homes/config/cache directories, and controlled
dependencies. Strip ambient Atmos/cloud credentials and settings; use disposable local
fixtures or emulators for mutation. Verify the reset before each run. Do not touch live
infrastructure or external reporting endpoints without task-specific authorization.
Give fixtures nested in this checkout their own disposable Git root: Atmos discovers
.atmos.dat the Git root even whenATMOS_CLI_CONFIG_PATHis explicit. Inspect resolved config to ensure repository development commands/settings did not leak into the experiment. - Capture exact commands, environment overrides, stdout, stderr, exit status, resolved data, and relevant filesystem/backend/subprocess effects. Preserve raw observations. Normalize only identified incidental differences (e.g. sandbox roots); never normalize away missing values, type changes, ordering guarantees, channel pollution, or errors.
- Run structured-output tests as real captured subprocesses and parse their stdout. Test interactive behavior separately in a PTY; piping does not preserve TTY behavior.
- Reproduce unexpected differences twice from clean state and reduce confirmed findings to a small reusable fixture. For intermittent failures, retain trials and failure counts; failure to reproduce is inconclusive, not proof of compatibility.
- Verify actual downstream effects: parsed flags alone do not prove propagation, exit zero does not prove valid data, and a dry-run flag does not prove absence of writes or downloads.
- For cache/concurrency changes, verify values and isolation as well as work counts; exercise cold/warm state and different callers/identities where relevant. For cancellation, observe child-process termination, not just parent exit.
For timing use performance-regression and the maintained
magefiles/README.md contract. Rebuild both SHAs through go tool mage bench:fieldTest, with
the same current CLI harness, at least ten samples, and no concurrent builds or heavy tests.
Use ATMOS_BENCH_FIELD_FILTER to select relevant workloads. Keep correctness checks outside
timing; an older binary failing a new assertion may be a pre-existing bug, not a new slowdown.
Retain that failure before selecting another timing workload. Do not relax assertions/budgets
to make the comparison pass. Report medians, absolute/percentage differences, samples,
significance, and operation counts using the configured threshold (normally >=10%, p<0.05).
Do not compare local Mac measurements with Linux CI history or call harness allocations CLI
memory. Environmental degradation and unsupported workloads are not confirmed regressions.
5. Report and stop
Keep evidence and the report under the run directory. Each finding needs versions, fixture, command, relevant edition/config, baseline and candidate observations, reproduction evidence, user impact/severity, and edition assessment. Link the exact artifacts. Distinguish observed behavior from inferred causes; identify a responsible commit only when verified.
Separate:
- Confirmed regressions, ranked by impact (data/credential corruption, incorrect operations, crashes/broken workflows, slowdown, then presentation changes).
- Intentional compatibility changes, including demonstrated protection, missing protection, and recommendations for transitions that could be introduced.
- Preserved behavior and improvements, with the workloads actually exercised.
- Inconclusive cases and coverage gaps, including unavailable dependencies/platforms, baseline failures, unchanged bugs relevant to the experiment, and untested hypotheses.
Do not promote unknown-intent differences to confirmed accidental regressions without evidence;
retain them as unresolved compatibility findings. State “no regressions observed in these
workloads” when warranted, never “regression-free.” A proposed edition gate is not a resolution.
Follow-up fixes are a separate task and use the repository's fix-log workflow.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

