ClaudeMods
☰
KO
● 0 명 접속 중 · 조회 0 회
후원프로젝트 제출
GitHub 저장소 · 작성자 oMaN-Rod

commits-widget

세션이 시작된 뒤 만들어진 커밋입니다.

oMaN-Rod@oMaN-Rod

oMaN-Rod/claude-code-widgets/tree/main/plugins/commits-widget

번역 완료

이 mod 소개

Claude Code 위젯

Claude Code 프롬프트 아래에 놓이거나 전체 화면에서 트랜스크립트 옆에 도킹되는 작은 카드입니다. 각 위젯은 독립적인 mod이며 슬래시 명령으로 켜고 끕니다.

처음에는 컨텍스트, 사용량, 파일 트리처럼 유용한 몇 가지뿐이었지만 계속 늘어났습니다. 이제 git 상태와 턴 타이머부터 픽셀 게, 던전 크롤, Tetris까지 61개의 위젯이 있습니다.

설치

마켓플레이스를 추가한 다음 레이아웃 플러그인과 사용할 위젯을 설치합니다.

/plugin marketplace add oMaN-Rod/claude-code-widgets
/plugin install widgets@claude-code-widgets
/plugin install context-widget@claude-code-widgets

모든 위젯에는 카드를 배치하는 레이아웃 플러그인 widgets가 필요합니다.

mod(함수 hook)를 지원하는 Claude Code 버전이 필요합니다. mod API는 아직 얼리 액세스 단계라 릴리스에 따라 바뀔 수 있습니다.

위젯

레이아웃

모든 위젯에 필요합니다.

| 플러그인 | 명령 | 표시 내용 | | --- | --- | --- | | widgets | /widgets [side\|above\|below\|close\|<columns>\|width <widget> <columns\|reset>] | 카드를 프롬프트 아래나 위에 놓거나, 전체 화면에서 트랜스크립트 옆에 도킹합니다 |

세션

Claude가 무엇을 하고 있고 비용이 얼마나 드는지 보여 줍니다.

| 플러그인 | 명령 | 표시 내용 | | --- | --- | --- | | context-widget | /context-widget [auto\|detailed\|grid\|top\|bar\|line] | /context 카테고리마다 색을 달리한 누적 막대로 컨텍스트 창을 표시합니다 | | usage-widget | /usage-widget | 속도 제한 창마다 막대 하나, 재설정까지의 시간, 세션 비용을 표시합니다 | | timer-widget | /timer-widget [on\|off\|clear] | 실행 중인 턴의 경과 시간과 직전·평균·최장 턴, 스파크라인을 표시합니다 | | activity-widget | /activity-widget [on\|off\|clear] | 최근 도구 호출, 소요 시간, 실패 여부를 표시합니다 | | tasks-widget | /tasks-widget [on\|off\|clear] | Claude가 처리 중인 작업 목록과 진행률 표시줄을 보여 줍니다 | | checks-widget | /checks-widget [on\|off\|clear] | 최근 테스트, lint, 빌드 실행을 보여 줍니다. 성공 또는 실패, 소요 시간과 얼마나 전에 실행됐는지를 확인할 수 있습니다 | | timeline-widget | /timeline-widget [on\|off] | 턴을 차트로 보여 줍니다. 시간축에 도구 호출마다 막대 하나를 놓고 병렬 호출은 겹쳐 쌓습니다 | | board-widget | /board-widget [on\|off\|clear] | Claude가 pin 도구로 직접 작성하는 상태 보드입니다. 목표, 발견 사항, 열린 질문을 보여 줍니다 | | forecast-widget | /forecast-widget [on\|off\|clear] | 턴마다 컨텍스트가 늘어나는 양을 차트로 표시하고 압축 전 남은 턴을 보여 줍니다 | | guard-widget | /guard-widget [on\|off\|clear] | 이 세션의 권한 확인을 보여 줍니다. 허용, 질문, 거부와 계속 확인을 요구받는 항목을 표시합니다 | | stream-widget | /stream-widget [on\|off] | Claude가 작성하는 동안 텍스트 길이로 추정한 실시간 tokens-per-second 게이지와 스파크라인을 표시합니다 | | sessions-widget | /sessions-widget [on\|off] | 이 컴퓨터에서 열린 다른 Claude Code 세션의 폴더, 브랜치, 사용 중 또는 유휴 상태를 보여 줍니다 |

