Deployment and CI/CD Patterns
affaan-m/ECC
Covers rolling, blue-green and canary deployments, multi-stage Dockerfiles, a GitHub Actions pipeline, health checks and production readiness for web apps.
A skill your agent uses when the user wants to create, generate, or set up a GitHub Actions workflow.
$ npx skills add FNOSP/FlyNarwhal --skill github-actions-creator -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install FNOSP/FlyNarwhal github-actions-creator --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/FNOSP/FlyNarwhal.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/github-actions-creator .claude/skills/github-actions-creator && 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 "github-actions-creator" agent skill from https://github.com/FNOSP/FlyNarwhal/tree/master/.agents/skills/github-actions-creator into .claude/skills/github-actions-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-actions-creator", 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/FNOSP/FlyNarwhal/tree/master/.agents/skills/github-actions-creatorType 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 FNOSP/FlyNarwhal --skill github-actions-creator -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install FNOSP/FlyNarwhal github-actions-creator --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FNOSP/FlyNarwhal.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/github-actions-creator .agents/skills/github-actions-creator && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "github-actions-creator" agent skill from https://github.com/FNOSP/FlyNarwhal/tree/master/.agents/skills/github-actions-creator into .agents/skills/github-actions-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-actions-creator", 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 FNOSP/FlyNarwhal --skill github-actions-creator -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install FNOSP/FlyNarwhal github-actions-creator --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FNOSP/FlyNarwhal.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/github-actions-creator .cursor/skills/github-actions-creator && 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 "github-actions-creator" agent skill from https://github.com/FNOSP/FlyNarwhal/tree/master/.agents/skills/github-actions-creator into .cursor/skills/github-actions-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-actions-creator", 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/FNOSP/FlyNarwhal.git --path .agents/skills/github-actions-creator--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 FNOSP/FlyNarwhal --skill github-actions-creator -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install FNOSP/FlyNarwhal github-actions-creator --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FNOSP/FlyNarwhal.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/github-actions-creator .gemini/skills/github-actions-creator && 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 "github-actions-creator" agent skill from https://github.com/FNOSP/FlyNarwhal/tree/master/.agents/skills/github-actions-creator into .gemini/skills/github-actions-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-actions-creator", 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 FNOSP/FlyNarwhal github-actions-creatorInstalls 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 FNOSP/FlyNarwhal --skill github-actions-creator -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/FNOSP/FlyNarwhal.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/github-actions-creator .github/skills/github-actions-creator && 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 "github-actions-creator" agent skill from https://github.com/FNOSP/FlyNarwhal/tree/master/.agents/skills/github-actions-creator into .github/skills/github-actions-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-actions-creator", 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 FNOSP/FlyNarwhal --skill github-actions-creator -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install FNOSP/FlyNarwhal github-actions-creator --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FNOSP/FlyNarwhal.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/github-actions-creator .opencode/skills/github-actions-creator && 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 "github-actions-creator" agent skill from https://github.com/FNOSP/FlyNarwhal/tree/master/.agents/skills/github-actions-creator into .opencode/skills/github-actions-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-actions-creator", 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.
github-actions-creatorA skill your agent uses when the user wants to create, generate, or set up a GitHub Actions workflow.
GitHub Actions Creator is an agent skill from FNOSP/FlyNarwhal. Use when the user wants to create, generate, or set up a GitHub Actions workflow. Handles CI/CD pipelines, testing, deployment, linting, security scanning, release automation, Docker builds, scheduled tasks, and any custom workflow for any language or framework.
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/workflow-templates.md`).
It sits in DevOps & Cloud, covering CI/CD, Linting and formatting and Scheduled and recurring tasks. It works with GitHub Actions, Docker, Rust and Node.js. The repository describes itself as: 基于 Flutter 框架开发的适用于飞牛影视的跨平台客户端. The licence is AGPL-3.0.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c94d847. 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 (its code samples are yaml).
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 these keys or tokens, usually read from environment variables:
GITHUB_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
GitHub Actions Creator loads about 2.4k tokens when it runs, and up to ~6.9k if it reads all its reference files. Until then it costs about 71 tokens; SKILL.md has 744 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 FNOSP/FlyNarwhal at commit c94d847, republished under its AGPL-3.0 licence (© FNOSP). 744 words, ~2,382 tokens.
.claude/skills/github-actions-creator/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.You are an expert at creating GitHub Actions workflows. When the user asks you to create a GitHub Action, follow this structured process to deliver a production-ready workflow file.
Before writing any YAML, scan the project to understand the stack:
Check for language/framework indicators:
package.json → Node.js (check for React, Next.js, Vue, Angular, Svelte, etc.)requirements.txt / pyproject.toml / setup.py → Pythongo.mod → GoCargo.toml → Rustpom.xml / build.gradle → Java/KotlinGemfile → Rubycomposer.json → PHPpubspec.yaml → Dart/FlutterPackage.swift → Swift*.csproj / *.sln → .NETCheck for existing CI/CD:
.github/workflows/ → existing workflows (avoid conflicts)Dockerfile → container builds availabledocker-compose.yml → multi-service setupvercel.json / netlify.toml → deployment targetsterraform/ / pulumi/ → infrastructure as codeCheck for tooling:
.eslintrc* / eslint.config.* → ESLint configuredprettier* → Prettier configuredjest.config* / vitest.config* / pytest.ini → test framework.env.example → environment variables neededMakefile → build commands availableIf the user's request is ambiguous, ask ONE focused question. Common clarifications:
If the intent is clear, skip this step and proceed.
Create the .github/workflows/{name}.yml file following these rules:
ci.yml, deploy-production.yml, release.ymlci.ymldeploy.yml or deploy-{target}.ymlscheduled-{task}.ymlname: Human-readable name # Always include
on: # Use the most specific triggers
push:
branches: [main] # Specify branches explicitly
paths-ignore: # Skip docs-only changes when appropriate
- '**.md'
- 'docs/**'
pull_request:
branches: [main]
permissions: # Always set minimal permissions
contents: read
concurrency: # Prevent duplicate runs on PRs
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
job-name:
runs-on: ubuntu-latest # Default to ubuntu-latest
timeout-minutes: 15 # Always set a timeout
steps:
- uses: actions/checkout@v4 # Always pin to major versionTrigger: pull_request + push to main
Jobs: lint, test (parallel when possible)
Key features: dependency caching, matrix testing for multiple versions
Trigger: push to main (or release tags)
Jobs: test → build → deploy (sequential with needs)
Key features: environment protection, secrets for credentials, status checks
Trigger: push tags matching v* or workflow_dispatch
Jobs: test → build → publish → create GitHub Release
Key features: changelog generation, artifact upload, npm/PyPI/Docker publish
Trigger: schedule with cron expression
Jobs: single job with the task
Key features: workflow_dispatch for manual trigger too, failure notifications
Trigger: pull_request + schedule (weekly)
Jobs: dependency audit, SAST, secret scanning
Key features: SARIF upload to GitHub Security tab, fail on critical
Trigger: push to main + tags
Jobs: build → push to registry
Key features: multi-platform builds, layer caching, image tagging strategy
| Action | Purpose |
|---|---|
actions/checkout@v4 | Clone repository |
actions/setup-node@v4 | Node.js with caching |
actions/setup-python@v5 | Python with caching |
actions/setup-go@v5 | Go with caching |
actions/setup-java@v4 | Java/Kotlin |
dtolnay/rust-toolchain@stable | Rust toolchain |
ruby/setup-ruby@v1 | Ruby with bundler cache |
actions/setup-dotnet@v4 | .NET SDK |
| Action | Purpose |
|---|---|
docker/build-push-action@v6 | Docker multi-platform builds |
docker/login-action@v3 | Docker registry authentication |
aws-actions/configure-aws-credentials@v4 | AWS authentication |
google-github-actions/auth@v2 | GCP authentication |
azure/login@v2 | Azure authentication |
cloudflare/wrangler-action@v3 | Cloudflare Workers deploy |
amondnet/vercel-action@v25 | Vercel deployment |
| Action | Purpose |
|---|---|
github/codeql-action/analyze@v3 | CodeQL SAST scanning |
aquasecurity/trivy-action@master | Container vulnerability scan |
codecov/codecov-action@v4 | Coverage upload |
actions/dependency-review-action@v4 | Dependency audit on PRs |
| Action | Purpose |
|---|---|
actions/cache@v4 | Generic caching |
actions/upload-artifact@v4 | Store build artifacts |
actions/download-artifact@v4 | Retrieve artifacts between jobs |
softprops/action-gh-release@v2 | Create GitHub Releases |
slackapi/slack-github-action@v2 | Slack notifications |
peter-evans/create-pull-request@v7 | Automated PR creation |
permissions at workflow or job level@v4 not @main or full SHA for readabilityecho ${{ secrets.X }}workflow_dispatch, validate input values${{ github.event.*.body }} directly in run: — pass via environment variables${{ secrets.GITHUB_TOKEN }} over PATs when possibleconcurrency to prevent parallel deploys# WRONG - script injection vulnerability
- run: echo "${{ github.event.issue.title }}"
# CORRECT - pass through environment variable
- run: echo "$ISSUE_TITLE"
env:
ISSUE_TITLE: ${{ github.event.issue.title }}- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm' # or 'yarn' or 'pnpm'- uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip' # or 'poetry' or 'pipenv'- uses: actions/setup-go@v5
with:
go-version: '1.22'
cache: true- uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}- uses: docker/build-push-action@v6
with:
cache-from: type=gha
cache-to: type=gha,mode=maxstrategy:
matrix:
node-version: [18, 20, 22]
fail-fast: falsestrategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}strategy:
matrix:
os: [ubuntu-latest, windows-latest]
node-version: [18, 20]
exclude:
- os: windows-latest
node-version: 18| Schedule | Cron |
|---|---|
| Every hour | 0 * * * * |
| Daily at midnight UTC | 0 0 * * * |
| Weekdays at 9am UTC | 0 9 * * 1-5 |
| Weekly on Sunday | 0 0 * * 0 |
| Monthly 1st | 0 0 1 * * |
After creating the workflow file, provide:
When the user asks for something generic like "set up CI/CD", create a single workflow with multiple jobs:
jobs:
lint: # Fast feedback
test: # Core validation
build: # Ensure it compiles/bundles
needs: [lint, test]
deploy: # Only after everything passes
needs: build
if: github.ref == 'refs/heads/main'Keep workflows focused. Prefer one workflow per concern over one massive workflow, unless the jobs are tightly coupled.
© FNOSP, AGPL-3.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 (references) in .agents/skills/github-actions-creator of FNOSP/FlyNarwhal.
Open the folder on GitHubat commit c94d847
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in FNOSP/FlyNarwhal, which our catalogue first saw on October 7, 2026.
GitHub Actions Creator 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 |
|---|---|---|---|---|---|---|
| GitHub Actions Creator this skillFNOSP/FlyNarwhal | 495 | 1 repos | ~2.4k | Automated safety check: Pass | AGPL-3.0 | |
| Deployment and CI/CD Patternsaffaan-m/ECC | 274k | 6 repos | ~2.8k | Automated safety check: Pass | MIT | |
| CIsoftspark/ai-toolkit | 179 | — | ~1.1k | Automated safety check: Notes | Apache-2.0 | |
| Deploy To Tempsgotempsh/temps | 822 | — | ~1.3k | Automated safety check: Notes | Apache-2.0 | |
| Configuration GeneratorArabelaTso/Skills-4-SE | 253 | — | ~2.8k | Automated safety check: Notes | Apache-2.0 | |
| Project Referencesaiskillstore/marketplace | 430 | — | ~2.3k | Automated safety check: Notes | None |
affaan-m/ECC
Covers rolling, blue-green and canary deployments, multi-stage Dockerfiles, a GitHub Actions pipeline, health checks and production readiness for web apps.
softspark/ai-toolkit
Detect/generate/debug CI pipeline config (GitHub Actions, GitLab CI).
gotempsh/temps
Deploy applications to the Temps platform with automatic framework detection, Dockerfile generation, and container orchestration.
ArabelaTso/Skills-4-SE
Generate configuration files for applications, services, and infrastructure.
aiskillstore/marketplace
Look up conventions, patterns, and concrete implementations from your own GitHub repositories checked out locally under ~/projects/referenzen/.
maslennikov-ig/claude-code-orchestrator-kit
Comprehensive DevOps skill for CI/CD, infrastructure automation, containerization, and cloud platforms (AWS, GCP, Azure). Includes pipeline setup…
FNOSP/FlyNarwhal
Automate GitHub workflows with AI assistance. An agent skill from FNOSP/FlyNarwhal.
FNOSP/FlyNarwhal
A skill your agent uses when creating, writing, fixing, or reviewing tests in a Flutter project.
FNOSP/FlyNarwhal
A skill your agent uses when building cross-platform applications with Flutter 3+ and Dart.
FNOSP/FlyNarwhal
A skill your agent uses when publishing a new release of FlyNarwhal desktop.
FNOSP/FlyNarwhal
A skill your agent uses when adding, modifying, or refactoring any remote/HTTP API call in this Flutter project.
FNOSP/FlyNarwhal
A skill your agent uses when building iOS/macOS applications with Swift 5.9+, SwiftUI, or async/await concurrency.
Categories
A skill your agent uses when the user wants to create, generate, or set up a GitHub Actions workflow. GitHub Actions Creator is an agent skill from FNOSP/FlyNarwhal. Use when the user wants to create, generate, or set up a GitHub Actions workflow.
GitHub Actions Creator fits situations like: the user wants to create; set up a GitHub Actions workflow.
Run `npx skills add FNOSP/FlyNarwhal --skill github-actions-creator -a claude-code`. Or copy the skill folder (.agents/skills/github-actions-creator in FNOSP/FlyNarwhal) into .claude/skills/github-actions-creator in your project. Claude Code loads it when a task matches its description.
Run `npx skills add FNOSP/FlyNarwhal --skill github-actions-creator -a codex`. Or copy the skill folder (.agents/skills/github-actions-creator in FNOSP/FlyNarwhal) into .agents/skills/github-actions-creator 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 FNOSP/FlyNarwhal --skill github-actions-creator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/github-actions-creator, .gemini/skills/github-actions-creator, .github/skills/github-actions-creator and .opencode/skills/github-actions-creator in your project.
Going by SKILL.md and its folder, GitHub Actions Creator needs credentials named GITHUB_TOKEN. Our summary lists: Python 3; Node.js; Docker; A credential in GITHUB_TOKEN.
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. Review the folder before installing.
GitHub Actions Creator is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.5k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with GitHub Actions Creator: Deployment and CI/CD Patterns (affaan-m/ECC, 274k stars), CI (softspark/ai-toolkit, 179 stars), Deploy To Temps (gotempsh/temps, 822 stars) and Configuration Generator (ArabelaTso/Skills-4-SE, 253 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
FNOSP (a GitHub organization) maintains it in FNOSP/FlyNarwhal, which has 495 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 6, 2026.
Source: FNOSP/FlyNarwhal on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.