AI 코딩도구 도입 진단 CLI — "설치했는가"가 아니라 "실제로 쓰는가"를 측정한다.
Claude Code 설정(~/.claude)에 깔린 스킬, 에이전트, MCP, 플러그인을 전부 열거하고, 실제 대화 로그에서 호출 흔적을 세어 겹쳐 본다. 내 셋업을 직접 측정한 결과는 이랬다.
설치 135 → 켜둠 44 → 계량가능 44 → 실사용 17 → 자주씀 12
켜둔 자산 44개 중 27개(61%)가 죽어 있었다. 실채택률 38.6%. 이 숫자가 어떻게 나왔고, 왜 첫 숫자 78%를 버렸는지는 아래 케이스 스터디에 있다.
Python 3.11 이상.
git clone https://github.com/calintzy/adoptscore.git
cd adoptscore
pip install .adoptscore # 스캔 + 터미널 리포트 (기본 분석 창 49일)
adoptscore --window 90 # 분석 창 변경
adoptscore --json # JSON 출력 (CI, 후처리용)
# 옵트인: 상황을 주입해 스킬이 실제로 발동되는지 실험 (로컬 claude 필요)
adoptscore activate --skill <스킬이름> --prompt "온타겟 프롬프트"리포트는 퍼널(설치 → 켜둠 → 계량가능 → 실사용 → 자주씀)을 헤드라인으로, 자산별 채택 등급과 정리 우선순위를 함께 낸다. 측정이 못 미치는 곳(상시 발동 스킬, 열거 밖 호출)은 숨기지 않고 리포트가 스스로 밝힌다. 실측 산출물은 out/에 있다.
adoptscore로 내 Claude Code 셋업을 측정하고, 그 숫자를 다시 검증한 기록.
지난 반년 Claude Code를 주력으로 쓰면서 스킬이며 에이전트며 MCP 서버를 계속 얹었다. 좋아 보이면 깔고, 남이 추천하면 깔고, 직접 만들어 붙이기도 했다. 어느 순간 "이거 다 쓰긴 하나?"라는 생각이 들었다. 느낌으로는 답이 안 나온다. 그래서 셌다.
측정 도구를 만들었다. 하는 일은 단순하다. 설정에 뭐가 깔려 있는지와 실제 대화 로그에 뭐가 호출됐는지를 겹쳐 본다. "깔았다"가 아니라 "썼다"를 세는 것이다.
처음 돌렸을 때 나온 헤드라인은 "128개 중 100개(78%)를 안 쓴다"였다. 극적이다. 블로그 제목으로 딱이다.
그런데 정직한 측정이 목적인 도구가 첫 숫자에 취하면 안 된다. 내 숫자를 뜯어봤다. 그러자 편향이 하나씩 나왔다. 편향이 전부 같은 방향으로 쏠려 있었다. "죽음"을 부풀리는 쪽이었다.
- 꺼둔 걸 방치로 셌다. 128개 중 91개는 내가 이미 비활성으로 꺼둔 플러그인의 스킬이었다. 호출이 물리적으로 불가능한 걸 "손이 안 가서 안 쓴 것"으로 센 셈이다. 지운 앱을 폰 사용률에 넣는 것과 같다.
- 상시 발동 스킬은 흔적을 안 남긴다. 항상 CLAUDE.md 규칙으로 배경에서 도는 스킬은 명시적 호출 기록을 거의 안 남긴다. 이걸 "죽음"으로 잡으면 위양성이다.
- 정작 제일 많이 쓴 건 세지도 못했다. 실제로는 하위 에이전트 위임(general-purpose 129회 등)과 플러그인 MCP가 로그를 도배하고 있었는데, 내 도구는 그걸 열거조차 안 해 534건을 통째로 흘렸다.
측정을 고쳤다. 채택률은 켜둔 자산만 분모로 잡고, 꺼둔 건 따로 빼고, 못 세는 건 못 센다고 드러냈다. 그러자 이렇게 나온다.
설치 135 → 켜둠 44 → 계량가능 44 → 실사용 17 → 자주씀 12
- 실제로 켜둔 자산 44개 중 27개(61%)가 죽어 있다. 실채택률 38.6%.
- 78%가 아니라 38.6%다. 여전히 절반을 못 넘지만, 이게 정직한 숫자다.
- 꺼둔 91개는 별개다. 이미 정리한 것들이고, 그중 14개는 꺼두기 전 실제로 쓰던 흔적이 있다.
도구는 이제 자기 한계도 리포트에 같이 뱉는다. "명시적 호출만 세니 상시 발동 스킬은 과소집계된다. 이 채택률은 하한선이다." "열거 밖 호출 534건은 측정 사각지대다." 유리한 쪽으로도 불리한 쪽으로도 반올림하지 않는다.
안 쓰는 데도 결이 있다. 하나는 실제 업무에서 아예 안 불리는 것(위 27개). 다른 하나는 상황이 와도 발동이 안 되는 것이다. 트리거에 맞는 작업을 줘도 스킬이 안 뜨는 경우다. 이건 로그만으로는 안 잡혀서, 상황을 주입해 발동되나 확인하는 실험을 옵트인으로 붙였다. "안 쓴다"와 "쓰려 해도 안 뜬다"는 다른 문제고 처방도 다르다.
점수 하나로 등급을 매길 수도 있었다. 안 했다. 대신 위 퍼널을 헤드라인으로 뒀다. "설정 점수 95점"만 보여줬으면 "양호"로 끝났을 텐데, 설정이 깔끔한 것과 실제로 쓰는 것은 다른 이야기다. 실은 그 둘을 한 판에 놓는 것조차 조심해야 했다. 도구가 "설치했다는 사실"에 점수를 주면, 안 쓰는 자산이 점수를 올리면서 동시에 채택률을 내린다. 그래서 2축 판정은 참고치로만 남기고, 정직한 축은 퍼널로 삼았다.
이건 나 한 명의 데이터다. 표본 하나로 일반화할 생각은 없다. 다만 조직이 AI를 실제로 쓰는지 재려면 결국 개인별 실사용의 합으로 내려간다고는 본다. 라이선스 구매 수는 설치일 뿐이고, 조직 설문은 느낌이다. 팀으로 올릴 수 있다는 건 아직 가설이고, 스키마만 그려뒀다.
두 가지다. 하나, AI 도구를 많이 까는 것과 잘 쓰는 것은 다르다. 나조차 켜둔 것의 61%를 방치하고 있었다. 둘, 더 중요한 것. 측정 도구를 만들면 그 측정부터 의심해야 한다. 첫 숫자 78%는 극적이었지만 편향이었다. 자기 숫자를 반증하려 들지 않으면 측정이 아니라 자기암시다. 불리한 결과를 숨기지 않는 것보다 어려운 건, 유리한 결과를 의심하는 것이다.