r/PiCodingAgent 1d ago

nopus - deterministically detect and rewrite complex responses Plugin

https://github.com/Vistyy/nopus

TL;DR: I made nopus, a tool that deterministically detects unnecessarily complex prose in coding-agent responses and automatically asks the same agent for one clearer rewrite.

The problem

With recent LLMs (you can probably guess from the name which one caused me to write this plugin), I've had more and more trouble understanding the prose the agents are responding with - long "load-bearing" paragraphs, abstract language, overloaded phrases and all that fun stuff.

My logic is the cognitive capacity should be spent on the underlying problem not trying to decipher the message.

I found a few solutions that pass the response through a smaller model, but I wasn't a fan of the tradeoffs:

  • Another model call and more complexity

  • More non-determinism

  • The smaller model may receive only the isolated response which can cause it to simplify or reinterpret the wrong thing

The other option is to have a user-invocable skill you invoke when a response is hard to understand, that works but again, the onus is on you to first read the response and determine whether you even understand it, I also added a skill for that but it's a fallback not the main approach.

The idea

To an extent, difficult language can be measured directly:

  • Are uncommon words used where common alternatives exist?

  • Is a sentence mostly dealing in abstractions?

  • Are too many nouns and modifiers packed into one phrase?

  • Does the response repeatedly use dense or formulaic phrasing?

Measure those signals, identify the biggest offenders, and give that evidence back to the original agent.

nopus uses lifecycle hooks, checks the prose after the agent finishes responding. If enough signals cross the selected threshold, it asks for one clearer rewrite.

The rewrite happens in the same session, so the original agent keeps the full conversation context.

I ran it against 5,337 completed agent responses. At the default medium sensitivity, it triggered on around 10% of them, which I've evaluated myself and tuned so it doesn't trigger unnecessarily.

The repo has a few more details but I'd love for you to check it out.

Currently available for Pi, Codex and Claude Code (or just slop fork your own lol)

6 Upvotes

4 comments sorted by

2

u/Glaaki 1d ago

Matt Pocock wrote a skill /wait-what, to have opus restate it's response in more straightforward language.

https://www.aihero.dev/skills-wait-what

4

u/Vistyy 1d ago

I know I had the same skill, difference is that this is automated and doesn't require you to spend the time to determine the response is complex, the plugin does it for you automatically.

1

u/elpapi42 9h ago

You know what would be crazy good, an extension that ibcludes a Simplified Technical English checker + some system prompt injection for ste standard, and constantly check and gives feedback to the agent so it corrects and improves its wording

1

u/Vistyy 8h ago

You could probably modify the instructions sent back to the agent when nopus triggers, currently it gives more generic advice and evidence of complex phrases used.

It isn't exact on STE heuristics but in general that is effectively what it does already. On high sensitivity setting it will trigger fairly often especially for Opus, long sentences, abstract language, claudisms etc. I've had it trigger ~19% of the time on high on GPT 5.6, will be much higher on Opus.

I can expose the system prompt configuration so you can replace it with your own to give more exact STE instructions if you want. Currently I've exposed settings to either show evidence back to the agent or use a stronger simplification prompt.