프로젝트와 git

작업 트리의 상태를 보여 줍니다.

| 플러그인 | 명령 | 표시 내용 | | --- | --- | --- | | file-tree-widget | /file-tree-widget | 프로젝트 디렉터리입니다. 폴더는 클릭해서 펼칠 수 있습니다 | | git-widget | /git-widget | 브랜치, 앞섬/뒤처짐, 스테이징됨·변경됨·추적되지 않음의 수와 마지막 커밋을 표시합니다 | | changes-widget | /changes-widget [on\|off\|clear] | 이 세션에서 편집한 파일을 최근 순서로 보여 주고 파일마다 편집 횟수를 표시합니다 | | commits-widget | /commits-widget | 세션이 시작된 뒤 만들어진 커밋을 보여 줍니다 | | todos-widget | /todos-widget | 추적되는 파일의 TODO, FIXME, HACK, XXX 주석을 세어 목록으로 표시합니다 | | diff-widget | /diff-widget [on\|off\|clear] | 가장 최근 편집을 구문 강조된 diff로 보여 줍니다 | | watch-widget | /watch-widget [on\|off\|run\|stop], /watch <command> | /watch bun test는 편집할 때마다 명령을 다시 실행합니다. 성공 또는 실패 표시와 마지막 실패 줄을 보여 줍니다 | | map-widget | /map-widget [on\|off\|clear] | 추적되는 파일의 픽셀 지도입니다. Claude가 읽은 곳은 파란색, 편집한 곳은 초록색으로 켜집니다 |

시간과 집중

세션에 의존하지 않는 시계, 타이머, 알림입니다.

| 플러그인 | 명령 | 표시 내용 | | --- | --- | --- | | pomodoro-widget | /pomodoro-widget [on\|off\|start\|break\|stop\|<minutes>] | 카운트다운 집중 타이머, 진행률 표시줄, 완료한 세션 수를 보여 줍니다 | | countdown-widget | /countdown-widget [on\|off\|clear], /countdown <HH:MM\|<n>m\|<n>h> [label] | 설정한 마감까지 남은 시간, 진행률 표시줄, 시간이 되면 나타나는 토스트를 보여 줍니다 | | clocks-widget | /clocks-widget [on\|off\|add <zone>\|remove <zone>\|clear] | 추가한 시간대 옆에 현지 시간을 표시합니다. 예: Asia/Tokyo | | notes-widget | /notes-widget [on\|off\|clear], /note <text\|done <n>> | 세션 사이에도 남는 고정 메모입니다. /note <text>로 추가하고 /note done <n>으로 삭제합니다 | | coffee-widget | /coffee-widget [on\|off\|refill\|<minutes>] | 90분 동안 비워지는 컵을 보여 주며 휴식을 권합니다 |

장면

턴, 도구 호출, 확인, 컨텍스트 사용량에 반응하는 픽셀 아트입니다.

