JasonWarrenUK/goblin-mode/tree/main/marketplace/goblin-chrome
goblin-chrome
goblin-mode에서 나온 Claude Code mod로, 프롬프트 위에 세션에 반응하는 고블린 띠, 질문 얼굴, 모델 등급 프레임, 하루 주기와 프로젝트 테마 색을 그립니다.
이 mod 소개
goblin-chrome은 goblin-mode 마켓플레이스의 순수 크롬 Claude Code mod입니다. 프롬프트 위에 고블린을 그려 세션이 진행되는 동안 서성이고, 앉고, 자고, 놀라고, 지켜보게 합니다. 턴마다 마무리 줄을 표시하고, 프롬프트 아래에 힌트 텍스트를 두며, Claude가 묻는 모든 질문 위에 얼굴을 띄우고 고블린 말투로 대화합니다. 프레임과 테마 색은 모델 등급(Fable, Opus, Sonnet, Haiku)으로 정하고, 로컬 시계의 하루를 9개의 페이드 상태로 나누며, 색은 .claude/themes의 프로젝트 테마에서 가져옵니다. enabled, audio, schedule, theme 옵션을 제공하고 claude plugin validate와 claude plugin test로 확인할 수 있습니다.
설치
먼저 작성자의 README에서 marketplace와 플러그인 이름을 확인하세요. 저장소 구조에 따라 명령어가 달라질 수 있습니다.
claude plugin marketplace add JasonWarrenUK/goblin-mode claude plugin install goblin-chrome
원문 / README
goblin-chrome
[!NOTE] A Claude Code mod from goblin-mode: goblin-mode's face inside the terminal. Pure chrome. It changes nothing Claude does.
1. Install
claude plugin marketplace add JasonWarrenUK/goblin-mode
claude plugin install goblin-chrome@goblin-mode
Needs Claude Code 2.1.287 or later. Draws in the terminal; the hooks run everywhere else and draw nothing.
2. What it draws
| Where | What |
|---|---|
| The band above the prompt | Three ranges split by dividers. The tier's rune at the left; the goblin in the middle, pacing while nothing happens, sitting after five minutes, sleeping after ten, startling when a prompt goes in, watching while Claude works and answering a poke; its dialogue at the right. |
| The line that closes a turn | dOnE. 42s. tOoK 7 tHiNgS. bIt mE oNcE. with the real numbers. |
| The hint under the prompt | The engine's line stays live; a tail in the goblin's register reacts to a fresh session, idling, an unsent draft and typing mid-turn. |
| Every question Claude asks | A face above the dialog, expression by context: expectant, nervous after a failed tool, folded arms for an interrogation, grinning late at night. |
| The goblin's dialogue | The band's right-hand range, for six seconds at a time: a poke, a yawn, a subagent returning, a compaction, a /clear and the commit-msg hook bouncing a message. |
The band and the question box take their frame from the model that served the last request, so a /model switch shows once a reply has come back from it: each model has its own frame and theme colour.
| Model | Rune | Frame | Colour |
|---|---|---|---|
| Fable | ᚠ | double line ╔═╗ | accent |
| Opus | ᛟ | heavy line ┏━┓ | accent-2 |
| Sonnet | ᛊ | round ╭─╮ | info |
| Haiku | ᚺ | dotted, plus corners +┈+, dimmed | ok |
A skill that pinned one model while another answered draws singleDouble in warn with both runes. The band is drawn by hand with tees where the dividers meet the rules; the question box uses the engine's own border, which has no dotted style, so Haiku's box there is plain ASCII. The pin is read from ~/.claude/skills/ first, then <project>/.claude/skills/; plugin skills carry no pin.
The day has nine states on the local clock, fading over ten minutes, shifted one row towards lively on a Friday from four, one towards tired on a Sunday and one towards tired once the session passes four hours. Colours come from the project's theme in .claude/themes/, the clod family when it has none.
3. Options
Set in /config or under pluginConfigs in settings.json.
| Option | Default | What it does |
|---|---|---|
| enabled | true | The one switch. Off, every hook passes through and nothing draws. |
| audio | false | Play fx/cackle.wav when the commit-msg hook bounces a message. |
| schedule | 04=bed,06=caught,08=grumpy,11=functional,14=slump,16=second,19=perking,22=prime,01=feral | HH=state or HH:MM=state pairs, 24h local. A malformed schedule falls back to the default whole. |
| theme | empty | A theme family in .claude/themes to dress in. Empty picks the only family there, else clod. |
4. Files
| File | Holds |
|---|---|
| hooks/register.tsx | The hooks module: every event handled and every drawing |
| hooks/idle.tsx | The idle goblin, a Client surface module with its own frame clock and pointer |
| hooks/goblin.ts | The question face as Raster cells, the poke lines, the heckles |
| hooks/day.ts | The schedule, the ladder, the offsets, the fade and each state's style |
| hooks/tier.ts | Model id to tier, the skill pin, the frame per tier |
| hooks/theme.ts | Palette resolution per library/references/theme-conventions.md |
| types/index.d.ts | The $.state contract: palette, day, frame, vitals, idle, readable by a plugin that lists this one under dependencies |
Check it with claude plugin validate marketplace/goblin-chrome and claude plugin test marketplace/goblin-chrome; type-check with tsc -p marketplace/goblin-chrome once a session has laid the engine's types beside the manifest.
