Ci workflow doctor
Offline deploy-safety skills for Claude Code. Zero credentials, zero network, zero dependencies.
npx -y skills add Starr-del/ShipSafe --skill ci-workflow-doctorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 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.
What its author says it does
Copied from the file, not written here
Lint GitHub Actions workflows for deploy-breaking and security mistakes. Use whenever the user writes or edits a workflow file, mentions GitHub Actions, sets up CI/CD, complains that deploys land out of order, or before the first automated deploy of a project. Also run it during any security review of a repo. Runs fully offline — no API keys, no network, no credentials.
SKILL.md
1.7 KB, as published. Nobody here has run it
ci-workflow-doctor
Part of shipsafe — offline deploy-safety skills. Every script is stdlib-only Python 3.8+; nothing leaves the machine.
python3 scripts/lint_workflows.py <repo_root> [--json] # finds .github/workflows itself
Checks:
- PR_TARGET_WITH_CHECKOUT (critical) —
pull_request_target+ checkout of the PR head runs untrusted fork code WITH repo secrets. This is the classic GitHub Actions exfiltration pattern; fix immediately. - MUTABLE_ACTION_REF (high) — third-party actions pinned to tags/branches can be force-pushed by a compromised maintainer. Pin to a 40-char commit SHA. Official
actions/*are exempt. - MISSING_CONCURRENCY (high) — deploy jobs without a concurrency group let two pushes deploy in parallel; the OLDER build can finish last and win. The fix block to suggest is in the script output.
- SECRET_IN_RUN (high) —
${{ secrets.X }}interpolated into run: scripts leaks via shell tracing; pass via env: instead. - NO_TIMEOUT / UNPINNED_RUNNER (low) — hygiene for deploy reliability.
Implementation note: parsing is line-structured and heuristic (zero dependencies, runs anywhere) — on exotic YAML, verify a finding against the file before asserting it.
Exit codes: 0 clean, 1 findings.
All paths below are relative to this skill's directory (ci-workflow-doctor/).