CCPM Project Management
automazeio/ccpm
Runs a spec-driven workflow from PRD to epic to GitHub issues to parallel agents, with status, standup and blocked-work reports from bundled scripts.
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…
$ npx skills add cloudposse/atmos --skill editions -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install cloudposse/atmos editions --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/.claude/skills/editions .claude/skills/editions && 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 "editions" agent skill from https://github.com/cloudposse/atmos/tree/main/.claude/skills/editions into .claude/skills/editions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "editions", 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/.claude/skills/editionsType 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 editions -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install cloudposse/atmos editions --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/.claude/skills/editions .agents/skills/editions && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "editions" agent skill from https://github.com/cloudposse/atmos/tree/main/.claude/skills/editions into .agents/skills/editions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "editions", 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 editions -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install cloudposse/atmos editions --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/.claude/skills/editions .cursor/skills/editions && 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 "editions" agent skill from https://github.com/cloudposse/atmos/tree/main/.claude/skills/editions into .cursor/skills/editions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "editions", 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 .claude/skills/editions--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 editions -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install cloudposse/atmos editions --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/.claude/skills/editions .gemini/skills/editions && 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 "editions" agent skill from https://github.com/cloudposse/atmos/tree/main/.claude/skills/editions into .gemini/skills/editions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "editions", 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 editionsInstalls 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 editions -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/.claude/skills/editions .github/skills/editions && 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 "editions" agent skill from https://github.com/cloudposse/atmos/tree/main/.claude/skills/editions into .github/skills/editions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "editions", 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 editions -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 editions --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/.claude/skills/editions .opencode/skills/editions && 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 "editions" agent skill from https://github.com/cloudposse/atmos/tree/main/.claude/skills/editions into .opencode/skills/editions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "editions", 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.
editionsDecide 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…
Editions is an agent skill from 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, snapshot/invariant regeneration, and the post-editions KindBehavior candidate note for behavior changes the journal can't gate yet. Invoke whenever a PR changes what a config key defaults to, or changes what an existing stored value effectively means.
Its SKILL.md is about 2.1k 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 Product & Project Management, covering PRD writing and Accounting and bookkeeping. 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.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit bbe58a6. 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:
goFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Editions loads about 2.1k tokens when it runs. Until then it costs about 114 tokens; SKILL.md has 1,008 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 bbe58a6, republished under its Apache-2.0 licence (© cloudposse). 1,008 words, ~2,066 tokens.
.claude/skills/editions/SKILL.md (or your agent's skills folder).Source of truth: docs/prd/editions.md. This skill is the contributor-facing decision tree for
"does my change need edition handling", not a restatement of the architecture — read
docs/prd/editions.md for the four-layer model, pkg/edition/journal.go's Entry schema, and the
guardrail tests before touching anything. This skill exists because the deciding question
("does this default change supersede prior behavior?") is easy to answer wrong by only checking
the literal rule ("new keys are never journal-gated") without checking what the rule is for.
Ask these in order. Stop at the first "yes."
1. Does this change a previously-shipped key's literal default value?
(e.g. flipping settings.terminal.pager's struct default from "true" to "false".)
→ Yes: KindValue journal entry required. Follow docs/prd/editions.md's "Contributor
workflow" exactly:
setDefaultConfiguration (pkg/config/load.go), and in
defaultCliConfig (pkg/config/default.go) if that struct also carries the field. Confirm the
key isn't set in the embedded atmos.yaml (layer (b) must stay journaled-key-free).Entry{Date, Key, Kind: KindValue, Old, New, Description, Ref} to
pkg/edition/journal.go — Ref is the PR URL, Old/New typed as the field is typed today.ATMOS_REGENERATE_DEFAULTS_SNAPSHOT=true go test ./pkg/config -run TestDefaultConfigurationSnapshot.Skipping this is not optional — pkg/config/default_snapshot_test.go fails the build on an
unjournaled value change.
2. Is this a brand-new key whose default doesn't change what Atmos already, unconditionally did? (e.g. a new opt-in flag for genuinely new functionality with no prior equivalent — nothing before this key ever did what it controls, not even as hardcoded behavior.)
→ No action needed. docs/prd/editions.md: "new defaults are never journal-gated." Only edit
the layer that introduces the key and regenerate the snapshot (new-key diffs there don't require a
journal entry, just committing the updated golden file).
3. Is this a brand-new key whose default does change what Atmos already, unconditionally did — just via a key that didn't exist before?
This is the case rule 2's literal wording ("new key, so exempt") lets through even though the effect on an upgrading user is identical to a changed default: before the key existed, behavior was fixed; after it ships, the key's default silently changes that fixed behavior for every existing project with zero action from them. Two sub-questions decide the safe default:
components.terraform.init.upgrade defaults to never (Atmos never passed
-upgrade automatically before this setting existed), not auto, even though auto was the
natural symmetric choice next to init.mode/init.reconfigure.components.terraform.init.mode/
init.reconfigure default to auto (init already ran unconditionally every time; auto only
skips/conditions it), with the PRD's Goals section stating outright which legacy-default
combination is not behavior-preserving.Either way: proceed to step 4.
4. Does this PR reinterpret what an existing, already-shipped config value effectively means,
without changing the stored value itself?
(e.g. init_run_reconfigure: true keeps meaning "true" in the YAML, but what true causes
changed from "always add -reconfigure" to "add it only when the backend changed.")
→ This is KindBehavior, not KindValue — and KindBehavior resolution isn't implemented yet
(pkg/edition/journal.go's Kind field has the enum value reserved, zero entries use it; see
docs/prd/editions.md's Roadmap). You cannot mechanically gate this today. What you can and
must do:
docs/prd/editions.md's Roadmap → "Behavior gating" seed-entry list, dated to
this PR's merge date, with a PR link and one sentence describing the reinterpretation — same
format as the existing 9 seed entries. If this is the first such entry to ship after editions
itself existed (check the entry dates against docs/prd/editions.md's own PRD changelog date),
say so explicitly, the way the "First post-editions candidate" paragraph does — it's a
different situation from the pre-editions historical sweep and worth flagging as such.docs/prd/editions.md's own Changelog table with a new dated row noting the addition (no
version-number bump needed for a docs-only Roadmap addition; use the next minor, e.g. 1.0 → 1.1).KindBehavior journal entry with a fake or partial BehaviorChanged predicate to
"make it gated" — the resolution engine doesn't call it, so it would silently do nothing while
looking like real protection. Wait for the actual v2 implementation.auto and another to never.go build ./...
go test ./pkg/edition/... ./pkg/config/... # anchor/resolve/journal + load_edition_test.go + invariants
ATMOS_REGENERATE_DEFAULTS_SNAPSHOT=true go test ./pkg/config -run TestDefaultConfigurationSnapshot # only if a default changedpkg/config/edition_invariants_test.go and pkg/edition/journal_invariants_test.go fail the build
on: non-chronological or malformed journal dates, a chain where entry[n+1].Old != entry[n].New, a
journaled key present in the embedded atmos.yaml, or defaultCliConfig disagreeing with the
journal's current value. Don't hand-edit pkg/config/testdata/default-config-snapshot.yaml —
always regenerate it.
docs/prd/editions.md — architecture, semantics, full journal contents, testing, roadmap.docs/prd/terraform-auto-init.md — worked example of both a KindBehavior candidate
(init_run_reconfigure's reinterpretation) and a step-3 new-automatic-behavior default choice
(init.upgrade: never) in the same PRD.pull-request skill — the broader PR-readiness checklist this feeds into; run this skill's
decision tree before that one's pre-push checklist when a PR touches any default.© 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 .claude/skills/editions of cloudposse/atmos.
Open the folder on GitHubat commit bbe58a6
Editions 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 |
|---|---|---|---|---|---|---|
| Editions this skillcloudposse/atmos | 1.4k | — | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| CCPM Project Managementautomazeio/ccpm | 8.4k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Ralph Tui Create Beadssubsy/ralph-tui | 2.5k | 1 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Trellis Brainstormanjiemo/SunnyBeach | 178 | 7 repos | ~4k | Automated safety check: Pass | Apache-2.0 | |
| Adversarial Speczscole/adversarial-spec | 556 | 1 repos | ~8.3k | Automated safety check: Notes | MIT | |
| Ralph Tui Create Beads Rustsubsy/ralph-tui | 2.5k | 1 repos | ~2.8k | Automated safety check: Pass | MIT |
automazeio/ccpm
Runs a spec-driven workflow from PRD to epic to GitHub issues to parallel agents, with status, standup and blocked-work reports from bundled scripts.
subsy/ralph-tui
Convert PRDs to beads for ralph-tui execution. An agent skill from subsy/ralph-tui.
anjiemo/SunnyBeach
Guides collaborative requirements discovery before implementation.
zscole/adversarial-spec
Iteratively refine a product spec by debating with multiple LLMs (GPT, Gemini, Grok, etc.) until all models agree.
subsy/ralph-tui
Convert PRDs to beads for ralph-tui execution using beads-rust (br CLI).
ywwynm/EverythingDone
Break a plan, spec, or PRD into independently-grabbable issues on the project issue tracker using tracer-bullet vertical slices.
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
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…
cloudposse/atmos
Maintain and update the Atmos roadmap page (website/src/data/roadmap.js): milestone/initiative/quarter schema, progress-percentage math, the curated featured[] cap (max 6, never auto-modified), and…
Categories
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…. Editions is an agent skill from cloudposse/atmos.md), and do the mechanical work if so: journal entries, the four-layer default check, snapshot/invariant regeneration, and the post-editions KindBehavior candidate note for behavior changes the journal can't gate yet.
Editions fits situations like: tasks that involve PRD writing; tasks that involve Accounting and bookkeeping.
Run `npx skills add cloudposse/atmos --skill editions -a claude-code`. Or copy the skill folder (.claude/skills/editions in cloudposse/atmos) into .claude/skills/editions in your project. Claude Code loads it when a task matches its description.
Run `npx skills add cloudposse/atmos --skill editions -a codex`. Or copy the skill folder (.claude/skills/editions in cloudposse/atmos) into .agents/skills/editions 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 editions -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/editions, .gemini/skills/editions, .github/skills/editions and .opencode/skills/editions in your project.
Going by SKILL.md and its folder, Editions needs the command-line tools its instructions call (go).
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.
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.
Editions 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.1k tokens (SKILL.md is roughly 8.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 Editions: CCPM Project Management (automazeio/ccpm, 8.4k stars), Ralph Tui Create Beads (subsy/ralph-tui, 2.5k stars), Trellis Brainstorm (anjiemo/SunnyBeach, 178 stars) and Adversarial Spec (zscole/adversarial-spec, 556 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,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.