Public-Source Release Audit
Use this skill to answer a narrow question honestly: does the current source candidate contain a supported high-confidence leak, and have the separate human and GitHub-native release checks been confirmed?
Automated Current-Source Check
Run the repository's own verifier when it exists. Then run:
ruby <skill-directory>/scripts/check_current_source.rb <repository>
The checker reads exact Git-index blobs so an unstaged replacement cannot hide the candidate. It also scans tracked and non-ignored untracked worktree files for early feedback. It reports only paths and finding categories, never the matched content.
The supported lexical forms are deliberately small:
- PEM, OpenSSH, PGP, and PuTTY private-key headers;
- GitHub
ghp_,gho_,ghu_,ghs_,ghr_, andgithub_pat_token prefixes; - AWS
AKIA/ASIAaccess-key IDs and canonical named 40-character secret access-key values; - OpenAI
sk-andsk-proj-key prefixes; - explicit
Authorization: Bearerheader or map values; and - literal, commonly source-escaped, or
file://-wrapped rooted POSIX familiesUsers/<name>,var/root,private/var/root,home/<name>, androot, plus drive-letterUsers\\<name>paths, including UTF-8 profile names and bounded environment and command-option values.
The home-path rule covers literal paths and common source escaping for POSIX slashes and Windows backslashes. It does not decode URL-encoded content. The credential map rules inspect direct source text; they do not decode nested escaped documents.
Stage all intended release changes before relying on the candidate result. Ignored files and submodule contents are outside this check. The checker does not inspect Git history. Git LFS pointers fail the check because their external objects require separate review. Missing index blobs, including unavailable partial-clone objects, fail without network fetching. A symlink's own target text is scanned, while a symlinked parent component fails without reading outside the repository. Git's optional locks are disabled so read-only index operations do not freshen split-index metadata, and inherited Git trace-file destinations are cleared. BOM-marked UTF-16 source also requires separate review; the checker does not transcode or unpack content.
Semantic Review
Automation cannot decide whether prose, filenames, images, or other assets contain customer information, internal links, personal data, or company-only context. Inspect the complete tree before first publication and the exact diff for later releases. Mark this check unconfirmed unless a reviewer actually performed it.
GitHub-Native Controls
For an existing public GitHub repository, use read-only GitHub commands to confirm the live state rather than recreating GitHub policy logic locally:
gh repo view OWNER/REPO --json visibility,defaultBranchRef
gh api repos/OWNER/REPO --jq '{visibility,security_and_analysis}'
gh ruleset check --default --repo OWNER/REPO
gh ruleset list --repo OWNER/REPO --parents --limit 100
gh ruleset view RULESET-ID --repo OWNER/REPO
default_branch="$(gh repo view OWNER/REPO --json defaultBranchRef \
--jq '.defaultBranchRef.name')"
encoded_branch="$(ruby -rerb -e \
'print ERB::Util.url_encode(ARGV.fetch(0))' "$default_branch")"
gh api "repos/OWNER/REPO/branches/${encoded_branch}/protection"
gh api 'repos/OWNER/REPO/actions/runners?per_page=100' \
--jq '{total_count,runners:[.runners[] | {name,status,busy}]}'
Inspect applicable rulesets and classic branch protection when necessary to confirm the required hosted check, update strictness, and bypass actors. A 404 from the classic endpoint means no classic rule is configured; it does not invalidate an applicable ruleset. If authorization cannot expose a setting, report it as unconfirmed. Do not weaken or mutate settings unless the user separately authorizes that action.
Result
Report these fields separately:
- repository verifier:
passed,failed, ornot available; - automated current-source check:
passedorfailed; - semantic context review:
confirmedorunconfirmed; - GitHub-native controls:
confirmed,unconfirmed, ornot applicable; - history review: normally
not performed; - bounded verdict:
readyonly when every check required for this release is passed or confirmed.
Do not summarize the bounded verdict as “the repository is safe.” Full-history investigation is a separate, exceptional workflow using established tooling. Publishing, rewriting history, revoking credentials, and changing repository settings remain separate actions requiring their own authorization.