Supersedes the old flat .config/ layout (last published 2026-06-28) with the private repo's structure: one shared base plus per-host overlays. - packages: common/ gui/ lw/ fl/ wm/ plus install.sh and bin/ tooling (dotsync, reconcile-hyde.sh) - new README covering the layout, deploy order and the HyDE dependency - current HyDE waybar rig (layouts/, cava), pi agent extensions, claude/ config, tmux, presenterm, aichat roles - fish: kp (keepassxc-cli + fzf picker, db path from $KP_DB) and bind_M_n_history (alt+1..9 recalls the nth history entry) - drops cruft that should never have been tracked: the duplicate top-level .pi/ copy, btop.log, zellij config.kdl.bak, fish_variables - .pi/agent/auth.json is gitignored; auth.json.example ships instead Host-specific work sessions and the personal backlog stay in the private tree. Endpoint locators in the llamacpp/whisper guides are placeholders ($SERVER, <own-domain>) — the guides themselves stay, since they are the useful part.
5.2 KiB
description, argument-hint, disable-model-invocation, allowed-tools
| description | argument-hint | disable-model-invocation | allowed-tools | |
|---|---|---|---|---|
| Review all changes on the current branch (diff vs its base) for bugs, security issues, optimizations, and readability/scannability, then apply the readability + safe improvements after you approve. Use right before opening a PR. |
|
true | Bash(git diff:*), Bash(git log:*), Bash(git status:*), Bash(git merge-base:*), Bash(git symbolic-ref:*), Bash(git rev-parse:*), Bash(git show-ref:*), Bash(git branch:*), Read, Grep, Glob |
Review this branch
Context auto-collected for the current branch vs. its base:
!b=$(git symbolic-ref --short -q refs/remotes/origin/HEAD 2>/dev/null | sed 's@^origin/@@'); [ -z "$b" ] && { git show-ref -q --verify refs/heads/main && b=main || b=master; }; m=$(git merge-base "$b" HEAD 2>/dev/null); echo "Current branch: $(git rev-parse --abbrev-ref HEAD 2>/dev/null)"; echo "Base branch: $b"; echo "Diff range: ${m:-?}..HEAD"; echo; echo "Commits:"; git --no-pager log --oneline "${m}..HEAD" 2>/dev/null; echo; echo "Files changed:"; git --no-pager diff --stat "${m}...HEAD" 2>/dev/null
What to do
-
Resolve the base branch. If a base branch was passed when invoking (it appears here: $ARGUMENTS — empty if none), use that. Otherwise use the base detected above. The changes to review are the diff
git merge-base <base> HEAD..HEAD. -
Gather context. Read the full diff for that range (
git diff <merge-base>...HEAD) and review only the lines this branch changed — not pre-existing code. Read surrounding code with the Read tool when you need it to judge a finding. Also read the repo'sCLAUDE.md(root, and any in the directories the branch touched) and treat its guidance as a review lens. -
Find issues across four lenses:
- 🐞 Correctness / bugs — logic errors, unhandled edge cases, swallowed/ignored errors,
race conditions, wrong/loose types, off-by-ones, and anything that violates the repo's
CLAUDE.md. - 🔒 Security — injection (SQL / command / path traversal), missing input validation or output encoding, authn/authz gaps, secrets or credentials committed / logged / echoed, unsafe deserialization, SSRF, weak crypto or randomness, unsafe defaults, and sensitive data leaked in logs or error messages.
- ⚡ Optimizations — redundant work, needless allocations/copies, N+1 patterns, a simpler or standard-library equivalent.
- 📖 Readability & scannability — naming, structure, dead code, stale/misleading comments, formatting, over-long functions, unclear control flow.
- 🐞 Correctness / bugs — logic errors, unhandled edge cases, swallowed/ignored errors,
race conditions, wrong/loose types, off-by-ones, and anything that violates the repo's
-
Verify the bugs and security findings before reporting. Double-check each 🐞 and 🔒 finding against the real code and keep only the ones you're confident are real and exploitable / will bite in practice. Do not flag:
- issues on lines the branch didn't change (pre-existing);
- theoretical vulnerabilities with no reachable exploit path in the changed code, or anything a SAST / dependency scanner would own;
- anything a linter / type-checker / compiler / CI catches (imports, type errors, formatting) — assume those run separately;
- pedantic nitpicks a senior engineer wouldn't raise, or "needs more tests/docs" unless the
repo's
CLAUDE.mdrequires it; - changes that are clearly intentional and part of the feature.
(This filter is for 🐞 bugs and 🔒 security. ⚡ optimizations and 📖 readability are the deliberate polish pass — minor suggestions there are welcome, since the goal is PR-readiness.)
-
Report, grouped by the four lenses, most-severe-first, each finding one or two lines with a
path:linereference so it's scannable. If a category is clean, say so in one line. No walls of text. -
Then stop and ask whether to apply the fixes. On approval, apply only the readability improvements and behavior-preserving optimizations. Anything that changes behavior, public API, or semantics: list it separately and let me decide — do not apply it silently. Treat 🔒 security fixes the same way: propose them, but never apply them silently. After editing, re-run the repo's formatter/linter if it has one.
-
Point me at the relevant built-in follow-ups. After reporting, list the Claude Code commands worth running next as separate, deeper passes — tailored to what this review surfaced, not a blanket dump. Only include the ones that actually fit:
/security-review— a deeper, whole-branch security pass; suggest whenever the 🔒 lens flagged something or the diff touches auth, crypto, input handling, secrets, or network I/O./code-review(add--fixto apply,--commentfor inline PR comments) — a second review of the working-tree diff at a chosen effort level./simplify— apply reuse / simplification / efficiency cleanups beyond the safe ones applied here./verify— run the app to confirm the change behaves, if this branch changed behavior./pr-description— draft the PR text from this branch once the review is clean./review— review the PR on GitHub after it's open.
-
Never run
git commitorgit push— I do that manually.