Claude Code 플러그인, 통째로 깔지 않고 알맹이만 빼왔다

지난 편 → 6편 — 챗GPT랑 클로드, 왜 서로 대화는 못 시킬까 Claude Code로 한동안 일하다 보면, 남이 만들어 둔 도구를 가져다 쓰고 싶어지는 순간이 옵니다. 마켓플레이스에 올라온 플러그인 중 하나가 눈에 들어왔습니다. 코드를 필요 이상으로 부풀리지 않게, "게으른 시니어 개발자"처럼 최소로만 짜도록 붙잡아 주는 도구였습니다. 마음에 들었습니다. 그런데 막상 설치하려니 손이 멈췄습니다. 제가 원한 건 그 안에 담긴 원칙 하나 였는데, 플러그인은 그것 말고도 이런저런 것들을 통째로 데려옵니다. 안 쓸 기능까지 제 환경에 얹히는 게 영 내키지 않았습니다. 그래서 깔지 않고, 열어서 필요한 알맹이만 빼내기로 했습니다. 그러려면 먼저 "플러그인"과 "스킬"이 뭐가 다른지부터 알아야 했습니다. 스킬과 플러그인은 뭐가 다른가 한 줄로 하면 이렇습니다. 스킬은 부품 하나, 플러그인은 부품을 담은 상자. 스킬(Skill) 은 최소 단위입니다. SKILL.md 라는 마크다운 파일 하나가 전부고, 필요하면 옆에 보조 파일(스크립트·데이터)을 둘 수 있습니다. 두는 곳도 단순합니다. 개인용: ~/.claude/skills/<이름>/SKILL.md 프로젝트용: .claude/skills/<이름>/SKILL.md 파일 맨 위 frontmatter에 "이 스킬을 언제 써야 하는지"를 적어두면, Claude가 상황을 보고 알아서 불러 씁니다. 아니면 /스킬이름 으로 직접 부를 수도 있습니다. 말하자면 "이 일은 이렇게 처리해라"라고 적어둔 지침 한 장 입니다. 플러그인(Plugin) 은 그 부품들을 담아 배포하는 상자입니다. .claude-plugin/plugin.json 이라는 매니페스트를 중심으로, 여러 종류의 구성요소를 한 번에 묶습니다. skills/ — 스킬들 agents/ — 커스텀 에이전트(서브에이전트...

음성으로 코딩하기 (11편) — 어느 창에 넣지? 목소리로 창 고르기

2편에서 "음성을 텍스트로 바꿔 창에 붙여넣는다"는 우회로를 만들었다고 했죠. 그런데 막상 쓰다 보니 새 문제가 생겼어요. 창이 여러 개 열려 있으면, 도대체 어디에 넣어야 하지?

지난 편 → 10편 — 최신 그래픽카드가 오히려 발목을 잡았다

엉뚱한 창에 들어가더라고요

VS Code, 브라우저, 다른 편집기… 화면엔 늘 창이 여러 개 떠 있잖아요. 그런데 음성으로 만든 텍스트가 내가 원한 창이 아니라 엉뚱한 데 붙어버리면 낭패예요. 특히 명령이 잘못된 창에 엔터까지 눌리면 사고가 나죠.

처음엔 화면을 "보고" 찾으려 했어요

처음 떠올린 건 이미지 매칭이었어요. 입력창 생김새를 스크린샷으로 저장해두고, 화면에서 그 모양을 찾아 클릭하는 방식이죠.

그런데 이게 영 불안정했어요. 입력창은 포커스가 있을 때와 없을 때 색이 미묘하게 달라져요. 그러니 "저장해둔 그림"과 안 맞아서 못 찾는 일이 잦았죠. 화면 상태에 따라 됐다 안 됐다 하니 믿을 수가 없었어요.

방식문제
이미지(생김새) 매칭포커스에 따라 입력창 색이 변해 못 찾음
창 제목 기반제목은 안 변하니 안정적

그래서 "창 제목"으로 찾기로 했어요

생김새 대신 창 제목으로 찾기로 했어요. 창마다 제목(예: "○○ - Visual Studio Code")이 있으니, 그걸로 원하는 창을 특정하고 → 마우스로 클릭해 포커스를 준 뒤 → 붙여넣는 거죠. 제목은 색처럼 변하지 않으니 훨씬 안정적이었어요.

목소리로 창을 고르게 했어요

여기에 사용성을 얹었어요.

  • 평소엔 기본 창에 자동으로 넣어요 (제일 자주 쓰는 창).
  • 다른 데 넣고 싶으면 "창" 또는 "윈도우"라고 말하면 열린 창 목록이 팝업으로 떠요. 거기서 번호나 창 이름을 말해서(또는 클릭해서) 고르면 그 창으로 들어가죠.

이러면 손 하나 안 대고 "이건 저 창에" 를 목소리로 지정할 수 있어요.

영어 창을 한글로 부르기 — 별칭

한 가지 더. 창 제목이 영어인 경우가 많잖아요. 영어 제목을 매번 영어로 말하긴 번거로워서, 한글 별명(별칭) 을 붙였어요. 예를 들어 특정 창을 "복스플러그"라고 부르면 그 창으로 가게요. 말하기 편한 한국어로 창을 호출하는 거죠.

정리 — 마지막 관문

돌아보면 창 타겟팅은 "음성 → 텍스트 → 주입" 우회로의 마지막 관문이었어요. 화면을 눈으로 찾으려던 접근(이미지 매칭)을 버리고 제목이라는 안정적인 단서로 바꾼 게 핵심이었죠. 보이는 걸 흉내 내기보다, 변하지 않는 정보를 잡는 게 자동화에선 훨씬 튼튼하더라고요.

다음 편

드디어 마지막 편이에요. 여기까지 오며 배운 것들, 그리고 지금 실제로 쓰고 있는 완성된 모습을 정리하는 회고. → 12편·완결 — 삽질 끝에 배운 것들, 그리고 지금


(이전 편: 10편 — 최신 그래픽카드가 오히려 발목을 잡았다)

댓글