ccdwyer/diff-seismograph

세션 편집을 실시간 터미널 지진계로 표시하고 큰 변경에는 QUAKE 배너를 띄우며 /quake 저장소 히트맵을 제공하는 Claude Code 플러그인입니다.
ccdwyer/diff-seismograph

Diff Seismograph는 session.start, command.run, tool.call과 2개의 ui.render 컴포넌트에 연결되어 프롬프트 위에 두 채널 밴드를 표시하고 추가 및 삭제된 줄을 감쇠하는 지진 흔적으로 그립니다. 대략 100줄 이상의 편집은 QUAKE 배너를 띄우며, /quake 명령은 패널을 열어 전체 세션 흔적과 추적된 파일을 바이트 크기로 나눈 squarified treemap 히트맵을 보여 줍니다. Claude Code 자체 기록에서 편집을 세고, /quake를 열었을 때만 로컬에서 git을 실행하며, 카운트를 세션 플러그인 상태에 저장합니다. 네트워크로 아무것도 보내지 않습니다.
먼저 작성자의 README에서 marketplace와 플러그인 이름을 확인하세요. 저장소 구조에 따라 명령어가 달라질 수 있습니다.
claude plugin marketplace add ccdwyer/diff-seismograph claude plugin install diff-seismograph

Band trace for small edits, a QUAKE M4.3 banner on a 150-line Write, then /quake with the repo heat map. Watch the MP4
A live seismograph of your session's edits, drawn in the terminal.
+added −removed · files.◆ QUAKE M4.7 server.ts banner for a few seconds./quake opens a pane with the whole session's seismograph and a heat map of the repo: a squarified treemap of every tracked file, sized by bytes, where the files changed this session glow from purple through red and orange to white-hot. The hottest boxes are labeled with their +added −removed./quake band off hides the band; /quake band on brings it back.Edits, Writes, notebook edits and shell commands that change files (via Claude Code's own bashEditDiff record) all count. Failed or staged edits don't. When Claude Code couldn't measure a change (a rewrite too large to diff, or a shell diff it skipped or cut short), the file still lights up and is marked as having unmeasured changes. Line counts are never invented: a change too large to diff (a 10 MB+ rewrite, a file the shell diff left unexpanded, or a git checkout/pull/reset whose diff was skipped) counts as a quake at the threshold with +0 −0, partial. A shell diff Claude Code shares across parallel calls is counted once. Backgrounded shell commands carry no diff, so they don't appear.
The band and pane draw with Raster cells, so they need a terminal; on the desktop app you get a text sparkline and per-file totals instead.
Events this mod hooks, as claude plugin validate reads the module:
session.startcommand.run{command=quake}tool.callui.render{component=AbovePrompt}ui.render{component=Pane, requestId=diff-seismograph}Engine calls it makes: $.clock.every, $.command.register, $.fs.stat (via realPath), $.process.run (via scanRepo), $.session.cwd (via scanRepo), $.state.get, $.state.set, $.ui.blit (via tick), $.ui.open, $.ui.resolve.
Its tool.call hook only observes: it reads each finished call's record of changed lines and never refuses or rewrites a call.
It runs entirely on your machine and sends nothing over the network. It counts added and removed lines from Claude Code's own records of each edit, and runs git locally (git rev-parse and git ls-tree) only when you open /quake, to size the heat map. Counts live in the session's plugin state; no file contents are stored.
The mod collects no analytics or telemetry, and its author receives no data from it.
Full policy: PRIVACY.md.
MIT
/plugin marketplace add ccdwyer/claude-mods
/plugin install diff-seismograph@ccdwyer-mods
/reload-plugins
claude plugin validate .
claude plugin test .