cloudformation
cloudformation is a skill in BagelHole/DevOps-Security-Agent-Skills, last changed 24 Mar 2026. It can run shell commands, reach the network and name web addresses — read the findings before installing.
Deploy AWS resources with CloudFormation templates. Create stacks, use nested stacks, and implement drift detection. Use when deploying AWS-native IaC.
At a glance
What it can touch
How much a skill can do, not whether it is risky.
Pattern check
Nothing flagged
That isn't proof the skill is harmless.
Commit 0365f57 · 29 Oct 2026
How the check worksPattern check: nothing flagged
That isn't proof the skill is harmless.
Install
Each tab says whether it installs commit 0365f57, the one we checked, or the latest version.
OpenCode also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Goose also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Windsurf (Devin Desktop) also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Zed also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Roo Code also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Factory Droid also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Junie also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Amp also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
No install command here reaches Kiro. Copy the skill's folder into .kiro/skills/ in your project, or ~/.kiro/skills/ for all your projects. BagelHole/DevOps-Security-Agent-Skills/infrastructure/cloud-aws/cloudformation (opens in a new tab)
Antigravity also looks in .agents/skills/, so the Any agent steps reach it with This project. For All projects, see where Antigravity looks.
Cline also looks in .claude/skills/, so the Claude Code steps reach it with This project. For All projects, see where Cline looks.
Claude Code
Pinned to commit 0365f57, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/BagelHole/DevOps-Security-Agent-Skills.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin 0365f57a079b1332f95cf26e31dd2d5332a8399f &&git -C "$tmp" sparse-checkout set -- infrastructure/cloud-aws/cloudformation &&git -C "$tmp" checkout -q 0365f57a079b1332f95cf26e31dd2d5332a8399f &&mkdir -p .claude/skills &&mkdir .claude/skills/cloudformation &&cp -R "$tmp"/infrastructure/cloud-aws/cloudformation/. .claude/skills/cloudformation/ &&rm -rf "$tmp"If Claude Code was already running and this created the skills folder, run /reload-skills.
Claude apps
Pinned to commit 0365f57, the one we checked.
Skills in the Claude apps belong to your account rather than to a project.
Make cloudformation.zip, with the skill folder at the top level:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/BagelHole/DevOps-Security-Agent-Skills.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin 0365f57a079b1332f95cf26e31dd2d5332a8399f &&git -C "$tmp" sparse-checkout set -- infrastructure/cloud-aws/cloudformation &&git -C "$tmp" checkout -q 0365f57a079b1332f95cf26e31dd2d5332a8399f &&out="$(mktemp -d)" &&cp -R "$tmp"/infrastructure/cloud-aws/cloudformation "$out"/cloudformation &&(cd "$out" && zip -qr - cloudformation) > cloudformation.zip &&rm -rf "$tmp" "$out"In Claude, open Customize > Skills, select +, then + Create skill > Upload a skill, and choose cloudformation.zip.
On Free, Pro and Max plans, turn on Code execution and file creation (Create and edit files in newer settings) under Settings > Capabilities.
Codex
Pinned to commit 0365f57, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/BagelHole/DevOps-Security-Agent-Skills.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin 0365f57a079b1332f95cf26e31dd2d5332a8399f &&git -C "$tmp" sparse-checkout set -- infrastructure/cloud-aws/cloudformation &&git -C "$tmp" checkout -q 0365f57a079b1332f95cf26e31dd2d5332a8399f &&mkdir -p .agents/skills &&mkdir .agents/skills/cloudformation &&cp -R "$tmp"/infrastructure/cloud-aws/cloudformation/. .agents/skills/cloudformation/ &&rm -rf "$tmp"Codex picks up new skills on its own; restart it if this one does not appear.
Cursor
Pinned to commit 0365f57, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/BagelHole/DevOps-Security-Agent-Skills.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin 0365f57a079b1332f95cf26e31dd2d5332a8399f &&git -C "$tmp" sparse-checkout set -- infrastructure/cloud-aws/cloudformation &&git -C "$tmp" checkout -q 0365f57a079b1332f95cf26e31dd2d5332a8399f &&mkdir -p .cursor/skills &&mkdir .cursor/skills/cloudformation &&cp -R "$tmp"/infrastructure/cloud-aws/cloudformation/. .cursor/skills/cloudformation/ &&rm -rf "$tmp"Copilot & VS Code
Pinned to commit 0365f57, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/BagelHole/DevOps-Security-Agent-Skills.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin 0365f57a079b1332f95cf26e31dd2d5332a8399f &&git -C "$tmp" sparse-checkout set -- infrastructure/cloud-aws/cloudformation &&git -C "$tmp" checkout -q 0365f57a079b1332f95cf26e31dd2d5332a8399f &&mkdir -p .github/skills &&mkdir .github/skills/cloudformation &&cp -R "$tmp"/infrastructure/cloud-aws/cloudformation/. .github/skills/cloudformation/ &&rm -rf "$tmp"In a running Copilot CLI session, run /skills reload.
Or install it with gh skill, which also installs the commit we checked. Needs GitHub CLI 2.90 or later.
gh skill install BagelHole/DevOps-Security-Agent-Skills infrastructure/cloud-aws/cloudformation/SKILL.md@0365f57a079b1332f95cf26e31dd2d5332a8399f --agent github-copilot --scope projectGemini CLI
Pinned to commit 0365f57, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/BagelHole/DevOps-Security-Agent-Skills.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin 0365f57a079b1332f95cf26e31dd2d5332a8399f &&git -C "$tmp" sparse-checkout set -- infrastructure/cloud-aws/cloudformation &&git -C "$tmp" checkout -q 0365f57a079b1332f95cf26e31dd2d5332a8399f &&mkdir -p .gemini/skills &&mkdir .gemini/skills/cloudformation &&cp -R "$tmp"/infrastructure/cloud-aws/cloudformation/. .gemini/skills/cloudformation/ &&rm -rf "$tmp"In a running session, run /skills reload.
Or use Gemini CLI’s own installer. Installs the latest version, not the one we checked.
gemini skills install https://github.com/BagelHole/DevOps-Security-Agent-Skills.git --path infrastructure/cloud-aws/cloudformation --scope workspaceAny agent
Pinned to commit 0365f57, the one we checked.
OpenCode, Goose, Windsurf (Devin Desktop), Zed, Roo Code, Factory Droid, Junie, Amp and Antigravity read .agents/skills in a project.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/BagelHole/DevOps-Security-Agent-Skills.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin 0365f57a079b1332f95cf26e31dd2d5332a8399f &&git -C "$tmp" sparse-checkout set -- infrastructure/cloud-aws/cloudformation &&git -C "$tmp" checkout -q 0365f57a079b1332f95cf26e31dd2d5332a8399f &&mkdir -p .agents/skills &&mkdir .agents/skills/cloudformation &&cp -R "$tmp"/infrastructure/cloud-aws/cloudformation/. .agents/skills/cloudformation/ &&rm -rf "$tmp"Or use the skills CLI from skills.sh. Installs the latest version, not the one we checked. The skills CLI reports installs to skills.sh unless you set DISABLE_TELEMETRY=1.
npx skills@1.7.4 add BagelHole/DevOps-Security-Agent-Skills --skill cloudformationWhat it can touch
From the files and frontmatter at commit 0365f57. This is how much a skill can do, not whether it is risky.
Pattern check
Pattern check: nothing flagged · commit 0365f57 · 29 Oct 2026
We checked every text file in this skill, at commit 0365f57 on 29 Oct 2026, against 45 published patterns such as download-and-run commands, hidden text and credential access. We don't run the skill, we don't read the web pages it points to, and we can't judge everything its instructions might lead an agent to do. In published tests, pattern checks like this one missed most malicious skills. Read the skill before you install it — especially anything it asks you to download or run.
How the check worksReport an incorrect finding
Outside links we did not follow
- https://s3.amazonaws.com/my-cfn-templates/network.yaml
- https://s3.amazonaws.com/my-cfn-templates/database.yaml
- https://s3.amazonaws.com/my-cfn-templates/app.yaml
- https://s3.amazonaws.com/bucket/vpc.yaml
Format check
Each agent reads SKILL.md a little differently. We check the file against each one's published rules; we don't run the skill in any agent.
Agent Skills specPasses with warnings
The open format from agentskills.io, held to what the strictest agents enforce, so one folder loads everywhere.
- Warning
Paths that may not work once the skill is installed: line 441: ../terraform-aws/ (outside the skill folder), line 442: ../aws-iam/ (outside the skill folder), line 443: ../aws-vpc/ (outside the skill folder), line 444: ../aws-ec2/ (outside the skill folder) and line 445: ../aws-s3/ (outside the skill folder). B6
Fix: Use forward-slash paths relative to SKILL.md, and copy shared files into the skill.
- Note
Reference files that SKILL.md doesn't link: references/cfn-syntax.md. Anthropic suggests linking every reference file directly from SKILL.md. B4
Fix: Link each one from SKILL.md and say when to read it.
- Note
Reference files over 100 lines with no table of contents at the top: references/cfn-syntax.md (124 lines). B5
Fix: Add a short list of the sections at the top of each.
- Warning
Claude CodePasses with warnings
Claude Code reads its own extra fields, ignores unknown ones, and still loads a skill whose frontmatter is broken, without its fields.
- Warning
Paths that may not work once the skill is installed: line 441: ../terraform-aws/ (outside the skill folder), line 442: ../aws-iam/ (outside the skill folder), line 443: ../aws-vpc/ (outside the skill folder), line 444: ../aws-ec2/ (outside the skill folder) and line 445: ../aws-s3/ (outside the skill folder). B6
Fix: Use forward-slash paths relative to SKILL.md, and copy shared files into the skill.
- Note
Reference files that SKILL.md doesn't link: references/cfn-syntax.md. Anthropic suggests linking every reference file directly from SKILL.md. B4
Fix: Link each one from SKILL.md and say when to read it.
- Note
Reference files over 100 lines with no table of contents at the top: references/cfn-syntax.md (124 lines). B5
Fix: Add a short list of the sections at the top of each.
- Warning
Claude apps & API uploadPasses with warnings
Uploading to claude.ai or the Claude API, or packaging with Anthropic's script, accepts only the six spec fields and stops on anything else.
- Warning
Paths that may not work once the skill is installed: line 441: ../terraform-aws/ (outside the skill folder), line 442: ../aws-iam/ (outside the skill folder), line 443: ../aws-vpc/ (outside the skill folder), line 444: ../aws-ec2/ (outside the skill folder) and line 445: ../aws-s3/ (outside the skill folder). B6
Fix: Use forward-slash paths relative to SKILL.md, and copy shared files into the skill.
- Note
Reference files that SKILL.md doesn't link: references/cfn-syntax.md. Anthropic suggests linking every reference file directly from SKILL.md. B4
Fix: Link each one from SKILL.md and say when to read it.
- Note
Reference files over 100 lines with no table of contents at the top: references/cfn-syntax.md (124 lines). B5
Fix: Add a short list of the sections at the top of each.
- Warning
OpenAI (Codex & API)Passes with warnings
Codex finds SKILL.md by its exact name and needs a description; OpenAI's Skills API checks the frontmatter against the spec and caps uploads.
- Warning
Paths that may not work once the skill is installed: line 441: ../terraform-aws/ (outside the skill folder), line 442: ../aws-iam/ (outside the skill folder), line 443: ../aws-vpc/ (outside the skill folder), line 444: ../aws-ec2/ (outside the skill folder) and line 445: ../aws-s3/ (outside the skill folder). B6
Fix: Use forward-slash paths relative to SKILL.md, and copy shared files into the skill.
- Warning
VS Code & CopilotPasses with warnings
VS Code reads skills one folder below .github/skills, .claude/skills or .agents/skills and falls back to the folder name when the name is missing or differs; GitHub's Copilot docs require the exact name SKILL.md.
- Warning
Paths that may not work once the skill is installed: line 441: ../terraform-aws/ (outside the skill folder), line 442: ../aws-iam/ (outside the skill folder), line 443: ../aws-vpc/ (outside the skill folder), line 444: ../aws-ec2/ (outside the skill folder) and line 445: ../aws-s3/ (outside the skill folder). B6
Fix: Use forward-slash paths relative to SKILL.md, and copy shared files into the skill.
- Warning
SKILL.md
Files
2 files
| Path | Size |
|---|---|
| SKILL.md (opens in a new tab) | 13.5 KB |
| references/cfn-syntax.md (opens in a new tab) | 2 KB |
More from BagelHole/DevOps-Security-Agent-Skills
Other Cloud & DevOps skills
Same category, most repo stars first.