| 플러그인 | 명령 | 표시 내용 | | --- | --- | --- | | pet-widget | /pet-widget [on\|off\|<mood>] | 픽셀 게 Clawd입니다. 턴 중에는 일하고, 도구 호출이 실패하면 어지러워하며, 테스트가 통과하면 기뻐합니다. XP를 얻어 세션을 넘어 레벨업하고, badges-widget이 배지를 주면 모자를 씁니다. 세션 두 개를 열어 두면 마지막으로 프롬프트를 보낸 세션에 남습니다 | | aquarium-widget | /aquarium-widget [on\|off\|demo] | 실행 중인 도구 호출과 에이전트마다 물고기 한 마리를 보여 줍니다 | | skyline-widget | /skyline-widget [on\|off\|demo\|clear] | 턴마다 건물 하나, 도구 호출마다 층 하나를 표시합니다 | | train-widget | /train-widget [on\|off] | 이 턴의 도구 호출마다 객차 하나를 연결하는 기관차를 보여 주며, 도구에 따라 색이 달라집니다 | | garden-widget | /garden-widget [on\|off\|reset] | 식물 하나를 표시합니다. 도구 호출마다 잎이 나고, 확인이 통과하면 꽃이 피며, 호출이 실패하면 시듭니다 | | campfire-widget | /campfire-widget [on\|off\|stoke] | 도구 호출이 많을수록 모닥불이 높이 타고, 유휴 상태가 되면 잉걸불까지 잦아듭니다 | | constellation-widget | /constellation-widget [on\|off\|clear] | 턴마다 별 하나를 찍어 별자리로 잇고, 아홉 개가 되면 이름을 붙입니다 | | fireworks-widget | /fireworks-widget [on\|off\|demo] | 확인이 통과하면 밤하늘에 불꽃을 터뜨리고 실패하면 불발탄을 표시합니다 | | invaders-widget | /invaders-widget [on\|off\|demo\|clear] | 실패한 확인마다 침입자 하나가 나타나고, 통과한 확인이 이를 격추합니다 | | weather-widget | /weather-widget [on\|off\|live\|<percent>] | 컨텍스트 여유가 있으면 맑은 하늘, 압축이 가까우면 폭풍을 표시합니다 | | boss-widget | /boss-widget [on\|off] | 컨텍스트 사용량을 보스 체력 바로 보여 주며, 압축하면 보스를 물리치고 다음 레벨을 시작합니다 | | sky-widget | /sky-widget [on\|off] | 현지 시각의 하늘을 보여 줍니다. 낮에는 해, 밤에는 달이 뜨고 세션이 길수록 별이 많아집니다 | | world-widget | /world-widget [on\|off\|clear] | 모든 것을 담은 장면 하나입니다. 시계에 따른 하늘, 컨텍스트에 따른 날씨, 턴마다의 탑, 도구 호출로 된 기차, 돌아다니는 게를 표시합니다 | | quest-widget | /quest-widget [on\|off\|reset] | 세션을 던전 크롤로 표현합니다. 턴마다 방 하나, 도구 호출마다 몬스터 하나, 확인 통과 시 전리품이 생기고 영웅은 세션 사이에도 유지됩니다 | | race-widget | /race-widget [on\|off\|clear] | 병렬 subagent를 트랙 위 자동차로 표시하고 도구 호출마다 한 걸음씩 나아가며, 끝나면 시상대에 올립니다 |

시각화 도구

도구 활동으로 움직이는 추상 그림입니다.

| 플러그인 | 명령 | 표시 내용 | | --- | --- | --- | | mosaic-widget | /mosaic-widget [on\|off\|clear] | 도구 호출마다 타일 하나를 놓고 도구에 따라 색을 바꿉니다. 실패는 빨간색입니다 | | sorting-widget | /sorting-widget [on\|off\|step] | 정렬 중인 막대 차트를 보여 주며 도구 호출마다 한 번 교환합니다 | | equalizer-widget | /equalizer-widget [on\|off] | 도구 호출마다 뛰었다가 다시 휴식 상태로 내려오는 레벨 미터입니다 | | rain-widget | /rain-widget [on\|off] | 턴이 바쁠수록 빨라지는 떨어지는 코드 비입니다 | | orbit-widget | /orbit-widget [on\|off] | 작은 태양계를 보여 주며 도구 호출이 실행되는 동안 행성이 빨라집니다 | | life-widget | /life-widget [on\|off\|reset] | Conway의 Game of Life입니다. 도구 호출마다 글라이더 하나를 떨어뜨립니다 | | donut-widget | /donut-widget [on\|off] | 회전하는 3D 도넛으로, 도구 호출 중에는 더 빠르게 회전합니다 | | pipes-widget | /pipes-widget [on\|off] | 파이프 화면 보호기입니다. Claude가 유휴 상태면 자라고 작업 중에는 멈춥니다 | | maze-widget | /maze-widget [on\|off\|new] | 프로젝트 폴더를 시드로 삼은 1인칭 미로를 걷습니다 | | marquee-widget | /marquee-widget [on\|off\|clear\|<text>] | 세션 이벤트를 흘려 보내는 LED 전광판입니다. 다른 텍스트를 입력하면 자신의 헤드라인을 게시합니다 |

