| name | repo-operations |
| description | Use when working on Hussh CI/CD, branch protection, merge queue, GitHub Actions, deploys, env or secret parity, Cloud Run or Cloud Build operations, UAT or production rollout, incident triage, or operational verification. |
Hussh Repo Operations Skill
Purpose and Trigger
- Primary scope:
repo-operations-intake
- Trigger on CI/CD, branch protection, merge queue, deploys, env parity, runtime rollout, and operational verification.
- Avoid overlap with
repo-context, planning-board, and docs-governance.
Coverage and Ownership
- Role:
owner
- Owner family:
repo-operations
Owned repo surfaces:
bin
scripts
config
deploy
Non-owned surfaces:
docs-governance
planning-board
frontend
backend
analytics-observability-governance
Do Use
- CI, GitHub Actions, branch protection, merge queue, and live check monitoring.
- UAT/production rollout, Cloud Run/Cloud Build, env parity, and release-authority checks.
- Operational RCA, fix-and-rerun loops, DCO/push safety, and branch preservation.
Do Not Use
- Product implementation or broad repo mapping.
- GitHub board/project-management workflows.
- Documentation-home governance or frontend design-system work.
Read First
docs/reference/operations/README.md
docs/reference/operations/ci.md
docs/reference/operations/branch-governance.md
.codex/skills/repo-operations/references/branch-runtime-ops.md
.codex/skills/repo-operations/references/maintainer-branch-freshness.md
.codex/skills/repo-operations/references/agent-trigger-policy.md
.codex/skills/repo-operations/references/anti-rationalization.md
Workflow
- Record current branch/worktree state and preserve the user's development branch before branch, CI, deploy, PR, hotfix, or validation work.
- Prefer live verification over assumptions for GitHub, CI, deploy, ruleset, and runtime state.
- Use
./bin/hushh as the canonical repo command surface and gh for live repository state.
- For PR work, verify pre-PR, DCO, current head SHA, required gates, queue state, and post-merge smoke.
- For core workflow chains, monitor until terminal success or a concrete blocker; queued or in-progress authority runs mean the task is not done.
- For merge/deploy requests, keep merge-to-main and deploy-to-UAT as separate operator cadences.
- For DB migration/contract changes, run the DB release gate before calling UAT ready.
- For local runtime/server work, follow
branch-runtime-ops.md for visible terminal defaults, inline override, restart, and health-probe rules.
- For UAT runtime failures, start with the repo RCA command before editing or redeploying.
- For an explicit admin/direct push to
main, run the Direct Main Admin Push Preflight in branch-runtime-ops.md before pushing. This proves maintainer identity, branch-protection parity, latest origin/main, DCO, secret hygiene, requested verification, and a clean tree; maintainer bypass is never permission to skip validation.
- When branch freshness drift is detected, update the existing working branch using
maintainer-branch-freshness.md, rerun DCO and changed-surface checks, then push the same branch with --force-with-lease only when this session owns the rewritten commits.
- To add/remove a maintainer, repair the repository auto-merge setting, or change deploy/merge authority, edit
config/ci-governance.json (single source of truth) then run python3 scripts/ci/apply-governance.py --apply to sync GitHub; the JSON edit must LAND ON MAIN for runtime UAT/merge gates to see it. Full runbook in docs/reference/operations/branch-governance.md ("Adding or removing a maintainer"). MERGE-TO-MAIN lane is decided by AUTHOR: governed maintainers (in main.review_bypass_users / main.merge_queue_bypass_users) shipping their own code branch from origin/main and open a PR DIRECTLY into main (the PR Base Policy gate passes by actor identity — no train, no cherry-pick, no promote-branch whitelist); the CI status gate, merge queue, and post-merge smoke gate still apply. Non-maintainer PRs route through integration/pr-train. Never cherry-pick a train-built branch onto main (dependency trap); branch from origin/main at the start instead.
- Resolve expensive PKM and reviewer-browser verification through
scripts/ci/resolve-uat-verification-plan.py; it is the only changed-SHA selector for PR, queue, post-merge, and UAT. Preserve non-skippable authority, migration, provenance, health, and changed-surface gates. Do not add a second path classifier or run the PKM upgrade rehearsal for ordinary UI, consent, or MCP changes.
Handoff Rules
- Broad repo orientation starts with
repo-context.
- Board/project work routes to
planning-board.
- Docs-home governance routes to
docs-governance.
- GA4/Firebase/BigQuery observability routes to
analytics-observability-governance.
- Licensing, onboarding, subtree, and domain implementation route to their owner skills.
Required Checks
./bin/hushh codex ci-status
./bin/hushh codex pre-pr
./bin/hushh codex rca --surface uat --text
./bin/hushh docs verify
./bin/hushh ci
./scripts/ci/verify-main-branch-protection.sh
./scripts/ci/apply-governance.py
./scripts/ci/verify-production-environment-governance.sh