ck는 세션 간 지속되는 컨텍스트를 위한 Claude Code 프로젝트 메모리 스킬입니다. 프로젝트를 등록하고, 시작 시 브리핑 데이터를 자동으로 불러오며, 결정론적인 Node.js 스크립트를 통해 save, resume, info, list, forget, migrate 워크플로를 지원합니다. Context Engineering에 ck를 쓰려는 경우에 잘 맞습니다.
이 스킬은 82/100점으로, Claude Code에서 프로젝트별 지속 메모리가 필요한 사용자에게 적합한 디렉터리 후보입니다. 저장소는 에이전트가 따라야 할 명확한 명령 트리거, 결정론적인 스크립트 실행, 그리고 일반 프롬프트보다 추측을 줄여 주는 수준의 명령 동작을 제공합니다. 다만 설치와 설정에 대한 기대값은 아직 다소 암시적입니다.
- 트리거 명시성이 높습니다. SKILL.md가 `/ck:*` 명령을 각각의 Node 스크립트에 매핑하고, stdout를 그대로 보여 주라고 지시합니다.
- 실제 동작이 분명합니다. 저장소에는 설명만 있는 것이 아니라 init, save, resume, list, info, forget, migrate용 실행 스크립트가 포함되어 있습니다.
- 워크플로 효용이 있습니다. init가 프로젝트 메타데이터를 자동 감지하고, save가 구조화된 컨텍스트와 네이티브 메모리를 함께 기록해 반복적인 프로젝트 재개를 더 안정적으로 만듭니다.
- 설치/설정 안내가 완전하지 않습니다. SKILL.md는 `~/.claude/skills/ck/commands/`와 데이터 경로를 언급하지만, 스킬 파일 자체에는 설치 명령이 없습니다.
- 일부 워크플로는 여전히 에이전트의 판단에 의존합니다. 예를 들어 `save.mjs --init` 전에 확인/편집 단계가 필요하고, 파괴적인 `forget` 동작에는 수동 주의가 필요합니다.
ck skill 개요
ck가 하는 일
ck는 Claude Code를 위한 프로젝트 메모리 스킬로, 현재 채팅 바깥에 재사용 가능한 컨텍스트를 저장합니다. 여러 저장소를 오가며 작업하고, 매번 같은 배경 설명을 다시 쓰지 않고도 세션 연속성을 유지하고 싶은 사람에게 맞춰 설계되었습니다. 핵심 가치는 단순합니다. 프로젝트를 한 번 등록해 두고, 이후에는 결정적인 Node.js 명령으로 컨텍스트를 저장하고, 이어서 작업하고, 확인하고, 목록을 보고, 잊어버릴 수 있습니다.
어떤 사람이 ck skill을 설치하면 좋은가
ck skill은 Claude Code로 지속적인 저장소 작업을 하는 개발자에게 가장 잘 맞습니다. 특히 프로젝트 목표, 제약 조건, 의사결정이 세션이 바뀌어도 유지되어야 할 때 유용합니다. 또한 ck for Context Engineering 관점에서도 강점이 분명합니다. 일회성 프롬프트 히스토리와 오래 유지해야 하는 프로젝트 메모리를 분리해 주기 때문입니다. 반대로, 단발성 프롬프트 위주로 작업하거나 Claude Code의 로컬 skill 시스템을 쓰지 않는다면 ck의 효용은 크지 않습니다.
ck가 일반 프롬프트와 다른 이유
일반 프롬프트는 저장소를 한 번 요약하는 데는 충분할 수 있습니다. 하지만 ck는 지속되는 구조를 추가합니다. ~/.claude/ck/projects.json의 프로젝트 레지스트리, 프로젝트별 단일 진실 원본인 context.json, 자동 생성되는 CONTEXT.md, 그리고 프로젝트 컨텍스트를 자동 로드할 수 있는 session-start hook까지 갖추고 있습니다. 실무에서의 차별점은 일관성입니다. 명령이 로컬 스크립트를 호출해 동작하므로, 어시스턴트에게 비공식적으로 “이걸 기억해”라고 맡기는 방식보다 워크플로가 모델 의존적이지 않습니다.
ck skill 사용 방법
설치 맥락과 먼저 읽어야 할 파일
ck install은 Claude Code의 skills 메커니즘으로 진행한 뒤, 가장 먼저 skills/ck/SKILL.md를 확인하세요. 그다음에는 아래 파일을 순서대로 읽는 것이 좋습니다.
commands/init.mjscommands/save.mjscommands/resume.mjscommands/info.mjshooks/session-start.mjs
이 순서는 중요합니다. init.mjs를 보면 ck가 현재 저장소에서 어떤 메타데이터를 추론하려 하는지 알 수 있고, save.mjs에서는 실제 JSON 스키마가 어떻게 정의되어 있는지 확인할 수 있습니다. 이어서 resume.mjs와 info.mjs를 보면 일상적으로 사용할 때 어떤 결과를 돌려받게 되는지 감이 잡힙니다.
실무에서 ck를 호출하는 방식
ck usage는 명령 중심 모델입니다. 주요 명령은 다음과 같습니다.
- 현재 프로젝트를 등록하는
/ck:init - 세션 상태를 저장하는
/ck:save - 전체 브리핑을 불러오는
/ck:resume - 빠른 스냅샷을 보는
/ck:info - 등록된 모든 프로젝트를 보는
/ck:list - 프로젝트를 제거하는
/ck:forget - 이전 v1 데이터를 변환하는
/ck:migrate
구현상 중요한 포인트도 있습니다. ck는 어시스턴트가 ~/.claude/skills/ck/commands/ 아래의 Node 스크립트를 실행하고, stdout을 깔끔하게 보여주기를 전제로 합니다. 특히 init 단계에서는 즉시 저장하면 안 됩니다. 먼저 감지된 프로젝트 정보를 초안으로 만들고, 사용자가 이를 확인한 뒤에 확정된 JSON을 save.mjs --init로 넘기는 흐름이어야 합니다.
어떤 입력이 있으면 결과가 더 좋아지는가
ck는 자동 감지로 충분히 추론하기 어려운 프로젝트 사실을 사용자가 보완해 줄 때 가장 잘 작동합니다. /ck:init에서 좋은 입력은 다음과 같습니다.
- 명확한 프로젝트 이름
- 한 문장 설명
- 주력 스택
- 현재 목표
- 명시적인 제약 조건 또는 하지 말아야 할 것
- 가능하다면 저장소 URL
/ck:save에서는 세션 입력이 구체적일수록 좋습니다.
summary: 이번 세션에서 무엇이 바뀌었는지leftOff: 정확히 어디서 멈췄는지nextSteps: 2~5개의 구체적인 후속 작업decisions: 무엇을 왜 그렇게 결정했는지blockers: 아직 해결되지 않은 문제
약한 입력: "worked on auth."
강한 입력: "Implemented refresh token rotation, left off at failing integration tests in apps/api/tests/auth.spec.ts, next step is fixing cookie domain handling, decision was to keep server-side revocation for now because mobile clients are not ready."
실제 프로젝트를 위한 추천 워크플로
실전에 맞는 ck guide는 다음과 같습니다.
- 저장소 루트에서
/ck:init을 실행합니다. - 감지된 초안을 검토하고, 확인 전에 필요한 내용을 바로잡습니다.
- 의미 있는 작업이 끝날 때마다
/ck:save를 실행합니다. - 다음 세션에서는 전체 맥락이 필요하면
/ck:resume, 빠른 확인만 필요하면/ck:info를 사용합니다. - 프로젝트를 오갈 때는
/ck:list로 전환 대상을 확인합니다.
ck for Context Engineering으로 도입한다면, ck를 오래 유지되는 프로젝트 브리핑 레이어로 다루는 것이 좋습니다. 짧게 사라질 브레인스토밍은 채팅에 남겨 두고, 안정적으로 유지해야 할 사실, 결정, 다음 단계는 ck에 옮겨 두세요. 그래야 다음 세션을 더 정돈된 상태에서 시작할 수 있습니다.
ck skill FAQ
ck는 초보자에게도 쉬운가
대체로 그렇습니다. 다만 Claude Code와 로컬 명령 실행에 이미 익숙하다는 전제가 있으면 더 수월합니다. 개념 자체는 단순하지만, 이 스킬은 대화형이라기보다 운영형에 가깝습니다. 초보자라면 확인 단계, JSON 전달 방식, 데이터 저장 위치를 이해하기 위해 SKILL.md를 꼼꼼히 읽어야 할 수 있습니다.
ck가 일반 프롬프팅보다 나은 시점은 언제인가
ck는 같은 프로젝트가 며칠, 혹은 몇 주에 걸쳐 반복해서 등장할 때 더 빛납니다. 단순히 더 똑똑한 프롬프트 템플릿이 아니라, 구조화된 프로젝트 메모리를 디스크에 저장하고 일관되게 다시 불러올 수 있기 때문입니다. 작업이 임시적이거나 한 세션으로 끝난다면, 일반 프롬프트가 보통은 더 충분하고 더 빠릅니다.
주요 한계나 위험 요소는 무엇인가
가장 큰 한계는 ck의 품질이 저장된 내용의 품질을 넘지 못한다는 점입니다. 사용자가 /ck:save를 건너뛰면 메모리 레이어는 금방 오래된 상태가 됩니다. 또 하나의 제약은 적용 범위입니다. 이 스킬은 Claude Code의 로컬 skills 환경과 ~/.claude/ck/ 같은 파일시스템 관례를 기준으로 설계되었습니다. 범용 클라우드 메모리 서비스가 아닙니다. 그리고 CONTEXT.md는 생성물일 뿐이므로, 그 파일을 손으로 고쳐서 진실 원본을 관리하려 해서는 안 됩니다.
ck skill 개선 방법
ck 프로젝트 등록 입력을 더 좋게 만들기
ck에서 가장 큰 효과를 내는 개선 포인트는 초기 등록 품질입니다. package.json, README 내용, git 메타데이터를 바탕으로 한 자동 감지는 분명 도움이 되지만, 실제로는 빠진 정보가 적지 않습니다. /ck:init 시점에 초안을 적극적으로 수정하세요. 정확한 목표와 명시적인 제약 조건이 들어가면, 이후 /ck:resume 결과는 단순한 스택 라벨만 있을 때보다 훨씬 유용해집니다.
가장 흔한 실패 패턴을 피하기
흔한 ck 문제는 대개 예측 가능합니다.
- 잘못된 디렉터리에서 등록하는 경우
- 모호한 요약으로 저장하는 경우
- 다음 단계 업데이트를 빼먹는 경우
- 생성된 markdown을 진실 원본으로 착각하는 경우
- 프로젝트 식별을 먼저 확인하지 않고 컨텍스트를 삭제하는 경우
출력이 빈약하게 느껴진다면, 우선 context.json에 실제로 충분한 정보가 들어 있는지 확인하세요. 품질 문제의 대부분은 명령 스크립트 자체보다 저장된 상태가 너무 성긴 데서 비롯됩니다.
첫 결과 이후에도 계속 다듬기
ck usage를 개선하려면, 처음 저장한 컨텍스트를 최종본처럼 다루지 마세요. /ck:resume 이후에는 “내일 채팅 히스토리가 전혀 없어도 내가 필요로 할 정보가 무엇인가?”를 기준으로 빠진 내용을 점검하는 것이 좋습니다. 그런 다음 더 날카로운 결정 사항, blocker, 중단 지점을 담아 다시 저장하세요. 잘 정착된 ck skill 운용은 장문의 작업 일지가 아니라, 짧고 밀도 높은 가치 중심 브리핑으로 발전합니다.
