Help us improve
Share bugs, ideas, or general feedback.
From review
Orchestrates live tmux dashboard for batch reviewing GitHub PRs and GitLab MRs. Fetches pending reviews, spawns isolated sessions per PR, and monitors progress in a sidebar.
npx claudepluginhub bendrucker/claude --plugin reviewHow this skill is triggered — by the user, by Claude, or both
Slash command
/review:dashboardThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Orchestrate live PR/MR reviews in tmux. You are the sidebar orchestrator: fetch pending reviews, spawn review sessions, and monitor their progress.
Batch-opens up to 10 recent GitHub PRs with pending review requests for you in pair-review, auto-triggering AI analysis via ?analyze=true.
Displays GitHub PR dashboard in terminal with status, CI/CD progress bars, bot comments, file changes, and merge options including squash/rebase.
Fetches and lists GitHub PRs awaiting your review or assignment using gh CLI, sorted by age with author/status/URL; offers checkout prompts.
Share bugs, ideas, or general feedback.
Orchestrate live PR/MR reviews in tmux. You are the sidebar orchestrator: fetch pending reviews, spawn review sessions, and monitor their progress.
gh search prs --review-requested=@me --state=open --json number,title,url,repository
Load gitlab:merge-request for GitLab-specific queries. Use glab api merge_requests -X GET -f scope=reviews_for_me -f state=opened to fetch MRs across all projects. The -X GET is required (without it, -f defaults to POST and returns 404).
Combine results from both platforms into a summary table. Ask the user which reviews to start.
For each selected review:
Ask the user where the repo is cloned locally. If it's not cloned, clone it first. The repo path is required for spawning.
bun ${CLAUDE_SKILL_DIR}/scripts/spawn.ts <pr-url> --repo-path <local-path>
spawn.ts handles --worktree for branch isolation, tmux layout computation, and state tracking. Panes cycle in groups of 3: one horizontal split (new column at 70% width for the first, equal width after), then two vertical splits stacking within the column.
Before spawning the first pane, resize the orchestrator to a sidebar:
tmux resize-pane -t $TMUX_PANE -x 30%
bun ${CLAUDE_SKILL_DIR}/scripts/state.ts list
Detect exited panes and mark them completed:
bun ${CLAUDE_SKILL_DIR}/scripts/state.ts sync
tmux capture-pane -t <pane_id> -p -S -50
Each session's logs are at ~/.claude/projects/<encoded-path>/<session-id>.jsonl. The encoded path replaces non-alphanumeric characters with - and prefixes with -. Since review sessions use --worktree, the CWD is the worktree path (not the repo root). Discover the JSONL path by globbing:
ls ~/.claude/projects/*/<session-id>.jsonl
Query with jq for latest activity, tool calls, or errors.
Periodically run state.ts sync to detect completed reviews. When all reviews are done, present a summary of what was reviewed and any remaining items in the queue.