agentsclimarketplace

Sq actions dependabot

Skill neilotoole/sq/.agents/skills/sq-actions-dependabot

Reviews and merges Dependabot pull requests for GitHub Actions (the github-actions ecosystem) that bump `uses:` pins in `.github/workflows/`. Use for Dependabot github_actions PRs (branches like `dependabot/github_actions/...`), not go.mod or site/ Bun PRs.From its SKILL.md

Install
npx -y skills add neilotoole/sq --skill sq-actions-dependabot

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

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

5.1 KB, as published. Nobody here has run it

sq-actions-dependabot

Maintainer workflow for Dependabot PRs in the github-actions ecosystem: version bumps to uses: action pins under .github/workflows/. For go.mod / go.sum PRs use sq-gomod-dependabot; for site/ Bun/Hugo PRs use sq-site-dependabot.

Actions are pinned by full commit SHA with a trailing # vX tag comment (for example docker/login-action@650006c... # v4). Dependabot bumps the SHA and the comment together; confirm they stay in sync.

No lockfile is involved, so action PRs are loosely coupled. Two PRs can still conflict when they edit adjacent uses: lines in the same workflow file (.github/workflows/main.yml holds most pins), so merge sequentially and @dependabot rebase the next PR after each squash merge.

Operating modes

ModeActionsMerge
AuditList/classify; publisher + bump typeNo
ValidateDiff review; CI green; actionlintNo
FullValidate + merge with consentPer PR

Default to Audit unless the user asks to merge.

Phase 0 — Tool bootstrap

command -v gh >/dev/null && gh auth status
# Optional local workflow lint (CI already runs actionlint in the `lint` job):
#   bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash)

Phase 1 — Discovery

From repository root:

gh pr list --author 'app/dependabot' --state open \
  --json number,title,headRefName,headRefOid,mergeable,statusCheckRollup \
  --jq '.[] | select(.headRefName | test("^dependabot/github_actions/"))'

Match on headRefName, not the title. Titles such as "bump goreleaser-action" or "bump golangci-lint-action" trip the gomod skill's word filter but belong here. Confirm the diff only touches .github/workflows/ (gh pr diff <n> --name-only).

Phase 2 — Risk

LevelExamplesAction
LowPatch/minor bump, first-party publisher (actions/, docker/, golangci/, goreleaser/)Merge after CI
MediumMajor bump (v4 to v5); action used only in release/publish jobsRead changelog; check inputs
HighNew/untrusted publisher; SHA and # vX comment disagree; non-SHA (tag or branch) pinHold; manual review

Trusted publishers already in .github/workflows/ carry low supply-chain risk. A major bump can change or remove with: inputs, so read the release notes and confirm the workflow still passes the right inputs.

Release-only caveat: PR CI runs the jobs triggered by the pull_request event (lint, test-nix, test-windows-smoke). Steps and jobs gated to releases or tags (goreleaser, docker/login, publish, binaries-*) are skipped on the PR, so green CI does not exercise them. For those, lean on the changelog and trusted-publisher status.

Phase 3 — Validate

  • Required checks green on the current head (gh pr checks <n>). The lint job runs actionlint over the workflow files.
  • SHA/tag consistency: the new # vX comment matches the tag for the bumped SHA.
  • Optional local lint after installing actionlint: ./actionlint -color.
  • Stale-head guard: after any @dependabot rebase, re-check that the required checks passed on the new headRefOid before merging.

Phase 4 — Merge (consent-gated)

After required checks pass on the current head:

gh pr merge <n> --squash --delete-branch

Multiple action PRs: merge one, then @dependabot rebase the next and wait for mergeable plus fresh CI before merging it. Use --admin only when the user explicitly requests it and checks are green but merge is blocked.

Verdict template

## Dependabot github-actions PR #NNN — <action>

- **Publisher / bump:** first-party? patch | minor | major
- **Runs on PR CI:** yes | release-only (not exercised)
- **CI (lint/actionlint, test-nix):** pass / fail
- **SHA vs tag comment:** consistent?
- **Verdict:** merge | hold

See AGENTS.md and docs/WORKFLOW.md for the CI job map.

Keep looking

Skills are one crate of 627,801. 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.