cicd-expert
This skill makes the agent guide CI/CD pipeline setup and optimization, working in GitHub Actions or other forges like GitLab and Gitea.
Community author
- Agents
- Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode, claude.ai and API
- License
- MIT (permissive)
- Pin
- 0362ebbpinned Oct 9, 2026
- Context cost
- about 1,400 tokenswhen the skill loads
- GitHub stars
- 2on vtmocanu/skills
- Scripts
- None found
What it does
“Expert on CI/CD pipelines, GitHub Actions first but the principles port to any forge. GENERATE mode builds a repo's pipelines through an interactive analyze-then-confirm conversation (never batch the questions). ADVISE mode reviews, hardens, debugs, and speeds up existing CI and answers best-practice and security questions. Use when setting up or generating CI/CD, adding a workflow, reviewing or hardening a pipeline, auditing supply-chain risk (pinned actions, cache poisoning, pull_request_target, token scope), speeding up CI (caching, path filters, job DAG, pinned tool binaries), or wiring Renovate to bump CI tool pins. Triggers include set up CI, generate a workflow, harden my pipeline, secure my Actions, is my CI safe, speed up CI, pin my actions.”
Generated summary from the skill's own text
This skill makes the agent guide CI/CD pipeline setup and optimization, working in GitHub Actions or other forges like GitLab and Gitea. In GENERATE mode, it interactively analyzes a repository and builds pipelines; in ADVISE mode, it reviews existing workflows for security, speed, and best practices, helping debug or harden them.
When to use it
- Setting up CI/CD pipelines from scratch for a new repository
- Adding or updating GitHub Actions or forge-specific workflows
- Auditing pipelines for supply-chain security risks and hardening steps
- Optimizing slow CI runs through caching, job DAG, or path filtering
When not to
- When the repository runs on an unidentified or custom-domain forge without clarification
- For general software development questions unrelated to CI/CD automation
Install
These commands install from the publisher's repository and need no account.
skills CLI
npx skills add vtmocanu/skills --skill cicd-expertInstalls from the repository's default branch, which may have changed since the commit we checked.
GitHub CLI 2.90 or later
gh skill install vtmocanu/skills cicd-expert@0362ebbdcea0e222ea221ff226ecfe19cac302d7Installs the commit we checked (0362ebb).
Copy by hand
Download the folder at 0362ebb and put it in .claude/skills/cicd-expert for Claude Code and in .agents/skills/cicd-expert for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.
Copy for your agent
A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.
Prompt
Install the agent skill "cicd-expert" by vtmocanu. Source, pinned to commit 0362ebbdcea0e222ea221ff226ecfe19cac302d7: https://github.com/vtmocanu/skills/tree/0362ebbdcea0e222ea221ff226ecfe19cac302d7/skills/cicd-expert 1. Download that folder at exactly this commit. Do not use the default branch. 2. Copy every file unchanged, keeping the folder structure, into .claude/skills/cicd-expert/ for Claude Code and .agents/skills/cicd-expert/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist. 3. Do not edit the files, and do not run any script in the folder unless I ask you to. 4. When you are done, list the files you copied and where you put them. Listing and checks: https://www.agentnative.dev/skills/vtmocanu/cicd-expert
SKILL.md at the pin
--- name: cicd-expert description: Expert on CI/CD pipelines, GitHub Actions first but the principles port to any forge. GENERATE mode builds a repo's pipelines through an interactive analyze-then-confirm conversation (never batch the questions). ADVISE mode reviews, hardens, debugs, and speeds up existing CI and answers best-practice and security questions. Use when setting up or generating CI/CD, adding a workflow, reviewing or hardening a pipeline, auditing supply-chain risk (pinned actions, cache poisoning, pull_request_target, token scope), speeding up CI (caching, path filters, job DAG, pinned tool binaries), or wiring Renovate to bump CI tool pins. Triggers include set up CI, generate a workflow, harden my pipeline, secure my Actions, is my CI safe, speed up CI, pin my actions. --- > The GENERATE flow is vendored from [vfarcic/dot-ai](https://github.com/vfarcic/dot-ai) `shared-prompts/generate-cicd.md` (MIT, Copyright (c) 2025 Viktor Farcic) and substantially expanded here with the security and speed references. Original author: Viktor Farcic. # CI/CD expert You are the CI/CD expert for this repo. Work in one of two modes. Pick the mode from the request; do not assume. - **GENERATE** a pipeline for a repo that has none, or add a workflow. This is interactive: analyze the repo, present findings, confirm the policy choices, then generate. Load `<this skill's directory>/references/generate.md` and follow it step by step. - **ADVISE**: review, harden, debug, or speed up existing CI, or answer a best-practice or security question. Apply the core principles below and load the reference that matches the question. **Detect the forge from the remote; do not assume GitHub.** Read the host from `git remote get-url origin`, but read only the host: a remote URL can embed a `user:token@` credential, so strip any userinfo and do not echo the full URL into the transcript (for example `git remote get-url origin | sed -E 's#^[^@]*@##; s#^[a-z]+://##; s#[/:].*##'`). `github.com` means GitHub Actions (`gh` CLI); a `gitlab` host means `glab`; a `forgejo` or `gitea` host means `tea`. This name match works for the SaaS hosts and for a self-hosted instance whose domain carries the forge name (`gitlab.example.com`), but a custom domain (`git.example.com`) names no forge. On an unrecognized host, do not guess: ask the user which forge it runs (or probe it safely) before choosing a CLI or generating a workflow, since the wrong choice generates a workflow the repo cannot run. Never cross them. Every example here is GitHub Actions, but the principles are forge-agnostic. If a forge-specific skill exists for the detected forge (its reusable-workflow library, secret wiring, or runner conventions), load that too. ## Core principles (both modes) **Call project automation, not inline command logic.** A CI step should run the same command a developer runs locally (`npm test`, `task lint`, `make build`), so local and CI cannot drift and the pipeline stays portable across forges. Reserve raw actions for infrastructure (checkout, runtime setup, cache, registry login); put build/test/lint/deploy logic in project automation (Taskfile, npm scripts, Make). When no automation exists for an operation, offer to add it rather than hardcoding the commands in the workflow. **Grant the least privilege.** Set a top-level `permissions:` block to `contents: read` and widen per-job only where a job needs it. Set the repository's default `GITHUB_TOKEN` to read-only. Prefer OIDC federation over long-lived cloud credentials. **Pin every third-party action to a full commit SHA, never a tag or `@latest`.** A mutable tag can be re-pointed at a malicious commit (see `references/security.md`). Where the forge supports it, also turn on the platform setting that enforces SHA pinning. **Fail fast, cheapest first.** Order the job DAG so a quick check (lint, format, typecheck) gates the expensive one (build, integration tests). Run independent jobs in parallel. Do not publish or package a release artifact until its required tests pass, but do allow the prerequisite builds that produce the inputs those tests need to run. **Cache and scope deliberately.** Key the package-manager cache on the lock-file hash (the `setup-*` actions do this). Key a build-output cache separately, on the source revision or a source hash plus the build config and toolchain, not the lock file alone (a lock file can be unchanged while the source changes, so a lock-only key restores stale output). Path-filter jobs so a change to one component does not rebuild the others. Add a `concurrency:` group with `cancel-in-progress` so a new push cancels a superseded run. See `references/speed.md` for the tradeoffs, including when a cache costs more than it saves. **Verify before you claim.** CI instruments lie in reassuring ways: a tokenless registry probe returns 401 for public and private alike, a grep for a literal that is read as a regex returns a false zero, a linter that never installed prints a green nothing. Before reporting "secure", "green", or "private", run the real check and read its output. `references/security.md` and `references/speed.md` each end with the specific traps. ## Security: load `references/security.md` Load it whenever you author a workflow that touches secrets or runs on pull requests, or when auditing or hardening a pipeline. It holds the supply-chain threat model (the tj-actions and reviewdog tag-repoint compromise, cache poisoning across the fork/release trust boundary, `pull_request_target` pwn requests, template injection), the account and repository hardening checklist (token scope, fork-PR approval, branch and tag rulesets, required checks), and how to verify a control actually holds rather than assuming it does. ## Speed: load `references/speed.md` Load it when a pipeline is slow or when adding caching. It covers pinned prebuilt tool binaries versus compiling a tool from source on every run, path filtering, the job DAG, `concurrency`, the shared Actions-cache budget and its eviction trap, the "public repo means free runner minutes" reframing that changes which optimizations are worth it, and wiring Renovate to bump the CI tool versions that are pinned inline in shell.
From vtmocanu/skills at 0362ebb, shown as plain text under its license: MIT (permissive). The license text is in LICENSE.
View SKILL.md on GitHub at 0362ebbFiles
- SKILL.md6.2 KB · e6ff0c15e09c
- references/
- generate.md6.9 KB · 6bca89b0d4c2
- security.md13 KB · bd02a4386c08
- speed.md7.9 KB · dbdec1173a00
4 files, 34 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.
Skill folder on GitHub at 0362ebbRelated in Cloud and DevOps
push-to-registry
This skill configures Packer to push build metadata to HCP Packer registry, enabling version control and governance of machine images across infrastructure…
by HashiCorpOfficial publisher
Claude Code, Codex, Cursor +4 · about 1.1K tokens · pinned 6 days ago
deployments-cicd
This skill provides expert guidance on Vercel deployments and CI/CD workflows, covering preview and production deployments, the `vercel` CLI commands…
by VercelOfficial publisher
Claude Code, Codex, Cursor +3 · about 2.6K tokens · pinned 6 days ago
github-workflows
Creates or updates GitHub Actions workflows for pull request CI, merge automation, release publication, and container image publishing.
by NebiusOfficial publisher
Contains scripts
Claude Code, Codex, Cursor +3 · about 1.6K tokens · pinned 6 days ago
nebius-serverless-recipes
Provides end-to-end command chains for Nebius Serverless AI workflows including single and multi-GPU training, model serving with vLLM, batch inference…
by NebiusOfficial publisher
Claude Code, Codex, Cursor +4 · about 3.9K tokens · pinned 6 days ago
github-actions
This skill provides reusable GitHub Actions patterns to build React Native apps for iOS simulators and Android emulators in the cloud, then upload and…
by callstackincubatorCommunity
Claude Code, Codex, Cursor +4 · about 630 tokens · pinned 6 days ago
playwright-ci-caching
This skill configures caching of Playwright browser binaries in GitHub Actions and Azure DevOps CI/CD pipelines by extracting the Playwright version from…
by AarononthewebCommunity
Claude Code, Codex, Cursor +3 · about 1.7K tokens · pinned 6 days ago