Open registration invites a slow drip of junk accounts: names that are a wall of consonants, throwaway email addresses, zero activity ever. Deleting them by hand means eyeballing the user list page after page. This has the agent do the eyeballing and propose a list, and it deletes nothing until you sign off.
This site has collected spam signups. Help me clear them out, and deletenothing until I approve the list.
Read only first: pull the user list and hand me back the accounts that looklike spam, the ones with zero posts and gibberish names or throwaway emailaddresses. Put them in a table with the signal you spotted for each, and don'ttouch anything yet.
I'll confirm which are really spam. Then delete the approved ones a few at atime, reassigning any content they somehow own to [me], and skip anyone Ididn't clear. You can't remove me or the last administrator, so an honestaccount caught by mistake still can't take the site down with it. Give me backthe list of who you deleted at the end.Why this is safe to run
Reading the user list and deleting an account are two different abilities with two different switches, so the read pass genuinely cannot delete anyone: if delete-user is off, the agent hands you the candidate list and stops there. You approve the accounts one batch at a time, and each deletion reassigns any content the account owned to a user you name rather than destroying it. The plugin will not delete the account the agent is acting as, nor the last administrator, so a false positive on a real member is caught before it matters. Every removal is checked against your bound user’s capability and logged.
Already connected? Ask your agent for the “remove spam user accounts” recipe and it runs the same propose-then-confirm pass on your own signups.