All Claude Code modsbobtat/claude-plugins
adversary
Adversarial review of a PR, plan or document by an isolated reviewer that never sees the author's context, with a triage pane deciding which findings reach the author
review UI rewrite
adversary reaches L3 (network) and passed claude plugin validate on Claude Code 2.1.304.
- Events hooked: 10
- API methods referenced: 26
- Access from classified calls: L3, network: MCP servers, runs processes, writes files, drives Claude, writes the prompt box, reads files, reads env vars, reads mod state, draws
- Reads mod state: the scan does not record whose state, so this does not show that it reads another mod’s values
- Static scan, not a runtime test
Install hint
/plugin install adversary --marketplace bobtat/claude-pluginsFrom the repository's own marketplace. Confirm the plugin name in the repository's README before installing. Mods need Claude Code 2.1.287 or later.
Access
L3 Uses the networkMCP servers, runs processes, writes files, drives Claude, writes the prompt box, reads files, reads env vars, reads mod state, drawsValidation
Passed on Claude Code 2.1.304View the source on GitHub Back to the list
What the scan recorded
- Observed events
- ExitPlanMode calls, every prompt, Read|Grep|Glob calls, every tool call
- Hooks
tool.call {tool=ExitPlanMode}, prompt.submit, ui.render {component=AbovePrompt}, session.start, agent.offer {agent=adversary:reviewer}, command.run {command=adversary}, tool.call {tool=Read|Grep|Glob}, tool.call, prompt.submit {origin has {kind=task-notification}, prompt.attachment {type=queued_command}, turn.complete, ui.render {component=Pane, requestId=adversary}, ui.close {id=adversary}, session.end- API calls
$.agent.list, $.agent.register, $.agent.spawn, $.clock.now, $.command.register, $.env.get, $.fs.exists, $.fs.list, $.fs.read, $.fs.stat, $.fs.write, $.mcp.call, $.mcp.connect, $.process.run, $.prompt.fill, $.session.id, $.session.root, $.state.get, $.state.set, $.tool.call, $.tool.list, $.ui.close, $.ui.log, $.ui.open, $.ui.resolve, $.ui.toast- Validation on 2.1.304
- Passed
- Scanned revision
1e9bcd801134- Marketplace passed
- bobtat-plugins
- UI rewrite review
- UI hook source contains control-character strings. Review any values passed to next() as rewritten props.text; the scanner does not trace whether these strings reach that call. plugins/adversary/hooks/artifact.ts:29, plugins/adversary/hooks/guard.ts:25, plugins/adversary/hooks/triage.tsx:69
These are the hooks and API calls reported by claude plugin validate. Access levels describe the widest reach of those calls and are not safety ratings. Validation is a static check, not a runtime test, and a passing result does not prove that a mod works or is safe. What a mod can access and how the scan works.
More from bobtat/claude-plugins
- cost-ledgerTracks what Claude Code costs: session, calendar-week and calendar-month totals with the month's pace and wee…
- subagent-treeA live /agents-tree pane showing the session's subagents as a tree: status, how long each has run, its tool c…
Badge for your README
Authors can show the latest scan result in their README. Each badge links to this page.
[](https://mods.aidojo.si/mods/bobtat--claude-plugins--adversary/)
[](https://mods.aidojo.si/mods/bobtat--claude-plugins--adversary/)