Agent Native

github-actions

This skill creates, audits, and fixes GitHub Actions workflows for projects using Node.js, Go, Python, Rust, or Ruby.

by tartinerlabsCommunity

Community author

Agents
Claude Code
License
MIT (permissive)
Pin
a7812b9pinned Oct 9, 2026
Context cost
about 990 tokenswhen the skill loads
GitHub stars
8on tartinerlabs/skills
Scripts
None found

What it does

“Use when adding CI/CD, creating workflows, auditing GitHub Actions, or fixing action pinning. Creates and audits workflows for SHA pinning and permissions.”
The author's description, from SKILL.md

Generated summary from the skill's own text

This skill creates, audits, and fixes GitHub Actions workflows for projects using Node.js, Go, Python, Rust, or Ruby. It automatically detects project type and package manager, generates pinned workflows following security best practices, and audits existing workflows against nine rules covering action pinning, permissions, concurrency, caching, and more.

When to use it

  • Setting up CI/CD pipelines for new projects
  • Auditing existing GitHub Actions workflows for security issues
  • Pinning action versions to specific commit SHAs
  • Adding required status checks for database migrations

When not to

  • Projects using CI/CD systems other than GitHub Actions
  • When workflows are already fully compliant with all rules

Install

These commands install from the publisher's repository and need no account.

skills CLI

npx skills add tartinerlabs/skills --skill github-actions

Installs from the repository's default branch, which may have changed since the commit we checked.

GitHub CLI 2.90 or later

gh skill install tartinerlabs/skills github-actions@a7812b928cd37d688879fed1e94b6e424bf21da7

Installs the commit we checked (a7812b9).

Copy by hand

Download the folder at a7812b9 and put it in .claude/skills/github-actions for Claude Code and in .agents/skills/github-actions for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.

Skill folder on GitHub at a7812b9

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 "github-actions" by tartinerlabs.

Source, pinned to commit a7812b928cd37d688879fed1e94b6e424bf21da7:
https://github.com/tartinerlabs/skills/tree/a7812b928cd37d688879fed1e94b6e424bf21da7/plugins/workflow/skills/github-actions

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/github-actions/ for Claude Code and .agents/skills/github-actions/ 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/tartinerlabs/github-actions

SKILL.md at the pin

---
name: github-actions
description: Use when adding CI/CD, creating workflows, auditing GitHub Actions, or fixing action pinning. Creates and audits workflows for SHA pinning and permissions.
license: MIT
allowed-tools: Read Glob Grep Edit Write Bash(gh:*)
model: sonnet
effort: high
context: fork
agent: general-purpose
compatibility: Targets GitHub Actions (GitHub-native); uses gh for SHA lookups; auto-detects project language (Node/JS-TS, Go, Python, Rust, Ruby)
metadata:
  short-description: Create and audit CI workflows.
---

## Mode Detection

Audit and report by default. Generate workflows only when asked to create, add, or set up CI — and **never merely because `.github/workflows/` is absent**; report that none were found instead. Apply fixes only when asked to fix or pin. When the ask is unclear, report and offer to apply the fixes.

## Create Mode

### 1. Detect Project Type

Scan for project indicators:
- `package.json` → Node.js/JS/TS
- `go.mod` → Go
- `requirements.txt` / `pyproject.toml` / `setup.py` → Python
- `Cargo.toml` → Rust
- `Gemfile` → Ruby

### 2. Detect Package Manager (JS/TS projects)

Detect the package manager from the lockfile, in this order: `nub.lock`, `pnpm-lock.yaml`, `bun.lock`/`bun.lockb`, `yarn.lock`, `package-lock.json`. With no lockfile, ask.

A `packageManager` or `devEngines.packageManager` field in `package.json` outranks any lockfile. Nub runs in compat-mode over another manager's lockfile, so `nub.lock` alongside `pnpm-lock.yaml` means nub — check the field before concluding from lockfiles alone.

### 3. Generate Workflow

Read each rule file in `rules/` and apply all of them when generating workflows.

Pin every action per `rules/action-pinning.md` before writing the workflow, including GitHub-owned `actions/*`. Resolve the intended release or source ref to a full commit SHA with `gh api repos/{owner}/{repo}/commits/{ref} --jq '.sha'`, then retain the release or source ref in a comment.

When the project commits migrations from a migration tool, also add a separate `migration-drift` job per `rules/migration-drift.md`, and tell the user to make it a required status check.

### 4. Workflow Template

Route by the language detected in Step 1. The template below is the **JS/TS default**; for any other detected language, load `references/<lang>.md` and use its template instead:

| Language | Template |
|----------|----------|
| **JS/TS** (Node) | the template below |
| **Go** | `references/go.md` |
| **Python** | `references/python.md` |
| **Rust** | `references/rust.md` |
| **Ruby** | `references/ruby.md` |

Every template applies the same `rules/` (action pinning, `permissions`, concurrency). Adapt the JS/TS template to the detected package manager (replace `<pm>` with the detected package manager):

```yaml
name: CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

permissions:
  contents: read

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  ci:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0  # v7.0.0
      - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020  # v7.0.0
        with:
          node-version: 'lts/*'
          cache: '<pm>'
      - run: <pm> install --frozen-lockfile
      - run: <pm> check
      - run: <pm> test
      - run: <pm> build
```

## Audit Mode

### 1. Scan Workflows

Read all `.yml` and `.yaml` files in `.github/workflows/` and audit against every rule in the `rules/` directory.

### 2. Report Format

Report each finding as `path:line` — what is wrong → the fix, grouped by severity, and close with per-severity counts and the number of files scanned.

Report **all** rule violations found, not just pinning and permissions — migration drift, concurrency, node version, caching, triggers, matrix, and parallel steps too.

### 3. Auto-Fix

When fixing, look up commit SHAs for pinning using `gh api`.

## Rules

| Rule | Impact | File |
|------|--------|------|
| Action pinning | HIGH | `rules/action-pinning.md` |
| Permissions | HIGH | `rules/permissions.md` |
| Migration drift | HIGH | `rules/migration-drift.md` |
| Concurrency | MEDIUM | `rules/concurrency.md` |
| Node version | MEDIUM | `rules/node-version.md` |
| Caching | MEDIUM | `rules/caching.md` |
| Triggers | LOW | `rules/triggers.md` |
| Matrix strategy | LOW | `rules/matrix.md` |
| Parallel steps | LOW | `rules/parallel-steps.md` |

From tartinerlabs/skills at a7812b9, shown as plain text under its license: MIT (permissive). The license text is in plugins/workflow/skills/github-actions/SKILL.md.

View SKILL.md on GitHub at a7812b9

Files

14 files, 30 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.

Skill folder on GitHub at a7812b9
All Cloud and DevOps skills
  • 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 7 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 7 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 7 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 7 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 7 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 7 days ago

The skills listed here are third-party software, collected from public GitHub repositories as a catalog of recent skills and provided as is. Agent Native does not write or control them and is not responsible for any harm, loss or damage caused by installing or using them. Labels and checks describe what we saw at one commit and are not a guarantee. Read a skill's files before you run it. Terms of use