agentsclimarketplace

Github actions

Skill tartinerlabs/skills/skills/github-actions

Use when adding CI/CD, creating workflows, auditing GitHub Actions, or fixing action pinning. Creates and audits workflows for SHA pinning and permissions.From its SKILL.md

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

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 2 commands, including `gh api repos/{owner}/{repo}/commits/{ref} --jq '.sha'` and 1 more.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

3.8 KB, 926 tokens by cl100k_base, as published. Nobody here has run it

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: pnpm-lock.yaml, bun.lock/bun.lockb, yarn.lock, package-lock.json. With no lockfile, ask.

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.

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:

LanguageTemplate
JS/TS (Node)the template below
Goreferences/go.md
Pythonreferences/python.md
Rustreferences/rust.md
Rubyreferences/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):

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 — concurrency, node version, caching, triggers, and matrix too.

3. Auto-Fix

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

Rules

RuleImpactFile
Action pinningHIGHrules/action-pinning.md
PermissionsHIGHrules/permissions.md
ConcurrencyMEDIUMrules/concurrency.md
Node versionMEDIUMrules/node-version.md
CachingMEDIUMrules/caching.md
TriggersLOWrules/triggers.md
Matrix strategyLOWrules/matrix.md

What ships with it: 11 files

16.2 KB alongside SKILL.md

references/

Gives 1 of the 12 instructions most ci cd skills give in 926 tokens

Counted across 343 of the 355 authors here whose files we hold, read 2026-09-06

  • Pin third-party actions to full commit SHAhere, and in 34 of 343, across 29 files
  • Set timeout-minutes on every jobin 23 of 343, across 17 files
  • Deploy to staging before productionin 18 of 343
  • Use OIDC instead of stored cloud credentialsin 18 of 343, across 12 files
  • Pin action versionsin 14 of 343, across 13 files
  • Cache dependencies keyed on the lockfile hashin 14 of 343, across 13 files
  • Declare least-privilege permissions at workflow and job levelin 13 of 343, across 7 files
  • Pass untrusted values through env variablesin 13 of 343, across 9 files
  • Create efficient GitHub Actions workflowsin 11 of 343, across 5 files
  • Cache dependencies via setup actions or actions/cachein 11 of 343, across 5 files
  • Cache dependencies to speed up buildsin 11 of 343
  • Store secrets in secret managersin 11 of 343, across 10 files

Said here and by no other author read

  • Resolve each ref to a SHA with gh api
  • Keep the original release or source ref in a comment
  • Read and apply every rules file when generating
  • Ask when no lockfile exists
  • Prefer the packageManager field over lockfiles
  • Use language-specific templates for non-JS projects

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.