Community코딩 & 개발github.com

MrNhoiBong/WhiteBoard

Claude의 '스크래치 패드'를 로컬 화이트보드(Python 표준 라이브러리 서버, venv에서 실행)로 구축 및 제공합니다. 사용자가 그림을 그리거나 LaTeX를 작성하고 영역을 선택하여 질문하면, 터미널의 Claude가 해당 영역을 읽고 답변하거나 보드에 다시 그립니다. 사용자가 화이트보드(whiteboard, 스크래치 패드, 공용 드로잉 보드) 서버를 생성, 열기, 시작 또는 사용하여 Claude와 상호 작용하도록 요청할 때 사용됩니다.

WhiteBoard란 무엇인가요?

이 스킬은 Claude가 터미널에서 직접 로컬 화이트보드 서버와 상호 작용할 수 있게 해주는 AI 에이전트 도구입니다. 사용자는 웹 브라우저를 통해 그림, 다이어그램, LaTeX 수식을 그리고 영역을 선택하여 질문할 수 있습니다. Claude는 이에 응답하여 텍스트를 보드에 쓰거나, SVG를 그리거나, LaTeX를 렌더링할 수 있습니다. 이 스킬은 Python의 표준 라이브러리만을 사용하며(외부 패키지 불필요), venv 내에서 실행됩니다. 명령줄 인터페이스는 서버 시작/중지, 요청 대기(폴링), 그리고 보드에 항목(노트, LaTeX, SVG, 사각형, 화살표)을 추가/수정/삭제하는 명령을 제공합니다. 대기 모드는 사용자로부터 새로운 입력을 기다렸다가(타임아웃 가능) 캡처된 영역의 텍스트와 이미지 경로를 반환하는 방식으로 작동하여, Claude가 전체 보드를 다시 읽을 필요 없이 집중된 정보를 얻을 수 있습니다. 수학을 많이 사용하는 워크플로에 특히 유용하며, 모든 수학이 LaTeX로 렌더링되고 SVG 출력 시 토큰 효율성을 위해 스크립트 기반 생성을 권장합니다. 이 도구는 Claude Code, Cursor, Codex 및 기타 터미널 기반 AI 코딩 에이전트와 함께 사용하기에 적합하며, 시각적 및 수학적 문제 해결을 위한 공동 작업 공간을 제공합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add MrNhoiBong/WhiteBorad

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Claude 스크래치 패드 (화이트보드)

로컬 화이트보드를 공용 스크래치 패드로 사용합니다: 사용자가 아이디어를 그리고, Claude가 이를 분석하여 답변하고 보드에 다시 그립니다. 코드는 이 스킬 디렉토리 내에 있습니다. 아래에서 WB는 이 파일이 포함된 디렉토리의 경로를 의미합니다.

시작하기

export WB_DATA="$PWD/.whiteboard"   # 선택 사항: 현재 프로젝트 전용 보드 (기본값: WB/data)
WB/wb start [--port 8765]           # .venv 자동 생성 (python3 -m venv --without-pip), 외부 패키지 불필요
  • 사용자에게 URL (http://127.0.0.1:8765)을 제공한 다음, 백그라운드에서 WB/wb wait --timeout 3300을 실행합니다 (run_in_background).
  • WB_DATA를 설정한 경우, 이후 모든 wb 명령에 대해 동일한 값을 설정해야 합니다 (명령어에 직접 포함: WB_DATA=... WB/wb ...).
  • git 저장소 내에서 WB_DATA를 사용하는 경우 .whiteboard/를 .gitignore에 추가하세요.

서비스 루프

  1. wait가 종료 코드 0으로 종료되면 출력을 읽습니다. 출력에는 질문, 선택된 영역, 영역 내 항목들 (텍스트 내용 포함) 및 PNG 경로(있는 경우)가 포함됩니다.
  2. PNG 이미지는 출력에 명시된 경우에만 엽니다 (영역에 손글씨, 프레임, 화살표 또는 도형이 포함된 경우에만 있음). 전체 보드를 읽지 마십시오; 추가 컨텍스트가 필요하면 wb look X Y W H 또는 wb item ID를 사용하세요.
  3. 필요한 경우 로컬에서 작업합니다: 파일 읽기, 스크립트 실행, 계산 수행.
  4. wb reply --file F --done을 사용하여 답변하고, 유용한 경우 보드에 그림을 그립니다 (아래 참조).
  5. 백그라운드에서 wait를 다시 실행합니다. 종료 코드 2는 시간 초과를 의미하며 요청이 없음을 나타냅니다: wait를 다시 실행하기만 하면 되며, 사용자에게 알릴 필요가 없습니다.

사용자가 중지하려는 경우: WB/wb stop.

응답 규칙

  • 모든 수학 공식은 LaTeX로 작성해야 합니다 ($…$ 인라인, $$…$$ 디스플레이). 채팅과 보드 모두에 적용됩니다. 페이지는 MathJax를 사용하여 렌더링하며, 매크로 \Adv가 사전 정의되어 있습니다.
  • 여러 줄의 텍스트나 $가 포함된 경우 임시 디렉토리의 파일에 기록한 다음 --file을 통해 전달하여 셸 따옴표 오류를 방지하세요.
  • 내용은 Markdown-lite입니다: **굵게**, *기울임*, `코드`, 목록, |…| 표.
  • Claude가 만든 항목은 기본적으로 보라색이며 처리 중인 영역 옆에 배치됩니다. 다른 위치에 배치하려면 --at x,y를 사용하세요.

그리기 명령

명령어용도
wb note [TEXT|--file F] [--color C] [--at x,y] [--w W]카드 형태의 노트 (Markdown + LaTeX)
wb tex [TEXT|--file F] [--size N]프레임 없는 텍스트 또는 수식
wb svg --file F --title T [--w W --h H]다이어그램, 그래프, 그림 (SVG)
wb rect X Y W H, wb arrow X Y DX DY보드의 프레임, 화살표 원점
wb patch ID [--text|--file|--svgfile|--at|--color], wb rm ID…수정, 삭제
wb show [RID] [--pending], wb done [RID]요청 검토 또는 종료

노트 색상: yellow, pink, sky, mint, violet. 선 색상 (rect, arrow): ink, red, blue, green, amber, violet.

토큰 효율적인 SVG 그리기

  • SVG 이미지는 <img>를 통해 표시되므로 (안전하며 스크립트가 실행되지 않음) SVG 내부의 LaTeX는 렌더링되지 않습니다. 수식이 필요한 경우 SVG로 프레임과 화살표를 그린 다음 tex 항목을 그 위에 배치하세요.
  • 많은 점을 포함하는 그래프 또는 도형: 좌표를 수동으로 작성하지 말고 짧은 Python 스크립트를 사용하여 SVG를 생성하세요. 이 경우 비용은 점의 수에 관계없이 스크립트 길이에만 비례합니다.
  • <style>, <defs> 및 <marker>를 사용하고 좌표를 반올림하세요. 몇 개의 프레임과 화살표만 필요한 경우 rect/arrow를 사용하세요.
  • 읽기는 거의 무료입니다: wait는 각 SVG 이미지에 대해 한 줄 설명만 출력하며 소스 코드는 출력하지 않습니다.

아키텍처 및 API 세부 정보: WB/docs/.

관련 스킬