By loganrooks
Per-PR review journal: parses verdict-block disposition replies, infers verdicts from historical thread prose, and records the result as auditable JSON. Ships with paired skills for the orchestrator and reviewer sides of a review thread.
Address findings from automated PR reviewers (CodeRabbit, Codex, GitHub Copilot review, in-house bots) and human reviewers with a documented reasoning trace and a parseable verdict for each thread. Use whenever the user mentions handling PR comments, responding to a reviewer, triaging review findings, addressing CR/Codex/Copilot feedback, resolving review threads, or "fixing" things in a PR after a review pass. Triggers on phrases like "address findings on PR
Review a pull request the way a careful engineer would — look for architectural risk, ADR conflicts, blast radius, and root causes rather than style nits that linters and CR already catch. Use whenever the user mentions reviewing a PR, asking for a second opinion, running `@claude review`, doing a pre-merge audit, or wanting an independent pass on a PR that's already been through CodeRabbit / Codex / Copilot review. Triggers on phrases like "review PR
A per-PR review journal that records every reviewer recommendation and the project's verdict on it, paired with two Claude Code skills that encode the reviewer-side and orchestrator-side discipline.
Designed to work with any GitHub-app reviewer — CodeRabbit, Codex (via
chatgpt-codex-connector), Claude PR review (via agentic-ops/review.yml),
GitHub Copilot review, Greptile, Qodo, or an in-house bot — by treating
reviewer behaviour as config, not code.
The tool is Python stdlib + shell, depends only on python3 and gh. Runs in
any repo where gh is authenticated; no install required.
| Path | Purpose |
|---|---|
tools/review-journal/review_journal.py | The journal tool (1 Python module, stdlib only) |
tools/review-journal/sync-pr.sh, extract-pr.sh | Shell wrappers around the tool |
tools/review-journal/install/ci-check.yml | Drop-in GitHub Actions workflow (warning mode) |
tools/review-journal/tests/ | 35 shell tests (captured fixtures + goldens; no network) |
skills/pr-review-triage/ | Claude Code skill — orchestrator side (how to dispose of findings) |
skills/pr-reviewer/ | Claude Code skill — reviewer side (how to issue findings cleanly) |
.claude-plugin/plugin.json | Claude Code plugin manifest |
/plugin marketplace add loganrooks/pr-review-journal
/plugin install pr-review-journal@loganrooks/pr-review-journal
This installs both skills into your Claude Code setup. The tool itself
(tools/review-journal/) is available at ${CLAUDE_PLUGIN_ROOT}/tools/review-journal/
inside skill instructions; for use outside Claude Code (CI, ad-hoc) you'll also
want a vendored copy in your repo — see below.
The tool is portable: copy the directory + a config file.
# 1. Vendor the tool (pin to a tag for reproducibility).
git clone --depth 1 --branch v0.1.0 https://github.com/loganrooks/pr-review-journal.git /tmp/prj
cp -r /tmp/prj/tools/review-journal otherrepo/tools/
# 2. Create a minimal .review-journal.json at the consumer repo's root.
cat > otherrepo/.review-journal.json <<'EOF'
{
"enforcement_mode": "warning",
"reviewers": ["coderabbitai", "chatgpt-codex-connector"],
"journal_dir": ".planning/review-journal"
}
EOF
# 3. (Optional) Install the CI workflow snippet.
cp /tmp/prj/tools/review-journal/install/ci-check.yml otherrepo/.github/workflows/review-journal.yml
A submodule, subtree, or one-liner installer would all also work; pick what fits your repo's vendoring conventions.
Every reply on a review thread starts with a fenced block:
```review-verdict
verdict: ACCEPTED_MODIFIED
commit: 14b240b
finding_category: source-resolution-correctness
reviewer: chatgpt-codex-connector
notes: PID-first match; bundle fallback kept for relaunch-between-pick-and-start.
```
Verdict vocabulary (eight values):
ACCEPTED, ACCEPTED_MODIFIED — finding accepted; commit requiredDEFERRED — accept but defer the action; notes requiredREJECTED_FALSE_POSITIVE, REJECTED_BAD_FIT, REJECTED_REGRESSION — notes requiredOBSOLETE — finding no longer applies; commit requiredDUPLICATE — same as another threadFull per-verdict semantics and config reference: see
tools/review-journal/README.md.
# Sync the current verdict state (parses existing blocks; does not infer).
bash tools/review-journal/sync-pr.sh 7 --repo owner/repo
# Backfill verdicts for threads that pre-date the discipline.
bash tools/review-journal/extract-pr.sh 7 --repo owner/repo
Output lands at <journal_dir>/pr-7.json + an index.json summary across
all PRs.
bash tools/review-journal/tests/run-tests.sh
35 tests covering block parsing, sync schema, inference, portability, config, profile flexibility, extensibility, provenance, and robustness. Tests use captured fixtures and golden expected outputs; no network.
Extracted from loganrooks/tap-n-filter,
where it started as a local fix for a workflow problem: rejecting a reviewer's
suggestion (because it conflicts with a local convention CR's training data
doesn't know about) leaves no durable record of why. The journal mechanises
the "Reasoning over acceptance" principle.
The standalone-repo extraction (this repo) also fixed several upstream bugs identified by Codex review on the first port consumer; see the changelog for v0.1.0.
MIT
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub loganrooks/pr-review-journal --plugin pr-review-journalComprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Feature development with code-architect/explorer/reviewer agents, CLAUDE.md audit and session learnings, and Agent Skills creation with eval benchmarking from Anthropic.
Persistent file-based planning for AI coding agents. Crash-proof markdown plans (task_plan.md, findings.md, progress.md) that survive context loss and /clear, with an opt-in completion gate and multi-agent shared state. Manus-style. Works with Claude Code, Codex CLI, Cursor, Kiro, OpenCode and 60+ agents via the SKILL.md standard. Includes Arabic, German, Spanish, and Chinese (Simplified and Traditional).
AI-powered development tools for code review, research, design, and workflow automation.
Permanent coding companion for Claude Code — survives any update. MCP-based terminal pet with ASCII art, stats, reactions, and personality.
Design fluency for frontend development. 1 skill with 23 commands (/impeccable polish, /impeccable audit, /impeccable critique, etc.) and curated anti-pattern detection.