게임

Snake, 2048, Tetris가 보드를 클릭해 키를 넘겨받을 때까지 자동으로 플레이됩니다.

| 플러그인 | 명령 | 표시 내용 | | --- | --- | --- | | snake-widget | /snake-widget [on\|off] | Snake입니다. 키를 넘겨받을 때까지 스스로 플레이합니다 | | 2048-widget | /2048-widget [on\|off] | 2048입니다. 키를 넘겨받을 때까지 스스로 플레이합니다 | | tetris-widget | /tetris-widget [on\|off] | Tetris입니다. 키를 넘겨받을 때까지 스스로 플레이합니다 | | minesweeper-widget | /minesweeper-widget [on\|off] | Minesweeper입니다. 클릭해 공개하고, 오른쪽 클릭이나 f로 표시하며, r로 다시 시작합니다 | | breakout-widget | /breakout-widget [on\|off\|reset] | 자동으로 플레이되는 벽돌 깨기입니다. 도구 호출마다 벽돌 한 줄이 추가됩니다 | | typer-widget | /typer-widget [on\|off] | 타이핑 게임입니다. 자신의 파일 이름이 떨어지고, 바닥에 닿기 전에 입력해야 합니다 |

재미로

| 플러그인 | 명령 | 표시 내용 | | --- | --- | --- | | fortune-widget | /fortune-widget [on\|off\|next] | 턴마다 바뀌는 한 줄 운세입니다 | | 8ball-widget | /8ball-widget [on\|off], /8ball <question> | /8ball <question>이 신뢰하기 어려운 답을 줍니다 | | badges-widget | /badges-widget [on\|off\|reset] | 세션을 넘어 얻는 업적이며 잠금 해제 시 토스트를 보여 줍니다 | | sigil-widget | /sigil-widget [on\|off\|clear] | 이 세션의 활동으로 만든 픽셀 문양과 이전 세션의 문양 갤러리를 표시합니다 | | sound-widget | /sound-widget [on\|off\|mute\|test] | 도구 호출마다 음 하나, 확인 통과 시 화음, 실패 시 버저를 내고 피아노 롤을 표시합니다(오디오는 macOS에서만 재생) |

켜진 위젯, 배치 위치, 보기 모드는 모든 세션에서 저장되고 복원됩니다.

참고

  • /widgets width pet 60은 한 위젯 카드가 늘어날 수 있는 최대 너비를 설정합니다(기본값은 40열). /widgets width pet reset으로 되돌립니다.
  • /widgets side는 전체 화면 레이아웃(/tui fullscreen)에서만 카드를 트랜스크립트 옆에 도킹합니다. 기본 레이아웃에서는 프롬프트 아래로 돌아갑니다.
  • 픽셀 아트는 터미널 블록 문자로 그려지며 터미널에만 표시됩니다.
  • sound-widget은 macOS에서만 오디오를 재생합니다. 그 외에는 소리 없이 피아노 롤만 그립니다.
  • board-widget은 Claude가 호출할 수 있는 pin 도구를 등록하므로 보드가 켜져 있는 동안 그 설명도 컨텍스트의 일부가 됩니다.
  • watch-widget은 sh -c를 통해 명령을 실행하고 필요하면 cmd /c로 대체합니다.
  • 게임을 넘겨받거나 Minesweeper를 플레이하려면 보드를 마우스로 클릭해야 하며, 전체 화면 레이아웃이 그 동작을 보고합니다.

