← ClaudeAtlas

sc-gitlisted

GitHub repo CRUD + Actions cost reduction. Audit workflow burn rate, disable noisy YAML (workflow_dispatch-only with backup), run CI locally instead of cloud minutes, install pre-push hook, install self-hosted runner at VPS, POST commit statuses, register VPS crontab. Replaces GitHub Actions cloud minutes with local/VPS execution. Trigger on /sc-git, 'reduce github actions', 'github actions usage', 'audit workflows', 'self-hosted runner', 'disable workflow', 'pre-push hook ci'.
rahmanef63/si-coder-agent · ★ 9 · AI & Automation · score 79
Install: claude install-skill rahmanef63/si-coder-agent
# /sc-git — GitHub Actions Replacement & Repo CRUD Use when user wants to **stop GitHub Actions cloud minutes burn**, audit workflow files across rahmanef63 repos, migrate CI/CD to pre-push hooks + VPS, or do generic repo/workflow CRUD via `gh` API. ## Pre-requisites - `gh` CLI authed with `repo` + `workflow` + `admin:repo_hook` scopes - Local clones live in `/home/rahman/projects/<repo>` (some repos remote-only — skill handles both) - VPS `srv614914` accessible via SSH for runner/cron subcommands ## CORE RULES 1. **Never destructive without backup**: before patching any `.github/workflows/*.yml`, copy to `*.yml.bak`. Never delete `.bak` files. 2. **Never force-push, never push directly to main**: all changes land via new branch `chore/reduce-github-actions-usage`. PR is user's call. 3. **Never touch secrets / env / deploy targets**: skill only edits triggers (`on:`), `concurrency:`, `paths:`. Leaves `env:`, `secrets:`, `runs-on:`, job steps alone unless explicitly told. 4. **Never run failing workflows on cloud**: when listing recent runs, do not retrigger. 5. **Self-hosted runner only on private repos**: GitHub strongly recommends. All rahmanef63 active repos are private — safe. Refuse runner setup if target repo `isPrivate === false`. 6. **`gh` CLI, not raw curl**: reuse the existing `gh` auth + scopes. Fall back to `gh api` for endpoints without dedicated subcommands. 7. **Idempotent**: re-running `disable` on already-disabled workflow is a no-op (detect existing `wor