
Whiteboard Defense는 Claude Code, Codex, OpenCode용 스킬·플러그인이다. 작업이 상당히 진행된 뒤 시스템의 작동 방식과 결정의 근거, 실패 지점, 사용자가 설명할 수 있어야 할 질문을 정리한다. 각 결정은 사용자가 요청한 [USER], 맥락상 불가피했던 [INFERRED], 에이전트가 습관적으로 선택한 [DEFAULT], 확신이 부족한 [GUESS]로 표시한다.
프로젝트는 Mitchell Hashimoto의 화이트보드 방어 개념을 바탕으로 한다. 고객이 사용하는 시스템이라면 직접 코드를 쓰지 않았더라도 설계 결정을 설명하고 옹호할 수 있어야 한다는 취지다. 개념 증명과 데모는 예외로 둔다. 제작자는 에이전트가 눈에 띄지 않게 선택한 기본값을 보여줘 다음 작업에서 조정할 수 있도록 한다고 설명한다.
설치와 사용
macOS, Linux, Git Bash에서는 다음 명령으로 설치한다.
curl -fsSL https://raw.githubusercontent.com/avestura/whiteboard-defense/main/install.sh | sh
Windows PowerShell에서는 다음 명령을 사용한다.
irm https://raw.githubusercontent.com/avestura/whiteboard-defense/main/install.ps1 | iex
설치 명령은 PATH에서 지원되는 에이전트를 찾아 설치한다. 설치 대상을 직접 지정하려면 ... | sh -s -- claude codex opencode를 사용하고, 제거할 때는 --uninstall을 붙인다. 에이전트별 설치 방법과 프로젝트 설정은 저장소 안내에 나와 있다.
작업 뒤 자동으로 짧은 요약을 받거나 /whiteboard로 현재 작업의 전체 브리프를 만들 수 있다. 이미 존재하는 작업은 /whiteboard full <PR, branch, or path>로 지정한다. /whiteboard defaults는 기본값 항목만 보여주고, /whiteboard quiz는 실제 코드에 맞춰 한 번에 질문 하나씩 퀴즈를 진행한다. Claude Code에서는 플러그인 이름이 명령 앞에 붙어 /whiteboard-defense:whiteboard로 실행하며, Codex에서는 $whiteboard를 사용한다.
Claude Code 플러그인은 변경된 줄 수가 기본 임계값인 30줄을 넘으면 자동 브리프를 요청하고, 결정 태그와 기본값, 준비할 질문 등을 UI에 표시한다. 자동 실행은 설정에서 끌 수 있으며, tier: "poc"를 지정해 데모 프로젝트에서 자동 브리프를 건너뛸 수도 있다. Codex와 OpenCode는 스킬만 사용한다. OpenCode의 UI 기능은 아직 구현되지 않았다.
한계
[DEFAULT]는 모델의 편향이 입증됐다는 뜻이 아니다. 사용자가 지정하지 않았고 맥락상 강제되지도 않았으며, 에이전트의 반복되는 선택과 일치한다는 의미다. 결정의 이유는 대화와 코드 변경 내역을 바탕으로 재구성하므로 대체로 맞더라도 틀릴 수 있고, 불확실한 재구성은 [GUESS]로 표시한다. 기본값 목록은 커뮤니티가 확장할 수 있지만 아직 완전하지 않다.
이 도구는 중요한 코드를 직접 읽는 일을 대신하지 않고, 어디를 살펴볼지 알려준다. Claude Code의 UI 모드가 아닌 환경에서는 자동 브리프가 에이전트의 스킬 준수 여부에 달려 있어 실행되지 않을 수도 있다. 그럴 때는 /whiteboard를 직접 실행한다. 자세한 설명과 예시는 저장소와 샘플 브리프에서 확인할 수 있다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요