nitinjain999/platform-skills/github-actions
Claude Code and agent skill by nitinjain999/platform-skills
- community
- ext:[{"type":"hook","description":"Pre/post lifecycle hooks"}]
Checking that the SKILL.md file is still in the repository.
Design, review, secure, and debug GitHub Actions workflows — reusable workflows, OIDC federation, SHA pinning, token scoping, promotion orchestration, and CI failure diagnosis.
Install
npx vskill@latest install nitinjain999/platform-skills/github-actionsSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
GitHub Actions Command
Structured guidance for designing, hardening, reviewing, and debugging GitHub Actions workflows.
Activation
Interactive Wizard (fires when no mode is provided)
When invoked with no arguments, ask before proceeding:
Q1 — Mode?
Q2 — Context (after mode selected):
- design:
Describe what the workflow should do — validate, build, promote, deploy? - security:
Paste the workflow file or describe the auth pattern you are using. - review:
Paste the workflow file or provide the path. - debug:
Paste the error output or describe the failure symptom.
Mode: design
Triggers: design, build workflow, create pipeline, reusable workflow, job graph, promote, deploy flow
Read references/github-actions.md before responding.
Step 1 — Classify the workflow type
| Type | When to use | |
|---|---|---|
Reusable workflow (workflow_call) | Same job sequence needed across multiple repos or environments | |
| Composite action | Same step sequence needed within job graphs — use /platform-skills:composite-actions | |
| Standard workflow | One-off or repo-specific, not shared |
Step 2 — Apply the canonical job pattern
Every workflow should follow this job order:
validate: lint, format, policy gates, unit checks — fast, no credentialsbuild: image or artifact packaging — OIDC to registrypromote: update version pin or overlay in Git — triggers GitOps reconcilerdeploy: guarded apply only if not using GitOps
Keep jobs small and named by intent. If a job is hard to name, it is doing too much.
Step 3 — Reusable workflow structure
Step 4 — Promotion orchestration
Prefer updating Git over imperative deploys:
Handoffs:
- Extracting repeated steps →
/platform-skills:composite-actions - Terraform plan/apply in the workflow →
/platform-skills:terraform - GitOps reconciler that picks up the promotion commit →
/platform-skills:gitops
Mode: security
Triggers: OIDC, pin, SHA, token, permissions, secrets, secure, harden, federation
Read references/github-actions.md before responding.
Repositories with Kubernetes manifests or Helm charts: the posture gate is /platform-skills:kubescape ci (signature-verified CLI install, fails PRs only on new findings). Do not use kubescape/github-action: its latest release bundles CLI v3.0.21 and its README pins @main.
OIDC federation — AWS
IAM trust policy (scope to repo and branch):
OIDC federation — Azure
SHA pinning checklist
Add the version as a comment so reviewers can audit without resolving the SHA manually:
Token scoping — minimum permissions per job
| Job type | Permissions needed | |
|---|---|---|
| Read-only checkout | contents: read | |
| Push a commit | contents: write | |
| Create or comment on PR | pull-requests: write | |
| Publish packages | packages: write | |
| OIDC token request | id-token: write | |
| Read Issues | issues: read |
Set permissions: {} at the workflow level to deny all, then grant per-job:
Secret hygiene
- Store secrets in GitHub Environments, not at repository level, for deployment secrets
- Never print secrets: avoid
echo $SECRETinrun:steps - Mask dynamic secrets:
echo "::add-mask::${DYNAMIC_SECRET}" - Rotate long-lived tokens on a schedule; prefer OIDC to eliminate them
- Audit secret usage:
gh secret listandgh secret list --env <env>
Mode: review
Triggers: review, audit, checklist, is this workflow safe, production ready
Ask the user to paste the workflow file or provide the path. Then evaluate against:
CRITICAL (must fix before merge)
WARNING (should fix)
INFORMATIONAL
Report format:
Mode: debug
Triggers: failing, error, permission denied, OIDC, 401, 403, missing context, debug, not working
Identify the failure layer first:
Diagnosis by error type
`Resource not accessible by integration` / `403`
OIDC rejection (`Not authorized to perform sts:AssumeRoleWithWebIdentity`)
- Confirm
id-token: writeis set on the job - Check the IAM trust policy
subcondition matches the exact repo/branch/env - Confirm the workflow is running from the branch/environment specified in the condition
- For environment-scoped trust:
repo:org/repo:environment:production— job must useenvironment: production
Expression evaluates to empty
`Context access might be invalid`
Caused by accessing a context that does not exist for the triggering event (e.g. github.event.pull_request on a push event). Check which contexts are available for the trigger.
Validation command
actionlint and zizmor do not overlap. actionlint answers "is this workflow valid" (syntax, expression types, shellcheck on run:). zizmor answers "is this workflow safe" (template injection, credential persistence, unpinned uses:, over-broad permissions:, impostor commits). Run both. For the full audit catalogue, policy file, and CI gate: /platform-skills:zizmor.
Common mistakes
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/github-actions/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Extension points
hookPre/post lifecycle hooks
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/nitinjain999/platform-skills/github-actions)