plugins/git-and-pr/skills/pin-actions/SKILL.md
Pin GitHub Actions from mutable tags (e.g., @v4) to immutable commit SHAs to prevent supply chain attacks. Use when editing .github/workflows files, hardening CI security, looking up action SHAs, pinning actions to specific commits, or replacing "uses: owner/repo@tag" references with SHA-pinned equivalents.
npx skillsauth add arosenkranz/claude-code-config pin-actionsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
GitHub Actions referenced by mutable tags (@v4) are vulnerable to supply chain attacks —
a compromised maintainer can silently move the tag to malicious code. Pinning to a commit
SHA makes the reference immutable and tamper-evident.
~/.claude/skills/pin-actions/scripts/resolve_action_sha.sh
Interface: ./resolve_action_sha.sh <owner/repo[/path]> <tag> → prints 40-char SHA to stdout
uses: linesuses: owner/repo@<40-char hex SHA>uses: docker://...uses: ./path/to/actionowner/repo[/subpath] and ref:
uses: {owner}/{repo}@{ref}uses: {owner}/{repo}/{path}@{ref} (sub-path actions)SHA=$(~/.claude/skills/pin-actions/scripts/resolve_action_sha.sh "owner/repo" "v4")
owner/repo@v4 → owner/repo@<SHA> # v4
Before:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: docker/build-push-action/push@v6
After:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- uses: pnpm/action-setup@a3252b7a1b87b11f31ef2a5405c6fe64a35b06b8 # v4
- uses: docker/build-push-action/push@263435318d21b8e681c14492fe198d362a7d2c83 # v6
When asked to look up the SHA for a specific action:
~/.claude/skills/pin-actions/scripts/resolve_action_sha.sh "actions/checkout" "v4"
# → 11bd71901bbe5b1630ceea73d27597364c9af683
Report the SHA and the pinned form:
actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
The script handles both GitHub tag types transparently:
Using GITHUB_TOKEN avoids rate limits:
export GITHUB_TOKEN="ghp_your_token_here"
The script checks for GITHUB_TOKEN automatically and adds the Authorization header when present.
If the script exits with code 1, the tag likely doesn't exist for that repo. Verify:
gh api repos/{owner}/{repo}/git/ref/tags/{tag}GITHUB_TOKEN if unauthenticated)tools
Lightweight orchestrator for spec-before-plan workflow. Use when starting a feature with ambiguous requirements. Walks SPEC.md → PLAN.md → execute, delegating to /superpowers:writing-plans and /superpowers:executing-plans. Invoke when asked to "spec this out", "spec-first", "spec and plan for X", or when feature requirements are vague.
tools
Problem Statement Co-Authoring Skill
development
Structure and maintain professional brag documents with clear templates for accomplishments, projects, and growth tracking. Use when documenting achievements, creating brag document entries, formatting accomplishments, or tracking career progress.
development
Analyze technical documentation for clarity, conciseness, and effectiveness using Google Technical Writing principles. Use when reviewing documentation, checking writing quality, improving docs, or providing writing feedback.