Claude Code

  • 클로드 코드 플러그인 korean-skills로 한글 AI 패턴 6개 찾은 후기

    클로드 코드 플러그인 korean-skills로 한글 AI 패턴 6개 찾은 후기

    클로드 코드 플러그인 korean-skills를 설치하고 실제 글에 돌려봤다. 줄표 14개를 5개로 줄였다. 자문형 표현 9곳을 전부 평서문으로 바꿨다. 괄호 용어 풀이 규칙을 코드에 박아 넣었다. 숫자가 먼저다. 어떻게 여기까지 왔는지는 아래에 있다.

    애드센스 2차 거절에서 발견한 서식 균일성 문제

    직접 진단해봤던 ujinify.com 애드센스 거절 건이다. ‘가치가 별로 없는 콘텐츠’로 두 번 거절당했다. 2026년 9월 30일, 그리고 10월 16일. 두 번째 진단에서 이상한 걸 발견했다. 35개 글 전부가 같은 서사 틀로 찍혀 나왔다.

    훅 도입, 피크엔드 결론. 매 글 똑같은 구조였다. 그래서 agents/style-variants.ts를 만들어 오프닝·클로징·분량을 글마다 다르게 뽑도록 고쳤다. 근데 그건 글 전체 구조 수준의 얘기였다. 더 미세한 문장·서식 수준에서 AI가 쓴 것처럼 보이는 패턴이 남아 있는지 확인할 도구가 없었다.

    영어용 AI 탐지기인 ai-checker(Byakugan)는 이미 써봤다. 별로였다. 한글 글에 돌렸더니 전부 ‘human’ 판정이 나왔다. 가장 비중 큰 판정 신호가 영어 상투어 사전 매칭이라서 한글에는 처음부터 안 맞는 구조였다. 한글 전용 도구를 따로 찾아야 했다.

    korean-skills 클로드 코드 플러그인, 명령어 2줄이면 끝

    GitHub에서 daleseo/korean-skills(⭐228)를 찾았다. 클로드 코드(Claude Code, AI 코딩 보조 도구) 플러그인(plugin, 기능을 추가하는 확장 모듈) 형태로 humanizer, grammar-checker(한글 맞춤법검사기 기능), style-guide 세 가지 스킬을 묶어서 제공한다.

    설치는 명령어 두 줄이다.

    claude plugin marketplace add daleseo/korean-skills
    claude plugin install korean-skills@korean-skills

    둘 다 성공 메시지가 떴다. claude plugin list로 확인하니 Version 1.0.0, Status: enabled.

    claude plugin marketplace add와 claude plugin install 명령어 실행 결과, korean-skills가 enabled 상태로 잡힌 화면

    실제 설치 직후 터미널 출력이다. marketplace 등록, 플러그인 설치, 상태 확인까지 전부 성공으로 떴다.

    설치 직후 바로 안 되는 이유, 새 세션이 필요하다

    클로드 코드 플러그인을 설치하고 바로 korean-skills:humanizer를 불렀다. ‘Unknown skill’ 에러가 났다. 이건 좀 웃겼다. 성공 메시지까지 다 떴는데 못 찾는다고 한다.

    새로 설치한 플러그인은 설치한 바로 그 세션(session, 현재 열려 있는 대화 창)에는 안 잡힌다. 새 세션을 열어야 쓸 수 있다. 전에 ai-checker MCP 플러그인 설치했을 때도 똑같은 패턴이었다. 매번 새 세션을 열어야 한다는 건 단점이다. 명확히 불편하다.

    새 세션에서 korean-skills:humanizer 스킬을 다시 호출해 정상적으로 로드된 화면, 분석할 텍스트 선택지 세 가지 제시

    새 세션을 열고 다시 호출하니 이번엔 정상 작동했다. 어떤 텍스트를 분석할지 선택지 세 개를 먼저 물어봤다.

    실제 글 4개를 분석해서 나온 6가지 반복 패턴

    ujinify.com에 올라간 실제 글들을 humanizer에 넣었다. 먼저 #297 도입부를 테스트했더니 ‘자연도 A등급, 교정 불필요’가 나왔다. 그래도 약한 패턴 다섯 개를 짚어줬다.

    ujinify.com 포스트 297번 도입부를 humanizer로 분석한 결과, 자연도 A등급과 패턴 5개, 고친 버전, 의미 보존 검증 결과

    #297 분석 결과 화면이다. A등급이 나왔는데도 괄호 용어 풀이 반복 같은 패턴 5개를 꼼꼼하게 짚어줬다.

    이어서 #360, #213, #16까지 4개 글을 비교 분석했다. 사이트 전체에서 반복되는 패턴이 따로 뽑혔다.

    ujinify.com 글 4개(297, 360, 213, 16)의 쉼표·줄표·주요 패턴·자연도 등급을 표로 비교한 결과 화면

    4개 글을 표로 비교한 화면이다. 개별 글에서는 안 보이던 사이트 전체 패턴이 숫자로 드러났다.

    • 괄호 용어 풀이가 4개 글 모두 반복됐다. 개별 글만 보면 약한 신호지만 사이트 전체로 보면 균일하다
    • 최근 33개 제목 중 8개에 줄표 사용
    • #360 본문에만 줄표 11번
    • #213·#16에 ‘결론부터 말하면’류 전환 공식이 똑같이 반복
    • 소제목에 ‘~란?’, ‘~했을까’ 자문형 반복
    • #16이 이 패턴들을 가장 많이 갖고 있었다. 초기 프롬프트가 지금보다 더 고정적이었다는 뜻이다

    코드와 라이브 글을 직접 고친 뒤 확인한 것

    style-variants.ts가 못 잡은 부분이라서 바로 코드에 규칙을 추가했다.

    content-writer.ts 프롬프트에 추가한 규칙: 괄호 용어 풀이는 처음 등장할 때 한 번만, 글 전체에서 최대 4개까지. 본문 줄표는 최대 1회. ‘결론부터 말하면’류 전환 공식 금지. outline-writer.ts에도 추가했다. 소제목에 줄표 금지, 질문형 소제목은 4~6개 중 최대 1개로 제한. npm test 7개 파일 전부 통과했다.

    라이브 글 두 개도 직접 고쳤다. #360은 줄표 14개에서 5개로 줄었다. 남은 5개는 인용된 제목이나 이미지 alt 텍스트처럼 바꾸면 안 되는 자리뿐이다. #16은 자문형 표현 9곳을 전부 평서문으로 바꾸고 줄표 1곳도 정리했다. wp.data로 수정하고 LiteSpeed 캐시 퍼지한 뒤 라이브 페이지에서 직접 확인했다.

    숫자로 증명할 수 있다는 점이 생각보다 유용했다

    이 클로드 코드 플러그인 없이 사람이 35개 글을 일일이 비교하면서 패턴을 찾기는 현실적으로 어렵다. 한 글만 봐서는 눈치 못 채는 게 사이트 전체로 펼쳐 보면 숫자로 나온다. 그게 이 도구의 실제 쓸모였다.

    한계는 분명하다. 새 세션에서만 쓸 수 있어서 매번 세션을 새로 열어야 한다. 수정 제안은 사람이 직접 라이브 글에 반영해야 한다. 자동 적용은 안 된다. 앞으로 ujinify.com 글쓰기 파이프라인에 이 클로드 코드 플러그인을 정기적으로 돌릴 생각이다.

    처음엔 글 전체 구조만 다양하게 바꾸면 충분할 거라 봤다. 틀렸다. 문장 수준의 서식 패턴이 따로 쌓이고 있었다. 글 하나만 보면 절대 못 잡는 패턴이었다. 비교해야만 보였다.

  • 클로드 코드 플러그인 claude-hud 설치, 명령어 2줄과 인스타 릴스 검증 후기

    클로드 코드 플러그인 claude-hud 설치, 명령어 2줄과 인스타 릴스 검증 후기

    클로드 코드 플러그인 네 개 중에 실제로 설치한 건 하나다. claude-hud, ccusage, Superpowers, i-have-adhd — 넷 다 인스타 릴스 하나에 같이 소개됐는데, 셋은 빼고 하나만 남겼다.

    왜 셋을 뺐는지부터 얘기해야 이 글이 말이 된다.

    인스타그램 릴스에서 본 플러그인, 정말 존재하는지 확인하는 방법

    릴스에서 “클로드 코드 생산성 올려주는 플러그인”이라는 영상이 떴다. claude-hud, ccusage, Superpowers, i-have-adhd. 네 개였다. 보통 이런 영상은 바로 닫는다. “팔로우하고 댓글 달면 보내드려요” 식으로, 실제로는 존재 확인이 안 되는 사설 프로그램을 파는 경우가 태반이기 때문이다. 소개된다고 다 진짜 클로드 코드 플러그인인 건 아니다.

    이번엔 달랐다. 영상 화면에 GitHub 핸들이 그대로 박혀 있었다. jarrodwatts/claude-hud, ryoppippi/ccusage. 핸들이 화면에 있다는 건 검증 가능한 공개 저장소(repository, 코드를 저장하는 폴더)라는 뜻이다. 직접 GitHub에 쳐보면 바로 확인된다. 이 차이 하나가 신뢰의 출발점이었다.

    설치 전에 GitHub 저장소부터 직접 확인한다

    GitHub에서 jarrodwatts/claude-hud 저장소를 직접 검색했다. 확인한 건 두 가지였다. 저장소가 실제로 공개로 존재하는지, 그리고 죽은 프로젝트가 아니라 계속 관리되고 있는지. 영상에 핸들만 박혀 있다고 바로 믿는 게 아니라, 내 눈으로 저장소 페이지를 열어서 본다.

    claude-hud는 이 두 가지를 통과했다. 그래서 깔았다.

    claude-hud 설치는 정말 간단한가? 실제 명령어 2줄과 결과

    간단하다. 클로드 코드 플러그인 설치는 명령어 두 줄이 전부다.

    먼저 플러그인 마켓플레이스(marketplace, 프로그램을 내려받을 수 있는 목록 저장소)에 저장소를 등록한다.

    claude plugin marketplace add jarrodwatts/claude-hud

    실행하면 Successfully added marketplace: claude-hud가 뜬다. 이어서 설치 명령어를 친다.

    claude plugin install claude-hud

    Successfully installed plugin: claude-hud@claude-hud (scope: user)가 출력된다. 끝이다. 설치 자체는 막히는 부분이 없었다.

    설치가 됐는지 확인하고 싶으면 아래 명령어로 목록을 확인한다.

    claude plugin list | grep -A3 claude-hud

    결과로 claude-hud@claude-hud, Version 0.11.1, Scope user, Status enabled가 나온다. 이 세 명령어는 스크린샷으로 남겨뒀다.

    claude plugin marketplace add와 claude plugin install 실행 후 claude-hud가 설치·활성화된 터미널 출력

    위 스크린샷이 실제 설치 직후 터미널 출력이다. 세 명령어를 순서대로 실행한 결과가 그대로 찍혀 있다.

    설치 후 ‘화면에 아무것도 안 보인다’ 할 때 하는 추가 설정

    여기서 멈추는 사람이 있을 것이다. 설치 완료 메시지는 떴는데 클로드 코드 화면에 아무런 변화가 없다. 정상이다. claude-hud는 설치만으로 작동하지 않는다.

    클로드 코드 대화창에 /claude-hud:setup이라는 슬래시 커맨드를 입력해야 한다. 이 커맨드 자체를 내가 직접 실행할 수 있는 건 아니다. 에이전트(AI)가 읽고 단계를 알려주는 가이드 역할을 한다. 그 안에 적힌 단계를 Bash(배시, 터미널에서 명령어를 입력하는 환경)로 하나씩 수동으로 따라 쳐야 한다.

    /claude-hud:setup 단계별로 뭘 하는지

    순서는 이렇다.

    • 셸 확인. macOS는 posix로 확인된다.
    • 런타임(runtime, 프로그램을 실행하는 환경) 찾기. command -v bun을 치면 ~/.bun/bin/bun이 잡힌다. node도 되지만 bun이 있으면 bun을 우선한다.
    • 현재 설정 상태 점검. setup.mjs inspect --shell posix로 확인한다.
    • 설치. setup.mjs install --shell posix를 실행하면 ~/.claude/settings.json에 statusLine(상태줄) 항목이 새로 쓰인다. 기존 설정 파일은 타임스탬프가 붙은 .bak 파일로 자동 백업된다. 기존 설정이 날아가지 않는다.
    • 테스트. 샘플 JSON(제이슨, 데이터를 담는 텍스트 형식)을 launcher 스크립트(실행 파일)에 흘려보내서 HUD 줄이 실제로 찍히는지 확인한다.

    단계가 많아 보이지만 각 명령어는 짧다. 막히는 부분도 없었다.

    세션 중에 모델과 컨텍스트 상태를 한눈에 보는 방법

    설치가 끝나면 실제로 작동하는지 확인해야 한다. 아래처럼 샘플 데이터를 만들어서 launcher 스크립트에 파이프로 넣는다.

    echo '{"model":{"display_name":"Opus"},"context_window":{"used_percentage":12,"context_window_size":200000}}'

    이걸 launcher 스크립트에 흘려보내면 출력이 두 줄 나온다.

    • [Opus]
    • Context [진행바] 12%

    이게 claude-hud가 세션(session, 대화를 시작하고 끝낼 때까지의 한 작업 단위) 중에 입력창 아래에 계속 보여주는 상태줄이다. 지금 어떤 모델을 쓰고 있는지, 컨텍스트 윈도우를 얼마나 썼는지를 매번 /context 명령어를 따로 치지 않아도 바로 볼 수 있다.

    claude plugin list 명령어로 claude-hud 버전·상태를 확인하고 HUD 테스트 출력으로 모델명과 컨텍스트 사용률이 찍힌 터미널 화면

    위 스크린샷이 실제 테스트 결과 출력이다. 모델 이름과 컨텍스트 사용률이 두 줄로 찍혀 있다.

    4개 플러그인 중 claude-hud만 설치한 이유

    릴스에서 소개된 건 네 개였다. claude-hud, ccusage, Superpowers, i-have-adhd. 이 중에 설치한 건 claude-hud 하나다.

    ccusage는 플러그인 설치 자체가 필요 없다. npx ccusage@latest 한 줄이면 바로 실행된다. 설치 없이 쓸 수 있는 도구를 “플러그인 설치 후기”에 넣는 건 맞지 않았다. Superpowers와 i-have-adhd는 지금 이미 쓰고 있는 작업 방식과 겹치는 부분이 있어서 굳이 더 얹을 이유가 없다고 판단했다.

    claude-hud는 실용적이었다. 컨텍스트를 얼마나 썼는지 확인하려고 매번 명령어를 따로 칠 필요가 없어진다는 것, 그 하나가 이유였다. 설정도 두 줄 설치에 자동화된 setup 스크립트라 복잡하지 않다.

    솔직한 평가, 그래도 추천하는 이유

    한 가지 불편한 점은 명확히 짚고 가야 한다. /claude-hud:setup은 내가 직접 실행하는 커맨드가 아니다. 가이드를 읽고 명령어를 하나씩 수동으로 따라 쳐야 한다. “설치 두 줄이면 끝”이라는 말은 반만 맞다. 추가 설정 단계가 분명히 있다. 이걸 모르고 설치만 하면 아무것도 안 보인다고 느끼고 멈추게 된다.

    그래도 추천하냐고 물으면, 한다. 이번에 설치한 클로드 코드 플러그인 중에는 가장 실용적이었다. 단 슬래시 커맨드 단계까지 다 따라 할 준비가 된 사람한테만. 설치 두 줄만 치고 끝내려는 사람한테는 안 맞는다.

    릴스에서 본 클로드 코드 플러그인을 설치하기 전에 확인한 순서는 이거다.

    • GitHub 핸들이 화면에 박혀 있는가, 없으면 바로 의심한다
    • 그 저장소가 실제로 공개돼 있고 계속 관리되고 있는가, 직접 들어가서 눈으로 확인한다
    • “설치 두 줄이면 끝”이라는 말을 그대로 믿지 말고, 추가 설정 단계가 있는지부터 찾아본다

    claude-hud는 이 세 가지를 다 통과했다. 클로드 코드 스킬을 검증했던 글도 같은 기준으로 썼다.

  • 클로드 스킬 추천 3개, 릴스에서 본 것 직접 확인해봤다

    클로드 스킬 추천 3개, 릴스에서 본 것 직접 확인해봤다

    인스타 릴스에서 클로드 스킬 추천 영상을 봤다. 스크롤하다가 멈췄다. “천 시간 넘게 쓰면서 결국 이 세 개만 남았다”는 문구 때문이었다. 직접 확인해봤다.

    인스타에서 본 그 릴스, 정말 믿을 만할까?

    영상을 올린 계정은 mild.codes다. 프로필에 ‘AI로 생성한 프로필’이라고 본인이 적어뒀다. 실존 인물이 아닐 수 있다는 뜻이다. “천 시간 넘게 썼다”는 경험담은 검증할 방법이 없다. 이건 처음부터 명확히 해두고 싶었다.

    그래도 릴스에서 소개한 세 가지 스킬 자체는 확인이 가능했다. 스킬(skill, Claude Code에서 동작 방식을 바꿔주는 플러그인)은 실제로 설치 파일을 열어보거나, GitHub(코드를 공개적으로 올려두는 플랫폼)에서 저장소(repository, 코드를 저장하는 폴더)를 직접 보면 된다. 그렇게 했다.

    릴스가 주장한 건 세 가지였다. 슈퍼파워즈(Superpowers)는 앤트로픽이 만든 게 아니다. 카파시 스킬은 이름과 달리 카파시 본인이 만든 게 아니다. 스킬 크리에이터는 앤트로픽이 직접 만든 공식 플러그인이다. 하나씩 확인했다.

    첫 번째 스킬: 슈퍼파워즈, 개인 개발자 프로젝트

    이건 내가 이미 쓰고 있는 플러그인이다. 지금 이 블로그 파이프라인을 만들 때도 실제로 설치해서 돌리고 있다. 그래서 확인이 제일 빨랐다.

    로컬에 설치된 파일을 바로 열었다. plugin.json이라는 설정 파일에 저자 이름이 있다. ‘Jesse Vincent’라고 적혀 있었다. 앤트로픽 이메일이 아니다. 홈페이지는 github.com/obra/superpowers로 연결된다. GitHub 아이디가 obra인 개인 개발자가 만든 오픈소스 프로젝트다.

    클로드 스킬 추천 확인 화면 — 스크린샷 1

    아래 스크린샷은 GitHub 저장소 화면이다. 저장소 주인이 obra 계정이고, 오른쪽에 MIT 라이선스와 스타 수가 보인다. GitHub 페이지에서도 스타 29만 5천 개, MIT 라이선스로 확인됐다.

    릴스 주장이 맞다. 앤트로픽 공식이 아니다. 개인이 만들었다. 그렇다고 못 믿을 이유는 없다. 스타 수도 많고 실제로 잘 작동한다.

    두 번째 스킬: 카파시 스킬, 이름만 카파시일 뿐, 다른 사람이 정리한 원칙

    앤드리 카파시는 AI 연구자다. OpenAI 출신이고, X(트위터)에서 LLM 관련 글을 많이 올린다. 그래서 이름이 붙었다.

    실제 저장소는 multica-ai/andrej-karpathy-skills다. 예전 이름은 forrestchang/andrej-karpathy-skills였다. README에 뭐라고 적혀 있는지 봤다. “앤드리 카파시의 관찰에서 파생됨”이라고 나와 있다. 카파시가 직접 작성하거나 공식 배포한 파일이 아니다.

    구조는 이렇다. 카파시가 X에 LLM 코딩이 실패하는 패턴에 대해 글을 남겼다. 그걸 읽은 다른 개발자가 핵심 내용을 CLAUDE.md 파일로 정리해서 배포했다. 이름만 카파시다.

    클로드 스킬 추천 확인 화면 ,  스크린샷 2

    위 스크린샷이 실제 GitHub 저장소 화면이다. README 첫 줄에 “derived from”이 보인다. 스타는 21만 6천 개가 넘는다.

    이 스킬의 내용은 4가지 원칙으로 정리된다. 코딩 전에 생각하기, 단순하게 가기, 필요한 곳만 고치기, 목표 기준으로 일하기. 여기서 이건 좀 웃겼다. 내가 이미 내 개인 CLAUDE.md 전역 설정 파일에 이 내용을 그대로 갖고 있었다. 이미 쓰고 있던 걸 릴스로 다시 마주친 거다.

    한 가지 주의할 것이 있다. 이 스킬을 다룬 블로그 글 여러 곳에서 “이 규칙으로 오류가 41%에서 11%로 줄었다”는 수치를 인용한다. 출처가 없다. 측정 방법도 없다. 그 숫자는 여기서 옮기지 않았다. 근거가 불분명한 수치를 그대로 퍼나르지 마라.

    세 번째 스킬: 스킬 크리에이터, 이것만 앤트로픽 공식이다

    이건 확실히 공식이다. GitHub 저장소가 anthropics/claude-plugins-official이다. anthropics가 앤트로픽 공식 계정이다. 저장소 안에 plugins/skill-creator 폴더로 들어 있다.

    용도는 세 가지다. 새 스킬을 만드는 것, 기존 스킬을 개선하는 것, 스킬을 적용했을 때와 안 했을 때 결과를 비교해서 성능을 측정하는 것. 저장소 README에 그렇게 적혀 있다.

    클로드 스킬 추천 확인 화면 ,  스크린샷 3

    위 스크린샷이 anthropics 공식 저장소 화면이다. 계정 이름과 폴더 구조가 보인다.

    단, 나는 아직 설치해서 써본 적 없다. 공식이라는 건 확인했다. 직접 써본 후기는 아직 없다. 이건 솔직히 말해두는 게 맞다.

    네 번째 확인: 다른 릴스, 리버스 엔지니어링 도구

    며칠 뒤 또 다른 릴스를 봤다. 계정은 @ai.dingco, 제목은 “클로드 코드 고수들이 쓰는 무료 오픈소스 3개”였다. 똑같이 하나씩 열어봤다.

    셋 중 둘(graphify, agent-reach)은 이미 쓰고 있던 거였다. 새로 설치한 건 하나, REA(Reverse Engineer Anything)다. 저장소는 morluto/rea, 스타는 38만 5천 개가 넘는다. MIT 라이선스.

    용도는 소스 코드가 없는 앱 — 네이티브 바이너리, 일렉트론 앱, .NET, 웹사이트 — 을 Ghidra나 IDA 같은 역분석 도구에 연결해서 동작 원리를 설명해주는 거다. 스킬 하나가 아니라 5개로 쪼개져 설치됐다. 핵심은 reverse-engineer-anything, 나머지 넷은 보조 스킬이다.

    여기서 걸리는 게 하나 있었다. 보안 검증을 돌렸더니 핵심 스킬이 Gen과 Snyk 두 스캐너 모두에서 Med Risk가 나왔다. 지금까지 설치한 것 중 제일 높은 등급이다. 쓸 땐 상용 앱을 그대로 베끼거나 재배포하는 용도가 아니라 디버깅·학습용으로만 쓰기로 했다.

    다섯 번째 확인: PPT 도구 릴스, 5개 중 2개만

    그 다음 주엔 @ssumae.ai가 올린 “클로드로 PPT 만들 때 쓰는 무료 도구 5개” 영상을 봤다. 이번엔 5개 중 2개만 설치했다.

    하나는 ppt-master(hugohe3/ppt-master, 스타 6만 8천+)다. 보안 검증 결과는 Safe, 경고 0건. 표나 차트, 전환 효과까지 들어간 진짜 .pptx 파일이 필요할 때 쓴다.

    다른 하나는 frontend-slides(zarazhangrui/frontend-slides, 스타 3만 1천+)다. 이건 Snyk에서 Med Risk가 나왔다. 실제 파워포인트 파일이 아니라 블로그에 바로 캡처해서 넣을 포스터·이미지 스타일 설명도를 만들 때 쓴다.

    나머지 셋은 안 깔았다. document-skills는 이미 anthropic-skills:pptx로 똑같은 걸 갖고 있었고, Slidev랑 PowerPoint MCP는 용도가 겹치거나 애매해서 패스했다.

    클로드 스킬 추천, 초보자가 먼저 설치할 것

    여섯 가지를 비교하면 이렇다.

    스킬 이름 만든 곳 GitHub 스타 특징
    슈퍼파워즈 (Superpowers) 개인 개발자 (Jesse Vincent) 29만 5천+ 실제로 써봤고 잘 작동함
    카파시 스킬 (Karpathy Skill) 제3자 개발자 (카파시 아님) 21만 6천+ CLAUDE.md 원칙 정리본
    스킬 크리에이터 (Skill Creator) 앤트로픽 공식 – 스킬 제작·측정 용도
    REA (Reverse Engineer Anything) 개인 개발자 (morluto) 38만 5천+ 소스 없는 앱 역분석, 보안 등급 Med Risk
    PPT Master 개인 개발자 (hugohe3) 6만 8천+ 진짜 .pptx 파일 생성, 보안 등급 Safe
    Frontend Slides 개인 개발자 (zarazhangrui) 3만 1천+ 이미지형 설명도 제작, 보안 등급 Med Risk

    Claude Code가 처음이라면 순서가 있다. 카파시 스킬부터 보는 게 낫다. 설치 전에 4원칙 내용 자체를 읽어보는 걸 권한다. Claude Code에게 어떤 방식으로 일하라고 지시할지 감이 없는 상태에서 플러그인만 깔면 아무 의미가 없다.

    REA는 보안 등급이 Med Risk라 아무 때나 쓰는 도구는 아니다. 역분석이 실제로 필요한 상황이 생겼을 때 설치해도 늦지 않다.

    스킬 크리에이터는 나중에 써볼 생각이다. 스킬을 직접 만들거나 성능을 비교하려면 일단 Claude Code 자체에 먼저 익숙해져야 한다. 초보자가 제일 먼저 설치할 플러그인은 아니다.

    릴스 자체는 저자 정보가 불분명하다. 그래도 사실 확인 결과는 나쁘지 않았다. 세 번 다 소개된 도구는 실제로 존재했고, 설명한 용도도 저장소 설명과 맞았다. 다음에는 스킬 크리에이터를 실제로 설치하고 써봐야겠다고 생각 중이다. 후기가 생기면 따로 쓴다.

    같은 주제로 이어서 읽으면 좋은 글: 클로드 스킬 3개 비교, 나는 last30days만 쓰기로 했다

    이 글에서 확인한 저장소는 여섯 곳이다. 슈퍼파워즈, 카파시 스킬, 앤트로픽 공식 플러그인, REA, PPT Master, Frontend Slides다.

  • 찾던 MCP 도구가 이미 설치돼 있었다

    찾던 MCP 도구가 이미 설치돼 있었다

    며칠 전에 사용량 한도가 72%까지 찍혔다. 5시간 한도 기준이었다. 그냥 넘어가기엔 숫자가 너무 선명했다.

    사용량 72%까지 치솟은 후 도구 찾기 시작

    원인은 세 가지였다. 세션 길이, Playwright(웹 브라우저를 자동으로 조종하는 도구) 반복 실행, Opus(Claude의 가장 고성능 모델) 과다 사용. 이 셋이 합쳐져서 사용량을 갉아먹고 있었다.

    결론이 나고 나서 GitHub(개발자들이 코드를 공유하는 플랫폼)에서 화제인 도구 카드들을 캡처하기 시작했다. 보이는 족족 저장했다. 그리고 Claude Code(터미널에서 쓰는 AI 코딩 도구)한테 하나씩 물어봤다.

    이게 효과가 있을 것 같았다. 적어도 처음엔.

    GitHub에서 본 8개 도구, 모두 안 맞았던 이유

    확인한 도구가 총 8개였다. claude-mem, find-skills, VibeSec, Ruflo, ponytail, graphify, OmniRoute, ECC. 이름만 보면 뭔가 있어 보였다. GitHub AI 에이전트 도구 7개를 검증했을 때도 결론은 똑같았다 — 하나도 안 맞았다.

    결과는 전부 똑같았다. 이미 내 환경에 있거나, 내 상황에 안 맞는다는 답이 돌아왔다. 8번 다 그랬다. 한 번도 “이거 설치해봐”로 끝나지 않았다.

    그래서 마지막에 방향을 바꿨다. 도구 이름을 들이밀지 않고 이렇게 물었다. “지금 상황에서 실질적으로 효과도 있으면서 사용량을 현저히 줄일 수 있는 플러그인 있으면 추천해줘.”

    질문을 바꾸니 답이 달랐다.

    결국 답은 이미 내 환경에 있었다

    headroom MCP 도구가 나왔다. MCP(Model Context Protocol)는 AI 모델이 외부 도구를 쓸 수 있게 연결해주는 규격이다. GitHub 카드로 본 적 없는 이름이었다.

    확인해보니 이미 내 설정 파일(~/.claude/settings.json)에 들어가 있었다. 연결까지 돼 있는 상태였다. 그런데 이번 세션 동안 이 도구가 실행된 횟수는 0회였다.

    headroom MCP 도구가 이미 설정 파일에 연결돼 있지만 이번 세션 압축 횟수는 0회였던 것을 확인한 터미널 화면

    있는데 안 쓰고 있었다.

    이건 좀 웃겼다. 지난주에도 비슷한 일이 있었다. blog-automation이라는 스킬(Claude Code에 등록해두는 작업 단위)이 몇 달째 삭제된 폴더를 가리키고 있었다는 걸 뒤늦게 발견했다. 그때는 없는 걸 가리키고 있었고, 이번엔 있는 걸 안 쓰고 있었다. 패턴이 똑같다. 설치하고 나면 신경을 끊어버린다. 그게 문제다.

    headroom으로 직접 테스트한 압축 결과

    발견하고 바로 테스트했다. 지어낸 숫자를 쓰기 싫어서, 실제로 도구를 호출했다.

    테스트에 쓴 파일은 내 메모리 파일(MEMORY.md)이었다. 크기는 11.8KB. Claude Code가 작업 중에 참고하는 메모 파일이다.

    구분 토큰 수
    압축 전 원본 2,118
    압축 후 675
    절감률 68%

    68% 절감. 원본의 3분의 1 수준으로 줄었다.

    headroom MCP 도구로 MEMORY.md 파일을 실제 압축한 결과, 토큰 2118에서 675로 68.1퍼센트 절감된 화면

    원본 손실이 걱정됐는데, 그 부분을 제일 먼저 확인했다. 압축된 내용은 해시값으로 묶여서 저장된다. 요약해서 버리는 구조가 아니었다. 압축해서 보관하고, 필요하면 원본을 다시 꺼낼 수 있는 구조였다. 이 부분은 안심해도 된다.

    설치 후 잊혀지는 도구, 워크플로에 끼워 넣기

    새로 깔 게 없었다. 8개를 확인하고, 결국 답은 9번째였는데, 그것도 이미 갖고 있던 거였다.

    문제는 도구가 없는 게 아니었다. 워크플로에 넣지 않은 게 문제였다. 설정 파일에만 있고 실제로 쓰지 않으면 없는 것과 다르지 않다.

    그래서 규칙을 하나 만들었다. 앞으로 큰 파일을 읽거나 API 응답을 받을 때 headroom을 먼저 거친다. 순서에 박아넣지 않으면 또 잊어버린다. 이번에 확인했다.

    주기적으로 내 설정 파일을 열어서 연결된 도구 목록을 확인해야 한다. 설치했다고 끝이 아니다. 실제로 쓰이고 있는지 보지 않으면 모른다. 이건 귀찮아도 해야 한다.

    다음에 사용량 점검할 때는 도구 목록부터 열어볼 생각이다. GitHub 카드를 캡처하기 전에.

  • CLAUDE.md 정리하다 발견한 중복 지침

    CLAUDE.md 정리하다 발견한 중복 지침

    CLAUDE.md 정리를 한 번도 안 했다면 점검해볼 만하다. Claude Code(AI 코딩 도우미)를 쓰다 보면 어느 순간 CLAUDE.md 파일이 여러 개가 된다. 내 환경에는 세 개가 있었다. 그냥 두면 되는 줄 알았는데 점검해보니 아니었다.

    CLAUDE.md가 뭐고 왜 여러 개일까?

    CLAUDE.md는 Claude Code가 세션(session, 작업을 시작하고 끝내는 한 번의 대화 구간)을 시작할 때 자동으로 읽는 설정 파일이다. “나는 이렇게 일하는 사람이야, 이 규칙을 따라줘”라고 클로드에게 미리 알려두는 메모다.

    문제는 이 파일이 한 군데만 있는 게 아니라는 점이다. Claude Code는 공식 문서에 나온 것처럼 여러 위치에서 CLAUDE.md를 찾는다. 홈 폴더(~/CLAUDE.md), 전역 설정 폴더(~/.claude/CLAUDE.md), 그리고 각 프로젝트 폴더 안의 CLAUDE.md까지.

    내 세 파일은 ~/CLAUDE.md, ~/.claude/CLAUDE.md, 자동화 프로젝트 폴더의 CLAUDE.md였다. 그래서 클로드에게 직접 점검을 시켰다. 파일 내용을 실제 폴더와 대조해서 읽고, 수정하거나 지워도 되는 부분이 있으면 알려달라고 했다.

    CLAUDE.md 정리 전 점검: 세 파일에서 나온 문제

    세 파일 모두 문제가 있었다. 종류는 달랐다.

    ~/CLAUDE.md는 131줄짜리 파일이었다. 클로드가 읽고 나서 이상한 걸 발견했다. 1번 줄과 67번 줄에 똑같이 # CLAUDE.md라는 제목이 있었다. 1~65줄과 67~131줄을 비교했더니 완전히 같은 내용이었다. 같은 지침 블록이 두 번 들어가 있었다는 뜻이다.

    CLAUDE.md에 같은 지침이 두 번 들어 있었다 — 3개 파일 점검하고 정리한 후기 스크린샷 1

    위는 정리 전 131줄, 정리 후 65줄과 두 블록 비교 결과를 찍은 화면이다. 왜 두 번 들어갔는지 원인은 지금도 모른다.

    자동화 프로젝트 CLAUDE.md에는 다른 문제가 있었다. workflows/ 폴더를 전제로 한 규칙이 세 곳에 흩어져 있었다. “Workflow는 내 허락 없이 새로 만들거나 삭제하지 마”, 에러 처리 절차의 ‘Workflow 업데이트’, 보안 절의 ‘Workflow’ 표현. 그런데 workflows/ 폴더가 실제로 없었다. 폴더는 사라졌는데 규칙은 그대로 남아 있었다.

    CLAUDE.md 정리 중 만난 NotebookLM 지시 문제

    ~/.claude/CLAUDE.md는 또 다른 문제였다. 세션 시작 때 NotebookLM(구글의 AI 노트 정리 도구) 노트북을 먼저 검색하라고 되어 있었다. 그런데 NotebookLM 연결은 로그인 감지 버그와 구글 장애로 2026-09-01부터 막혀 있었다. 매 세션마다 실패할 게 뻔한 명령이 설정에 그냥 살아 있었던 거다.

    CLAUDE.md의 NotebookLM 검색 지시를 보류 중으로 바꾼 변경 내용

    위는 전역 CLAUDE.md의 NotebookLM 지시를 고친 변경 부분이다.

    그 외에 자동화 프로젝트 CLAUDE.md에 ‘실제 사용 중인 블로그는 tistory 1개뿐’이라고 적혀 있었다. 지금 이 블로그, ujinify.com이 훨씬 더 활발히 쓰는 프로젝트인데도 설정에는 반영이 안 되어 있었다.

    CLAUDE.md 정리 첫 단계: 중복 찾는 쉘 명령어

    쉘(shell, 명령어를 입력해서 컴퓨터에게 일을 시키는 창)에서 두 가지 명령어로 확인할 수 있다.

    먼저 파일이 몇 줄인지 센다.

    • wc -l ~/CLAUDE.md , 줄 수를 보여준다. wc는 ‘word count’의 줄임말이다.
    • grep -n '^# ' ~/CLAUDE.md , 파일 안에서 #으로 시작하는 제목 줄을 찾아서 몇 번째 줄인지 함께 보여준다. grep은 파일 안에서 특정 단어나 패턴을 찾는 명령어다.

    내 경우에는 grep 결과에 # CLAUDE.md가 1번 줄과 67번 줄, 두 군데 나왔다. 같은 제목이 두 번 뜨면 중복을 의심해야 한다. 그다음엔 두 블록의 내용이 실제로 같은지 확인해야 한다.

    앞 블록과 뒤 블록을 비교하는 짧은 스크립트(script, 명령어를 순서대로 묶어둔 파일)를 돌렸다. 완전히 같다는 결과가 나왔고, 그래서 뒤 블록을 지웠다.

    자기 파일에서 확인하려면 이 순서로 해보면 된다. wc -l로 줄 수 확인 → grep -n '^# '로 제목 위치 확인 → 같은 제목이 두 군데 이상 있으면 두 블록 내용 비교. 간단하다.

    CLAUDE.md 정리에서 없는 폴더 규칙 지우기

    workflows/ 폴더가 실제로 없다는 걸 어떻게 확인했냐고 하면, ls 명령어로 봤다. ls는 폴더 안에 뭐가 있는지 목록으로 보여주는 명령어다. 없으면 없다고 나온다.

    있어야 할 폴더가 없으면 그 폴더를 전제로 한 규칙은 전부 의미가 없다. 클로드가 “Workflow 삭제 전 허락을 받아야 한다”는 규칙을 읽어도, 지킬 대상이 없다. 그냥 노이즈다.

    workflows 폴더가 없는데 CLAUDE.md에 Workflow 규칙이 남아 있던 확인 결과

    위는 workflows 폴더가 없다는 결과와 정리 전후 ‘Workflow’ 문구 검색 결과다.

    수정 전에 파일을 /tmp에 백업했다. /tmp는 임시 파일을 저장하는 폴더다. 백업 없이 수정하지 마라. 잘못 지우면 돌아올 방법이 없다.

    백업 뒤에 workflows/ 관련 문구를 세 곳 모두 지웠다. 113줄이던 파일이 106줄이 됐다.

    파일 구조를 설명하는 절도 실제와 달랐다. tools/ 폴더에 파이썬(.py)과 타입스크립트(.ts) 파일이 섞여 있고, 새 코드는 타입스크립트로 작성된다는 실제 구조로 고쳤다. ujinify를 활성 블로그 목록에 올리고, 폐기된 프로젝트 목록은 4줄로 줄였다. 보관 방침은 그대로 뒀다.

    실제 안 쓰는 도구 지시는 지우기로 했다

    NotebookLM 지시는 지울지 남길지 갈렸다. 연결이 복구되면 다시 켜야 해서, 재개 규칙까지 통째로 지우면 나중에 처음부터 다시 써야 한다.

    그래서 지우지 않고 ‘보류 중’으로 바꿨다. 지시 자체는 남겨두고, 현재 상태를 주석처럼 표시한 거다. 연결이 복구되면 ‘보류 중’ 표시만 지우면 된다. 재개 규칙은 그대로 살아 있다.

    이건 판단의 문제다. 완전히 폐기된 도구라면 지우는 게 맞다. 일시 중단 상태라면 보류 표시를 남겨두는 쪽이 낫다. 어느 쪽이든 원칙은 하나다. 지금 작동하지 않는 도구에 대한 지시가 설정에 살아 있으면 클로드는 매 세션마다 실패할 명령을 실행하려 한다. 그 부분만큼은 반드시 정리해야 한다.

    ujinify 전용 CLAUDE.md를 새로 만든 이유

    점검하면서 ujinify 블로그 파이프라인 폴더에 전용 CLAUDE.md를 새로 만들기도 했다. 여기저기 흩어져 있던 규칙들, 글 내용 규칙, 이미지 캡처 규칙, 랭크매스 점수 규칙, 릴스·링크 처리 순서를 한 파일에 모았다.

    알려진 문제도 적었다. 이미지 캡션과 사실을 지어내는 문제, 랭크매스 포커스 키워드가 REST로 저장되지 않는 문제. 고친 게 아니라 기록한 거다. 기록해두지 않으면 클로드도 나도 같은 실수를 반복한다.

    정리 후 나한테 달라진 점, 너도 확인해보는 방법

    솔직하게 말하겠다. CLAUDE.md 정리 후 확인한 건 줄 수뿐이다. ~/CLAUDE.md가 131줄에서 65줄이 됐다. 프로젝트 CLAUDE.md가 113줄에서 106줄이 됐다. 그게 다다.

    응답이 빨라졌는지, 컨텍스트가 몇 토큰 줄었는지는 측정하지 않았다. 그래서 효과는 “읽는 분량이 줄었다”까지만 말할 수 있다. 더 좋아졌다고 단정하지 않겠다.

    내 환경의 CLAUDE.md 정리 상태 확인하는 법

    자기 환경에서 확인하고 싶다면 세 가지만 해보면 된다.

    • wc -l로 CLAUDE.md 줄 수를 세고, grep -n '^# '로 같은 제목이 반복되는지 확인한다.
    • CLAUDE.md 안에 언급된 폴더 이름을 찾아서 ls로 실제로 있는지 확인한다.
    • 세션 시작 때 실행하라고 적어둔 도구가 지금도 작동하는지 직접 돌려본다.

    나는 이 세 가지에서 각각 문제가 나왔다. 처음 점검해보는 사람이라면 하나쯤은 걸릴 거라고 본다. 오래된 설정일수록 더 그렇다.

    스킬과 메모리 폴더를 정리한 이야기는 Claude Code 스킬 정리 후기에 적어뒀다.

    다음엔 새로 만든 ujinify 전용 CLAUDE.md가 실제로 잘 작동하는지 확인할 차례다. 규칙을 모아두는 것과 클로드가 그 규칙을 제대로 따르는 것은 다른 얘기다. 그 부분은 좀 더 써봐야 안다.

  • GitHub AI 에이전트 7개 다 봤는데 하나도 안 깐 이유

    GitHub AI 에이전트 7개 다 봤는데 하나도 안 깐 이유

    소셜 미디어에서 뭔가를 보면 일단 저장부터 한다. 나중에 쓸 것 같아서. 근데 나중이 오는 경우는 드물다.

    이번엔 달랐다. 인스타그램 어딘가에서 AI 에이전트 도구 소개 카드를 봤고, 그냥 넘기지 않았다. 스크린샷을 찍어서 Claude Code한테 바로 물어봤다.

    AI 에이전트 도구 7개, 먼저 검증했던 이유

    처음엔 3개였다. claude-mem, find-skills, VibeSec. 캡처한 카드를 Claude Code에 던지면서 물었다.

    “지금 설치돼 있어? 설치하면 나한테 좋아? 아니면 없어도 돼?”

    그냥 좋아 보인다고 깔면 안 된다는 걸 안다. 도구는 내 상황에 맞아야 쓸 수 있다. 맞지 않는 도구는 설치하는 순간부터 짐이 된다. 그래서 먼저 확인했다.

    확인 과정에서 ponytail, graphify, Ruflo, OmniRoute까지 추가로 검토하게 됐다. 결국 7개를 다 들여다봤다.

    이미 깔려있던 도구들 (claude-mem, find-skills, ponytail, graphify)

    결과부터 말하면, 4개는 이미 있었다.

    claude-mem은 8월 28일부터 설치돼 있었다. find-skills도 이미 스킬로 등록된 상태였다. 몰랐다. 쓰고 있었는데 쓰고 있는 줄 몰랐던 거다.

    ponytail은 좀 달랐다. 설치돼 있는 수준이 아니었다. 그 대화를 하는 내내 실제로 켜져서 작동하고 있었다. 이걸 확인하면서 뭔가 이해됐다. Claude Code가 항상 최소한의 코드로 답하던 게 이상하다고 생각한 적 있었는데, 그게 ponytail 때문이었다. 도구가 조용히 일하고 있었던 거다.

    graphify도 전역 설정(어떤 프로젝트에서도 공통으로 적용되는 설정)에 등록돼 있어서 언제든 쓸 수 있는 상태였다. fire-your-seo-agency 스킬을 블로그 4개에 자동 적용했을 때도 비슷한 걸 느꼈다 — 이미 깔린 걸 제대로 아는 게, 새로 까는 것보다 먼저다.

    AI 에이전트 도구 claude-mem, find-skills, VibeSec, ponytail 설치 여부를 실제 명령어로 확인한 터미널 화면

    이 네 개는 새로 깔 필요가 없었다. 이미 있으니까.

    VibeSec을 안 깐 이유: 내 프로젝트 구조와 안 맞았다

    VibeSec은 웹 취약점(XSS, SQL 인젝션 같은 것)을 잡아주는 보안 도구다.

    XSS(Cross-Site Scripting)는 악성 스크립트를 웹페이지에 심는 공격이고, SQL 인젝션은 데이터베이스 쿼리를 조작하는 공격이다. 로그인 폼, 검색창, 결제 입력칸 같은 데서 주로 생긴다.

    내 프로젝트엔 그런 게 없다. 지금 만드는 건 블로그 자동 생성 스크립트들이다. 사용자 입력을 받는 곳이 없다. 로그인도 없고 결제도 없다. 워드프레스 인증은 앱 비밀번호를 .env.local 파일(환경 변수를 저장하는 파일, 코드에 직접 비밀번호를 적지 않기 위해 사용)에 넣어서 쓰는 정도다.

    VibeSec이 잡아줄 취약점 자체가 생길 구조가 아니었다. 좋은 도구지만 내 상황엔 맞지 않는다. 그래서 안 깔았다.

    Ruflo, OmniRoute가 과했던 이유

    Ruflo는 스웜 오케스트레이션(swarm orchestration, 여러 AI 에이전트를 동시에 무리 지어 운영하는 방식) 프레임워크다.

    근데 확인해보니 사실 claude-flow라는 기존 프로젝트를 이름만 바꾼 거였다. 버전이 385개나 찍혀 있었다. 60개 넘는 에이전트를 동시에 굴리는 구조인데, 내 작업은 프로젝트마다 4~5개 역할이 정해진 순서대로 도는 방식이다. Ruflo가 필요한 상황이 아니었다. 이름을 바꿨다고 다른 도구가 되는 건 아니다.

    OmniRoute는 다른 방향에서 과했다. 여러 AI 제공사(OpenAI, 앤트로픽 같은 곳)를 하나로 묶어서 무료 할당량을 다 쓰면 자동으로 다른 모델로 넘어가는 게이트웨이(gateway, 여러 서비스를 하나로 연결하는 중간 통로)다.

    아이디어는 나쁘지 않다. 하지만 내 파이프라인 전체가 Claude 하나 기준으로 맞춰져 있다. 말투 스킬도, AI 패턴 차단 규칙도 전부 Claude 기준이다. 여기에 다른 모델을 섞으면 그동안 다듬어온 것들이 다 어긋날 수 있다. 거기다 요청이 게이트웨이를 하나 더 거치게 된다는 것도 마음에 걸렸다. 중간에 거치는 단계가 하나 늘어날 때마다 뭔가 꼬일 가능성도 하나씩 늘어난다.

    13만 개 별을 의심하고 다시 확인한 검증 과정

    ponytail 별(star, GitHub에서 사용자들이 좋은 프로젝트에 누르는 즐겨찾기 같은 것)이 13만 개, graphify가 11만 개라고 나왔다.

    이 숫자가 이상했다. 13만 개면 엄청난 숫자다. 유명한 오픈소스 프로젝트 수준이다. AI가 그냥 그럴듯하게 숫자를 지어냈을 수 있다고 생각했다. AI가 할루시네이션을 일으키는 건 알려진 사실이다.

    그래서 GitHub API(Application Programming Interface, 프로그램끼리 데이터를 주고받는 통로)로 직접 다시 확인해달라고 했다. 결과는 같은 숫자였다. 진짜였다.

    AI 에이전트 도구 ponytail과 graphify 별점을 GitHub API로 재검증한 터미널 화면, stargazers_count 값이 동일하게 확인됨

    의심했다. 확인했다. 믿었다. 이 순서가 맞다. 실제로 ponytail 저장소에 들어가면 지금도 그 별점을 직접 확인할 수 있다.

    AI가 말하는 숫자나 사실은 한 번쯤 다시 확인해야 한다. 귀찮더라도 그렇게 해야 한다. 이번엔 맞았지만, 다음에도 맞다는 보장은 없다.

    하나도 안 깐 게 오히려 정답인 이유

    7개를 다 봤다. 하나도 안 깔았다.

    처음엔 뭔가 하나쯤은 새로 깔아야 할 것 같았다. 7개를 다 확인해봤는데 결과물이 없으면 시간 낭비처럼 느껴질 것 같았다. 근데 하나씩 따져보면서 생각이 바뀌었다.

    이미 있는 건 이미 있는 거다. 없는 건 지금 내 상황에 안 맞았다. 새로 깐 게 없다는 게 실패가 아니라, 지금 쓰는 구조가 이미 내 상황에 맞게 다듬어져 있다는 확인이었다.

    뭔가를 안 하기로 결정하는 것도 결정이다. 그리고 그 결정을 내리려면 일단 확인은 해봐야 한다. 소개 카드만 보고 “좋아 보이네” 하고 깔았으면 지금 내 환경에 안 맞는 도구들이 3~4개쯤 더 쌓여 있었을 거다.

    다음엔 지금 이미 깔려 있는 도구들을 제대로 들여다볼 생각이다. ponytail이 그 대화 내내 켜져 있었다는 걸 이번에 처음 알았다. 모르고 쓰고 있는 게 또 있을 거다.

    버전이 안 맞아서 CLI가 아예 안 됐던 사례는 데몬 버전 불일치로 CLI가 안 됐던 이야기 (v1.8.7→1.8.8)에 정리했다.

  • 올라마 연동, 왜 아직 안 깔았나

    올라마 연동, 왜 아직 안 깔았나

    인스타그램 릴스 하나가 날아왔다. “이거 나한테 적용 가능한지 확인해줘.”

    내용은 단순했다. 올라마 연동 소식이었다. 올라마(Ollama, 로컬에서 AI 모델을 실행하는 도구)가 클로드 데스크톱(Claude Desktop, 앤트로픽이 만든 채팅 전용 앱)과 공식 연동을 발표했다는 것. 토글(toggle, 켜고 끄는 스위치) 하나로 클로드 데스크톱 안의 모델 슬롯을 올라마의 로컬 모델이나 올라마 클라우드 모델로 바꿀 수 있다고 했다. DeepSeek, Qwen, Kimi, GLM 같은 이름들이 줄줄이 등장했다.

    올라마 앱의 Apps → Claude 연동 토글 화면솔직히 말하면, 보자마자 설치하고 싶어졌다. 그게 사람 심리다.

    인스타 릴스 하나가 던진 질문: 이게 정말 가능한가?

    영상 내용은 꽤 구체적이었다. 올라마 v0.33, 2026년 8월 25일 공식 발표, 제로 데이터 보존(zero data retention, 입력한 데이터를 서버에 저장하지 않는 방식), 맥(Mac) 전용. 숫자와 날짜까지 나오면 그럴싸하게 보인다. 근데 그럴싸하다고 사실은 아니다.

    영상은 Fable 5, Opus 5, Sonnet 5, Haiku 4.5, Sonnet 4.6 같은 모델 슬롯을 직접 보여주면서 “여기다 올라마 모델 꽂으면 된다”는 식으로 설명하고 있었다. 화면 구성이 매끄러웠고, 시연 방식도 자연스러웠다. 가짜 영상치고는 너무 정돈돼 있었다.

    그렇다고 그냥 믿으면 안 된다. 확인을 먼저 해야 한다.

    영상 내용이 사실인지 확인하는 방법, 웹 검색과 공식 블로그까지

    인스타그램은 로그인 없이 영상을 받을 수가 없다. 처음 다운로드 시도는 바로 막혔다. 로그인 상태가 필요했고, 크롬 브라우저 쿠키를 활용해서 다시 시도했다. 그렇게 받은 영상을 프레임 단위로 분석하고 자막을 확인했다.

    다음 단계는 웹 검색이었다. 영상이 주장하는 내용 — 올라마 v0.33, 2026년 8월 25일 발표, 제로 데이터 보존 , 을 하나씩 따로 검증했다.

    결과는 이랬다. 지어낸 얘기가 아니었다. 올라마 공식 블로그에 실제로 게시된 발표였고, 다른 기술 매체인 The New Stack의 보도와도 내용이 일치했다.

    올라마 공식 블로그의 Claude Desktop support with Ollama 발표 캡처영상이 사실이었다. 그러면 바로 설치해야 하나?

    아니었다.

    사실이어도 내 작업에는 왜 필요 없었나, 클로드 데스크톱 vs Claude Code

    여기서 구분이 필요하다. 헷갈리기 쉬운 부분이라 명확히 짚고 넘어간다.

    • 클로드 데스크톱: 앤트로픽이 만든 채팅 UI(화면) 앱. 사람이 직접 대화하는 방식으로 쓴다.
    • Claude Code: 터미널이나 VSCode 확장으로 돌리는 자동화 도구. 스크립트를 짜서 반복 작업을 시킨다.

    이름에 둘 다 ‘클로드’가 붙어 있다. 다른 제품이다.

    실제로 매일 돌리는 건 Claude Code다. 이 블로그 글쓰기 스크립트, 워드프레스 업로드 자동화, 랭크매스 MCP 세션 문제를 우회한 스크립트 , 전부 Claude Code에서 돌아간다.

    올라마 연동은 클로드 데스크톱 채팅 화면에서 다른 모델을 써보는 기능이다. 내가 매일 쓰는 자동화 파이프라인과는 아예 다른 제품을 건드리는 거였다. 설치해봤자 내 작업 흐름에서 달라지는 건 없다.

    그래서 설치하지 않았다. 이유가 이게 전부다.

    올라마 연동이 정말 쓸모없는 기능일까?, 누구한테는 필요할 수 있다

    쓸모없다고 한 적 없다. 내 상황에서 지금 당장 우선순위가 아니라는 것뿐이다.

    이 기능이 유용한 사람은 따로 있다.

    • 클로드 데스크톱 앱을 따로 채팅 용도로 쓰고 있는 사람
    • 비용을 줄이면서 다양한 오픈소스 모델을 실험해보고 싶은 사람
    • DeepSeek, Qwen 같은 로컬 모델을 클로드 데스크톱 인터페이스에서 바로 써보고 싶은 사람

    단, 한 가지는 확인해둬야 한다. 일부 모델은 올라마 클라우드 유료 플랜이 필요하다. 무조건 무료는 아니다.

    그리고 한 가지 더. 켰다 껐다가 된다. 토글 하나로 원래대로 즉시 복귀된다고 한다. 설치가 영구적인 변경이 아니라는 뜻이다. 지금 필요하지 않아도 나중에 설치해도 늦지 않는다. 그 판단도 이번에 내린 결론 중 하나다.

    AI 도구 소식 앞에서 판단을 미루는 게 맞는 이유

    트렌드성 AI 소식이 뜨면 바로 설치하고 싶어진다. 이건 솔직히 누구나 그렇다. 이상한 게 아니다.

    근데 이번에 두 단계를 밟았다. 그게 맞았다.

    첫째, 이게 진짜인지 확인했다. 릴스 영상이라고 다 사실이 아니다. 공식 블로그와 다른 매체 보도까지 교차 확인했다. 이번 건 통과했다.

    둘째, 진짜라고 해도 내가 실제로 쓰는 워크플로우에 맞닿아 있는지 확인했다. 이번엔 여기서 걸렸다. ‘클로드’라는 이름이 같아도, 클로드 데스크톱과 Claude Code는 다른 제품이다. 내 자동화는 전부 Claude Code 쪽이다.

    새로운 도구 소식이 나올 때마다 바로 뛰어들 필요는 없다. 확인하고, 따져보고, 지금 내 작업에 실제로 필요한지 판단한 다음 움직여도 전혀 늦지 않는다.

    올라마 연동은 백로그에 올려뒀다. 클로드 데스크톱을 채팅 용도로 쓰기 시작하는 시점이 오면, 그때 꺼내볼 생각이다.

  • 세션 ID 문제, Claude Code에서 MCP가 안 보이는 이유

    세션 ID 문제, Claude Code에서 MCP가 안 보이는 이유

    ujinify.com 워드프레스에 MCP Adapter가 코어에 내장돼 있다는 걸 알게 됐다. 나중에 밝혀졌지만, 이 이야기의 결론은 결국 세션 ID 하나였다.

    거기에 랭크매스(워드프레스 SEO 플러그인)가 ability(어빌리티, 서버가 외부에 제공하는 기능 단위)를 25개나 등록해뒀다. get-seo-scores로 여러 글 점수를 한 번에 조회하거나, audit-site-seo/fix-site-seo로 사이트 전체를 진단하고 자동 수정하거나, set-homepage-seo로 설정까지 바꿀 수 있는 것들이었다.

    그전까지는 SEO 점수 하나 확인하려면 Playwright(플레이라이트, 브라우저를 자동으로 조종하는 도구)로 wp-admin 에디터를 직접 열어야 했다. 이걸 Claude Code에 MCP 서버로 등록하면 API 호출 하나로 끝낼 수 있겠다 싶었다. 그래서 등록했다. 그리고 아무것도 안 됐다.

    문제: MCP가 ‘연결됨’인데 tool이 하나도 안 보여요

    등록 자체는 간단했다.

    claude mcp add --transport http ujinify-wp <MCP 서버 URL> --header "Authorization: Basic ..."

    claude mcp list를 돌리면 “✔ Connected”가 떴다. 연결됐다는 뜻이다. 그런데 ToolSearch(툴서치, Claude Code에서 사용 가능한 도구를 찾는 기능)로 아무리 찾아봐도 랭크매스 tool(툴, 도구)이 하나도 잡히지 않았다. 매번 “No matching deferred tools found”였다. 세션을 새로 시작해봤다. 재시작도 해봤다. 결과는 똑같았다.

    서버는 연결됐다는데, 실제로 쓸 수 있는 tool은 하나도 없는 상태. 이건 좀 웃겼다.

    curl로 직접 테스트해보니 세션 ID가 필요했다

    Claude Code를 믿지 않기로 했다. curl(컬, 터미널에서 HTTP 요청을 직접 보내는 도구)로 MCP 서버에 직접 말을 걸어보기로 했다.

    먼저 initialize(초기화 요청, MCP 서버와 처음 악수하는 단계)를 호출했다. 서버는 정상 응답했다. 그런데 응답 헤더(header, 서버가 응답과 함께 보내는 부가 정보)를 보니 mcp-session-id라는 값이 딸려 내려왔다. 이 서버는 Streamable HTTP(스트리머블 HTTP, 요청마다 세션 ID를 주고받는 MCP 통신 방식)를 쓰는 타입이었다.

    그 상태에서 세션 ID 없이 바로 tools/list를 호출했다. 결과는 “Missing Mcp-Session-Id header” 에러였다. 반대로, initialize에서 받은 세션 ID를 Mcp-Session-Id 헤더에 실어서 tools/list를 다시 호출했더니 — 랭크매스가 등록한 tool 3개의 스키마(schema, 도구의 구조와 사용법을 정의한 명세)가 정상으로 내려왔다.

    서버는 100% 정상이었다. 문제는 Claude Code 쪽이었다.

    왜 Claude Code는 세션 ID를 못 챙겼을까

    MCP 통신은 핸드셰이크(handshake, 통신 시작 전에 서로 규칙을 맞추는 절차)가 필요하다. MCP 공식 스펙 문서에도 명시돼 있는 내용인데, 순서는 이렇다.

    • initialize 요청을 보낸다.
    • 서버가 응답 헤더로 세션 ID를 내려준다.
    • 이후 모든 요청에 그 세션 ID를 Mcp-Session-Id 헤더에 실어서 보낸다.

    Claude Code의 HTTP MCP 클라이언트가 이 두 번째와 세 번째 단계를 처리하지 못하고 있었다. initialize는 성공했지만, 거기서 받은 세션 ID를 이후 요청에 다시 실어 보내지 않는 것이다.

    claude mcp list의 “Connected” 표시는 initialize 성공만 확인한다. 그러니 이 핸드셰이크 실패를 잡아내지 못하고, 겉으로는 정상처럼 보인다. 연결은 됐지만 실제로 아무것도 못 쓰는 상태가 “Connected”로 표시되는 것이다. 별로였다.

    해결책: 직접 만든 함수로 세션 핸드셰이크 처리하기

    MCP tool 등록에 기대는 걸 포기했다. 대신 이 핸드셰이크 절차를 그대로 코드로 옮겼다.

    scripts/rankmath-mcp.ts에 callRankMathAbility 함수를 만들었다. 이 함수는 호출될 때마다 아래 순서를 자동으로 처리한다.

    • initialize 요청을 보내서 세션 ID를 받는다.
    • 받은 세션 ID를 헤더에 실어서 tools/call을 호출한다.
    • 결과를 반환한다.

    CLI(커맨드 라인 인터페이스, 터미널에서 명령어로 프로그램을 실행하는 방식)에서 바로 쓸 수 있게 npm run rankmath -- <ability-name> '<json-params>' 형태로도 만들었다. 기존 upload.ts의 getWpConfig()를 그대로 재사용해서 인증 정보를 따로 관리할 필요도 없게 했다.

    Claude Code가 못 하는 걸 직접 구현한 것이다. 우아하진 않지만 동작한다.

    실제로 점수를 가져왔을 때 검증 결과

    get-seo-scores ability(어빌리티, 여기서는 랭크매스가 MCP를 통해 제공하는 기능)를 호출해서 여러 글의 점수를 한 번에 받아봤다. 이전에 Playwright로 wp-admin 에디터를 직접 열어서 확인했던 점수와 정확히 일치했다. 132번 글 81점, 109번 글 83점, 42번 글 79점. 숫자가 맞았다.

    그다음엔 실제로 사이트 전체를 점검했다. seo_filter를 bad(50점 이하), empty-fk(포커스 키워드 없음), unscored(채점 안 됨)로 각각 돌렸다. 결과는 깔끔했다. 문제되는 글은 하나도 없었다. 포커스 키워드가 없는 건 애초에 필요 없는 고정 페이지 3개뿐이었다.

    브라우저를 한 번도 열지 않았다. 몇 초 만에 끝났다.

    이 방법의 한계, 읽기만 되고 쓰기는 안 된다

    명확히 해둬야 할 게 있다.

    get-seo-scores는 데이터베이스에 이미 저장된 점수를 ‘읽기’만 한다. 랭크매스의 점수 계산 엔진 자체는 여전히 브라우저, 구체적으로는 wp-admin 에디터의 자바스크립트에서만 돌아간다. 새 글을 올리거나 콘텐츠를 수정한 직후에 점수를 새로 계산하려면 여전히 에디터를 열어야 한다. REST나 MCP로는 재계산을 트리거할 방법이 없다.

    analyze-post-content라는 ability도 있다. 이건 점수를 주지 않는다. 원본 콘텐츠와 24개 테스트 목록, 채점 기준 문서를 던져주고 AI가 직접 채점하라는 방식이다. 손이 많이 가서 아직 시도하지 않았다.

    결국 이 방법으로 해결된 건 ‘이미 채점된 점수를 빠르게 읽는 것’이다. 채점 자체는 여전히 브라우저 의존이다. 한계를 알고 쓰면 된다. 모르고 쓰면 나중에 헷갈린다.

    다음에는 analyze-post-content를 실제로 써볼 생각이다. AI가 직접 채점한 결과가 랭크매스 공식 점수와 얼마나 차이 나는지 비교해보면 쓸만한지 아닌지 판단할 수 있을 것이다.

    “설정 화면에 값이 있다고 실제로 작동한다는 보장은 없다”는 패턴은 이번에도 반복됐다. 워드프레스 SEO 버그 5개 총정리 글에서 다룬 다섯 가지 사례와 정확히 같은 결이다. 이번엔 랭크매스 설정이 아니라 Claude Code의 MCP 연결 상태였다는 것만 다르다.

    세션 쪽에서 겪은 또 다른 문제는 Claude 5시간 한도 72% 찍힌 이유는 세션 길이였다에도 있다.

  • Claude Code 스킬 정리 후기, 죽은 폴더를 가리키던 스킬 1개와 메모리 4개

    Claude Code 스킬 정리 후기, 죽은 폴더를 가리키던 스킬 1개와 메모리 4개

    블로그 예약 발행 작업을 다 끝내고 나서 문득 이런 생각이 들었다. 계속 추가만 했지, 한 번도 정리를 안 했다는 걸. 그래서 Claude Code 스킬 정리를 처음으로 해봤다.

    Claude Code 스킬 정리를 해야겠다고 생각한 이유

    Claude Code에는 스킬(skill)과 메모리(memory)라는 개념이 있다. 스킬은 “블로그 포스팅해줘”처럼 특정 말을 하면 자동으로 실행되는 루틴이다. 메모리는 Claude가 작업할 때 참고하는 기록 파일들이다. 둘 다 쓸수록 쌓인다.

    나는 작업할 때마다 스킬을 추가하고, 메모리를 저장하고, 그걸 다시 꺼내 쓰는 방식으로 Claude를 활용해왔다. 근데 돌이켜보니 한 번도 뒤를 돌아본 적이 없었다. 쌓기만 했다.

    그래서 물어봤다. “지금 메모리랑 스킬 중에 삭제해도 무관한 거 있어?”

    오래 안 쓴 것을 찾는 대신 ‘없는 것’을 찾기로 한 결정

    처음 접근은 단순했다. 마지막으로 쓴 날짜 순으로 정렬해서 오래된 것부터 지우면 될 거라고 생각했다.

    근데 그게 안 됐다.

    세션(session, 한 번의 작업 대화 기록) 기록이 3주치밖에 남아 있지 않았고, 그 안에서 스킬이 실제로 호출된 횟수는 전부 합쳐서 20번이었다. 이 데이터를 기준으로 “안 쓴 것”을 추리면 멀쩡하게 살아 있는 스킬까지 다 걸린다. 판단 기준으로 쓸 수가 없었다.

    그래서 기준을 바꿨다. Claude Code 스킬 정리의 기준을 “오래 안 쓴 것”이 아니라 “없는 걸 가리키는 것”으로 잡았다. 존재하지 않는 폴더나 폐기된 프로젝트를 참조하고 있는 항목을 찾는 거다. 이건 기간 데이터가 없어도 확인할 수 있다.

    가장 자주 쓰는 말에 걸린 죽은 스킬 발견

    첫 번째로 나온 게 blog-automation이라는 스킬이었다.

    이 스킬의 트리거(trigger, 스킬을 작동시키는 특정 말이나 조건)는 “블로그 포스팅해줘”, “포스트 만들어줘” 같은 말이었다. 내가 가장 자주 쓰는 말이다. 그런데 이 스킬이 라우팅하는 대상이 blog-generator 폴더였고, 그 폴더는 이미 삭제된 지 오래였다. ai-blog-generator도 마찬가지였다. 폐기된 프로젝트였다.

    즉, “블로그 포스팅해줘”라고 하면 없는 폴더로 cd(폴더 이동 명령어) 하는 명령이 나올 수 있는 상태였다.

    언제부터 이랬는지는 모른다. 이 스킬을 만든 건 4월이고, 프로젝트가 폐기됐다고 기록해둔 건 8월 말이다. 그사이 어디쯤에서 깨졌을 텐데 정확한 시점을 알 방법이 없다. 깨진 걸 아무도 기록하지 않았으니까.

    조금 놀랐다. 그리고 열받았다. “왜 지금까지 나한테 말을 안 해줬을까”라는 생각이 먼저 들었는데, 내가 물어본 적이 없으니 말을 안 한 거다. 틀린 말도 아니다. 그게 더 답답했다.

    지금까지 Claude와 함께 만든 것들이 — 서브에이전트 7개로 만든 블로그 파이프라인 같은 것들이 , 이 스킬을 거쳐갔다면, 쏟아부은 노력에 구멍이 있었던 거다. 멀쩡히 작동하는 것처럼 보였을 뿐이고.

    메모리 파일에서 나온 4개의 좀비 참조들

    좀비 참조란 이미 삭제되거나 폐기된 대상을 가리키는 기록을 말한다. 실제로 없는데 있다고 믿고 있는 항목들이다.

    메모리 쪽에서는 네 개가 나왔다.

    • 폐기한 tech-blog-generator의 스킬 자동 업데이트 규칙
    • 폐기한 블로그의 글자 수 기준
    • 삭제된 blog-generator의 에이전트 구성 문서
    • 색인에 아예 등록되지 않은 고아 파일 하나

    전부 존재하지 않는 것을 가리키고 있었다.

    그중 세 번째가 특히 웃겼다. 삭제된 blog-generator의 에이전트 구성 문서는 그날 만든 거였다. 몇 시간 전에 세션 정리하면서 저장한 문서인데, 그 프로젝트가 이미 폐기됐다는 걸 모르고 저장한 거다. 만든 지 반나절도 안 된 메모리가 벌써 죽어 있었다.

    쌓이는 속도보다 썩는 속도가 더 빠를 수 있다는 걸 이때 처음 실감했다.

    Claude Code 스킬 정리 후 blog-automation 스킬 삭제, 메모리 57개→53개, MEMORY.md 끊긴 링크 0건을 터미널에서 직접 확인한 화면

    정리를 다 끝내고 나서 직접 확인한 화면이다. blog-automation은 더 이상 없고, 메모리는 53개로 줄었고, MEMORY.md 안에서 실제 파일을 못 찾는 링크는 하나도 없다.

    Claude Code 스킬 정리 결과와, 지우지 않은 것들

    정리 결과는 이렇다.

    항목 정리 전 정리 후
    메모리 파일 57개 53개
    색인 파일 줄 수 125줄 113줄
    스킬 blog-automation 포함 blog-automation 삭제

    고아 파일 하나는 지우지 않았다. 내용 자체는 쓸 만했기 때문에, 이미 있던 자율 처리 규칙 안으로 합쳤다. 내용은 버리지 않고 위치만 바꾼 거다.

    요즘 안 쓰는 스킬도 몇 개 더 있었는데, 그것들은 건드리지 않았다. 이유는 단순하다. 프로젝트 폴더가 다 살아 있었다. 깨진 게 아니라 지금 당장 안 하는 일일 뿐이다. “오래 안 썼다”는 이유 하나로 지우는 건 근거가 약하다. 지우지 않았다.

    앞으로 이런 문제를 줄이려면 어떻게 해야 할까

    Claude Code 스킬 정리를 매번 내가 물어봐서 하는 게 아니라, 이런 참조 오류를 수시로 체크해서 먼저 알려주는 Claude를 만들고 싶다. 근데 내 마음대로 안 된다. 그게 답답하다.

    한편으로는 나 자신이 문제였다는 것도 안다. 원하는 결과가 나오면 거기서 멈추는 습관. 더 이상 손대지 않으려 하는 것. 정리 같은 건 생각도 안 하는 것. 이번에 발견한 구멍은 그 습관이 만든 거다.

    당장 할 수 있는 건 하나다. 프로젝트를 폐기할 때 관련된 스킬과 메모리를 같이 정리하는 것. 지금은 추가할 때만 신경 쓰고 삭제할 때는 아무것도 안 한다. 그러니까 blog-automation처럼 언제 죽었는지도 모르는 스킬이 생기는 거다.

    폴더를 지울 때 그 폴더를 참조하는 스킬과 메모리도 같이 확인해야 한다. Claude Code 스킬 정리는 그때 같이 끝내는 게 맞다. 순서가 그래야 한다. 추가할 때 꼼꼼한 것보다, 삭제할 때 꼼꼼한 게 더 중요하다는 걸 이번에 배웠다.

    다음번에 또 이런 걸 발견하면, 그때도 내가 물어봐서 찾을 거다. 그게 지금은 좀 불만이지만, 적어도 묻는 습관은 들었다.

    CLAUDE.md 쪽에서 비슷하게 발견한 중복 지침은 CLAUDE.md 정리하다 발견한 중복 지침에 정리했다.

  • 예약 발행 기능을 직접 만들고 4개 글을 한 번에 올린 후기

    예약 발행 기능을 직접 만들고 4개 글을 한 번에 올린 후기

    예약 발행 기능이 없어서 매번 이렇게 됐다. 월요일 아침마다 똑같은 일을 반복하고 있었다. 글 하나 급하게 다듬고, 올리고, 끝. 그게 매주였다.

    왜 그때그때 올리는 방식에 불만을 느꼈을까?

    문제는 비효율이었다. 월요일이 될 때마다 그날 올릴 글 하나를 챙기는 방식은 솔직히 별로였다. 한 번 집중해서 여러 편을 미리 써뒀는데, 그걸 굳이 하나씩 날짜 맞춰 손으로 올려야 한다는 게 이상했다.

    그래서 방향을 바꿨다. 한 주치 분량을 미리 정해두고, 날짜에 맞춰 자동으로 나가게 하는 구조가 낫다고 판단했다. 어느 월요일 아침, Claude Code에 바로 요청했다. “이번 주 수요일, 토요일, 다음 주 수요일, 토요일. 4개 예약 발행 하고 싶은데 가능해?”

    가능하지 않았다.

    예약 발행 기능이 없다면 직접 만들어야 한다

    업로드 스크립트(script, 자동으로 실행되는 명령어 묶음)에는 예약 발행 기능 자체가 없었다. 초안(draft, 공개 전 임시 저장 상태)으로 올리는 것만 됐다. 특정 날짜에 자동으로 글이 나가도록 하는 옵션은 아예 존재하지 않았다.

    당연히 있을 거라고 생각했다. 없어서 좀 당황스럽긴 했지만! 근데 어쩔 수 없다. 이것 역시 내가 지금까지 겪었던 것처럼 없으면 만들면 된다.

    그 자리에서 바로 Claude Code에 추가 구현을 요청했다. 기존 스크립트를 고쳐서 날짜를 지정하면 그 시각에 발행되도록 하는 옵션을 넣는 작업이었다.

    –schedule 옵션을 추가한 과정

    Claude Code에게 요청한 방향은 단순했다. 기존 업로드 스크립트에 --schedule 옵션(option, 명령어를 실행할 때 추가로 붙이는 설정값)을 새로 추가해 달라는 것이었다. 날짜를 함께 넘기면 해당 시각에 발행되는 구조다.

    예를 들어 이런 식이다.

    • 기존 방식: 스크립트를 실행하면 바로 발행되거나 초안으로 저장
    • 추가된 방식: --schedule 2025-07-09처럼 날짜를 붙이면 그 날짜에 자동 발행

    Claude Code가 기존 코드 구조를 파악하고 옵션을 붙이는 로직(logic, 기능이 작동하는 규칙과 흐름)을 추가했다. 내가 직접 코드를 짠 게 아니다. 요청했고, 결과를 확인했다. 그게 전부였다.

    기능 자체는 복잡하지 않았다. 처음부터 있었어야 했다고 생각한다.

    4개 글을 한 번에 처리하려면 기준을 낮춰야 현실적이다

    SEO(Search Engine Optimization, 검색엔진 최적화) 점수 기준 얘기를 해야 한다. 평소에는 랭크매스 기준 80점을 맞추고 올렸다.

    이번엔 달랐다. 한 번에 4개를 처리해야 했다. 4개 전부 80점을 맞추려고 시간을 쓰다 보면 예약 발행의 의미가 없어진다. 그래서 기준을 낮췄다. 70점 이상이면 올린다고 정했다.

    Claude Code에 요청할 때도 명확하게 전달했다. “랭크매스는 70점 이상만 맞춰줘.” 완벽하게 다듬는 것보다 4개를 제때 내보내는 게 이번의 목표였다.

    기준을 낮추는 게 맞냐 틀리냐의 문제가 아니다. 현실적인 선택이었다. 한 번에 처리하는 분량이 늘어나면 기준도 거기에 맞게 조정해야 한다. 그렇지 않으면 결국 아무것도 못 올린다.

    실제로 예약 발행을 돌려본 결과

    4개 글을 한 번에 예약 걸었다. 이번 주 수요일, 토요일, 다음 주 수요일, 토요일. 각각 날짜를 지정해서 스크립트를 돌렸다.

    예약 발행 기능을 만들어서 4개 글을 한 번에 예약한 실제 화면

    작동했다. 상태가 “future”로 바뀌면서 예약이 정상적으로 걸린 걸 확인했다. 이제 지정한 날짜가 되면 자동으로 발행된다. 월요일 아침에 급하게 뭔가를 챙기는 일은 없어졌다.

    다만 솔직히 말하면, 70점 기준으로 올린 글들이 80점짜리보다 성과가 어떻게 다를지는 아직 모른다. 데이터가 쌓여야 안다. 지금은 그냥 지켜보는 중이다.

    예약 발행 자체는 앞으로도 유지할 생각이다. 그때그때 올리는 방식으로는 안 돌아간다. 미리 묶어서 처리하는 게 훨씬 낫다. 다음엔 4개가 아니라 더 늘릴 수 있을지 한번 봐야겠다.