All Claude Code modsnsodhi-cmu/claude-code-ripple
ripple
See what your changes reach: a map of everything that depends on your diff, drawn inside Claude Code
review UI rewrite
ripple reaches L2 (writes or runs) by its classified calls and passed claude plugin validate on Claude Code 2.1.312.
- Events hooked: 16
- API methods referenced: 34
- Access from classified calls: L2, writes or runs: runs processes, drives Claude, reads files, reads env vars, reads mod state, persists state, draws
- Calls in a namespace that is not in the Claude Code 2.1.302 core table: 4 (
$.graphlet.measure,$.graphlet.scroll,$.graphlet.show,$.graphlet.step), full access unknown - 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 ripple --marketplace nsodhi-cmu/claude-code-rippleFrom 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
L2 Writes or runsruns processes, drives Claude, reads files, reads env vars, reads mod state, persists state, draws, other: $.graphlet.measure, other: $.graphlet.scroll, other: $.graphlet.show, other: $.graphlet.stepValidation
Passed on Claude Code 2.1.312View the source on GitHub Back to the list
What the scan recorded
- Observed events
- mcp__ripple__report calls, mcp__ripple__map calls, every prompt, every tool call
- Hooks
session.start, agent.offer {agent=ripple:mapper}, command.run {command=ripple}, tool.check, tool.call {tool=mcp__ripple__report}, tool.call {tool=mcp__ripple__map}, store.get {key=ripple:wait}, prompt.submit, session.end, ui.render {component=ToolUse}, ui.render {component=ToolResult}, tool.call, turn.complete, ui.press {plugin=ripple, component=Pane, requestId=ripple}, ui.message, graphlet.select, graphlet.open, graphlet.key, ui.scroll {component=Pane, requestId=ripple}, ui.render {component=Pane, requestId=ripple}- API calls
$.agent.list, $.agent.register, $.agent.spawn, $.clock.now, $.clock.sleep, $.command.register, $.env.get, $.fs.read, $.fs.stat, $.graphlet.measure, $.graphlet.scroll, $.graphlet.show, $.graphlet.step, $.process.run, $.prompt.submit, $.session.repo, $.session.root, $.state.get, $.state.set, $.store.delete, $.store.get, $.store.set, $.tool.call, $.tool.check, $.tool.list, $.tool.register, $.ui.ask, $.ui.close, $.ui.invalidate, $.ui.log, $.ui.open, $.ui.resolve, $.ui.status, $.ui.toast- Surface modules
hooks/pane.tsx- Validation on 2.1.312
- Passed
- Scanned revision
ad0cd8a23e7f- Marketplace passed
- claude-code-ripple
- 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. ripple/hooks/changes.ts:68, ripple/hooks/changes.ts:149
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.
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/nsodhi-cmu--claude-code-ripple--ripple/)
[](https://mods.aidojo.si/mods/nsodhi-cmu--claude-code-ripple--ripple/)