Deploying Airflow
astronomer/agents
Deploys Airflow DAGs and projects. An agent skill from astronomer/agents.
Before committing, work out which Whirl examples need a CI run to verify changes still work, then run them after confirming with the user.
$ npx skills add godatadriven/whirl --skill verify-ci-impact -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install godatadriven/whirl verify-ci-impact --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/godatadriven/whirl.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/verify-ci-impact .claude/skills/verify-ci-impact && 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 "verify-ci-impact" agent skill from https://github.com/godatadriven/whirl/tree/master/.claude/skills/verify-ci-impact into .claude/skills/verify-ci-impact/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-ci-impact", 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/godatadriven/whirl/tree/master/.claude/skills/verify-ci-impactType 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 godatadriven/whirl --skill verify-ci-impact -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install godatadriven/whirl verify-ci-impact --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/godatadriven/whirl.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/verify-ci-impact .agents/skills/verify-ci-impact && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "verify-ci-impact" agent skill from https://github.com/godatadriven/whirl/tree/master/.claude/skills/verify-ci-impact into .agents/skills/verify-ci-impact/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-ci-impact", 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 godatadriven/whirl --skill verify-ci-impact -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install godatadriven/whirl verify-ci-impact --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/godatadriven/whirl.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/verify-ci-impact .cursor/skills/verify-ci-impact && 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 "verify-ci-impact" agent skill from https://github.com/godatadriven/whirl/tree/master/.claude/skills/verify-ci-impact into .cursor/skills/verify-ci-impact/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-ci-impact", 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/godatadriven/whirl.git --path .claude/skills/verify-ci-impact--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 godatadriven/whirl --skill verify-ci-impact -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install godatadriven/whirl verify-ci-impact --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/godatadriven/whirl.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/verify-ci-impact .gemini/skills/verify-ci-impact && 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 "verify-ci-impact" agent skill from https://github.com/godatadriven/whirl/tree/master/.claude/skills/verify-ci-impact into .gemini/skills/verify-ci-impact/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-ci-impact", 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 godatadriven/whirl verify-ci-impactInstalls 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 godatadriven/whirl --skill verify-ci-impact -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/godatadriven/whirl.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/verify-ci-impact .github/skills/verify-ci-impact && 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 "verify-ci-impact" agent skill from https://github.com/godatadriven/whirl/tree/master/.claude/skills/verify-ci-impact into .github/skills/verify-ci-impact/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-ci-impact", 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 godatadriven/whirl --skill verify-ci-impact -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install godatadriven/whirl verify-ci-impact --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/godatadriven/whirl.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/verify-ci-impact .opencode/skills/verify-ci-impact && 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 "verify-ci-impact" agent skill from https://github.com/godatadriven/whirl/tree/master/.claude/skills/verify-ci-impact into .opencode/skills/verify-ci-impact/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-ci-impact", 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.
verify-ci-impactBefore committing, work out which Whirl examples need a CI run to verify changes still work, then run them after confirming with the user.
Verify CI Impact is an agent skill from godatadriven/whirl. Before committing, work out which Whirl examples need a CI run to verify changes still work, then run them after confirming with the user. Use whenever the user is about to commit and asks "what should I test / verify before committing", "which examples does this change affect", "run CI for what I changed", or wants to validate edits to examples, envs, or core whirl files. Identifies the CI runs first and asks permission before running anything.
Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/ci_impact.sh`).
It sits in DevOps & Cloud. It works with Docker and Apache Airflow. The repository describes itself as: Fast iterative local development and testing of Apache Airflow workflows. 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 f085d57. 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.
Ships 1 file in scripts/ (Shell), which the agent can run.
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.
Verify CI Impact loads about 1.3k tokens when it runs. Until then it costs about 117 tokens; SKILL.md has 693 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); the scripts in this folder are not scanned.
The full file from godatadriven/whirl at commit f085d57, republished under its Apache-2.0 licence (© godatadriven). 693 words, ~1,325 tokens.
.claude/skills/verify-ci-impact/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.When code changes in this repo, only a subset of the ~19 examples actually need to be re-verified. Running every example is slow (each spins up Docker and an Airflow run), and running the wrong ones gives false confidence. This skill maps the changed files to the exact set of examples to verify, presents that plan, and only runs CI after the user agrees.
The two phases are deliberately separate: identify first, run second. Never start CI runs before the user has seen the plan and approved it — they may want to narrow the scope, skip the heavy ones, or commit without running anything.
The unit of verification is an (example, environment) combination, not just an
example. Most examples run against one environment — their default, set in
examples/<name>/.whirl.env (WHIRL_ENVIRONMENT=<env>). But the GitHub Actions
workflow (.github/workflows/whirl-ci.yml) also runs a few examples against a
non-default environment in separate "extra-env" jobs via whirl ci -e <env>
(e.g. api-to-s3 on api-python-s3-k8s, external-airflow-db on ha-scheduler,
spark-s3-to-postgres on postgres-s3-spark). Those combinations must be verified
too, so the script parses them straight from the workflow.
The mapping rules (encoded in scripts/ci_impact.sh):
| Changed path | Combinations to verify |
|---|---|
examples/<name>/... | <name> against every env CI runs it with — its default env and any non-default extra-env runs |
envs/<env>/... | every (example, <env>) combination CI runs, whether <env> is that example's default or an extra-env override |
whirl, docker/..., docker-compose.yaml, root .whirl.env | CORE — affects all examples; a human picks the scope |
anything else (*.md, .claude/..., README, logos) | no CI impact |
Both indexes (default from each .whirl.env, extra from the workflow) are built
dynamically, so the mapping stays correct as examples are added, re-pointed, or as
extra-env jobs are added/removed. Non-default combinations are tagged
NON-default in the output and produce ./whirl -x <example> ci -e <env> commands.
Run the bundled script from the repo root:
.claude/skills/verify-ci-impact/scripts/ci_impact.shIt inspects committed-on-branch changes (vs master), staged, unstaged, and
untracked files, then prints: the changed areas, any CORE change, the examples to
verify (with the reason each was selected), and the exact ./whirl -x <example> ci
commands. Pass --base <ref> to diff against a different branch.
Read the output and relay it to the user as a short plan — which examples, and why each one was selected. Don't just paste the raw output; summarize it.
[NOTE: excluded from GitHub CI matrix]. They can still be
run locally, but flag that they need more resources / manual attention and may
not be part of normal CI..claude/ changed, tell the user no CI run is
needed and stop. Don't run anything.Present the concrete command list and ask the user to confirm before running. Make the cost visible — note how many runs and that each one builds/starts Docker. If there are several, ask whether they want all of them, a subset, or to skip.
Only proceed with the runs the user explicitly approves.
Run each approved combination in CI mode from the repo root, using the exact
command the script printed — default-env runs are ./whirl -x <example> ci, and
non-default combinations include the env override:
./whirl -x <example> ci # default env
./whirl -x <example> ci -e <env> # non-default env combinationCI mode is headless: it starts the containers, triggers the default DAG, waits for completion, and tears down. Run them one at a time (they are resource-heavy and parallel Docker stacks contend for ports/memory). After each run, report whether the DAG succeeded; if one fails, surface the failure and stop before continuing to the next unless the user wants to push on.
Report which examples passed, which failed, and which were skipped — so the user knows exactly what was and wasn't verified before they commit.
© godatadriven, 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
SKILL.md and 1 other file (scripts) in .claude/skills/verify-ci-impact of godatadriven/whirl.
Open the folder on GitHubat commit f085d57
Verify CI Impact 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 |
|---|---|---|---|---|---|---|
| Verify CI Impact this skillgodatadriven/whirl | 205 | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Deploying Airflowastronomer/agents | 451 | 1 repos | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Deploying Go SDK Bundlesastronomer/agents | 451 | — | ~1.8k | Automated safety check: Notes | Apache-2.0 | |
| Deploying Java SDK Bundlesastronomer/agents | 451 | — | ~2.8k | Automated safety check: Notes | Apache-2.0 | |
| Upgrading Mwaa Environmentsaws/agent-toolkit-for-aws | 2.8k | — | ~7.3k | Automated safety check: Pass | Apache-2.0 | |
| Releasebmeares/Meerschaum | 154 | — | ~1.1k | Automated safety check: Notes | Apache-2.0 |
astronomer/agents
Deploys Airflow DAGs and projects. An agent skill from astronomer/agents.
astronomer/agents
Builds, packs, and deploys compiled Airflow Go SDK bundles so the ExecutableCoordinator can run them.
astronomer/agents
Builds and deploys compiled Airflow Java SDK bundles so workers can run them.
aws/agent-toolkit-for-aws
Upgrades an MWAA environment to a newer Airflow version — within 2.x, within 3.x, or across the 2.x-to-3.x boundary.
bmeares/Meerschaum
Meerschaum release process — bump version, update changelog, stage dev→main PR, run CI, publish to PyPI, tag, GitHub release, build/push Docker images, rebuild docs on prod VPS.
omegaml/omegaml
how to use the edit command properly
godatadriven/whirl
Create a new Whirl environment in the envs/ directory. An agent skill from godatadriven/whirl.
godatadriven/whirl
Create a new Whirl example project in the examples/ directory.
godatadriven/whirl
Bump the Airflow or Python version across all project files.
Works with
Categories
Before committing, work out which Whirl examples need a CI run to verify changes still work, then run them after confirming with the user. Verify CI Impact is an agent skill from godatadriven/whirl. Before committing, work out which Whirl examples need a CI run to verify changes still work, then run them after confirming with the user.
Verify CI Impact fits situations like: the user is about to commit and asks what should I test / verify before committing; which examples does this change affect; run CI for what I changed; wants to validate edits to examples.
Run `npx skills add godatadriven/whirl --skill verify-ci-impact -a claude-code`. Or copy the skill folder (.claude/skills/verify-ci-impact in godatadriven/whirl) into .claude/skills/verify-ci-impact in your project. Claude Code loads it when a task matches its description.
Run `npx skills add godatadriven/whirl --skill verify-ci-impact -a codex`. Or copy the skill folder (.claude/skills/verify-ci-impact in godatadriven/whirl) into .agents/skills/verify-ci-impact 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 godatadriven/whirl --skill verify-ci-impact -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/verify-ci-impact, .gemini/skills/verify-ci-impact, .github/skills/verify-ci-impact and .opencode/skills/verify-ci-impact in your project.
Going by SKILL.md and its folder, Verify CI Impact needs a shell for the scripts in its folder. Our summary lists: A Bash shell; Docker.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Verify CI Impact 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.3k tokens (SKILL.md is roughly 5.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 Verify CI Impact: Deploying Airflow (astronomer/agents, 451 stars), Deploying Go SDK Bundles (astronomer/agents, 451 stars), Deploying Java SDK Bundles (astronomer/agents, 451 stars) and Upgrading Mwaa Environments (aws/agent-toolkit-for-aws, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
godatadriven (a GitHub organization) maintains it in godatadriven/whirl, which has 205 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 1, 2026.
Source: godatadriven/whirl on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.