New Mac Setup
swyxio/skills
Fully automated new Mac setup for fullstack web developers and AI engineers.
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
$ npx skills add coreos/coreos-assembler --skill cosa-dev -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install coreos/coreos-assembler cosa-dev --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-dev .claude/skills/cosa-dev && 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-dev" agent skill from https://github.com/coreos/coreos-assembler/tree/main/.agents/skills/cosa-dev into .claude/skills/cosa-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cosa-dev", 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-devType 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-dev -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install coreos/coreos-assembler cosa-dev --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-dev .agents/skills/cosa-dev && 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-dev" agent skill from https://github.com/coreos/coreos-assembler/tree/main/.agents/skills/cosa-dev into .agents/skills/cosa-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cosa-dev", 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-dev -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install coreos/coreos-assembler cosa-dev --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-dev .cursor/skills/cosa-dev && 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-dev" agent skill from https://github.com/coreos/coreos-assembler/tree/main/.agents/skills/cosa-dev into .cursor/skills/cosa-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cosa-dev", 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-dev--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-dev -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install coreos/coreos-assembler cosa-dev --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-dev .gemini/skills/cosa-dev && 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-dev" agent skill from https://github.com/coreos/coreos-assembler/tree/main/.agents/skills/cosa-dev into .gemini/skills/cosa-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cosa-dev", 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-devInstalls 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-dev -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-dev .github/skills/cosa-dev && 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-dev" agent skill from https://github.com/coreos/coreos-assembler/tree/main/.agents/skills/cosa-dev into .github/skills/cosa-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cosa-dev", 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-dev -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-dev --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-dev .opencode/skills/cosa-dev && 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-dev" agent skill from https://github.com/coreos/coreos-assembler/tree/main/.agents/skills/cosa-dev into .opencode/skills/cosa-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cosa-dev", 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-devDevelop and test changes to coreos-assembler itself -- build mantle Go binaries (kola, ore, plume), iterate on Python/shell scripts, or do full container rebuilds
Cosa Dev is an agent skill from 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
Its SKILL.md is about 2k 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 Development, covering Shell scripting and Containers. It works with Python. 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.
Shell commands in SKILL.md call:
gopodmanmakeFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comFrom 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 Dev loads about 2k tokens when it runs. Until then it costs about 43 tokens; SKILL.md has 814 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 coreos/coreos-assembler at commit 4ab8b08, republished under its Apache-2.0 licence (© coreos). 814 words, ~1,976 tokens.
.claude/skills/cosa-dev/SKILL.md (or your agent's skills folder).This skill covers workflows for making and testing changes to
coreos-assembler (COSA) itself, including the Go binaries in mantle/,
the Python/shell scripts in src/, and the container image.
cosa() bash alias, workdir
setup, and general build workflow.Do NOT duplicate these docs. Read them at runtime for command details:
| File | What it covers |
|---|---|
docs/devel.md | Developer workflows: hacking scripts, building Go binaries, container rebuilds |
docs/building-fcos.md | The cosa() bash alias definition |
Makefile | Build targets: mantle, kola, ore, plume, kolet, install |
mantle/build | Mantle build script (called by make kola etc.) |
build.sh | Container image build steps |
Dockerfile | Container image definition |
| What changed | Approach | Rebuild time |
|---|---|---|
Go code in mantle/ only | Build single binary, mount over container copy | ~2 min cold, seconds warm |
Python/shell in src/ only | Set COREOS_ASSEMBLER_GIT | Instant (no rebuild) |
| Both Go and Python/shell | Combine both approaches | ~2 min cold, seconds warm |
| Dockerfile, RPM deps, or everything | Full podman build | Several minutes |
Use this when changing Go code under mantle/. The idea is to build the
binary inside the cosa container (which has the Go toolchain), write it
to a host directory, then mount it over the container's installed copy on
subsequent runs.
| Source path | Binary name | Installed at |
|---|---|---|
mantle/cmd/kola | kola | /usr/bin/kola |
mantle/cmd/ore | ore | /usr/bin/ore |
mantle/cmd/plume | plume | /usr/bin/plume |
mantle/cmd/kolet | kolet | /usr/lib/kola/<arch>/kolet |
mkdir -p /tmp/cosa-go-cache /tmp/cosa-bin
chmod 777 /tmp/cosa-go-cache /tmp/cosa-binThe chmod 777 is needed because the cosa container runs as uid 1000
(builder) via --userns=keep-id, and the directories must be writable
by that mapped user.
Mount the cosa source tree, the output directory, and optionally a persistent Go build cache into the container:
export COREOS_ASSEMBLER_CONTAINER_RUNTIME_ARGS="\
-v=/path/to/coreos-assembler:/srv/cosa-src:ro \
-v=/tmp/cosa-bin:/srv/cosa-bin:rw \
-v=/tmp/cosa-go-cache:/home/builder/.cache/go-build:rw"
cosa shell -- bash -c \
'cd /srv/cosa-src && go build -buildvcs=false -o /srv/cosa-bin/kola ./mantle/cmd/kola'Replace kola with ore or plume as needed. To build all mantle
binaries at once:
cosa shell -- bash -c \
'cd /srv/cosa-src && \
for cmd in kola ore plume; do \
go build -buildvcs=false -o /srv/cosa-bin/$cmd ./mantle/cmd/$cmd; \
done'Key flags:
-buildvcs=false -- required to avoid git ownership errors inside the
container (the source tree is mounted from the host with a different uid)./home/builder/.cache/go-build) makes
subsequent rebuilds incremental. The first build downloads and compiles
all dependencies (~2 minutes); rebuilds after a small code change take
only a few seconds.To verify that the code compiles without producing a binary:
cosa shell -- bash -c \
'cd /srv/cosa-src && go build -buildvcs=false ./mantle/...'Mount the built binary over the container's installed copy using
COREOS_ASSEMBLER_CONTAINER_RUNTIME_ARGS:
export COREOS_ASSEMBLER_CONTAINER_RUNTIME_ARGS="\
-v=/tmp/cosa-bin/kola:/usr/bin/kola:ro"
cosa kola run -p qemu basicThis can be combined with other mounts. For example, to also mount AWS credentials:
export COREOS_ASSEMBLER_CONTAINER_RUNTIME_ARGS="\
-v=/tmp/cosa-bin/kola:/usr/bin/kola:ro \
-v=/path/to/aws-creds:/srv/aws-creds:ro"
cosa kola run -p aws --aws-credentials-file /srv/aws-creds basicAfter making further code changes, re-run the build command from Step 2. With the persistent Go cache, only the changed packages are recompiled. Then re-run the test from Step 4 -- the mount picks up the new binary automatically.
Use this when changing files under src/ (e.g. src/cmd-build,
src/cmd-init, src/cosalib/*.py). No rebuild is needed.
Set the COREOS_ASSEMBLER_GIT environment variable to point at your
local coreos-assembler checkout. The cosa() bash alias will
automatically mount $COREOS_ASSEMBLER_GIT/src/ over
/usr/lib/coreos-assembler/ inside the container:
export COREOS_ASSEMBLER_GIT=/path/to/coreos-assembler
cosa init https://github.com/coreos/fedora-coreos-config
cosa buildChanges to files under src/ take effect immediately on the next cosa
invocation. No rebuild or remount is required.
Limitation: This only covers files installed to
/usr/lib/coreos-assembler/ (i.e. src/ contents). It does NOT affect
Go binaries (kola, ore, plume) or system packages. For Go changes,
combine this with Approach 1.
export COREOS_ASSEMBLER_GIT=/path/to/coreos-assembler
export COREOS_ASSEMBLER_CONTAINER_RUNTIME_ARGS="\
-v=/tmp/cosa-bin/kola:/usr/bin/kola:ro"
cosa kola run basicThis uses the modified Python/shell scripts from COREOS_ASSEMBLER_GIT
AND the modified kola binary from the mount.
Use this when changing the Dockerfile, adding or updating RPM
dependencies, or when you want to verify everything works together as a
complete image.
From the coreos-assembler repo root:
podman build -t localhost/coreos-assembler .To speed things up by reusing the official image as a base (useful when only cosa code changed, not dependencies):
podman build -t localhost/coreos-assembler . \
--from quay.io/coreos-assembler/coreos-assembler:latestSet COREOS_ASSEMBLER_CONTAINER so the cosa() alias uses your local
image instead of the upstream one:
export COREOS_ASSEMBLER_CONTAINER=localhost/coreos-assembler
cosa init https://github.com/coreos/fedora-coreos-config
cosa buildThis is the slowest approach but the most complete. It is needed when:
Dockerfile or build.sh changed.cosa() bash alias creates a transient container for each
invocation. All state persists in the cosa workdir (mounted at
/srv/), not inside the container. This is why mounting files in via
COREOS_ASSEMBLER_CONTAINER_RUNTIME_ARGS works -- each run gets the
latest version of whatever is mounted.cosa shell to get a persistent interactive session inside the
container. This is useful for running multiple build/test commands
without container startup overhead. However, be aware that mounted
binaries are fixed at container start time./home/builder/.cache/go-build. Persisting it to the host avoids
cold rebuilds.:ro, the container cannot modify them.
This is intentional -- it prevents accidental overwrites.© 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-dev of coreos/coreos-assembler.
Open the folder on GitHubat commit 4ab8b08
Cosa Dev 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 Dev this skillcoreos/coreos-assembler | 395 | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| New Mac Setupswyxio/skills | 172 | — | ~4.3k | Automated safety check: Pass | MIT | |
| Flowfile Build and Environment SetupEdwardvaneechoud/Flowfile | 370 | — | ~7.3k | Automated safety check: Notes | MIT | |
| Code ReviewAzure/sap-automation | 145 | — | ~7k | Automated safety check: Pass | MIT | |
| Env Doctor Freeaiskillstore/marketplace | 430 | — | ~1.5k | Automated safety check: Notes | MIT | |
| Shellpproenca/dot-skills | 214 | — | ~1.9k | Automated safety check: Pass | MIT |
swyxio/skills
Fully automated new Mac setup for fullstack web developers and AI engineers.
Edwardvaneechoud/Flowfile
Recreates every Flowfile development and build environment from scratch, with exact version pins and an explanation of what each Makefile target really does.
Azure/sap-automation
Review pull requests in the SAP Deployment Automation Framework.
aiskillstore/marketplace
Diagnose local project environment issues that prevent apps from starting or running.
pproenca/dot-skills
Shell scripting best practices for writing safe, portable, and maintainable bash/sh scripts.
Jeffallan/claude-skills
Walks through designing, building and polishing a command-line tool: user workflow and command hierarchy, implementation in commander, click, typer or cobra, completions and cross-platform testing.
coreos/coreos-assembler
Initialize a COSA workdir, build or fetch Fedora CoreOS images, and launch local QEMU VMs using coreos-assembler
coreos/coreos-assembler
Run kola tests against CoreOS builds using coreos-assembler, including native and external tests
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.)
Works with
Categories
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. Cosa Dev is an agent skill from coreos/coreos-assembler.
Cosa Dev fits situations like: tasks that involve Shell scripting; tasks that involve Containers.
Run `npx skills add coreos/coreos-assembler --skill cosa-dev -a claude-code`. Or copy the skill folder (.agents/skills/cosa-dev in coreos/coreos-assembler) into .claude/skills/cosa-dev in your project. Claude Code loads it when a task matches its description.
Run `npx skills add coreos/coreos-assembler --skill cosa-dev -a codex`. Or copy the skill folder (.agents/skills/cosa-dev in coreos/coreos-assembler) into .agents/skills/cosa-dev 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-dev -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-dev, .gemini/skills/cosa-dev, .github/skills/cosa-dev and .opencode/skills/cosa-dev in your project.
Going by SKILL.md and its folder, Cosa Dev needs the command-line tools its instructions call (go, podman and make).
SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. 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.
Cosa Dev 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 2k tokens (SKILL.md is roughly 7.9k 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 Dev: New Mac Setup (swyxio/skills, 172 stars), Flowfile Build and Environment Setup (Edwardvaneechoud/Flowfile, 370 stars), Code Review (Azure/sap-automation, 145 stars) and Env Doctor Free (aiskillstore/marketplace, 430 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.