oMaN-Rod/claude-code-widgets/tree/main/plugins/quest-widget
quest-widget
세션을 던전 탐험으로 보여 줍니다. 턴마다 방, 도구 호출마다 몬스터, 검사 통과 시 전리품이 생기며 영웅은 세션 사이에 유지됩니다.
이 mod 소개
Claude Code Widgets
顯示在 Claude Code 提示列下方的小卡片,或在全螢幕時停駐在逐字稿旁邊。每個 widget 都是獨立的外掛,可用斜線指令切換。
它最初只有幾個實用 widget(context、usage、file tree),後來越做越多:現在共有 61 個,從 git 狀態和回合計時器,到像素螃蟹、地城探險與 Tetris,應有盡有。
설치
marketplace를 추가한 다음 레이아웃 플러그인과 원하는 widget을 설치하세요:
/plugin marketplace add oMaN-Rod/claude-code-widgets
/plugin install widgets@claude-code-widgets
/plugin install context-widget@claude-code-widgets
每個 widget 都需要 widgets,也就是負責放置卡片的版面配置外掛。
需要支援 mod(function hook)的 Claude Code 版本。mod API 目前是搶先體驗,版本更新時可能會變更。
Widgets
레이아웃
所有 widget 都需要。
| 플러그인 | 명령 | 표시 내용 |
| --- | --- | --- |
| widgets | /widgets [side\|above\|below\|close\|<columns>\|width <widget> <columns\|reset>] | 카드를 프롬프트 아래나 위에 놓거나 전체 화면에서 transcript 옆에 고정합니다 |
세션
Claude 正在做什麼,以及這些操作花費多少。
| 플러그인 | 명령 | 표시 내용 |
| --- | --- | --- |
| context-widget | /context-widget [auto\|detailed\|grid\|top\|bar\|line] | context window를 누적 막대로 표시하고 /context 범주마다 색을 다르게 합니다 |
| usage-widget | /usage-widget | rate-limit window마다 막대 하나, 재설정까지의 시간, 세션 비용 |
| 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, build 실행 결과: 통과/실패, 소요 시간, 얼마나 전인지 |
| timeline-widget | /timeline-widget [on\|off] | 턴을 차트로 표시합니다. 시간축의 도구 호출마다 막대가 있고 병렬 호출은 겹쳐 쌓입니다 |
| board-widget | /board-widget [on\|off\|clear] | Claude가 pin 도구로 직접 작성하는 상태 보드: 목표, 발견 사항, 열린 질문 |
| forecast-widget | /forecast-widget [on\|off\|clear] | 턴별 context 증가 차트와 압축 전 남은 턴 수 |
| guard-widget | /guard-widget [on\|off\|clear] | 이 세션의 권한 확인: 허용, 질문, 거부와 계속 질문받는 내용 |
| stream-widget | /stream-widget [on\|off] | Claude가 작성하는 동안 초당 token 게이지와 스파크라인을 실시간 표시합니다(텍스트 길이로 추정) |
| sessions-widget | /sessions-widget [on\|off] | 이 컴퓨터에서 열린 다른 Claude Code 세션: 폴더, 브랜치, 바쁨 또는 유휴 |
프로젝트와 git
工作樹的狀態。
| 플러그인 | 명령 | 표시 내용 |
| --- | --- | --- |
| file-tree-widget | /file-tree-widget | 프로젝트 디렉터리이며 클릭하면 폴더가 펼쳐집니다 |
| git-widget | /git-widget | 브랜치, ahead/behind, staged, changed, untracked 수와 마지막 commit |
| changes-widget | /changes-widget [on\|off\|clear] | 이 세션에서 편집한 파일을 최근 순으로 표시하고 각 파일의 편집 횟수를 보여 줍니다 |
| commits-widget | /commits-widget | 세션 시작 후 만든 commit |
| 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] | 설정한 마감까지 남은 시간을 진행률 표시줄과 도착 시 toast로 보여 줍니다 |
| clocks-widget | /clocks-widget [on\|off\|add <zone>\|remove <zone>\|clear] | 추가한 time zone 옆에 현지 시간을 표시합니다. 예: 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분 동안 비워지며 휴식을 권하는 컵입니다 |
장면
會對回合、工具呼叫、檢查與 context 用量做出反應的像素畫。
| 플러그인 | 명령 | 표시 내용 |
| --- | --- | --- |
| pet-widget | /pet-widget [on\|off\|<mood>] | 픽셀 게 CLAWD입니다. 턴 중에는 일하고 도구 호출이 실패하면 어지러워하며 테스트가 통과하면 기뻐합니다. XP를 얻어 세션 사이에서 레벨업하고 badges-widget이 배지를 주면 모자를 씁니다. 두 세션이 열려 있으면 마지막으로 프롬프트를 입력한 세션에 남습니다 |
| aquarium-widget | /aquarium-widget [on\|off\|demo] | 실행 중인 도구 호출과 agent마다 물고기 하나 |
| 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] | 턴마다 별 하나가 생겨 별자리로 이어지고 9개 뒤 이름이 붙습니다 |
| fireworks-widget | /fireworks-widget [on\|off\|demo] | 검사가 통과하면 불꽃놀이를 하고 실패하면 불발탄이 됩니다 |
| invaders-widget | /invaders-widget [on\|off\|demo\|clear] | 실패한 검사마다 침입자가 오고 통과한 검사가 침입자를 격추합니다 |
| weather-widget | /weather-widget [on\|off\|live\|<percent>] | context에 여유가 있으면 맑고 압축이 가까우면 폭풍입니다 |
| boss-widget | /boss-widget [on\|off] | context 사용량을 보스 체력 바로 보여 주며 압축이 보스를 쓰러뜨리고 다음 레벨을 시작합니다 |
| sky-widget | /sky-widget [on\|off] | 현지 시간의 하늘을 표시합니다. 낮에는 해, 밤에는 달이며 세션이 길수록 별이 많아집니다 |
| world-widget | /world-widget [on\|off\|clear] | 모든 것을 하나의 장면에 담습니다. 시계에 따른 하늘, context에 따른 날씨, 턴마다 탑 하나, 도구 호출 열차와 돌아다니는 게가 있습니다 |
| 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 donut이며 도구 호출이 실행되는 동안 더 빨리 돕니다 |
| pipes-widget | /pipes-widget [on\|off] | 파이프 screensaver이며 세션이 유휴일 때 자라고 Claude가 작업할 때 멈춥니다 |
| maze-widget | /maze-widget [on\|off\|new] | 프로젝트 폴더를 seed로 만든 미로를 1인칭으로 걷습니다 |
| marquee-widget | /marquee-widget [on\|off\|clear\|<text>] | 세션 이벤트를 흐르는 LED ticker이며 다른 텍스트를 입력하면 자신의 헤드라인을 게시합니다 |
게임
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] | 세션 사이에 얻은 업적이며 잠금 해제 시 toast가 뜹니다 |
| sigil-widget | /sigil-widget [on\|off\|clear] | 이 세션의 활동에서 만든 픽셀 문장과 이전 세션 문장 갤러리 |
| sound-widget | /sound-widget [on\|off\|mute\|test] | 도구 호출마다 음 하나, 검사 통과 시 화음, 실패 시 버즈를 내고 피아노 롤을 표시합니다(오디오는 macOS에서만 재생) |
每個工作階段都會儲存並還原放置位置、啟用的 widget 與檢視模式。
참고
/widgets width pet 60은 widget 카드 하나가 늘어날 수 있는 폭을 설정합니다(기본값은 40열)./widgets width pet reset으로 되돌립니다./widgets side는 전체 화면 레이아웃(/tui fullscreen)에서만 카드를 transcript 옆에 고정합니다. 기본 레이아웃에서는 프롬프트 아래로 돌아갑니다.- 픽셀 아트는 터미널 블록 문자로 그려지며 터미널에만 표시됩니다.
sound-widget은 macOS에서만 오디오를 재생하고 다른 곳에서는 조용히 피아노 롤만 그립니다.board-widget은 Claude가 호출할 수 있는pin도구를 등록하므로 보드가 켜져 있는 동안 설명이 context의 일부가 됩니다.watch-widget은sh -c로 명령을 실행하고 실패하면cmd /c로 돌아갑니다.- 게임을 넘겨받거나 Minesweeper를 플레이하려면 보드를 마우스로 클릭해야 하며 전체 화면 레이아웃이 그 클릭을 보고합니다.
개발
plugins/ 下的每個外掛都是一個 mod:包含 manifest、hooks 模組與測試。
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)分享卡片堆疊與像素渲染器;每個 widget 都會呼叫它。
라이선스
MIT
설치
먼저 작성자의 README에서 marketplace와 플러그인 이름을 확인하세요. 저장소 구조에 따라 명령어가 달라질 수 있습니다.
claude plugin marketplace add oMaN-Rod/claude-code-widgets claude plugin install quest-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 60sets how wide one widget's card may grow (the default is 40 columns);/widgets width pet resetputs it back./widgets sidedocks 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-widgetplays audio on macOS only; elsewhere it stays silent and just draws the piano roll.board-widgetregisters apintool that Claude can call, so its description is part of the context while the board is on.watch-widgetruns your command throughsh -c, falling back tocmd /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

