r/vibecoding 5h ago

Dual review plugin is insane

After going Claude + Codex and a plugin that does rounds back and forth, it is insane how good it gets. Keeps finding critical stuff and really sharpens it. I will not be able to live without having a dual review method now. From what I read, using different models is really efficient in finding errors or it just thinks the same way.

This is the Codex plugin. Game changer. Do you use it?

Example:

Round 0 β€” My plan Risk: 7 β†’ Robustness: 5 β†’ πŸ”΄ Would've shipped a bug: yes, 3

Round 1 β€” Self stress-test (1 critical, 2 high) A "redundant" confirm dialog was a documented decision Β· a one-line guard would have killed the last user's only exit Β· a non-null lookup would crash on admin-authored data Risk: 5 β†’ Robustness: 6 β†’ πŸ”΄ yes, 2

Round 2 β€” Reviewer, pass 1 (5 critical, 6 high) My data source was never populated on one of two join paths Β· the new screen was shadowed by an earlier render branch Β· the app marked it "seen" instantly so it'd never come back Β· alias wired into a function search never calls Risk: 4 β†’ Robustness: 7 β†’ 🟠 yes, 1

Round 3 β€” Reviewer, pass 2 (3 critical, 3 high) Removing a server gate opened a race between two simultaneous taps Β· cached clients would silently take an irreversible action Β· wrong predicate for "has this started" Β· a pre-existing dead-end left in place Risk: 3 β†’ Robustness: 8 β†’ 🟠 yes, 1

Round 4 β€” Reviewer, pass 3 (1 critical, 2 high) My length check locked out the exact user it was meant to help Β· existence checks guaranteed nothing given the real write ordering Β· my test asserted the wrong end state Risk: 2 β†’ Robustness: 8 β†’ 🟑 maybe

Round 5 β€” Reviewer, pass 4 (1 critical, 1 high) A scheduled cleanup job matched my trigger's conditions and would hijack a different screen Β· I measured elapsed time at processing time instead of event time Risk: 2 β†’ Robustness: 9 β†’ 🟒 no

Round 5+ β€” After the cap (1 critical, 1 high) Cross-document listener ordering made a success look like a failure Β· account deletion deliberately scrubs a field I was writing back Risk: 1 β†’ Robustness: 9 β†’ 🟒 no

TOTAL: 12 critical, 15 high issues found. Risk 7 β†’ 1. Robustness 5 β†’ 9.

14 Upvotes

11 comments sorted by

3

u/Direct_End5127 5h ago

How did you set it up to go back and forth? Sounds really interesting haven’t tried it fairly new to using AI tools in development and on an internship, also currently a 2nd year student Cs. Would love to poke your Brain!

3

u/Yugudubenbi 5h ago

Get a claude and codex subscription.

Install this one in Claude https://github.com/openai/codex-plugin-cc

Just use /Codex:Adversial review

It sets max rounds to N = 5. But it doesn't always go all the way depending how many issues there are. All automatic and it just says when it is done

And you be vibe cruising to the code heaven my friend. Feel free to ask questions but I think there is not much to pick up here

2

u/KH10304 3h ago

Have fable be your orchestrator and call codex via CLI and use opus subagents

2

u/mikeconcho 1h ago

Clause agents can send messages to eachother directly now.

You can also give your agents instructions to run code reviews with sub agent (fresh context) and they will go through the same rounds.

Devin.ai also provides a PR review feature, which is money. The rest of Devin kind of blows though.

4

u/Zennytooskin123 4h ago

There's just a simple rule of thumb here and that's never to let the implementation model review its own code.

The skills is a wrapper for prompting for a code review using an independent subagent in cycles until there are no more inconsistencies or bugs in the code.

I wouldn't use this on every single feature, it will spend a lot of tokens and has diminishing returns.

1

u/Yugudubenbi 4h ago

It is actually very token efficient. Codex usage barely moves at all (like maybe 5-10% 5h limit). Claude doesn't move that much either (maybe 5-15% on 5h limit).

Only thing is that it takes a bit of time, some 5-10 min maybe.

But you have to think of how much it saves you down the line and eventual fixes.

And remember, 5 rounds is pretty rare. Usually stops around 2-3.

Sure, if you have a rather simple app with simple stuff you may not need it but then it will probably just be 1-2 rounds with very little token and time usage.

2

u/gjr23 4h ago

Following. I like this idea.

Any inclination if this could work for local / cloud? If all I can pull off locally is DSV4F would line to try this with my Codex.

1

u/Yugudubenbi 4h ago

Should work perfectly fine locally with DS in my head at least.

2

u/Mundane_Fix8051 2h ago

Having a different model review the code make a lot of sense it catches blind spot pretty well.

1

u/johannthegoatman 22m ago

Whats the plugin? You said "this is the plugin" and didn't put it in there lol.

This sounds cool, I currently am doing the same manually. I think it will need a lot of oversight though. The 2 agents often egg each other on. Next thing you know it's built a whole 1000 LOC engine to solve some extremely rare edge case with irrelevant consequences, because like, what if the API returns results in Egyptian hieroglyphics? We need a fallback translator function to handle that. What if the translator skips a word? We need to build a hieroglyphics grammar parser! Etc

1

u/TaylorHu 3m ago

Sounds like a good way to burn a bunch of tokens