I think the main problem with this is the sheer number of people playing at any given time, and how that could spam staff chats. Imagine being staff, and you get a /report alert every 30 seconds (most of which would be false).
I think a /report (yourname) (name of person) (what they're doing) would be good if it worked like this:
Have them collect into a singular point. Then send out a mass alert to staff every 5 minutes. (REPORTS >> There are currently X unviewed reports. /reports check to view.)
Then have a GUI which pops up displaying all details on an item which coordinates with a server.
Green wool = survival
Blue wool = skyblock / op skyblock
Etc
When hovering over the item it would be titled '%reportingplayer%'s Report
Lore of item:
Reported player: %reportedplayer%
Reason: %reason%
Server: %originserver%
%reporttime%
Then it shows all details in an easy to read format without burdening staff.
It wouldn't be used as a full on player report plugin, that's what the forum is for. It is just a way to alert online staff of something that needs to be dealt with.
I'd say after 1 hour of no staff viewing, then it should be declared cold and deleted automatically. The offending user probably was reported to the forum.
People with too many false reports would have report.report set to deny in the perm plugin.