What problem does it solve?
Developers building GitHub Actions workflows and gh-aw agentic workflows risk introducing vulnerabilities like template injection, unquoted shell variables, unpinned action dependencies, and overly broad permissions. This Skill provides concrete secure and insecure patterns to prevent these issues during implementation and code review.
Core Features & Use Cases
- Template Injection Prevention: Shows how to route untrusted input (issue titles, PR bodies, comments) through environment variables instead of direct
${{ }} expression interpolation, plus gh-aw sanitized context outputs.
- Shell Script Hardening: Enforces quoting rules (SC2086), strict mode (
set -euo pipefail), input validation, and shellcheck compliance for workflow scripts.
- Supply Chain & Permissions Security: Requires SHA-pinned actions, minimal job-level permissions, and integration of static analysis tools (actionlint, zizmor, poutine) via
gh aw compile.
- Use Case: When writing a Go code generator that emits GitHub Actions
if: conditions, use the cross-trigger nullability guidance to guard github.event.pull_request.* access behind github.event_name checks so workflows do not fail on push or schedule triggers.
Quick Start
Review my workflow file and Go condition-generation code against the security checklist to find template injection, shell quoting, and permission issues.