codex/skills/join/SKILL.md
PR autopilot via `gh` only: create/manage PRs, keep branches current, enforce required CI gates, apply surgical code patches, and publish merge-ready handoff without merging. Use when asked to run or monitor PR automation, fix failing required checks, keep local/remote branch state clean, or prepare branch/PR cleanup for human merge.
npx skillsauth add tkersey/dotfiles joinInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Run a continuous PR operator using gh commands only. Keep PRs created, green, and merge-ready with minimal-incision fixes. Do not approve or merge PRs unless explicitly instructed by the user.
gh CLI commands (gh pr, gh run, gh api, gh repo).git or any non-gh command.gh alone, apply auto:hold and leave a blocking comment.gh auth status succeeds.auto:manage, auto:hold.gh auth statusgh repo view <owner>/<repo> --json nameWithOwner --jq .nameWithOwnerauto:hold on affected PRs (or emit hold outcome in cloud loop when no PR is selected yet).auth_unavailable.auto:manage: opt-in to automation.auto:hold: pause automation.Contributor guidance:
auto:manage to opt in.auto:hold to stop the operator.gh api without an open PR, create a PR.assets/pr-template.md.gh pr create --fill and apply auto:manage.Use one mode only:
gh-only remote mode: no local checkout assumptions and no local workspace mutations.$puff + seq -> join)Use this when running Join as a cloud subagent loop:
$puff join-operator.gh pr view <num> --json files): target_pr_hint (+5.0), touched_entities overlap (+0..4.5), changed_paths overlap (+0..3.0), base-branch match (+1.5), and issue_refs (+0.5 each, max +1.0). Compute confidence as min(0.99, (raw_score / 12.0) * risk_multiplier) where risk_multiplier={low:1.00, medium:0.95, high:0.80, critical:0.65}.$seq first to recover intent/context. Routing gates are: confidence below effective threshold (threshold * risk_threshold_multiplier where risk_threshold_multiplier={low:0.95, medium:1.00, high:1.15, critical:1.25}), top-two score margin < 0.75, no entity/path/hint signal, manifest entities exist but no entity match, or risk_level is high|critical.$join for gh-only PR operations and CI/handoff behavior.Launch recipe:
"$PUFF_SCRIPT" join-operator --env <env-id-or-label> --repo <owner/repo> --patch-inbox <locator>"$PUFF_SCRIPT" join-operator --env <env-id-or-label> --repo <owner/repo> --patch-inbox <locator> --canaryCloud auth note:
GH_TOKEN (or GITHUB_TOKEN) with repo-scoped permissions needed for join operations.Patch producers should emit a manifest that validates against:
assets/cloud-join-manifest.schema.jsonassets/cloud-join-manifest.example.minimal.json (copy-ready minimal example)assets/cloud-join-manifest.example.full.json (copy-ready full example)Required fields:
patch_idproducerrepo (owner/repo)base_branchchanged_paths (non-empty)intent_summaryOptional routing hints:
target_pr_hintissue_refstouched_entities (array of objects with entity; optional file and kind)risk_level (low|medium|high|critical)confidencepatch_fileProcess PRs sequentially (blocking per PR on CI):
gh pr list --state open --json number,title,headRefName,labels,isDraft.auto:hold.auto:manage and not agent-created.gh pr ready <num>.gh pr update-branch <num> --rebase when available.gh pr checks --required). Optional checks do not block handoff.gh pr checks <num> --required --json name returns an empty list, treat CI as green and proceed to handoff.gh pr checks <num> --required --watch --fail-fastname, bucket, startedAt, completedAt).gh pr checks <num> --required --json name,bucket,startedAt,completedAt.bucket=pass, apply auto:hold and leave a summary comment with links to the stuck checks.bucket=pending, bucket=skipping, and bucket=cancel as “not green” (blocked) until resolved; do not mark as handoff-ready through them.gh pr checks <num> --required --json name,bucket,link,workflowgh run list --branch <headRefName> --limit 10gh run watch <run-id> --compact --exit-statusgh run view <run-id> --log-failedSmallest change that makes CI green using gh only:
gh api on the PR head branch.gh pr checks <num> --required --json name,bucket).auto:hold, and publish hold_reason=regression_floor_worsened.auto:hold, and publish hold_reason=regression_floor_no_improvement.auto:hold.gh pr merge (any flags).gh pr review --approve unless explicitly instructed by the user.gh pr view <num> --json state,mergeStateStatus,reviewDecisionJoin Operator.raw_scorescore_breakdown (target_pr_hint, entity_overlap, entity_hits, path_overlap, base_branch_match, issue_refs, risk_multiplier)threshold_decision (confidence_threshold, effective_confidence_threshold, risk_threshold_multiplier, score_margin, needs_seq_reasons)conflict_kind (none|routing|merge|policy|permission|ci)complexity (low|medium|high)confidence (0.00-1.00)resolution_hint (actionable next step; none only when resolved)action_takenstatus (applied|hold|failed|no_match)hold_reasonJoin Operator: gh-only automation block
This PR needs an action outside the gh-only boundary (for example, manual conflict resolution or a local-only edit path).
Apply the needed commit manually, then remove `auto:hold`.
Join Operator: required checks stalled
Required checks showed no progress for 10 minutes.
Investigate the linked runs, unblock CI, then remove `auto:hold`.
gh repo view --json defaultBranchRef --jq .defaultBranchRef.namegh api repos/<owner>/<repo>/branches --paginate --jq '.[].name'gh pr create --fill --head <branch> --label auto:managegh pr list --state open --json number,title,headRefName,labels,isDraftgh pr ready <num>gh pr update-branch <num> --rebasegh pr view <num> --json headRefOid --jq .headRefOidgh pr checks <num> --requiredgh pr checks <num> --required --watch --fail-fastgh pr checks <num> --required --json name,bucket,link,workflowgh run list --branch <branch> --limit 10gh run view <run-id> --log-failedgh pr review <num> --request-changes --body "<reason>"gh pr view <num> --json state,mergeStateStatus,reviewDecisiongh pr comment <num> --body "Join Operator: required checks are green; ready for human merge."assets/pr-template.mdassets/cloud-join-manifest.schema.jsonassets/cloud-join-manifest.example.minimal.jsonassets/cloud-join-manifest.example.full.jsonassets/cloud-join-operator-prompt.mdscripts/build_cloud_join_prompt.pyscripts/manifest_router.pytools
Invokes Apple's macOS 27 fm command-line tool from a local Mac to use the on-device system model or Private Cloud Compute, including instructions, image prompts, schema-constrained JSON, and noninteractive automation. Use when the user asks to run Apple Foundation Models through fm, compare system versus pcc, generate structured output, or automate fm without Swift or an app.
development
Compile historical Codex sessions into governed counterfactual evidence, evaluate an existing owner-applied candidate through blinded paired HCTP trials, and fold observable evidence into RUN, OBSERVE, or STOP. Use for `$hylo`, CRF extraction, counterfactual replay, source-governed direct or historical trials, sealed evidence, paired baseline/candidate evaluation, causal frontiers, or evidence-governed improvement.
testing
Ensure a `ledger` command is available on PATH; materialize, validate, record, replay, and project requested Actuating artifacts without taking semantic or execution authority; coordinate the shared Learnings/Synesthesia/Negative Ledger lifecycle checkpoint and repo-local source-memory reconciliation; address Universalist plans and receipts; and perform pure artifact validation.
testing
Classify and quotient review findings, failing tests, incidents, bug reports, migration failures, and other witnessed falsifiers against accepted intent and the current Construction. Author counterexample-set/v1 without selecting repairs, counting review credit, or granting mutation.