nickdemari/ember
ember
Claude Code 플러그인 "ember"는 스피너 줄에서 Claude가 하는 일을 설명하고 프롬프트 위에 누구 차례인지 표시하며 서브에이전트를 추적합니다. 완료나 대기 중인 질문에는 알림음을 내고 애니메이션 불꽃 패널을 추가합니다.
이 mod 소개
Ember는 function-hooks 플러그인 API(2.1.286, 얼리 액세스)를 기반으로 만든 Claude Code 모드입니다. 일반적인 스피너 문구를 현재 단계를 쉬운 말로 설명하는 내용으로 바꾸고 프롬프트 위에 Working, 2 agents working, Needs your OK, Your move 같은 상태를 보여 주는 상태 띠를 그립니다. 내 차례가 되면 마지막 요청을 다시 표시합니다. 서브에이전트 활동도 작업으로 세며, "your move"와 알림음은 모든 에이전트가 보고할 때까지 기다립니다. 20s 이상 걸린 작업이 끝나면 한 번 알리고, 질문이나 권한 프롬프트가 10s 동안 머물면 한 번 알립니다. 완료 5분 뒤 선택적으로 유휴 알림을 낼 수도 있습니다. 명령은 /ember(상태), /ember mute, /ember unmute, /ember pane(데스크톱 앱의 애니메이션 불꽃)입니다. 저장소를 클론하고 claude --plugin-dir ./ember를 실행하거나 셸 프로필에서 CLAUDE_CODE_PLUGIN_DIRS를 설정해 로드합니다. 라이선스는 MIT입니다.
설치
먼저 작성자의 README에서 marketplace와 플러그인 이름을 확인하세요. 저장소 구조에 따라 명령어가 달라질 수 있습니다.
claude plugin marketplace add nickdemari/ember claude plugin install ember
원문 / README
Ember
A Claude Code mod that follows what you and Claude are doing. Built for an ADD brain: nothing to set up and nothing to manage. It says what Claude is doing right now, whose move it is, and calls you back when it's yours.
What it does
Ember lives in the chat itself. In the terminal:
✳ Reading login.ts… (4s · ↓ 146 tokens)
● Working 3 steps
and once Claude is done:
◆ Your move 2m You asked: fix the flaky login test
- The spinner line says what Claude is doing, in plain words, where it would say "Pontificating".
- The band above the prompt says whose move it is:
● Working,● 2 agents working,▲ Needs your OK: Bash,◆ Your move. When it's your move it also shows what you last asked, for when you come back to it. Nothing on it moves or counts seconds. - Subagents count as work. While agents run, the band says so and the spinner line quotes their latest step. "Your move" and the chime wait until the last one has reported.
- Chimes. One when work of 20 seconds or more finishes, one when a question or permission prompt has sat for 10 seconds.
- Idle nudge. Five minutes after Claude finishes with no reply from you: one chime and one line in the transcript, once. The model never reads that line.
The desktop app gets the same band and transcript line; there the band also says the step, since the spinner row already does its own narrating.
Commands, all optional:
/embersays it's following and whether sound is on./ember muteand/ember unmuteswitch the chimes. The setting is kept between sessions./ember paneopens a pane. In the desktop app it shows an animated flame that sleeps until you prompt, wakes while Claude works, bounces when Claude is blocked on you, and grows through a long stretch of work.
Loading it
git clone https://github.com/nickdemari/ember.git
claude --plugin-dir ./ember
To load it in every terminal session, name the folder in your shell profile:
export CLAUDE_CODE_PLUGIN_DIRS="$HOME/path/to/ember"
In the desktop app's Code tab there is no flag to pass. Ask Claude to load its plugin-authoring skill and copy this folder into the session's mods folder, then pick Enable for this session when asked.
Ember is written against the function-hooks plugin API of Claude Code 2.1.286. That API is early access: it can change between releases, and whether hooks modules load at all depends on your version and account.
Checking a change
npx -p typescript tsc -p .
claude plugin validate .
claude plugin test .
tsc needs .claude-plugin/types/, which the engine writes the first time it loads the mod.
Layout
hooks/register.tsx: every hook, the band and the pane.hooks/creature.ts: the flame as one SMIL-animated SVG per mood, and the caption beside it.hooks/narrate.ts: tool calls in plain words.types/index.d.ts: the state contract.fx/: the chime.
License
MIT
