bama
BAMA: Build Any Mac App. Agent skills to research, clone, design, build, optimize, and test native macOS apps with Swift and SwiftUI.
翻譯準備中
Claude Code 技能套件,用於審查計畫、程式碼變更、提交與拉取請求。
AI 翻譯
A Claude Code skill pack for reviewing plans, code changes, commits, and pull requests
AI 摘要 · README
技能JavaScript · HTMLGitHub @lploc94自行安裝營運者未確認
試用過了嗎? 點一下就好,不需要登入。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
安裝型專案無需部署網域也可驗證。個人儲存庫可透過 GitHub 登入驗證,組織儲存庫可使用上方的儲存庫驗證檔案。
正在載入完整 README。 以下為已儲存的摘錄。
Single-command installer for the codex-review skill pack for Claude Code.
Five core skills (installed by default):
• /codex-plan-review — debate implementation plans before coding
• /codex-impl-review — review uncommitted or branch changes before commit/merge
• /codex-think-about — peer reasoning/debate on technical topics
• /codex-commit-review — review committed code quality before push
• /codex-pr-review — review PRs (branch diff, commit hygiene, description)檢視完整 README ↗Cross-model review skills for Claude Code, OpenAI Codex CLI, and Antigravity CLI: the agent you work with orchestrates, and a second model reviews its plans, code and reasoning under a compiled 3-layer Principal Reviewer system prompt. The reviewer is the Codex CLI by default; Claude Code (claude) and Antigravity (agy) can review too. The runner drives each reviewer CLI through its own adapter (scripts/lib/reviewers/).
Six skills (Claude Code & Antigravity: /name, Codex: $name):
loop-plan — write a phased, code-grounded implementation plan for large, multi-feature workloop-implement — execute an approved loop plan phase by phase with TDD, checkpoint reviews, and commitsreview-plan — debate implementation plans before codingreview-impl — review uncommitted changes, unpushed commits, or a branch before commit/push/mergereview-think — peer reasoning/debate on technical topicsreview-pr — review someone else's PR as a peer (correctness, description, merge readiness); your own PR goes through review-implThis project was called codex-review (lploc94/codex_skill, skills codex-plan-review, codex-impl-review, codex-think-about, codex-commit-review, codex-pr-review). Installing removes that pack's skills, runtime and MCP server registration. Finish any review that is still running before you update: sessions started under the old names cannot be resumed.
We gave the same 168 pull requests (144 with planted bugs, clean ones and decoys, plus 24 real bugs from open source) to Codex (gpt-6-astra), Claude Code (claude-opus-5-5) and Antigravity (gemini-4-argon), three runs each at effort high, all through review-impl, and graded every finding blind with a three-judge panel and an audit. The method was pre-registered. Full write-up: cross-review.tlelabs.com/benchmark; code, public tasks and report: lploc94/cross-review-bench.
Planted corpus (144 pull requests); brackets are 95% bootstrap intervals over tasks:
Detection against noise (the dotted curves are equal F1):
False alarms: the share of correct pull requests (clean or decoy) on which the reviewer asked for changes over something that was not a bug:
Recall by difficulty, from L1 (visible in the diff) to L4 (needs running the code):
Real defects nobody planted, confirmed by the audit (60 in all):
Real bugs from public repositories, fixed after every model's training cutoff (21 scored):
The second round: does the reviewer accept a correct fix, catch a wrong one, and hold against a false rebuttal?
Fix loops: share of bugs fixed when Claude Code or Codex fixes 40 buggy pull requests alone or with each reviewer:
Median time per review run:
Pick Codex or Claude Code when a missed bug costs more than a false alarm, Antigravity when noise is the problem, and Claude Code for a balance of both. See Choosing the reviewer.
codex (Codex CLI, an OpenAI account or API key): the default reviewerclaude (Claude Code)agy (Antigravity CLI).exe files or npm installs (.cmd), and the cross-review command works in PowerShell 7, cmd and Git Bashnpx @tlelabs/cross-review
From GitHub instead: npx github:lploc94/cross-review.
~/.claude/skills/, for Codex into ~/.agents/skills/, and for Antigravity (agy) as the cross-review plugin into ~/.gemini/config/plugins/cross-review/ (including 6 skills, 4 reviewer agents cross-reviewer-review-{impl,plan,pr,think}, and enabling the plugin in ~/.gemini/config/config.json)build-prompts.js, compiled 3-layer reviewer prompts, and dependencies from the lock file) into ~/.claude/skills/cross-review/cross-review MCP server with Claude Code (user scope), Codex, and Antigravity (~/.gemini/config/mcp_config.json)codex-review pack and this pack's copies in ~/.codex/skillscross-review command, a small script that runs the installed runner: ~/.local/bin/cross-review on macOS and Linux; on Windows cross-review.cmd, cross-review.ps1 and cross-review (for Git Bash) in npm's global folder (npm prefix -g, usually %APPDATA%\npm, which is on your PATH). A file of that name the installer did not write is left alone. When the folder is not on your PATH, the installer says soWindows PowerShell 5.1 blocks .ps1 files by default: type cross-review.cmd there, or allow local scripts with Set-ExecutionPolicy -Scope CurrentUser RemoteSigned. PowerShell 7 runs them as they are.
node ~/.claude/skills/cross-review/scripts/review-runner.js version # 15
claude mcp get cross-review
codex mcp get cross-review
npx @tlelabs/cross-review@latest
Re-running is safe: the MCP registration is replaced, not duplicated.
npx @tlelabs/cross-review --auto
Adds a block to ~/.claude/CLAUDE.md and ~/.gemini/GEMINI.md that has Claude Code and Antigravity use the review-plan skill after finishing any plan and the review-impl skill after finishing any implementation, without asking first. This applies to every plan and implementation, not only loop-plan and loop-implement. It skips trivial changes, reviews a loop skill already ran, and reviews you asked it to skip. The other skills are never run automatically. Idempotent — safe to re-run. Every install, with or without --auto, refreshes a block that is already there, including one written by the old codex-review pack.
loop-plan writes a loop-plan/v1 plan with review checkpoints into <repo>/.cross-review/plans/; it is approved by review-plan or by you.loop-implement executes the approved plan, ticks each acceptance criterion it meets (- [x]), and runs review-impl at the plan's checkpoints.review_begin, review_wait, review_reply, review_end. Without MCP, or in a mode that refuses the tools, they run the same verbs through the CLI: node ~/.claude/skills/cross-review/scripts/review-runner.js begin|wait|reply|end.<repo>/.cross-review/, which ignores itself in git. Plans stay out of git too unless you turn on Plans in git (below).The reviewer runs with full access so it can run tests and network commands (curl, npm view, git fetch) to check its findings; its prompts forbid changing project files.
Decision points: every regex, parser, guard, allow/deny list, default, fallback, timeout, retry or numeric bound a change adds needs a grounded source (real samples, a cited specification, or an exhaustive test) and a check of what it misses and what legitimate input it blocks. The reviewer blocks approval on an ungrounded one and lists each in a ### Decision Ledger table; a test that still passes with the fix disabled is a high finding.
Codex reviews unless you choose another reviewer:
reviewer (codex, claude or agy) to review_begin, and the session keeps it for every round;"reviewer" in ~/.cross-review/config.json or <workspace>/.cross-review/config.json, or pick it in the dashboard's Settings.Each reviewer keeps its own model and effort under reviewers.<name>, so switching reviewers never hands one CLI another's model:
{
"reviewer": "claude",
"reviewers": {
"codex": { "model": "<codex model>", "effort": "high" },
"claude": { "model": "opus", "effort": "max", "skills": { "review-pr": { "effort": "high" } } },
"agy": { "model": "<agy model family>", "effort": "low" }
}
}
codex debug models lists; effort as Codex names it.opus, sonnet, …) or a full model name; effort low, medium, high, xhigh or max.agy models lists one model per effort (<family>-low, <family>-high, …). Pick the family and an effort, and the runner passes both to agy (--model <family> --effort <level>); a model listed without levels takes no effort. A level the family lacks fails before the review starts.model, effort and skills at the top of a file are the older form of reviewers.codex and are still read that way; the dashboard saves them under reviewers.codex.
A reviewer never starts a review of its own: the runner marks the reviewer's environment (CROSS_REVIEW_REVIEWER), and a begin inside it fails with NESTED_REVIEW. This matters most when Claude Code reviews, since the cross-review skills are installed for it too.
Name a model or effort when you ask for a review (or in a plan's review checkpoint). The skill passes it to review_begin; the runner stores it and reuses it for every later round. Without one, the runner applies the dashboard settings (below) for the chosen reviewer, else the reviewer CLI's default model and effort high.
cross-review dashboard # the command the installer writes (~/.local/bin, or npm's folder on Windows)
npx @tlelabs/cross-review dashboard # without installing
| Plans: a plan's progress | Settings |
|---|---|
Starts a local web page and opens it in your browser. It lists the review sessions and plans in the folder you start it from and up to 3 levels below. Options: --root <dir> scans another folder, --port <n> picks the port (default: a random free one), --no-open only prints the link, --idle-exit <s> stops the server after that many seconds with no page open.
no reply or stopped) and comes back when the agent resumes it. A session's page shows the conversation round by round, the issue ledger, and what the reviewer is doing right now. The dashboard only reads sessions; it never starts, stops or answers one..cross-review/plans/ with its state (draft, in review, ready, phase N of M, done) and progress, live. A plan's page has two tabs: Progress (phases, their criteria, checkpoints, commits, the progress log) and Plan (the whole file with its contents). Another .md file in that folder shows as a plain document. Plans elsewhere in the repository are not shown.~/.cross-review/config.json) or for one workspace (<workspace>/.cross-review/config.json, ignored by git), with overrides per skill. Model and effort for picks which reviewer's values the form shows. First match wins: what you tell the agent in chat · workspace, this skill · workspace · global, this skill · global · the reviewer's default model and effort high. Model lists come from codex debug models and agy models (kept in ~/.cross-review/models.json and models-agy.json, so Settings opens at once while it asks again); Claude Code shows its aliases, and Other… takes a full model name.loop-plan finishes opens on its Plan tab the same way, so you can read it before you approve it.plans/ to .cross-review/.gitignore, so loop-implement commits the plan with each phase; sessions and settings stay out of git. A root .gitignore that ignores .cross-review/ itself overrides that exception: change it to .cross-review/* and add !.cross-review/plans/ (the dashboard and loop-plan warn when this happens). Turning it off later does not remove plans already committed: run on them.The server listens on 127.0.0.1 only. The link it prints carries a per-run token that every request needs, so other web pages cannot read your sessions or change settings.
MIT
git rm --cached~/.cross-review/avatars/.