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

reviewer2

각 답변 뒤 프롬프트 위 말풍선에 Reviewer 2의 한 줄 코멘트를 띄우고 모델이 고른 아바타를 함께 보여 주는 Claude Code skills-directory 플러그인입니다.

dalbom@dalbom

dalbom/rev2agent/tree/main/.claude/skills/reviewer2

번역 완료

이 mod 소개

reviewer2는 세션의 기본 작업 디렉터리 .claude/skills/reviewer2/에서 <name>@skills-dir로 로드되는 Claude Code 모드입니다. Rev2Agent 루트에서 세션을 열면 각 주 루프 답변 뒤 작은 모델을 호출해 Reviewer 2의 한 줄 코멘트를 만들고, 모델이 고른 아바타와 함께 프롬프트 위 말풍선에 표시합니다. 훅은 turn.start에서 말풍선을 지우고 turn.complete에서 백그라운드 모델 호출을 시작합니다. 서브에이전트 턴, 중단, 거부, 오류에는 코멘트를 붙이지 않습니다. 모델 호출은 $.model.complete를 사용하고 effort는 low, 출력은 300 token, 제한 시간은 30s, 동시 실행은 최대 2개입니다. 답변 첫 줄에는 대괄호 안에 아바타 이름([skeptical])이 들어갑니다. SKIP이면 아무것도 표시하지 않고, 알 수 없는 id는 매니페스트 기본값으로 대체합니다. 말풍선은 세션별로 $.store에 저장되며(최근 20개 세션 유지)대화에는 추가되지 않습니다. .claude-plugin/plugin.json의 userConfig에서 enabled와 model(sonnet 또는 haiku)에 대한 /config 행을 설정할 수 있고, 명령은 /reviewer2, /reviewer2 status, /reviewer2 on|off, /reviewer2 again입니다. 파일은 hooks/register.ts(이벤트 연결, 명령, 저장), hooks/bubble.ts(payload, 답변 파싱, 아바타 목록, SVG, 저장 인덱스), prompts/system.txt, avatars/(128px 원형 PNG와 manifest.json), tests/이며 Claude Code 2.1.287 이상이 필요합니다.

설치

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

claude plugin marketplace add dalbom/rev2agent
claude plugin install reviewer2
원문 / README

reviewer2

A Claude Code mod. In a session opened at a Rev2Agent checkout's root, after each main-loop answer it asks a small model for Reviewer 2's one-line aside and shows it in a speech bubble above the prompt, beside an avatar the model picks for the line. User-facing notes are in the repository README under "Reviewer 2 bubble".

How it is loaded

The folder is a skills-directory plugin: Claude Code loads .claude/skills/<name>/ of the session's primary working directory as <name>@skills-dir once the folder is trusted. So the mod runs only for sessions opened at the repository root, and nobody installs it. As a second guard, hooks/register.ts serves a session only when its project root has prompts/agent_workflow.md and prompts/conventions.md.

Mods need Claude Code 2.1.287 or later. Older builds skip the hooks module.

Behaviour

  • turn.start keeps the prompt and takes the bubble down. turn.complete starts the model call in the background and returns at once. Subagent turns, interruptions, refusals and errors get no aside.
  • The model call is $.model.complete on the session's own client: the model option (sonnet by default), effort low, 300 output tokens, 30 s timeout. At most two run at once.
  • The reply's first line names an avatar in brackets ([skeptical]); the rest is the aside. SKIP shows nothing. An unknown id falls back to the manifest's default.
  • While the model drafts, the band shows the thinking avatar with … (terminal: a dim line). Nothing shows while the assistant is working.
  • The bubble is saved per session in $.store, so a resume or a reload shows it again until the next prompt. The 20 most recent sessions are kept.
  • The aside is drawn only. It never enters the conversation.

Settings and commands

userConfig in .claude-plugin/plugin.json gives two /config rows:

| Option | Default | | | --- | --- | --- | | enabled | true | Draft an aside after each answer | | model | sonnet | sonnet or haiku |

/reviewer2 (or /reviewer2 status) shows the state and the last result. /reviewer2 on|off changes the enabled row through $.config.set, which reloads the module with the new value. /reviewer2 again drafts an aside for the last answer once more, even when off.

Files

| File | What it holds | | --- | --- | | hooks/register.ts | Event wiring: turns, the bubble, /reviewer2, storage | | hooks/bubble.ts | Pure logic: payload, reply parsing, avatar catalog, SVG, storage index | | prompts/system.txt | Reviewer 2's system prompt (the mod appends the reply format and avatar list) | | avatars/ | 128 px round PNGs and manifest.json, exported by assets/avatars/slice_avatars.py | | tests/ | claude plugin test suites |

Development

claude plugin validate .claude/skills/reviewer2
claude plugin test .claude/skills/reviewer2

An interactive session watches a skills-directory plugin and reloads the hooks module on save. To redraw or add avatars, generate 3x3 sheets into assets/avatars/sheets/ with the prompts in assets/avatars/PROMPTS.md (the sheets are not in git), update SHEETS in assets/avatars/slice_avatars.py, and run it; it rewrites avatars/ here.

비슷한 프로젝트