← 글

Claude Code의 mod란 무엇일까요? 어떻게 쓰나요? 네 가지를 추천합니다

· 12 분 읽기
Claude Code plugin 터미널 hook 오픈소스
Claude Code 2.1.287의 새로운 기능

Claude Code의 mod란 무엇일까요?

어떻게 쓰나요? 네 가지를 추천합니다

AI로 코드를 작성한 지 한 시간쯤 지나면, 한 시간 전에 했던 질문을 다시 찾고 싶어집니다. 위로 스크롤하며 지나치는 것은 대부분 대화가 아니라 AI의 자잘한 동작 기록입니다. 이 글에서는 Claude Code에 새로 나온 mod로 그 기록들을 어떻게 접었는지 이야기합니다.

원래 Claude Code 화면: 대화 사이에 끼어 있는 AI 동작 기록과 자동 검사 알림
같은 두 차례의 대화, 원래 화면

이 모든 작업은 AI 모델 Opus 5.5와 함께했습니다. 저는 방향을 정하고 스크린샷을 보고 최종 판단을 내렸습니다. Opus 5.5는 코드를 작성하고 테스트를 실행했으며, 이 글의 모든 시연 화면도 녹화했습니다. 시연에는 가짜 소규모 프로젝트를 썼습니다. 스크린샷은 실제 터미널 창이고, 컴퓨터의 폴더 경로만 제거했습니다.

Claude Code의 mod가 제가 겪던 두 가지 불편에 꼭 맞았습니다

2026년 10월 1일, Claude Code에 mod가 나왔습니다. 다른 사람이 만든 작은 플러그인으로 화면 표시 방식을 바꿀 수 있습니다.

Claude Code는 터미널에서 AI가 코드를 작성하도록 돕는 도구입니다. 터미널은 검은 바탕에 명령어를 입력하는 창입니다. 저는 매일 몇 시간씩 쓰는데, 해결되지 않은 불편이 두 가지 있었습니다.

1

AI의 동작 기록

AI가 파일을 하나 읽거나, 명령어를 하나 실행하거나, 코드를 조금 고칠 때마다 화면에 기록이 하나씩 늘어납니다. 한 시간이 지나면 화면 대부분이 이런 기록으로 채워지고, 실제 대화를 찾으려면 계속 위로 스크롤해야 합니다.

2

제가 설정한 자동 검사

Claude Code에서는 사용자가 hook을 걸 수 있습니다. 특정 시점에 자동으로 실행되는 작은 프로그램으로, 예를 들어 한 차례의 대화가 끝날 때 아직 버전으로 저장하지 않은 파일이 있다고 알려줍니다. 저는 여러 개를 걸어 두었는데, 각각 대화 중간에 알림을 한두 줄씩 출력합니다.

두 불편 모두 화면 배치의 문제였습니다. mod는 마침 화면을 바꿀 수 있고 AI가 읽는 내용에는 손대지 않습니다.

시도 1 · quiet-tools

문제없이 끝난 동작을 한 줄로 접기

quiet-tools는 AI가 성공적으로 끝낸 동작을 각각 회색 글씨 한 줄로 접습니다.

실패하거나 중단된 동작은 원래대로 전체를 남겨 두고, 오류 메시지도 원래 자리에 둡니다. 접을지 말지는 '문제가 생겼는가'로 판단하지, '기록이 긴가'로 판단하지 않습니다. 아주 긴 성공 기록은 접을 수 있지만 한 줄짜리 짧은 오류는 접지 않습니다.

접힌 한 줄에는 원래 기록 안에 숨어 있던 핵심 정보를 남깁니다.

  • 어떤 버전을 저장했는지 화면에 표시합니다 committed 5f78e2b → main
  • 명령어가 백그라운드로 넘어가 계속 실행됩니다
  • 검색했지만 결과가 없습니다

전체 내용을 보고 싶다면 ctrl+o 를 눌러 상세 보기를 엽니다. 그러면 이전에 접힌 줄이 모두 펼쳐집니다. 다시 누르면 접힙니다. 아래에서 직접 눌러 볼 수 있습니다.

평소: 성공한 동작은 각각 한 줄로 접힙니다
평소: 성공한 동작은 각각 한 줄로 접힙니다

차단된 동작은 별도로 표시합니다. 많은 사람이 '실행 전 검사'를 걸어 둡니다. 예를 들어 테스트를 실행하지 않았으면 버전으로 저장하지 못하게 합니다. 차단된 동작은 아예 실행되지 않았으므로 읽을 수 있는 것은 차단 이유뿐입니다. 그래서 quiet-tools는 빨간 글씨 한 줄로 접습니다.

