Cloud Cost Optimization
wshobson/agents
Cuts cloud spend across AWS, Azure, GCP and OCI with cost tagging, rightsizing, commitment and spot pricing models, and architecture changes.
Build disk images, upload to cloud providers, and run tests or spawn instances on non-QEMU platforms (AWS, GCP, Azure, ISO, metal, etc.)
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add coreos/coreos-assembler --skill cosa-platforms -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install coreos/coreos-assembler cosa-platforms --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/coreos/coreos-assembler.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/cosa-platforms .claude/skills/cosa-platforms && 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 "cosa-platforms" agent skill from https://github.com/coreos/coreos-assembler/tree/main/.agents/skills/cosa-platforms into .claude/skills/cosa-platforms/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cosa-platforms", 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/coreos/coreos-assembler/tree/main/.agents/skills/cosa-platformsType 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 coreos/coreos-assembler --skill cosa-platforms -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install coreos/coreos-assembler cosa-platforms --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/coreos/coreos-assembler.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/cosa-platforms .agents/skills/cosa-platforms && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cosa-platforms" agent skill from https://github.com/coreos/coreos-assembler/tree/main/.agents/skills/cosa-platforms into .agents/skills/cosa-platforms/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cosa-platforms", 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 coreos/coreos-assembler --skill cosa-platforms -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install coreos/coreos-assembler cosa-platforms --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/coreos/coreos-assembler.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/cosa-platforms .cursor/skills/cosa-platforms && 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 "cosa-platforms" agent skill from https://github.com/coreos/coreos-assembler/tree/main/.agents/skills/cosa-platforms into .cursor/skills/cosa-platforms/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cosa-platforms", 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/coreos/coreos-assembler.git --path .agents/skills/cosa-platforms--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 coreos/coreos-assembler --skill cosa-platforms -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install coreos/coreos-assembler cosa-platforms --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/coreos/coreos-assembler.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/cosa-platforms .gemini/skills/cosa-platforms && 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 "cosa-platforms" agent skill from https://github.com/coreos/coreos-assembler/tree/main/.agents/skills/cosa-platforms into .gemini/skills/cosa-platforms/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cosa-platforms", 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 coreos/coreos-assembler cosa-platformsInstalls 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 coreos/coreos-assembler --skill cosa-platforms -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/coreos/coreos-assembler.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/cosa-platforms .github/skills/cosa-platforms && 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 "cosa-platforms" agent skill from https://github.com/coreos/coreos-assembler/tree/main/.agents/skills/cosa-platforms into .github/skills/cosa-platforms/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cosa-platforms", 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 coreos/coreos-assembler --skill cosa-platforms -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install coreos/coreos-assembler cosa-platforms --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/coreos/coreos-assembler.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/cosa-platforms .opencode/skills/cosa-platforms && 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 "cosa-platforms" agent skill from https://github.com/coreos/coreos-assembler/tree/main/.agents/skills/cosa-platforms into .opencode/skills/cosa-platforms/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cosa-platforms", 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.
cosa-platformsBuild disk images, upload to cloud providers, and run tests or spawn instances on non-QEMU platforms (AWS, GCP, Azure, ISO, metal, etc.)
Cosa Platforms is an agent skill from coreos/coreos-assembler. Build disk images, upload to cloud providers, and run tests or spawn instances on non-QEMU platforms (AWS, GCP, Azure, ISO, metal, etc.)
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with Amazon Web Services, Google Cloud and Microsoft Azure. The repository describes itself as: Tooling container to assemble CoreOS-like systems. The licence is Apache-2.0.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 4ab8b08. 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.
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.
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.
Cosa Platforms loads about 1.6k tokens when it runs. Until then it costs about 38 tokens; SKILL.md has 694 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 patterns that need a careful read before installing.
| AWS | `aws` | `--aws-ami` | `~/.aws/credentials` |` | Inject SSH keys from the agent and `~/.ssh/` |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 coreos/coreos-assembler at commit 4ab8b08, republished under its Apache-2.0 licence (© coreos). 694 words, ~1,565 tokens.
.claude/skills/cosa-platforms/SKILL.md (or your agent's skills folder).This skill covers working with non-QEMU platforms in coreos-assembler: building platform-specific disk images, uploading them to cloud providers, running kola tests on cloud platforms, and spawning interactive cloud instances.
cosa() bash alias,
and general build workflow.Do NOT duplicate these docs. Read them at runtime for command details:
| File | What it covers |
|---|---|
docs/mantle/credentials.md | Credential setup for all platforms (AWS, Azure, GCP, OpenStack, DO, ESX, etc.) |
docs/cosa.md | Command reference including osbuild and imageupload-* |
docs/cosa/imageupload-aws.md | AWS AMI upload (IAM permissions, credentials) |
docs/cosa/osbuild-secex.md | IBM Secure Execution image building |
docs/cosa/run.md | cosa run (QEMU-only) and kola spawn for cloud instances |
docs/kola.md ("Run tests on cloud platforms") | Cloud testing examples for AWS, GCP, Azure |
mantle/cmd/kola/options.go | Source of truth for all platform-specific flags |
Kola supports the following platforms via the -p/--platform flag:
| Platform | -p value | Image flag | Default credentials |
|---|---|---|---|
| AWS | aws | --aws-ami | ~/.aws/credentials |
| Azure | azure | --azure-disk-uri | ~/.azure/azureCreds.json |
| DigitalOcean | do | --do-image | ~/.config/digitalocean.json |
| ESX/VMware | esx | --esx-base-vm | ~/.config/esx.json |
| GCP | gcp | --gcp-image | GCP service account JSON key |
| OpenStack | openstack | --openstack-image | ~/.config/openstack.json |
| QEMU | qemu | --qemu-image | (none) |
| QEMU ISO | qemu-iso | --qemu-iso | (none) |
Read docs/mantle/credentials.md for full credential setup details per
platform, and mantle/cmd/kola/options.go or cosa kola run -h for the
complete flag list.
cosa osbuild <platform>Use cosa osbuild --supported-platforms to list all available platforms.
Multiple platforms can be built in one invocation:
cosa osbuild aws azure gcpThis creates disk images in the appropriate format for each platform (e.g. VMDK for AWS, VHD for Azure, tar.gz for GCP, raw for metal).
For cloud platforms that require image upload:
cosa imageupload-<platform>Available upload targets: aliyun, aws, azure, gcp, powervs.
Read docs/cosa/imageupload-aws.md for AWS-specific IAM and credential
setup. Not all platforms have an imageupload-* command; for those that
don't, use ore directly or upload manually.
Read docs/mantle/credentials.md for per-platform credential configuration.
Each platform has its own credential file format and default location (see
the table above).
cosa kola run -p <platform> [platform-specific flags] <test-pattern>Examples:
# AWS
cosa kola run -p aws --aws-ami <AMI> --aws-region us-east-1 basic
# GCP
cosa kola run -p gcp --gcp-image <image> --gcp-json-key <key> --gcp-project <project> basic
# Azure
cosa kola run -p azure --azure-credentials <file> --azure-disk-uri <URI> basicRead docs/kola.md ("Run tests on cloud platforms") for more examples.
For the full list of flags per platform, read mantle/cmd/kola/options.go
or run cosa kola run -h.
cosa kola spawn -p <platform> [platform-specific flags]This launches an instance and opens an SSH shell without running tests. Useful for interactive debugging. Key flags:
| Flag | Purpose |
|---|---|
--shell / -s | Open an SSH shell (default: true) |
--detach / -t | Spawn in the background (implies --shell=false --remove=false --verbose --keys) |
--remove=false | Keep the instance running after the shell exits |
--keys / -k | Inject SSH keys from the agent and ~/.ssh/ |
--nodecount / -c | Number of instances to spawn |
--userdata / -u | Path to Ignition/Butane config for the instance |
--ssh-command / -x | Run a command over SSH instead of opening a shell |
Note: --reconnect is only available on QEMU platforms.
Read docs/cosa/run.md ("Running on cloud platforms") for more details.
cosa run is QEMU-only. For all other platforms, use
cosa kola run -p <platform> (for tests) or
cosa kola spawn -p <platform> (for interactive instances).--aws-ami etc. if the build
already has that info in meta.json. Check builds/<id>/<arch>/meta.json
to see if the cloud image info is present.cosa osbuild and cosa imageupload-* entirely. Just fetch the build
metadata with a lightweight cosa buildfetch (no --artifact or
--decompress needed):cosa buildfetch -b <build-id>--artifact, this only downloads a few small metadata files
(meta.json, commitmeta.json, etc.) -- not any disk images. The
meta.json contains the cloud image references (AMI IDs, GCP image
names, etc.) and kola will pick them up automatically when you run
cosa kola run -p <platform>.m5.large for AWS x86_64, c6g.xlarge for aarch64). Override with
platform-specific type flags (e.g. --aws-type, --gcp-machinetype,
--azure-size).© coreos, 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 .agents/skills/cosa-platforms of coreos/coreos-assembler.
Open the folder on GitHubat commit 4ab8b08
Cosa Platforms 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 |
|---|---|---|---|---|---|---|
| Cosa Platforms this skillcoreos/coreos-assembler | 395 | — | ~1.6k | Automated safety check: Warn | Apache-2.0 | |
| Cloud Cost Optimizationwshobson/agents | 40k | 14 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Terravision Cloud Diagramspatrickchugh/terravision | 1.6k | — | ~5.6k | Automated safety check: Notes | AGPL-3.0-only | |
| Thesvgglincker/thesvg | 2.8k | — | ~1.5k | Automated safety check: Pass | MIT | |
| TerrasharkLukasNiessen/terrashark | 714 | — | ~843 | Automated safety check: Pass | MIT | |
| Spotinfoalexei-led/spotinfo | 164 | — | ~1.8k | Automated safety check: Pass | Apache-2.0 |
wshobson/agents
Cuts cloud spend across AWS, Azure, GCP and OCI with cost tagging, rightsizing, commitment and spot pricing models, and architecture changes.
patrickchugh/terravision
Draw cloud architecture diagrams for AWS, Azure or GCP with the official provider icon sets, using TerraVision.
glincker/thesvg
Fetch brand SVG logos and cloud architecture icons (AWS, Azure, GCP) from theSVG.
LukasNiessen/terrashark
Prevent Terraform/OpenTofu hallucinations by diagnosing and fixing failure modes: identity churn, secret exposure, blast-radius mistakes, CI drift, and compliance gate gaps.
alexei-led/spotinfo
Query Spot/preemptible VM prices, savings and interruption risk across AWS, GCP and Azure with the spotinfo CLI.
mondoohq/mql
Deep static code review of an mql provider for logic errors, nil-handling bugs, pagination truncation, caching/id collisions, and other defects that silently give users wrong data.
coreos/coreos-assembler
Initialize a COSA workdir, build or fetch Fedora CoreOS images, and launch local QEMU VMs using coreos-assembler
coreos/coreos-assembler
Develop and test changes to coreos-assembler itself -- build mantle Go binaries (kola, ore, plume), iterate on Python/shell scripts, or do full container rebuilds
coreos/coreos-assembler
Run kola tests against CoreOS builds using coreos-assembler, including native and external tests
Build disk images, upload to cloud providers, and run tests or spawn instances on non-QEMU platforms (AWS, GCP, Azure, ISO, metal, etc.). Cosa Platforms is an agent skill from coreos/coreos-assembler.
Run `npx skills add coreos/coreos-assembler --skill cosa-platforms -a claude-code`. Or copy the skill folder (.agents/skills/cosa-platforms in coreos/coreos-assembler) into .claude/skills/cosa-platforms in your project. Claude Code loads it when a task matches its description.
Run `npx skills add coreos/coreos-assembler --skill cosa-platforms -a codex`. Or copy the skill folder (.agents/skills/cosa-platforms in coreos/coreos-assembler) into .agents/skills/cosa-platforms 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 coreos/coreos-assembler --skill cosa-platforms -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cosa-platforms, .gemini/skills/cosa-platforms, .github/skills/cosa-platforms and .opencode/skills/cosa-platforms in your project.
SKILL.md names no scripts, command-line tools or credentials: Cosa Platforms is instructions for the agent only.
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 flagged 2 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way.
Cosa Platforms 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 1.6k tokens (SKILL.md is roughly 6.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 Cosa Platforms: Cloud Cost Optimization (wshobson/agents, 40k stars), Terravision Cloud Diagrams (patrickchugh/terravision, 1.6k stars), Thesvg (glincker/thesvg, 2.8k stars) and Terrashark (LukasNiessen/terrashark, 714 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
coreos (a GitHub organization) maintains it in coreos/coreos-assembler, which has 395 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 7, 2026.
Source: coreos/coreos-assembler on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.