github-upstream-sync — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited github-upstream-sync (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill when the user wants a GitHub Actions workflow that keeps a fork branch synced with an upstream repository.
main.GH_TOKEN.4:00 or 4시 25분 without a timezone, use the session/environment timezone. If no timezone is available, ask for it.gh repo sync "${{ github.repository }}" --branch <branch>.--source OWNER/REPO to gh repo sync only when the user specifies the upstream repo or the fork parent should not be trusted.aormsby/Fork-Sync-With-Upstream-action with separate target_sync_branch and upstream_sync_branch.GH_TOKEN: ${{ secrets.GH_TOKEN }} by default. The secret must be a PAT that can write contents and workflow files in the target fork. This avoids failures when upstream adds or modifies .github/workflows/*.permissions: contents: read because the write authority comes from the PAT secret, not from github.token.permissions.actions: write to solve workflow-file sync failures; that permission controls Actions API operations, not writing workflow YAML files.Same branch:
name: Upstream Sync
on:
schedule:
- cron: "<utc-cron>"
workflow_dispatch:
permissions:
contents: read
jobs:
sync:
runs-on: ubuntu-latest
steps:
- name: Sync fork with upstream
run: gh repo sync "${{ github.repository }}" --branch <branch>
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}If source is needed, append --source OWNER/REPO to the gh repo sync command.
Different branches:
name: Upstream Sync
on:
schedule:
- cron: "<utc-cron>"
workflow_dispatch:
inputs:
sync_test_mode:
description: "Dry run mode"
type: boolean
default: false
permissions:
contents: read
jobs:
sync:
runs-on: ubuntu-latest
steps:
- name: Checkout target branch
uses: actions/checkout@v4
with:
ref: <target-branch>
fetch-depth: 0
token: ${{ secrets.GH_TOKEN }}
persist-credentials: false
- name: Sync upstream changes
id: sync
uses: aormsby/[email protected]
with:
target_sync_branch: <target-branch>
target_repo_token: ${{ secrets.GH_TOKEN }}
upstream_sync_branch: <upstream-branch>
upstream_sync_repo: <owner/repo>
test_mode: ${{ github.event.inputs.sync_test_mode }}
- name: Sync Success Check
if: steps.sync.outputs.has_new_commits == 'true'
run: echo "New commits were synced."
- name: Already Up to Date Check
if: steps.sync.outputs.has_new_commits == 'false'
run: echo "Already up to date."Return the workflow YAML and a brief note that GH_TOKEN must be a PAT with contents write and workflow-file permission for the target fork.
$github-upstream-sync 내 저장소의 main 브랜치를 upstream main과 매일 4시에 동기화하는 workflow 만들어줘.$github-upstream-sync 내 저장소의 main 브랜치에 upstream develop을 매일 KST 04:25에 동기화하고 dry run 체크박스도 넣어줘.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.