개발

plugins/ 아래의 각 플러그인은 manifest, hooks 모듈, 테스트가 있는 mod입니다.

claude --plugin-dir plugins            # load every plugin from this checkout
claude plugin validate plugins/<name>  # check a manifest and hooks module
claude plugin test plugins/<name>      # run its tests

플러그인은 서로 import할 수 없습니다. 그래서 widgets는 카드 쌓기와 픽셀 렌더러를 $.widgets(plugins/widgets/hooks/kit.tsx)로 공유하고, 모든 위젯이 이를 호출합니다.

라이선스

MIT

설치

먼저 작성자의 README에서 marketplace와 플러그인 이름을 확인하세요. 저장소 구조에 따라 명령어가 달라질 수 있습니다.

claude plugin marketplace add oMaN-Rod/claude-code-widgets
claude plugin install commits-widget
원문 / README

Claude Code Widgets

Small cards that sit under the Claude Code prompt, or docked beside the transcript in fullscreen. Each widget is its own mod, toggled with a slash command.

It started with a few useful ones (context, usage, file tree) and then got carried away: there are now 61 widgets, from git status and a turn timer to a pixel crab, a dungeon crawl and Tetris.

Install

Add the marketplace, then install the layout plugin and whichever widgets you want:

/plugin marketplace add oMaN-Rod/claude-code-widgets
/plugin install widgets@claude-code-widgets
/plugin install context-widget@claude-code-widgets

Every widget needs widgets, the layout plugin that places the cards.

Requires a Claude Code version with mod (function hook) support. The mod API is early access and may change between releases.

Widgets

Layout

Required by every widget.

| Plugin | Command | What it shows | | --- | --- | --- | | widgets | /widgets [side\|above\|below\|close\|<columns>\|width <widget> <columns\|reset>] | Places the cards: below the prompt, above it, or docked beside the transcript in fullscreen |

Session

What Claude is doing and what it is costing.

| Plugin | Command | What it shows | | --- | --- | --- | | context-widget | /context-widget [auto\|detailed\|grid\|top\|bar\|line] | The context window as a stacked bar, one colour per /context category | | usage-widget | /usage-widget | A bar per rate-limit window, time to reset, session cost | | timer-widget | /timer-widget [on\|off\|clear] | The running turn's elapsed time, plus last, average and longest turn and a sparkline | | activity-widget | /activity-widget [on\|off\|clear] | The latest tool calls with their duration and whether they failed | | tasks-widget | /tasks-widget [on\|off\|clear] | The task list Claude is working through, with a progress bar | | checks-widget | /checks-widget [on\|off\|clear] | The latest test, lint and build runs: pass or fail, duration and how long ago | | timeline-widget | /timeline-widget [on\|off] | The turn as a chart: one bar per tool call on a time axis, parallel calls stacked | | board-widget | /board-widget [on\|off\|clear] | A status board Claude writes itself through a pin tool: goal, findings and open questions | | forecast-widget | /forecast-widget [on\|off\|clear] | Context growth per turn as a chart, with the turns left before compaction | | guard-widget | /guard-widget [on\|off\|clear] | Permission checks this session: allowed, asked and denied, with what you keep being asked about | | stream-widget | /stream-widget [on\|off] | A live tokens-per-second gauge and sparkline while Claude is writing (estimated from text length) | | sessions-widget | /sessions-widget [on\|off] | The other Claude Code sessions open on this machine: folder, branch, busy or idle |

Project and git

The state of the working tree.

