무엇인가
SmartThink는 일을 맡기기 전에 부르는 Claude Code 스킬이다.
전략이나 의사결정처럼 머리를 써야 하는 일이 오면,
그 일에 맞는 멘탈 모델 레퍼런스를 고르고
원문 그대로 세션에 실은 뒤 턴을 끝낸다.
일은 그렇게 무장한 세션에 내가 직접 시킨다.
처음부터 이렇게 생긴 스킬은 아니었다.
3.0.0 릴리스에서 분석 명령이 컨텍스트 무장 엔진으로 바뀌었다.
질문에 답하는 대신 답할 세션을 만든다.
발행 카탈로그의 상태는 보관이다.
리포 소개글은 첫머리에서 목적을 이렇게 적었다.
"이 세션을 그 작업에 특화된 전문가로 만든다"
스킬 설명은 재료를 멘탈 모델 81개, 사고 엔진 12개,
TRIZ(발명 문제 해결 이론) 프레임워크로 적었다.
소개글의 사용 예는 이런 식이다.
"/st 사내 문서 검색 도구를 새로 만들지 기존 것을 개선할지 결정"
왜 만들었나
2월에 윈도우 PC(WSL2)의 Claude Code에서 처음 만들었다.
첫 호출은 다음 날 새벽이었고
1인 기업으로 SaaS를 만들어 가려던 방향을 물었다.
"내 1인 기업의 운명을 다시한번 깊게 생각해줘"
레퍼런스 9종은 에이전트가 커밋 하나로 넣었다.
3월에 단독 패키지로 떼어 낼 때 남긴 커밋 메시지에는 그 분량이
"7,400+ lines of thinking frameworks"로 적혀 있다.
2월 21일에는 자동 진화가 실제로는 일어나지 않는다고 짚었다.
메타인지로 스스로 진화한다고 알고 있었는데,
"근데 실상을 파헤쳐보니 그렇지 않더라고?"
7월에 맥으로 옮길 때는 PC에서 직접 만든 스킬 중 이것만 골랐다.
"일단 smartthink만 가져오자. 나머진 레거시다."
9월 초에 v3를 다시 설계하면서 두 가지를 정했다.
첫째, 레퍼런스를 고르는 게이트는 남긴다.
"레퍼런스 하나하나가 꽤 무거워서 전부 로딩하는건 바보같은 짓이고."
둘째, 서브에이전트가 메인에 넣을 내용은 이렇게 적었다.
"단, 요약하기보단 원문강화판으로."
대상은 도메인 지식이 없는 사용자로 잡았고
진화 기능도 이번에는 그냥 넘어가지 않겠다고 했다.
"이제는 확실히 짚고가야해."
어떻게 동작하나
/st에 할 일을 붙여 부르면 먼저 게이트가 한 번 뜬다.
게이트는 Cynefin(문제의 성격을 가르는 진단 틀)으로 일을 진단하고
쓸 모듈과 예상 비용을 보여 준다.
내가 모듈을 고르면 무장 담당 서브에이전트가 자기 컨텍스트 창에서 팩 파일을 쓴다.
팩에는 고른 모듈 원문, 이 일에 맞춘 적용 레이어,
리서치 합성이 6개 절에 나뉘어 들어간다.
메인 세션은 그 팩을 읽고 첫 절의 무장 브리핑을
다시 합성하지 않고 그대로 출력한 뒤 턴을 끝낸다.
스킬 지침에는 "본 작업에 착수하지 마라"라고 적었다.
팩에 실은 레퍼런스는 원문이다.
모듈마다 시작과 끝에 표지를 두르고 원본의 SHA-256을 함께 실었다.
3.0.0 변경 기록은 표지와 SHA-256으로 구조 검사 스크립트가
요약·줄 바꿈·절단이 없음을 증명하게 했다고 적었다.
10월 18일 기준으로 기본 브랜치 커밋 116개 가운데
머지가 아닌 97개 전부에 Claude 공동 작성자 줄이 붙어 있다
(커밋 메시지에서 Co-Authored-By:로 시작하는 줄을 센 값).
발행 카탈로그는 내 역할을 "방향과 설계 결정"으로 적었다.
써 보니
이전 PC의 Claude Code 입력 기록 9,696행에서
/smartthink나 /st로 시작하는 행은 145개다.
첫 호출은 2월 20일, 마지막 호출은 4월 25일이고
호출이 있었던 날은 39일이다.
월별로는 2월 55개, 3월 73개, 4월 17개다.
맥 Claude Code 세션 기록에서 이 스킬을 부른 도구 호출은
9월 8일부터 10월 1일까지 31건이다(호출 번호로 중복을 걷어 낸 값이며
슬래시 명령이 본문으로
펼쳐진 헤드리스 테스트 세션 13개는 이 측정 범위 밖이라 31건에 들지 않는다).
그중 19건은 테스트 주제였고 6건은 init과 status였다.
내 실제 작업에 무장한 호출은 6건이고 세션으로는 3개다.
31건은 사용 횟수가 아니라 도구 호출 기록이다.
직접 써 보다 걸려 고친 결함이 셋 있었다.
9월 말에 /st init을 직접 돌리다가 인터뷰 질문 '현재 목표'에 걸렸다.
"현재목표는 그냥 st 스킬을 썼을때 물어봐야할 문장아닌가싶은거지."
같은 날 이슈를 열었고 PR #32·#33으로 목표 질문을
init에서 무장 게이트로 옮겼다.
다음 날에는 심링크로 설치한 환경에서 /st를 부를 때마다
이름을 잘못 짚어 실패 호출이 한 번씩 발생했다.
"아니 실패비용을 없애려고해. 제일 싸게먹히는방법을 생각해봐"
에이전트는 리포 소개글이 안내하는 설치 스크립트를 쓰는 사용자도
전원 같은 실패를 겪는다고 답했다.
그래서 내 설치를 손보는 대신 리포 규칙을 고쳐서
세션에 등록된 이름을 먼저 고르게 했다(PR #34).
10월 1일에는 부업 시장조사를 하던 중에 무장을 걸었다.
"이쯤에서 멘탈무장해보자. /st"
게이트에서는 "모듈은 추천+유니콘플레이북"으로 골랐다.
그 무장 중에 웹 조사 방식을 짚었다.
"엥 웹조사하는 양반이 어사이드를못쓰면 크게 잘못된거지 고쳐"
PR #35가 무장 에이전트에 브라우저 에이전트 레인을 붙였다.
실패와 고친 것
4월에는 PC 쪽 스킬이 같은 답을 두 번 냈다.
직전 세션의 에이전트가 이를 막으려고 스킬을 고쳤는데도 증상은 그대로였다.
"아직도 두번 답변을 생성하는것같아. 벌써 고치라는것만 3번째야."
에이전트가 남긴 메모는 설명 줄에 3회 반복 위반, 본문에 4회 지적으로 적어 기록끼리 어긋난다.
본문에는 "텍스트 경고만으로 행동 변화 실패"라고 남겼다.
9월 v3 구현의 첫 이틀에는 설치와 기본값에서 사고가 났다.
설치 스크립트가 v3에서 지운 옛 검색 에이전트를 링크하고,
새 무장 에이전트는 빠뜨렸다.
플러그인이 아닌 설치 사용자 전원이
무장 경로 대신 범용 폴백으로 조용히 강등되는 결함이 있었다.
이 결함을 다룬 커밋의 시험하지 않음 칸에는
"실제 사용자 홈에 설치하지 않음. 샌드박스 HOME 드라이런으로만 확인"이 적혀 있다.
다음 날에는 진화 상태 변환 스크립트가 문제였다.
이 스크립트는 인자 없이 돌리면 기본 vault(진화 상태와 팩을 쌓는 내 저장소)를 곧바로 바꿨고
팀장 에이전트가 무인자 테스트로 내 실제 vault를 변환했다가 되돌렸다.
그래서 기본 동작을 미리보기로 바꾸고 쓰기 옵션을 줄 때만 실제로 쓰게 했다.
9월 17일에는 빈 임시 디렉터리를 vault로 지정한 헤드리스 실행에서
스킬이 그 디렉터리를 테스트 잔재로 판단하고 기본 vault로 폴백했다.
그 결과 실제 vault에 팩이 생겼다(이슈 #10).
이를 고친 커밋은 vault 경로 해석을 결정적 스크립트 하나로 옮겼고
기각한 안에는 이유를 남겼다.
"LLM 산문 해석 유지 | 같은 문구로 T1과 9/17 결과가 갈림"
| 시기 | 걸린 것 | 고친 뒤 |
|---|---|---|
| 9월 8일 | 실행 게이트 T1~T13 첫 실측 PASS 10 / FAIL 2 / BLOCKED 1. T2는 예산 절삭이 리서치를 먼저 끄고 되돌리지 않아 팩 3절 누락, T4는 digest 팩에 표지 0개, T13은 Codex에 명령 미등록 | 9월 18일 재실행에서 T2·T4 PASS |
| 9월 27일 | 무장 한 번에 권한 프롬프트 10회(스킬 디렉터리 Read 9, 경로 해석 Bash 1) | 새 세션 무장 2회 합계 0회. Claude Code 2.1.283 default 권한 모드, 격리 설정 폴더와 가짜 HOME, 작업 디렉터리는 플러그인·vault 밖 |
| 10월 2일 | 무장 에이전트가 WebFetch 요약을 인용 근거로 쓸 수 있었음 | 원문을 curl로 읽게 바꿈(PR #36). 시험하지 않음 칸은 "실제 /st 무장 런에서 curl 호출" |
같은 날 이슈로 받은 Codex 자동 리뷰 봇의 지적은 따로 쓴 글이 다룬다.
지금 상태
[!맥락] 상태는 2026-10-19 확인 기준이다. 그 뒤로 리포 커밋과 열린 이슈는 없다.
발행 카탈로그는 SmartThink의 상태를 보관으로 적었다.
개발일지 목록에는 기간 2026-02-19~2026-10-02로 올라 있다.
마지막 커밋은 10월 2일의 PR #44 머지이고 최신 릴리스는 v3.0.2다.
이슈 26개는 전부 닫혔고 이슈를 연 계정은 모두 내 것이다.
스타와 포크는 0이다.
이 맥에는 리포 체크아웃을 가리키는 심링크로 설치돼 있다.
확인한 것은 셋이다.
첫째, 리포 소개글이 안내하는 마켓플레이스 설치 경로가 낡았다.
마켓플레이스 리포는 smartthink를 3.0.0 정식 릴리스 전인 9월 8일 커밋에 고정하고 있고
그 뒤로 smartthink 기본 브랜치에 커밋이 81개 더 있다.
둘째, 10월 2일에 고친 curl 경로는 실제 무장 런에서 실행된 기록이 없다.
맥 Claude Code 세션의 마지막 호출이 10월 1일이기 때문이다(Codex 세션은 보지 않았다).
셋째, vault의 진화 상태 파일은 v3 형식으로 바뀌지 않았고
마지막 수정 시각은 9월 7일 밤이다.
맥 세션 호출 31건 가운데 /st retain을 부른 것은 0건이다.