FAQ
open-pr is a Claude Code plugin with 1 hand-picked skill for development work, indexed on Flowy. Install it with the command on its page. It includes e2e-loop. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
> /plugin marketplace add TOMOSIA-VIETNAM/open-pr> /plugin install open-pr@open-pr
Repo: TOMOSIA-VIETNAM/open-pr
When a PR lands, the first question in your head usually isn't "is this code correct", it's "did the dev read it back even once before sending it".
open-pr exists for exactly that: a Claude Code plugin that reviews PRs against the conventions
your
repo already has, remembers what you tell it, and goes through the same procedure every run โ same
tone, same severity scale, same trail left on the PR.
Works with GitHub (.../pull/<n>) and GitLab (.../-/merge_requests/<n>, self-hosted
included).
| What usually happens | open-pr |
|---|---|
| No way to tell whether the dev reviewed their own PR | The dev runs /open-pr:review on their own PR; a reviewer sees it right in the conversation |
| Advice at the level of generic rules, off the project's conventions | Reads the repo's README/CLAUDE.md/AGENTS.md/docs/wiki, and team rules beat every generic one |
| You say it once, next time it's the same again | You mention it in chat โ it asks to write it into that repo's memory โ next run applies it |
| Fixes arrive as commit spam, amends, force-pushes, no replies | Exactly 1 commit per run, no history rewriting, and a reply on every comment once pushed |
flowchart LR
A[New PR] --> B["/open-pr:review URL"]
B --> C{Repo set up?}
C -- not yet --> D["One short round of questions<br/>+ read the repo's conventions"]
D --> E[Review inside its own worktree]
C -- yes --> E
E --> F["Post 1 review<br/>๐ด ๐ ๐ต ๐ ยท clean โ LGTM ๐"]
F --> G["/open-pr:fix URL"] --> H["1 commit + a reply per finding"]
F --> I["You mention it in chat"] --> J["Written into the repo's memory"]
J -. next run .-> B
Full flow, re-review, and the check fix makes before it touches a file:
How it works.
One review, three parts that belong together: the overview, a comment on the exact line with the
corrected code, and the reply fix leaves on that same thread once the change is pushed.
Full size, and the same review in the language each repo picks: What a review looks like.
/plugin marketplace add TOMOSIA-VIETNAM/open-pr
/plugin install open-pr@open-pr
Update:
/plugin marketplace update open-pr
/plugin update open-pr@open-pr
/reload-plugins
/open-pr:upgrade
You also need Claude Code, plus gh for GitHub
PRs or glab for GitLab MRs, logged in โ the review is posted
through that account.
| Command | What it does |
|---|---|
/open-pr:review <URL> | Reviews the PR and posts exactly 1 review: overview + line-by-line comments. Never edits code, never closes, never merges. The first run in a repo also sets it up |
/open-pr:fix <URL> | Reads the findings that review left, fixes the code, wraps it in 1 commit, then replies per comment. ๐ต/๐ always ask you first |
/open-pr:upgrade | Brings a repo's local config up to the current schema. Summarises what changes and asks; nothing is written until you agree |
/open-pr:clean | Removes the worktrees review checked PR code out into โ each is a full checkout on disk. Lists them with their size and asks first; memory and settings are never touched |
Where to stand, what each command writes, every setting: Configuration.
Your team's rules outrank all six.
Every criterion in detail, and the priority order when they conflict: What it reviews.
Contributing? See CONTRIBUTING.md.
Enjoy reviewing ๐ฅฐ
.claude/
.claude-plugin/
marketplace.json
commands/
release-now.md
skills/
e2e-loop/
SKILL.md
.github/
ISSUE_TEMPLATE/
bug_report.yml
config.yml
feature_request.yml
PULL_REQUEST_TEMPLATE.md
workflows/
ci.yml
e2e.yml
.gitignore
backlogs/
delta-style-rewrite.md
fix-pr/
PLAN.md
SPEC.md
memory-system.md
multi-vendor-gitlab-support.md
plugin-scaffold.md
pr-command.md
settings-json-migration.md
templates.md
testing.md
update-plugin-mechanism.md
vendor-layer-extraction.md
CLAUDE.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
docs/
configuration.md
demo.md
how-it-works.md
images/
.gitkeep
review-demo-en.png
review-demo-ja.png
review-demo-vi.png
ja/
configuration.md
demo.md
how-it-works.md
review-criteria.md
review-criteria.md
vi/
configuration.md
demo.md
how-it-works.md
review-criteria.md
e2e/
bootstrap.sh
checklist.md
fixtures/
base/
.claude/
commands/
deploy.md
.github/
PULL_REQUEST_TEMPLATE.md
app/
models/
order.rb
prompts/
agent.py
README.md
pr/
.claude/
commands/
deploy.md
app/
models/
order.rb
prompts/
agent.py
README.md
targets.env
LICENSE
llm-upgrades/
index.md
v1.md
README.ja.md
README.md
README.vi.md
requirements-dev.txt
scripts/
check.sh
ci_token_comment.sh
dup_scan.py
install_hooks.sh
reinstall.sh
token_chart.py
token_report.py
vendor_lint.py
src/
.claude-plugin/
plugin.json
cases/
chat-requests.md
large-diff-guards.md
post-review.md
pr-template-checklist.md
re-review.md
submodule-review.md
commands/
clean.md
fix.md
review.md
upgrade.md
core/
finding-markers.md
guardrails.md
llm-upgrades-index.md
locate-repo.md
memory-commit.md
pr-target.md
reconfigure.md
repo-settings.md
review-criteria.md
stack-detection.md
reference/
settings-schema.md
vendor-interface.md
seeds/
ALWAYS_RULE.md
memory.md
setup/
bootstrap.md
doctor.md
fix-bootstrap.md
lesson.md
template.md
templates/
agent-instructions.md
lambda-common.md
laravel.md
makefile.md
nodejs.md
php.md
python.md
rails.md
react.md
shell.md
vue.md
wordpress.md
vendors/
github/
fetch.md
post.md
thread.md
worktree.md
gitlab/
fetch.md
post.md
thread.md
worktree.md
tests/
budgets.json
duplication_allowlist.json
test_prompt_graph.py
token-history.json
token-history.svgยฉ 2026 Flowy ยท Free and open source
Built for Claude Code ยท Not affiliated with Anthropic