| Plugin | Command | What it shows | | --- | --- | --- | | file-tree-widget | /file-tree-widget | The project directory; folders expand on click | | git-widget | /git-widget | Branch, ahead/behind, staged, changed and untracked counts, and the last commit | | changes-widget | /changes-widget [on\|off\|clear] | Files edited this session, most recent first, with an edit count each | | commits-widget | /commits-widget | The commits made since the session started | | todos-widget | /todos-widget | TODO, FIXME, HACK and XXX comments in tracked files, counted and listed | | diff-widget | /diff-widget [on\|off\|clear] | The last edit as a syntax-highlighted diff | | watch-widget | /watch-widget [on\|off\|run\|stop], /watch <command> | /watch bun test reruns the command after every edit: a pass or fail light and the last failing lines | | map-widget | /map-widget [on\|off\|clear] | A pixel map of the tracked files, lit blue where Claude has read and green where it has edited |

Time and focus

Clocks, timers and reminders that do not depend on the session.

| Plugin | Command | What it shows | | --- | --- | --- | | pomodoro-widget | /pomodoro-widget [on\|off\|start\|break\|stop\|<minutes>] | A focus timer with a countdown, a progress bar and a count of finished sessions | | countdown-widget | /countdown-widget [on\|off\|clear], /countdown <HH:MM\|<n>m\|<n>h> [label] | Time left to a deadline you set, with a progress bar and a toast when it arrives | | clocks-widget | /clocks-widget [on\|off\|add <zone>\|remove <zone>\|clear] | Your local time beside the time zones you add, such as Asia/Tokyo | | notes-widget | /notes-widget [on\|off\|clear], /note <text\|done <n>> | Pinned notes kept across sessions; /note <text> adds one, /note done <n> removes it | | coffee-widget | /coffee-widget [on\|off\|refill\|<minutes>] | A cup that empties over 90 minutes and nudges you to take a break |

Scenes

Pixel art that reacts to turns, tool calls, checks and context usage.

| Plugin | Command | What it shows | | --- | --- | --- | | pet-widget | /pet-widget [on\|off\|<mood>] | Clawd, a pixel crab: works during a turn, dizzy when a tool call fails, happy when tests pass. Earns XP and levels up across sessions, wears a hat once badges-widget has awarded a badge, and with two sessions open stays in the one you last prompted | | aquarium-widget | /aquarium-widget [on\|off\|demo] | A fish for every running tool call and agent | | skyline-widget | /skyline-widget [on\|off\|demo\|clear] | One building per turn, one floor per tool call | | train-widget | /train-widget [on\|off] | A locomotive pulling one wagon per tool call this turn, coloured by tool | | garden-widget | /garden-widget [on\|off\|reset] | A plant: a leaf per tool call, a flower when checks pass, wilting when a call fails | | campfire-widget | /campfire-widget [on\|off\|stoke] | A campfire that burns higher with tool calls and dies down to embers when idle | | constellation-widget | /constellation-widget [on\|off\|clear] | A star per turn, joined into a constellation that gets a name after nine | | fireworks-widget | /fireworks-widget [on\|off\|demo] | A night sky that sets off fireworks when checks pass, and a dud when they fail | | invaders-widget | /invaders-widget [on\|off\|demo\|clear] | An invader arrives for every failing check; passing checks shoot them down | | weather-widget | /weather-widget [on\|off\|live\|<percent>] | Clear sky when context has room, a storm near compaction | | boss-widget | /boss-widget [on\|off] | Context usage as a boss health bar; compaction defeats it and starts the next level | | sky-widget | /sky-widget [on\|off] | The sky at your local time: sun by day, moon by night, more stars the longer the session runs | | world-widget | /world-widget [on\|off\|clear] | One scene for everything: sky by the clock, weather by context, a tower per turn, a train of tool calls and a wandering crab | | quest-widget | /quest-widget [on\|off\|reset] | The session as a dungeon crawl: a room per turn, a monster per tool call, loot when checks pass; the hero is kept across sessions | | race-widget | /race-widget [on\|off\|clear] | Parallel subagents as cars on a track, one stride per tool call, with a podium as they finish |

Visualizers

Abstract pictures driven by tool activity.

