yeet
Canonical repo-quality operator workflow for beep-effect. Use when repairing local changes, proving quality, committing, pushing, opening or monitoring a PR, or moving a branch toward mergeable GitHub state with `bun run beep yeet`.
- License 许可
- Apache-2.0
- 最近更新
- 2026-11-14
- Stars
- ★ 80
- Forks
- 14
01 前言 Front Matter
- name
- yeet
- description
- Canonical repo-quality operator workflow for beep-effect. Use when repairing local changes, proving quality, committing, pushing, opening or monitoring a PR, or moving a branch toward mergeable GitHub state with `bun run beep yeet`.
02 资源文件 10
- 参考文档references/detached-jobs.md4.0 KB
- 参考文档references/failure-handling.md10.1 KB
- 参考文档references/gates-and-proof.md15.0 KB
- 参考文档references/gh-rest.md4.6 KB
- 参考文档references/merge-loop.md12.4 KB
- 参考文档references/monitor-and-inbox.md16.6 KB
- 参考文档references/review-threads.md11.0 KB
- 参考文档references/run-artifacts.md2.1 KB
- 参考文档references/stacks.md8.0 KB
- 参考文档references/sweep-retire.md6.7 KB
03 SKILL.md 正文
Yeet Quality Path
Use this skill when a user asks to repair, verify, publish, push, open a PR, or
make a branch mergeable in this repository. Yeet is the canonical operator path
for End-to-End Green: deterministic local repair, reviewed commit, cheap-gates
and final-check before the push, a PR opened ready for review at
content-final, hosted checks and review as the authoritative proof, review
closeout, and merge readiness.
For multi-session coordination, use the orchestrate skill. Claude and Codex can both own that role. Its native and enrolled cross-provider message routes carry briefs and receipts; messages do not grant merge authority or bypass Yeet's exact-head checks and review window.
Ground First
- Inspect the current branch and worktree:
git status --short --branch
git diff --name-status
- If the checkout is on
mainor another protected/default branch, create a feature branch from the intended base before editing or publishing. 2b. Check base freshness before publish:
git fetch origin main:refs/remotes/origin/main --quiet
git rev-list --count "$(git merge-base HEAD origin/main)"..origin/main
Yeet publish warns whenever the branch is behind origin/main and refuses
when branch files overlap commits landed on the base since the merge-base
(a conflicted or stale PR is likely). Catch up by merging the base into the
feature branch — never by rebasing:
git fetch origin && git merge origin/main
Resolve conflicts, re-run bun run beep yeet verify, then publish again.
A base-conflict P0 inbox row or a merge-gate "sibling #N merged" comment is
this same merge, now, whatever your brief says about acceptance or merge
authority (2026-11-05; references/merge-loop.md).
A stack layer (2c) never merges origin/main: it merges origin/<parent-branch>,
or adopts GitHub's cascade once the parent merged; the row and comment say which.
Do not rebase a published branch: rebase implies a force-push, and this
repository denies git push --force*. GitHub squash-merge erases
feature-branch merge commits at land time anyway. --allow-stale-base is
the explicit override when proceeding despite overlap is intended.
2c. Dependent lanes (goals/yeet-async-merge-and-stacks, 2026-11-13). When
the change needs another open PR's code, fold it into that PR while it is
open, or publish it as the second layer of a native stack on it: cut the
lane from the parent's branch, then run
bun run beep yeet publish --stack-on <parent-pr> --message "..."
(needs a green main and an unstacked parent on main). yeet ready
pushes nothing on a layer, yeet merge-gate <top-pr> <sha> gates and
merges both layers from the top, and yeet sweep --retire retires each
lane: references/stacks.md. Never open a PR on a
non-main base any other way (no workflow fires on it), never force-push,
rebase or gh stack rebase|sync|modify a published branch (adopt a
GitHub rewrite with git switch -C <branch> origin/<branch>), and never
merge an unlanded PR's branch into a lane that is not its layer. A lane
blocked by red main waits for the unblocks-main PR, then merges main once.
3. If the worktree contains unrelated changes, stage only the intended files.
Never publish unrelated paths silently.
4. Check for already-running heavyweight quality commands before starting a
Yeet lane. Use metadata-only columns (comm = executable name) and never the
full cmd column: process arguments routinely contain credentials (git
http.extraHeader bearer tokens, credentialed clone/fetch URLs, API keys),
and that output would leak into the agent transcript. Summarize matches by
pid/binary; never copy full command lines verbatim:
ps -eo pid,ppid,stat,etime,comm | rg 'bun|node|beep|turbo|gh|git' | rg -v 'rg|ps' || true
Canonical Commands
Durable jobs: --detach runs verify, publish, monitor, repair, and
closeout as transient systemd user services that outlive the tool-call cap;
bun run beep yeet job wait <jobId> blocks on one and exits 0 green, 1 red,
2 wave, 3 terminated. Flags, exit semantics, and the job journal:
references/detached-jobs.md.
- Repair local work:
bun run beep yeet repair
- Prove the branch without committing or pushing:
bun run beep yeet verify
- Run the collected cheap gates without starting heavy build, lint, check, tests, or docgen:
bun run beep yeet verify --tier cheap-gates
- Run the targeted review-fix proof while iterating on PR comments:
bun run beep yeet verify --tier review-fix
- Open the PR at content-final (operator 2026-11-13). A PR opens ready for
review, labelled
ready-for-heavy, and only on a head with a passingfinal-checkreceipt, so hosted CI never runs on unfinished work and the review window starts at the open. Commit, runbun run beep yeet final-checkon that head, then push the committed HEAD and open:
bun run beep yeet open
- Commit reviewed staged changes, run cheap-gates and the head-install
preflight, and push (push-first-publish D1–D8). On a branch whose PR is
already open this is the fix-push route, unchanged: it pushes, keeps the
PR's state and reuses its readiness monitor. With no PR open it opens one
ready, so it refuses before the push (the commit stays local) when the new
head has no passing receipt; run
final-check, thenyeet open:
bun run beep yeet publish --message "type(scope): summary"
- Open a draft instead, for work that needs a hosted run before it is final.
A draft needs no receipt and gets the cheap hosted tier only: no
ready-for-heavylabel, no heavy runners.yeet readyflips it on the head's passing receipt and applies the label.yeet open --draftis the same for a committed head. A stack layer (--stack-on) and a worker compute profile open a heavy-admitted draft without the flag:
bun run beep yeet publish --draft --message "type(scope): summary"
- Push without opening a pull request (no hosted checks run until one exists):
bun run beep yeet publish --no-pr --message "type(scope): summary"
- Run the full local proof and CI parity before the push (the pre-2026-10-05 order; use only when a local full proof is explicitly wanted first):
bun run beep yeet publish --prove-first --message "type(scope): summary"
- Before opening the PR, replay the hosted gates the cheap tier skips on the
committed head. It writes the head-pinned receipt the open and
yeet readyrequire; skip a gate only with a recorded reason (--skip coverage="<why>"), which the PR body then names:
bun run beep yeet final-check
- Flip this branch's opt-in draft PR to ready as soon as its content is final:
no further push planned, a passing
final-checkreceipt for the head, every review thread answered. The flip appliesready-for-heavy, so the heavy matrix starts with it; only a required check that is already red holds the flip (it refuses and names the blocker; there is no--force):
bun run beep yeet ready
Under S11 (AGENTS.md "Mergeable"), when the refusing red is inherited from
main, call final and attribute each inherited red (repeatable). The flip
records them in a marked "Inherited reds (S11)" section of the PR body
first, refuses if that write fails, and still requires every review thread
to be answered:
bun run beep yeet ready --inherited "<check name>=<attribution>"
- Publish exactly the staged index from a dirty worktree (unstaged/untracked residue is parked in a marked stash after the commit, the clean tree is proven, and the stash is restored after push; on a restore conflict the stash is kept and its marker reported):
bun run beep yeet publish --staged-only --message "type(scope): summary"
- Stay attached to hosted PR checks after the push instead of submitting the detached readiness monitor (opt-in; the fleet default is detached):
bun run beep yeet publish --monitor --message "type(scope): summary"
- Reply to and resolve addressed review threads during closeout (explicit per-thread flags; closeout never writes without them):
bun run beep yeet closeout --reply-thread <thread-id> --reply-body "Fixed in <sha>." --resolve-threads <thread-id>[,<thread-id>...]
- Retry after a separately verified amend without creating a new commit:
bun run beep yeet publish --amend --no-edit --reuse-verified
- Push a clean base-sync merge onto an already-published branch without a full local proof. The first parent must equal the freshly fetched published tip, the second must be on the configured base, and the tree must reproduce Git's merge result. Cheap gates and the head-install preflight gate the push and a normal publish verdict is recorded:
bun run beep yeet publish --push-only
Unreproducible conflict resolutions or additional edits require the verified reuse path below.
- Push an already-verified clean commit without committing or rerunning local proof:
bun run beep yeet publish --push-only --reuse-verified
- Monitor hosted PR checks for the current branch:
bun run beep yeet monitor
yeet monitor records the current agent and its branch's active packets, then
re-asserts the registry-backed provenance footer once before polling, without
trusting the body's public JSON twin (references/monitor-and-inbox.md).
- Keep monitoring across pushes until the PR merges or closes. This announces
readiness once per head, writes the
pr-merge-readyinbox row, and keeps polling after the announcement:
bun run beep yeet monitor --until-merged
- Reset the clone after a merge (prune refs, fast-forward
main, delete the merged branch locally and remotely, return tomain, then reinstall whenbun.lockmoved). The checkout is moved tomainonly from the merged branch itself; a clone standing on any other branch is a live checkout, soend-stateandlockfile-installskip with that HEAD named in the plan and only the ref-only steps run. Inspect the plan before running it:
bun run beep yeet sweep --plan
bun run beep yeet sweep
- From inside a linked worktree (a Claude Code
.claude/worktrees/<name>lane or a sibling-worktreeslane) the plain sweep only fetch-prunes.--retireis the post-merge closeout for that case: it archive-retires the worktree, deletes the branch, then sweeps the owning clone. It refuses until the PR is MERGED and heads this branch, so running it early is safe. Run it from inside the lane, as the last command of the session:
bun run beep yeet sweep --retire --plan
CLONE="$(git rev-parse --path-format=absolute --git-common-dir)/.." && bun run beep yeet sweep --retire && cd "$CLONE"
Holder fences, the Claude Desktop Terminal panel shell, --lane <path>,
running the lane's own CLI from an older clone, and the active-packet
warning: references/sweep-retire.md.
- Post and resolve the drafted review-thread replies for this branch's PR:
bun run beep yeet reply
- Squash-merge this branch's PR through
PUT pulls/{n}/merge-async(strict, no rules bypass), wait for GitHub's terminal result (afailedresult fails with GitHub's sentence; a pending one is never read as merged), confirmMERGEDthrough the API, then sweep the clone under the current task andAGENTS.mdauthority. Standing own-PR authority requires the full merge gate; local-only fences forbid publication and merging:
bun run beep yeet merge
- Read the local Yeet operator state before scanning logs. This is local-only by default and reads branch/worktree state plus the latest Yeet artifacts:
bun run beep yeet status
bun run beep yeet status --json
- Include live GitHub PR/check/mergeability data only when you need it:
bun run beep yeet status --remote
- Print compact operator summaries for hosted monitor or closeout flows:
bun run beep yeet monitor --summary
bun run beep yeet closeout --summary --require-review-comments 0
- Inspect review threads and review-bot findings for the current branch PR:
bun run beep yeet closeout --require-review-comments 0
Add --require-greptile-score 5/5 --require-greptile-issues 0 only when the
operator asks to wait on Greptile for this PR. Those gates set the closeout
command's own exit code and print as review-bot advisories in yeet status;
they never hold merge-ready.
- Inspect local hardware profile guidance before choosing heavy parallel work:
bun run beep quality profile detect
bun run beep quality profile config workstation
Gates: cheap-gates before the push, hosted CI after
yeet publish gates the push on the collected cheap-gates tier and
the head-install preflight (a frozen-lockfile install of committed HEAD in a
temporary worktree); opening a ready PR also needs the head's passing
final-check receipt. Lane sets and waves are source-defined; see the detailed
reference below. Hosted CI is the authoritative proof. bun run beep yeet verify (full tier) dispatches the hosted lane bodies locally and is on-demand:
run it to reproduce a hosted red, never to unblock a publish.
Package-scoped turbo run check, docgen:local --reuse-proof-manifest, and the cheap tier
alone are inner-loop tools, not proof. yeet final-check is the content-final
gate: the affected replay of Lint Policy, Lint, Check, Docgen, Repo Sanity,
Fallow, Coverage, and rewritten test expectations.
Details: references/gates-and-proof.md.
Cache baseline after a script-word or root-config change
Run bun run beep cache audit; review configuration-drift BLOCKs against the
changed inputs before requesting a baseline update. Follow
the reviewed baseline recipe
for S31b subject limits, exact-text hashes and main-merge changes.
Mergeable PR Workflow
- Run
bun run beep yeet repairwhen local changes need deterministic fixers, docgen, or affected feedback. - Stage the reviewed files explicitly.
- Run
bun run beep yeet statuswhen you need a compact local readiness snapshot before publishing. - Commit, run
bun run beep yeet final-checkon the committed head, thenbun run beep yeet open. It pushes, opens the PR ready for review labelledready-for-heavy(docs-only diffs skip the label), requests the reviewer, submitsmonitor --until-ready --detach, prints the PR URL and job id, and exits. The review window starts at the open. Without a passing receipt for the head it refuses before the push and names the next command.bun run beep yeet publish --message "..."commits and runs cheap-gates first; use it for every fix push to the open PR, where a cheap-gates red blocks the push: read the gate line, runyeet repair, publish again. Pass--draftto either command only for work that needs a hosted run before it is final. - Push budget (D6): one push per fully addressed wave of inbox rows or review threads, never per file or per comment. Every push costs a hosted run.
- Block on the job publish submitted:
bun run beep yeet job wait <jobId>. The job survives session restarts and the ten-minute tool-call cap, but not a reboot: re-submit it after one. A required red or a base conflict does not end the monitor: it writes inbox rows and keeps polling across your fix pushes, so do not re-submit it after a red. A fixpublishon the same branch reads the job registry and reuses the running monitor (it prints the existing job id andjob waitcommand and records the submit step as skipped); it submits a new job only when nosubmittedorrunningmonitor follows the PR.job waitreturns 0 for green (the loop endedready), 2 for a wave (new P0 rows or P1 thread and comment rows on this PR, or a required red that came back red on a rerun: read the gate line, act on the rows, publish any fix, then re-runbun run beep yeet job wait <jobId>on the same job), 1 for red (settle-timeout,closed, or a spent poll-error budget), and 3 for a terminated job. When the user manager is unreachable, runbun run beep yeet monitor --until-readyattached instead: it has no job, so it ends itself with exit 2 on a wave (rows already in the inbox when it started end it only when a rerun of their check comes back red); re-run it after the fix push. Exit 0 withmerge-ready: yesmeans the review window has elapsed too: re-read the review threads, then merge it yourself (bun run beep yeet merge), or leave it to the orchestrator session at the gate; the monitor never merges on its own. On exit 1 or 3, read the summary line, fix the named blocker, publish, and re-submit the monitor. The open applies theready-for-heavylabel when it creates a ready PR, so a code PR is admitted to the heavy matrix from the open. A--draftPR holds atheavy-not-admittedby design untilyeet readyflips it and applies the label;yeet readyalso repairs a ready PR whose label edit failed (seereferences/merge-loop.md). Act on unresolved review threads through the reply flow while the loop waits. The loop runs read-first closeout automatically after the required checks settle.monitor --summaryremains a one-shot compact read. - Run
bun run beep yeet closeout --summary --require-review-comments 0to inspect unresolved actionable review threads and review-bot findings. - While fixing PR comments,
bun run beep yeet verify --tier review-fixis optional local iteration; the fix wave still publishes through the default push-first path. - Address failed checks or actionable review comments with follow-up commits through the same Yeet publish path.
- An opt-in draft is flipped at content-final: as soon as no further push is
planned and
bun run beep yeet final-checkpassed on the pushed head, runbun run beep yeet ready, without waiting for hosted CI. A PR opened ready needs no flip. Reviewers start when the PR is ready and take 8–15 minutes, so the CI run is the review window (review-window ruling, 2026-10-06). The flip refuses on a missing or red final-check receipt, a required check that is already red, or an unanswered thread. A job that endsready-pending-flip(exit 0) means a draft is green on the cheap tier: flip it, then the heavy matrix and the full review window still run. Mergeable means all of: required checks green; no outstanding review thread — unresolved, or resolved by the author with a later human reviewer comment nobody answered, outdated threads included until they are explicitly resolved; GitHub reports the branch mergeable; and the review window has elapsed — 20 minutes since the later of the open (or, for a draft, the last ready-for-review event) and the last push to the head, so a fix push restarts it. Never flip and merge in one step, and re-read the threads right before merging.bun run beep yeet status --remoteprints amerge-ready:line that names the first failing criterion, withreview window open: N min leftwhen the window is the last one. - After the merge lands, run
bun run beep yeet sweep— or, from a lane worktree,bun run beep yeet sweep --retire— or letmonitor --until-mergedrun the sweep on merged detection — so the next branch does not start from a stale clone and the lane does not linger. If the merged change touched a systemd unit renderer, re-render the installed units from the swept clone withbun run beep research install-timers --refreshand/orbun run beep refs install-timer --refresh(seedocs/runbooks/systemd-timers.md). Do not hand any of this to the operator.
yeet closeout is read-first. It classifies review threads and bot findings and
writes Yeet artifacts locally. It posts a Greptile rerun comment only when
--retrigger-greptile is explicit, and it does not auto-resolve or auto-reply to
review threads. The default bot lineup is greptile-only (2026-07-05,
agent-pipeline-velocity): the closeout artifact includes durable states for
review threads, Greptile, and hosted-check handoff. CodeRabbit/ChatGPT gates
appear only with explicit opt-in via --bots greptile,coderabbit,chatgpt
(CodeRabbit auto-reviews are live on this repo — it posted two summary reviews
on PR #1184 on 2026-09-22 — but its closeout thread gate stays opt-in behind
--bots; ChatGPT has no app installed, so its gate reads "unknown" unless
comments exist). Deep review is on-demand:
/code-review ultra or an explicit @codex review mention.
Push-First Publish
yeet publish is push-first by default (push-first-publish, 2026-10-05):
- Gate before the push: cheap-gates + head-install preflight (the schema-catalog
scan holds weighted admission), plus the head's passing
final-checkreceipt when the push would open a ready PR.yeet openpushes the committed HEAD with the same PR tail and no cheap gate. Admission or gates waiting ten minutes: stop, record each gate that could not run withyeet final-check --skip <gate>=<reason>, and runyeet open. - After the push: ready PR (REST create;
--body-file <md>replaces the commit-log summary; the body's "Final check" section names the receipt's gates and skips),ready-for-heavylabel (skipped on docs-only diffs, on--draftand on PRs that already existed), provenance stamp, reviewer request, thenmonitor --until-ready --detachis submitted and publish exits with the PR URL and job id.--monitorstays attached. Nevergh pr createorgh pr edit --body*(footer lost): useyeet open,--body-file, oryeet gh pr body <n> --body-file <md>. --no-prpushes without a PR and warns:check.ymlruns only onpull_request, so no hosted checks run until a PR exists.--prove-first(full proof + CI parity before the push) is the only way to put the full proof on the publish path;--push-onlypushes an already-proven commit. Both share the default's open, label and monitor tail.bun run audit:github pre-pushremains the named full local fallback for secrets, security, SAST, Nix, and any lane that must be proven outside Yeet.
Ready
bun run beep yeet ready flips an opt-in draft at content-final once the head
has a passing yeet final-check receipt, no required check is red, and every
thread is answered, then applies ready-for-heavy; refusals name pr-open, no-required-red, threads-resolved or
final-check. A main-merge head that only refreshed inventories or packet files carries an
ancestor's receipt (final <F> #N receipt <R>); that rule, the reviewer request, the review window: references/merge-loop.md.
References
Load these on demand; SKILL.md keeps the path, the references keep the depth.
| Read | When |
|---|---|
references/detached-jobs.md |
submitting or waiting on a --detach job |
references/gates-and-proof.md |
a cheap gate is red, reproducing a hosted red locally, plan mode, a CI or security-gate change (CI token permissions) |
references/monitor-and-inbox.md |
monitor exits, --watch rows, resume, settle rule, inbox rows and waves |
references/review-threads.md |
thread states, review bodies, comment replay, yeet reply drafts |
references/merge-loop.md |
heavy admission label, job triage, branch-deletion contract, base-conflict rows, yeet siblings |
references/gh-rest.md |
any GitHub call: yeet gh instead of gh pr |
references/sweep-retire.md |
sweep --retire refusals and holders |
references/stacks.md |
a two-layer stack: --stack-on, stack-* holds, adopting a rewritten layer |
references/run-artifacts.md |
verdict, packets, proof ledger, changeset gate |
references/failure-handling.md |
any failed publish, proof, or hosted job, reading a red job's log mid-run |
04 同仓库更多 Skills
auth-environments
Sign Claude Code in to a chosen Claude subscription on every linked T3 fleet host (grok-bot, beep-worker, dankserver, tbk-worker, tom-pc-1-wsl). Use when a Claude account hits its weekly limit, when `bun run beep accounts` shows the fleet's account used up, or on `/auth-environments`. Opens each host's OAuth page and a masked KDE code dialog together and verifies the admitted account.
shadcn
Fixture for immutable shadcn skill provenance.
qa-inventory-judge
暂无简介
practice-onboarding
Set up a lawyer's computer for their practice through the practice gateway. Use when the lawyer asks to get set up, to connect their documents, mail, calendar or practice tools, or when the practice gateway reports that setup is incomplete. Interviews the lawyer one question at a time, saves a practice profile, then checks and repairs the computer until setup is complete.
triage-nda
Screen NDAs before inventor disclosures or client pitches at Oppold IP Law. Flag disclosure, residuals, marking, term, and hidden IP rights for attorney review.
review-contract
Review IP agreements for Oppold IP Law. Use for assignments, licenses, inventor agreements, joint development, or NDAs involving inventions. Prepare cited issues and proposed revisions for attorney review.