버전 저장이 처음에는 차단되어 빨간 글씨 한 줄로 표시됩니다. AI가 안내에 따라 테스트를 마친 뒤 다시 저장하자 통과합니다
버전 저장이 처음에는 차단되어 빨간 글씨 한 줄로 표시됩니다. AI가 안내에 따라 테스트를 마친 뒤 다시 저장하자 통과합니다

접을지는 문제가 생겼는지로 판단하고, 접은 내용은 언제든 다시 볼 수 있어야 합니다.

시도 2 · hook-notices

흩어진 알림을 한곳에 모으기

hook-notices를 설치하면 자동 검사 알림이 더는 대화 사이에 끼어들지 않고 입력창 위 한 줄에 모입니다.

그 한 줄에는 읽지 않은 알림 수, 그중 경고 수, 가장 최근 알림의 내용만 적힙니다. 열면 옆에 전체 목록이 나타나고 알림을 하나씩 볼 수 있습니다. 대화 사이에는 더는 알림이 끼어들지 않습니다.

만들면서 한 가지에 막혔습니다. mod는 자동 검사가 출력한 글을 가로챌 수 없었습니다. 그래서 검사와 파일 하나를 주고받기로 했습니다. 검사가 파일에 알림을 쓰면 mod가 읽어서 보여줍니다. 공개한 소스 코드에는 작은 프로그램도 넣어서, 기존 검사를 몇 줄만 고치면 연결할 수 있게 했습니다.

오른쪽 목록: 모든 자동 검사 알림이 모여 있어 대화 사이에 끼어들지 않습니다
오른쪽 목록: 모든 자동 검사 알림이 모여 있어 대화 사이에 끼어들지 않습니다

가로챌 수 없다면 서로 주고받을 방법을 정하면 됩니다.

시도 3 · turn-nav

대화가 길어지면 목차가 필요합니다

한 시간 전에 했던 질문을 다시 찾고 싶을 때, turn-nav가 목차를 보여줍니다. 보냈던 질문이 모두 나열되어 있고, 클릭하면 해당 차례로 돌아갑니다.

대화 탐색 기능을 처음 본 곳은 Gemini Voyager입니다. Google Gemini 웹 버전에 타임라인을 더하는 오픈 소스 브라우저 확장 프로그램입니다. 메시지마다 점이 하나씩 있고 클릭하면 해당 메시지로 이동합니다. 저는 매일 Claude Code를 쓰기 때문에 같은 기능을 원했습니다. 마침 mod가 나와서 터미널로 옮겼습니다.

Gemini Voyager의 타임라인: 오른쪽의 점 하나가 메시지 하나를 나타냅니다
Gemini Voyager의 타임라인
타임라인 목록을 연 모습: 한 줄이 질문 하나를 나타냅니다(글자는 예시 막대로 바꿨습니다)
목록을 열었을 때의 질문들(글자는 예시 막대로 바꿨습니다)

제약도 있는 그대로 적겠습니다. 전체 화면 모드에서만 이동할 수 있고, 이전 대화를 이어서 열면 이어 열기 전의 질문은 목록에 나오지 않습니다

대화가 길어지면 필요한 것은 더 빠른 스크롤이 아니라 목차입니다.

추가: prompt-band, 두 줄을 한 줄로

prompt-band는 위의 두 작은 플러그인이 한 줄을 함께 쓰게 합니다. 알림과 목차는 원래 입력창 위에서 각각 한 줄을 차지했습니다. 화면이 넓으면 나란히 한 줄로 놓고, 좁으면 자동으로 다시 두 줄로 쌓습니다.

prompt-band는 배치만 담당하고, 클릭했을 때의 동작은 원래 플러그인이 처리합니다. 따라서 설치하지 않아도 다른 두 플러그인을 따로 쓸 수 있습니다.

네 가지 시도를 합쳐 보면

같은 두 차례의 대화에서 화면이 57줄에서 36줄로 줄어, 3분의 1 넘게 줄었습니다. 그중 AI 동작 기록과 알림은 20줄에서 3줄로 줄었습니다. 대신 입력창 위에 항상 한 줄이 더 생깁니다.

문제없는 것은 접고, 문제가 생긴 것은 제자리에 두고, 다시 찾을 것은 목차로 안내합니다.

