Set up or align GitHub repo settings, branch/ruleset policy, templates, Actions hardening, Environments, release workflows, and deploy workflows for continuously publishable or deployable repositories.
97
100%
Does it follow best practices?
Impact
96%
1.35xAverage score across 7 eval scenarios
Passed
No known issues
Make GitHub the boring, enforceable shell around a repo: settings, templates, Actions, secrets, releases, and deploys should all point at the same delivery contract.
This skill owns GitHub policy and workflow shape. It does not own product architecture, provider-specific infrastructure internals, app security review, or repo boot/readiness setup.
It also owns baseline existence and template shape for GitHub-facing collaboration files such as PR templates, issue templates, SECURITY.md, and CONTRIBUTING.md.
.github/workflows/.github/actions/.github/pull_request_template.md.github/ISSUE_TEMPLATE/SECURITY.mdCONTRIBUTING.mddocs/gh repo view --json defaultBranchRef,mergeCommitAllowed,rebaseMergeAllowed,squashMergeAllowed,deleteBranchOnMergegh api repos/{owner}/{repo}/actions/permissionsgh api repos/{owner}/{repo}/environmentsgh api repos/{owner}/{repo}/rulesetsREADME.md, CONTRIBUTING.md, SECURITY.md, AGENTS.md, and docs/ current when GitHub changes affect contributor or operator workflows.main is continuously releasable or deployable after verification passes.main run verify before release or deploy.Read repo settings when changing merge policy, branch protections, rulesets, tag protection, Actions permissions, Environment settings, or repository descriptions.
Default posture:
main must remain allowed, prefer branch protection with conversation resolution rather than forcing all default-branch changes through PRs by accident.Read templates when creating or aligning PR templates, issue templates, SECURITY.md, or contributor-facing GitHub guidance.
Default posture:
SECURITY.md should be private-first and avoid public issue reporting for vulnerabilities.CONTRIBUTING.md should describe contributor setup, validation, and PR workflow only when the repo accepts outside or cross-team contributions.Read Actions security before editing workflows that execute code, load secrets, publish artifacts, sign binaries, or deploy.
Hard defaults:
pull_request_target for workflows that check out, install, build, test, package, publish, sign, deploy, or execute project code.{} and grant scopes per job.actionlint for syntax and zizmor for GitHub Actions security before inventing bespoke validators.Use this route for versioned packages, libraries, CLIs, marketplace actions, Homebrew-published tools, Swift/CocoaPods packages, Go/Rust releases, and registry publishes.
Core shape:
pull request -> verify
push to main -> verify -> release/publish -> version bump or release PRRead only the target-specific references needed:
Use this route for running apps and services: static sites, SST apps, Cloudflare, containers, APIs, and hosted frontends.
Core shape:
push to main
-> detect changes
-> verify lane and build immutable payload
-> e2e against that payload
-> deploy through GitHub Environment
-> monitoring and rollback handoffRead only the deploy references needed:
Report the setup compactly:
If live GitHub settings were not checked, say so. Do not present inferred settings as confirmed.
Example:
files changed: .github/workflows/release.yml, SECURITY.md
settings: live rulesets not checked; require manual confirmation
target: npm package release from verified main
evidence: actionlint, npm test
risks: publish token environment still needs maintainer update