| Plugin | Command | What it shows | | --- | --- | --- | | mosaic-widget | /mosaic-widget [on\|off\|clear] | One tile per tool call, coloured by tool; failures are red | | sorting-widget | /sorting-widget [on\|off\|step] | A bar chart being sorted, one swap per tool call | | equalizer-widget | /equalizer-widget [on\|off] | Level meters that jump with each tool call and fall back to rest | | rain-widget | /rain-widget [on\|off] | Falling code rain that speeds up the busier the turn gets | | orbit-widget | /orbit-widget [on\|off] | A small solar system; the planets speed up while tool calls run | | life-widget | /life-widget [on\|off\|reset] | Conway's Game of Life; every tool call drops a glider | | donut-widget | /donut-widget [on\|off] | The spinning 3D donut; it spins faster while tool calls run | | pipes-widget | /pipes-widget [on\|off] | The pipes screensaver; it grows while the session is idle and pauses while Claude works | | maze-widget | /maze-widget [on\|off\|new] | A first-person walk through a maze seeded by the project folder | | marquee-widget | /marquee-widget [on\|off\|clear\|<text>] | An LED ticker scrolling session events; any other text posts your own headline |

Games

Snake, 2048 and Tetris play themselves until you click the board and take the keys.

| Plugin | Command | What it shows | | --- | --- | --- | | snake-widget | /snake-widget [on\|off] | Snake; it plays itself until you take the keys | | 2048-widget | /2048-widget [on\|off] | 2048; it plays itself until you take the keys | | tetris-widget | /tetris-widget [on\|off] | Tetris; it plays itself until you take the keys | | minesweeper-widget | /minesweeper-widget [on\|off] | Minesweeper: click to reveal, right-click or f to flag, r to restart | | breakout-widget | /breakout-widget [on\|off\|reset] | A self-playing brick breaker; every tool call adds a row of bricks | | typer-widget | /typer-widget [on\|off] | A typing game: words from your own file names fall, and you type them before they land |

Just for fun

| Plugin | Command | What it shows | | --- | --- | --- | | fortune-widget | /fortune-widget [on\|off\|next] | A one-line fortune that changes with every turn | | 8ball-widget | /8ball-widget [on\|off], /8ball <question> | /8ball <question> gives an answer of doubtful reliability | | badges-widget | /badges-widget [on\|off\|reset] | Achievements earned across sessions, with a toast when one unlocks | | sigil-widget | /sigil-widget [on\|off\|clear] | A pixel emblem generated from this session's activity, beside a gallery of the ones from earlier sessions | | sound-widget | /sound-widget [on\|off\|mute\|test] | A note per tool call, a chord when checks pass, a buzz on failure, with a piano roll (audio plays on macOS only) |

Placement, which widgets are on, and view modes are saved and restored in every session.

Notes

  • /widgets width pet 60 sets how wide one widget's card may grow (the default is 40 columns); /widgets width pet reset puts it back.
  • /widgets side docks the cards beside the transcript only in the fullscreen layout (/tui fullscreen). In the default layout it falls back to below the prompt.
  • The pixel art is drawn with terminal block characters and shows in the terminal only.
  • sound-widget plays audio on macOS only; elsewhere it stays silent and just draws the piano roll.
  • board-widget registers a pin tool that Claude can call, so its description is part of the context while the board is on.
  • watch-widget runs your command through sh -c, falling back to cmd /c.
  • Taking over a game, and playing Minesweeper at all, needs a mouse click on the board, which the fullscreen layout reports.

Develop

Each plugin under plugins/ is a mod: a manifest, a hooks module and its tests.

claude --plugin-dir plugins            # load every plugin from this checkout
claude plugin validate plugins/<name>  # check a manifest and hooks module
claude plugin test plugins/<name>      # run its tests

Plugins cannot import from one another, so widgets shares card stacking and the pixel renderer as $.widgets (plugins/widgets/hooks/kit.tsx), which every widget calls.

License

MIT

비슷한 프로젝트