다 만들고 나서 알게 된 세 가지 비교 대상

다 만들고 나서야 다른 사람이 만든 비슷한 기능을 봤습니다. 세 가지를 나란히 비교하니 오히려 제 방식이 어디서 다른지 분명해졌습니다.

공식 /focustool-linesquiet-tools
접는 단위대화 한 차례 전체동작 하나씩동작 하나씩
실패한 동작함께 숨김한 줄로 접음전체를 남김
차단된 동작함께 숨김한 줄로 접음이유를 붙인 빨간 글씨 한 줄
AI가 읽는 내용바뀜(AI에 사용자는 마지막 메시지만 볼 수 있다고 알림)바뀌지 않음바뀌지 않음

같은 주에 누군가 비슷한 것을 만들었습니다

Tickloop/claude-mods 의 tool-lines도 저와 같은 주에 나왔고, AI의 동작을 각각 한 줄로 표시합니다.

차이는 판단 기준입니다. tool-lines는 실패한 동작도 한 줄로 접지만, quiet-tools는 문제없이 끝난 동작만 접습니다. 저는 두 가지 아이디어를 참고했습니다. 접힌 한 줄에 핵심 정보를 붙이는 것과, 사용자 질문이 표시된 줄을 보고 '지금 상세 보기인가'를 판단하는 것입니다. 이 프로젝트에는 라이선스 조항이 없어서 아이디어만 참고하고 코드는 직접 작성했습니다.

누군가 독립적으로 같은 것을 만들었다는 사실은 방향이 맞는지 저렴하게 확인하는 방법입니다. 다른 사람의 코드를 참고하기 전에 라이선스부터 확인해야 합니다.

공식 /focus는 대화 한 차례 전체를 접습니다

Claude Code 자체에도 /focus(집중 모드)가 있습니다. 접는 단위는 대화 한 차례 전체입니다.

켜면 각 차례에 질문, 요약 한 줄, AI의 마지막 답변만 남습니다. AI에도 '사용자는 마지막 메시지만 볼 수 있다'고 알려주므로 AI의 답변 방식도 달라집니다. 대신 어디서 문제가 생겼는지 알기 어렵습니다. 실패한 동작, 차단된 동작, 검사 알림이 성공한 동작과 함께 숨겨집니다.

공식 /focus: 각 차례에 질문, 요약, 마지막 답변만 남습니다
공식 /focus: 각 차례에 질문, 요약, 마지막 답변만 남습니다

결론만 보고 싶다면 /focus 면 충분합니다. 보면서 문제도 찾고 싶다면 문제가 생겼는지를 기준으로 접어야 합니다.

목차는 여러 곳에서 필요해졌습니다

먼저 Gemini Voyager 같은 확장 프로그램이 웹의 AI 대화에 탐색 기능을 더했고, 나중에는 ChatGPT 웹 버전 자체에도 목차가 생겼습니다.

보도에 따르면 ChatGPT 웹 버전은 2026년 5월 말 긴 대화에 목차를 추가했습니다. turn-nav는 같은 필요를 터미널에서 해결한 버전입니다.

대화가 길어지면 언젠가는 목차를 추가하게 됩니다.

비교해 보면 차이는 모두 판단 기준에 있습니다. 접을지는 문제가 생겼는지로 결정하고, 알림을 모으는 방법은 서로 주고받을 방식을 정해 해결합니다.

설치와 사용 방법, 그리고 필요하지 않은 사람

네 개의 작은 플러그인은 operonlab/claude-code-mods에 오픈 소스로 공개했습니다. Claude Code에서 각각 한 줄로 설치할 수 있습니다.

/plugin install quiet-tools --marketplace operonlab/claude-code-mods /plugin install hook-notices --marketplace operonlab/claude-code-mods /plugin install turn-nav --marketplace operonlab/claude-code-mods /plugin install prompt-band --marketplace operonlab/claude-code-mods

hook-notices는 설정 파일 ~/.claude/settings.json 에 한 줄을 더해야 시작할 때 바로 실행되는 검사도 찾을 수 있습니다.

"env": { "HOOK_NOTICES_SINK": "1" }

위의 한 줄 설정만 마치면 설치 후 Claude Code를 열 때 바로 적용됩니다. 평소에 쓰는 것은 네 가지뿐입니다.

ctrl+o접힌 기록을 모두 펼칩니다. 다시 누르면 접힙니다
/turn-nav질문 목차를 엽니다
/hook-notices알림 목록을 엽니다
/quiet-tools접기 기능을 잠시 끄고 원래 모습을 봅니다

