panel-review
Use this skill when reviewing code, PRs, files, or directories as an expert panel; supports interactive walkthroughs and opt-in draft GitHub reviews for…
Skill by skuridin
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/skuridin-panel-review
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Shell scripts
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/panel-review
What's inside
- Skill name
panel-review- Description
- Use this skill when reviewing code, PRs, files, or directories as an expert panel; supports interactive walkthroughs and opt-in draft GitHub reviews for multiple PRs.
- License
- Apache-2.0
- Instructions
- 118 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (3)
- SKILL.md
- generate-report.sh
- template.html
SKILL.md (first lines)
# Panel Review Skill
Review code through a set of expert lenses.
## Target resolution
| Input | Action |
|---|---|
| No args / `"pr"` | Review current branch's PR (`gh pr view`, `gh pr checkout`, `gh pr diff`) |
| PR number or URL | Checkout with `gh pr checkout`, review that PR |
| Multiple PRs + `"draft review"` | Batch draft review mode (see below) |
| Multiple PRs without `"draft review"` | Ask: interactive single-PR review, or rerun with `draft review`? |
| File path / component name | Read file + related files (tests, types, parents), review holistically |
| Directory / glob | Review all matching files |
**Git safety preflight:** Before any `gh pr checkout`, run `git status --porcelain`. If dirty, ask the user (continue / stash / abort). Never switch branches on a dirty tree without confirmation.
**PR reviews:** Read full source files for context, not just diffs. Identify changed/replaced/newly exported symbols and inspect related wrappers, adapters, helper types, contexts, and barrel exports.
**PR review workflow:** Read metadata + diff → identify changed symbols → search for usages (removed symbols, wrappers, stale helpers, barrel exports) → read full source files → review shared exports against arbitrary consumers → verify escaping in dynamically constructed strings → deduplicate + rank findings.
## Review lenses
Run these lenses for every review target. Only report findings when there's something meaningful to say.
1. **CI/CD** — workflow correctness, triggers, caching
2. **Security** — supply chain, injection, runtime hardening
3. **DevOps/SRE** — operational concerns, monitoring, reliability
4. **Frontend** — build correctness, framework-specific issues
5. **Simplicity (KISS)** — identify complexity removable without losing capability. Ask whether each abstraction buys real branching, reuse, or consistency, or is just static indirection
6. **Code Quality** — correctness bugs, edge cases, error handling
7. **Monorepo/Platform** — repo structure, consistency, cross-package concerns
8. **Semantic Markup & Accessibility** — rendered markup semantics, redundant wrappers, duplicated styling, keyboard/focus visibility, interaction affordances
9. **Usage & Reachability** — search for consumers of changed/removed/replaced symbols; flag dead wrappers, stale helpers, orphaned types, unused barrel exports
10. **Refactor Cleanup** — compare old vs new abstraction; identify now-unnecessary compatibility layers and support code
11. **Dynamic Construction Safety** — verify escaping/encoding/validation for interpolated values in selectors, regexes, URLs, paths, commands
12. **Shared Surface Hardening** — review exported/shared components against arbitrary consumer input, not just current local call sites
## Batch draft PR review mode
Only when: user supplies multiple PRs **and** the request contains `"draft review"`. All PRs must belong to the current repo.
Rules:
- **Sequential only** — review PRs one at a time via `gh pr checkout`
- **Clean tree required** — if `git status --porcelain` is non-empty, stop and ask user to clean/stash
- **Preserve user's PR order**
- **Leave worktree on last PR** — mention in summary
- **Continue on failure** — if one PR fails (checkout, permissions, API), proceed to next and report failure
- **Skip interactive walkthrough** — this mode is write-only
- **Deduplicate findings**, include all severities including Nitpick
For each PR with findings, create a **pending/draft** review via GitHub API:
```bash
gh api -X POST "repos/<owner>/<repo>/pulls/<number>/reviews" --input /tmp/panel-review-<number>.json
```
Payload shape:
```json
{
"commit_id": "<pr-head-sha>",
"body": "Non-inline findings and summary, if any.",
"comments": [
{ "path": "src/file.ts", "line": 42, "side": "RIGHT", "body": "Medium / Confirmed: Problem and smallest safe fix." }
]
}
```
- Omit `event` field to keep review pending. **Never** use `gh pr review --comment/--approve/--request-changes` — those publish.
- Map findings to inline comments on valid diff lines. If GitHub rejects a line, move finding to body.
- No findings → skip draft review, report locally as clean.
Output: concise per-PR summary — PR id/title, success/failure, finding counts by severity, inline comment count, whether pending draft was created.
## Severity & confidence
| Severity | Meaning |
|---|---|
| **Critical** | Imminent production outage, data loss, or exploitable security risk |
| **High** | Major functional breakage or high-impact reliability/security issue |
| **Medium** | Correctness/reliability issues affecting a subset of flows or edge cases |
| **Low** | Maintainability or minor correctness concerns with limited runtime impact |
| **Nitpick** | Stylistic/readability improvements, no behavioral effect |
| Confidence | Rules |
|---|---|
| **Confirmed** | Bug exists in current code path, or repo has a reachable caller that triggers it |
| **Theoretical** | Depends on uncommon input, future consumers, or assumptions not exercised by current usage |
For Theoretical issues: include explicit preconditions, why guards may be insufficient, and a validation step to confirm/falsify. If you can't describe plausible preconditions, don't include it.
## Output format
List issues most-important first. Deduplicate overlapping findings from multiple lenses into one canonical issue. Don't pad with harmless observations.
For each issue:
- **Severity** (Critical / High / Medium / Low / Nitpick)
- **Confidence** (Confirmed / Theoretical)
- **Which lens(es)** flagged it
- Brief description of the problem
- **Evidence** (exact code pattern, snippet, or line-level behavior)
- **Why it matters** (correctness, semantics, reliability, security, maintainability, accessibility)
- **Suggested fix** (smallest safe change)
## Interactive walkthrough
Skip in batch mode.
Present issues **one at a time**. Do not dump the full issue list before asking about the first issue; at most give a short count/summary by severity, then immediately show Issue 1 in full.
For each issue: explain the issue with context, state confidence + justification, propose a concrete fix, and draft a plain-text GitHub PR comment (no code blocks, no `>` quote syntax). State the target file and line number separately.
After describing the current issue and draft comment in plain text, wait for the user's text response before taking action or moving to the next issue.
Supports commands: **fix** (apply + stage, don't commit), **next**, **details**, **recheck**, **stop**.From skuridin/agent-stuff, Apache-2.0.
More from skuridin/agent-stuff
- 0.570score
address-review
skuridin
Handle review comments on my own pull request.
SkillAFreshness: AClaude Code +9 - 0.561score
publish-html-report
skuridin
Use this skill whenever you create or finish a standalone HTML report or presentation intended for the requester to view in a browser.
SkillAFreshness: AClaude Code +9 - 0.529score
pr-review-bot
skuridin
Unattended thermo-nuclear PR review loop.
SkillBFreshness: BClaude Code +9 - 0.526score
thermo-nuclear-pr-review
skuridin
Thermo-nuclear code quality review of a GitHub pull request.
SkillBFreshness: BClaude Code +9 - 0.474score
bearcli
skuridin
Use Bear CLI to read, search, create, and safely edit Bear notes from the terminal.
SkillCFreshness: CClaude Code +9 - 0.469score
frontend-instrumented-debugging
skuridin
Use this skill when debugging hard JavaScript frontend bugs where runtime behavior is unclear, especially async flows, state gates, retries, effects…
SkillCFreshness: CClaude Code +9 - 0.455score
apple-container
skuridin
Use this skill when the user wants to work with Apple's `container` CLI for macOS — building, running, or managing lightweight Linux containers using…
SkillCFreshness: CClaude Code +9 - 0.445score
grill-me
skuridin
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree.
SkillCFreshness: CClaude Code +9 - 0.409score
pr-create
skuridin
Create GitHub pull requests with conventional commit titles and clear, non-technical descriptions answering what changed and why.
SkillDFreshness: DClaude Code +9 - 0.409score
functional-spec
skuridin
Write durable Functional Specifications that describe desired behavior, constraints, and acceptance criteria without coupling the document to implementation…
SkillDFreshness: DClaude Code +9 - 0.409score
gondolin-exec
skuridin
Run commands in an isolated, disposable Linux VM using Gondolin CLI.
SkillDFreshness: DClaude Code +9 - 0.409score
vertical-slice-tracker
skuridin
Break implementation work into end-to-end vertical slices, create or update a markdown task tracker when the user asks for written planning, and keep each…
SkillDFreshness: DClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 19, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/skuridin/agent-stuff
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from skuridin
- 0.570score
address-review
skuridin
Handle review comments on my own pull request.
SkillAFreshness: AClaude Code +9 - 0.561score
publish-html-report
skuridin
Use this skill whenever you create or finish a standalone HTML report or presentation intended for the requester to view in a browser.
SkillAFreshness: AClaude Code +9 - 0.529score
pr-review-bot
skuridin
Unattended thermo-nuclear PR review loop.
SkillBFreshness: BClaude Code +9 - 0.526score
thermo-nuclear-pr-review
skuridin
Thermo-nuclear code quality review of a GitHub pull request.
SkillBFreshness: BClaude Code +9 - 0.474score
bearcli
skuridin
Use Bear CLI to read, search, create, and safely edit Bear notes from the terminal.
SkillCFreshness: CClaude Code +9 - 0.469score
frontend-instrumented-debugging
skuridin
Use this skill when debugging hard JavaScript frontend bugs where runtime behavior is unclear, especially async flows, state gates, retries, effects…
SkillCFreshness: CClaude Code +9
Cite this page
panel-review skill. Agent Mart. https://agentmart.dev/skills/skuridin-panel-review (last updated 2026-10-24)