이 글의 수치는 같은 질문을 사용하고 매번 새 대화를 열어 각각 세 번씩 측정했습니다. 양쪽 측정값의 범위는 겹치지 않았습니다. 테스트는 2026년 10월 Claude Code 2.1.295에서 실행했고, 스크린샷을 찍을 때는 2.1.296으로 업데이트된 상태였습니다.

덧붙이면, 제가 쓰는 다른 mod인 image-view는 tmux(터미널을 여러 창으로 나누는 도구)에서 이미지를 표시하지 못했습니다. 고친 다음 원작자에게 수정 사항을 보냈습니다(PR #15). 덕분에 앞으로 수정 버전을 계속 직접 유지할 필요가 없습니다.

tmux의 이미지: 위는 원래 버전의 빈 공간, 아래는 수정 후의 모습
tmux의 이미지: 위는 원래 버전의 빈 공간, 아래는 수정 후의 모습

자동 검사가 적고 대화가 짧다면 원래 화면으로도 충분해서 더 설치할 필요가 없습니다. 결론만 보고 싶다면/focus 가 더 간편합니다. 대화가 길고 검사가 많을수록 접어서 절약하는 화면 공간이 커집니다.

이 부분을 가져가세요

내 AI Agent에게 복사하기

접을지는 문제가 생겼는지로 판단합니다. 기록의 길이로 판단하지 않습니다. 이 네 가지가 자신에게 맞는지 모르겠다면 아래 내용을 AI에 붙여 넣고 실제 환경에 비춰 판단하게 하세요.

# 내 AI Agent에게 복사하기 먼저 이 글을 읽어 주세요: https://blog.joneshong.com/zh/blog/claude-code-mods 이 글에서는 Claude Code mod 네 개(quiet-tools, hook-notices, turn-nav, prompt-band)를 만들었습니다. 핵심 기준은 문제가 생겼는지에 따라 기록을 접을지 결정하고, 검사에 차단된 동작과 실행에 실패한 동작을 따로 표시하고, 자동 검사 알림은 미리 정한 파일에 쓰게 하고, 긴 대화에는 질문 목차를 제공하는 것입니다. 제 환경에 이 mod들을 설치하는 게 적합한지 평가해 주세요. 1. ~/.claude/settings.json(그리고 프로젝트의 .claude/settings.json)을 읽고 각 hook이 어느 시점에 실행되는지, 대화에 텍스트를 출력하는지 나열해 주세요. 2. 이 글의 hook-notices 전달 방식과 비교해 어떤 hook을 파일에 쓰도록 바꿀 수 있는지, 각각 어느 줄을 고쳐야 하는지 표시해 주세요. 3. "tui": "fullscreen"이 켜져 있는지 확인하고, 아니라면 turn-nav의 어떤 기능을 사용할 수 없는지 설명해 주세요. 4. 실행 전에 명령어를 차단하는 hook이 있는지 확인하고, 있다면 quiet-tools의 빨간 글씨 한 줄이 제게 도움이 될지 설명해 주세요. hook이 적고 대화도 보통 짧다면 설치할 필요가 없다고 분명히 말해 주세요. 억지로 권하지 마세요.

더 읽을거리

자료중요한 이유
operonlab/claude-code-mods네 개의 작은 플러그인 소스 코드와 테스트입니다. 글에서 설명한 각 판단 기준에 해당하는 사례를 테스트에서 찾을 수 있습니다.
Gemini Voyagerturn-nav를 만들게 된 출발점입니다. Gemini 웹 버전의 긴 대화에 타임라인을 더하는 오픈 소스 확장 프로그램으로, 각 메시지를 클릭 가능한 지점으로 만드는 방식을 볼 수 있습니다.
Tickloop/claude-mods동작을 한 줄로 표시하는 또 다른 방식입니다. 판단 기준이 달라서 실패한 동작도 한 줄로 접습니다. 비교하면 어떤 선택이 자신에게 맞는지 생각해 볼 수 있습니다.
ChatGPT가 긴 대화에 목차를 추가했다는 보도채팅 인터페이스에서 긴 대화에 목차를 더한 공식 방식입니다. 터미널 버전과 비교해 볼 수 있습니다.
jarrodwatts/claude-image-view PR #15tmux 이미지 수정의 전체 원인과 방법입니다.

추천 글

✦ 프롬프트 복사