Community생산성 & 협업github.com

yavfast/ClaudeMods

긴 작업이나 여러 단계로 구성된 태스크를 context-editor 모드로 처리할 때 열어두세요: 단계를 열고 닫는 시점, 완료된 블록을 압축하는 방법, 최적화 마크, 텔레메트리, 그리고 "Later, your context_…" 또는 [context-editor] 행의 의미를 설명합니다.

ClaudeMods란 무엇인가요?

이 스킬은 Claude Code, Cursor, Codex 등의 AI 어시스턴트가 `context-editor` 모드를 사용하여 대화 컨텍스트를 논리적 단계(스테이지)로 나누고 관리하는 방법을 상세히 설명합니다. 긴 작업이나 다단계 작업에서 인지 부하를 줄이고 컨텍스트 창을 효율적으로 사용하기 위해 설계되었습니다. 사용자는 작업의 각 논리적 블록(단계, 서브태스크, 수정)이 시작될 때 스테이지를 열고, 완료될 때 닫은 후 압축할 수 있습니다. 압축 시에는 요약과 결정 사항, 검증된 사실, 변경된 아티팩트 등으로 구성된 스테이지 레코드를 남기며, 불필요한 툴 출력이나 중복된 읽기는 포인터로 축소합니다. 또한 최적화 마크(`[context-editor: optimize]`)를 통해 턴 종료 시 자동 압축을 트리거하고, 텔레메트리 정보로 얼마나 많이 압축되었는지 모니터링할 수 있습니다. 이 스킬은 특히 긴 세션에서 컨텍스트를 깔끔하게 유지하며 여러 단계의 작업을 체계적으로 진행해야 할 때 유용합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yavfast/ClaudeMods/tree/HEAD/mods/context-editor/skills/context-stages

Installed? Explore more 생산성 & 협업 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

컨텍스트를 단계별로 관리하기

context-editor 모드는 사용자가 자신의 대화를 직접 편집할 수 있게 해줍니다. 작업의 논리적 상태에 따라 정리 시점을 결정합니다. 컨텍스트가 커질수록 주의력이 저하됩니다: 작업 단위가 완료되면 처리된 내용을 압축하세요. 호스트의 자동 압축은 비상 안전망일 뿐입니다.

도구: context_tag, context_list, context_edit, context_note. 큐레이션 규칙 (실패에서 얻은 교훈, 수정 사항, 인용, 상태 항목, 호스트 행): context_list와 "rules": true.

단계(Stages)

단계는 작업의 논리적 블록입니다: 단계, 서브태스크, 수정 사항.

  • 블록 시작 시 열기: {"tags":[{"op":"open","stage":"설정 파일 읽기"}]}. 블록은 열기 응답과 함께 시작됩니다. "index"를 사용하면 context_list의 해당 행에서 시작합니다.
  • 블록이 완료되고 결과를 알게 되면 닫기: {"tags":[{"op":"close"}]}. 결과는 블록의 행 #a..#b, 크기 및 미디어, 정리 후보, 텔레메트리 및 조언을 제공합니다. 인덱스는 현재 기준입니다: 바로 편집할 수 있습니다.
  • 단계는 평면적입니다: 단계를 열면 먼저 열려 있던 단계가 닫힙니다.
  • 열지 않은 블록을 닫으려면: {"tags":[{"op":"open","stage":"<이름>","index":<첫 번째 행>},{"op":"close"}]}.
  • context_list는 열린 단계의 첫 번째 행에 [stage ▶ 이름], 마지막으로 닫힌 블록 주변에 [block ▶ 이름] .. [block end]를 표시합니다.

블록 압축하기

닫은 후, 블록 전체를 검토하고 처리되었거나 과도한 내용(사용한 툴 출력, 반복되고 오래된 읽기, 막다른 길, 이미 살펴본 미디어(작업이 허용하는 경우 설명: 툴 결과는 summarize, 이미지, 문서 또는 사람 프롬프트에 붙여넣은 텍스트는 describe(사람이 직접 입력한 단어는 그대로 유지), 호스트가 해당 프롬프트에 추가한 첨부 파일(예: @path의 파일 내용 및 알림)은 함께 처리되므로 필요시 파일을 다시 읽으세요))에 대해 하나의 context_edit를 대기열에 넣습니다. 압축할 것이 없으면 아무것도 대기열에 넣지 않습니다.

처리된 행 대신 단계 기록을 작성합니다(예: collapse 요약):

  • 단계의 목표;
  • 결정 사항(이유, 그 뒤에 있는 사람의 원문, 다른 옵션이 거부된 이유 포함);
  • 출처(경로, 줄 번호, 버전, URL)가 포함된 검증된 사실;
  • 변경된 아티팩트(파일, 커밋, 설정);
  • 열린 질문.

context_list에서 ~로 표시된 쌍(Read, Grep, Glob)은 재현 가능합니다: 포인터(무엇, 어디서, 무엇을 찾았는지; 필요시 다시 읽기)로 축소합니다. 그 외의 모든 것은 신중한 요약이 필요하거나 그대로 유지합니다: 실시간 프로브, 서브에이전트 보고서, 웹 콘텐츠. 사람의 메시지(귀하의 질문에 대한 답변(AskUserQuestion) 포함)는 이 세션에서 그대로 유지됩니다: context_edit와 context_tag는 이를 포함하는 편집을 거부합니다. 범위를 분할하세요.

일반적으로 여전히 유효한 규칙과 스킬, 그리고 다음에 필요한 결론은 그대로 유지합니다. [pin] 대상은 편집할 수 없습니다. 핀은 사용자가 설정하고 제거할 수 있습니다(모드는 핸드오프 문서 또는 시드 요약만 고정합니다).

편집은 사용자의 턴이 끝날 때 적용됩니다. 턴을 한 줄 상태로 끝내면 세션이 자동으로 재개됩니다(context_edit가 옵션을 제공합니다). 적용은 프롬프트 캐시를 한 번 다시 씁니다. 블록의 편집은 한 번의 호출로 일괄 처리하세요. "keep_cache": true는 턴이 끝날 때(Cache: 줄) 가장 이른 편집이 마지막 ~20 위치 내에 있는 경우 그 지점까지 캐시를 유지합니다. context_* 호출은 대화에서 사라집니다. 태그와 메모는 남습니다.

막다른 길(Dead ends)

분기를 포기할 때 즉시 표시하세요: 메모와 함께 범위에 disposable 태그를 추가합니다: {"op":"add","kind":"disposable","index":<첫 번째 행>,"to":<마지막 행>,"note":"막다른 길: X가 Y 때문에 실패"} (범위는 모든 툴 호출과 그 결과를 포함합니다. context_tag는 사람의 메시지를 포함할 경우 경고합니다). ref/tool_use_id로 참조된 단일 텍스트 행이나 출력도 가능합니다. 단계를 닫거나 표시된 블록에서 이동할 때 대체 항목이 대기열에 추가됩니다. 범위는 하나의 collapse가 됩니다.

최적화 마크

사람을 위한 턴을 마치고 블록이 완료되면, 답변을 다음 줄로 독립적으로 끝내세요:

[context-editor: optimize]

  • 마지막 비어 있지 않은 줄에만 단독으로 있어야 합니다. 중간 텍스트, 같은 줄 공유, 또는 /compact 턴에서는 아무 효과가 없습니다.
  • 열려 있는 단계를 닫습니다(없으면: 마지막으로 닫힌 블록 이후의 블록; 해당 턴에서 도구로 닫힌 단계는 블록으로 유지됩니다). 그러면 블록은 대기합니다. 아무것도 압축되지 않습니다.
  • 다음 프롬프트는 블록을 명명합니다. 작업이 다음 단계로 이동하면 해당 턴에서 압축하고, 그렇지 않으면 그대로 둡니다. 단계를 열면 인덱스와 함께 블록이 보고됩니다. 해당 보고서 또는 수락된 context_edit는 대기를 종료하고 disposable 대체 항목을 대기열에 넣습니다.
  • 스스로 계획을 따를 때: 단계별로 단계를 열고; 다음 단계에서 이전 블록을 압축하고 상태 줄로 턴을 종료합니다. 세션이 재개됩니다. 작업 중에는 도구를 통해 단계를 닫습니다.

텔레메트리

"count":0과 함께 context_list를 사용하면 헤더만 제공됩니다(설명에 줄이 나열됨). Effect: … M reread(s) of compressed content: 숫자가 크면 너무 많이 압축하고 있다는 뜻입니다. 크기는 보정된 추정치입니다(알려질 때까지 approx.). [context-editor: suggestion] 줄(컨텍스트가 커짐에 따라, 또는 많은 읽기 후 사람의 다음 프롬프트와 함께)은 이득, 캐시 비용 및 판정과 함께 배치를 제안합니다. 정보 제공용입니다. 숫자가 아닌 작업 상태에 따라 결정하세요.

후보(Candidates)

  • [review: big] 큰 출력; [review: search] 검색 결과(몇 턴 후); [review: stale] 이후에 편집한 파일의 읽기: 내용이 오래되었으므로 포인터로 축소하세요; [review: superseded] 이후 읽기에서 변경된 내용이 표시된 파일의 읽기: 역시 오래됨; [review: duplicate] 동일한 출력 또는 읽기 범위의 이전 복사본: 삭제 또는 축소; [review: agent] 자신의 마커(선택적 ttl_turns). 리뷰는 편집이 아닌 확인을 제안합니다.
  • [disposable: note]: 자신의 대체 항목(막다른 길 참조).

닫힘 보고서는 블록의 후보를 이유별로 나열하고, ~ 쌍을 세고, 오래된 읽기 및 중복 읽기에 대한 준비된 대체 텍스트를 제공합니다.

상태 슬롯

작업 상태(목표, 계획, 완료, 다음 단계)를 state 태그가 있는 자신의 텍스트 행 하나에 유지하세요: {"tags":[{"op":"add","kind":"state","index":<행>}]}. 해당 행의 rewrite로 제자리에서 업데이트하고, 끝에 새 상태를 추가하지 마세요. 또는 항목으로 유지하세요: {"op":"state","changes":[{"do":"add","kind":"plan","text":"…"}]}와 함께 context_edit를 사용합니다(set, mark 유해/오래됨, unmark, id(예: p3)로 remove). 적용은 항목에서 슬롯을 재구성하며, 항목이 있는 동안 state 작업만 변경합니다. 태그는 재구성된 행을 따릅니다. 새 state 태그는 슬롯을 이동합니다. 각 업데이트는 적용입니다: 블록의 편집과 함께 수행하고, 단독으로 수행하지 마세요.

메모(Notes)

context_note는 토큰 비용 없이 메모를 유지합니다(설명에 작업 및 표시 위치가 나와 있음).

  • 나중에 삭제하거나 압축할 내용과 방법을 즉시 표시하세요: {"notes":[{"op":"add","ref":"last","text":"수정 확인 후 삭제"}]}.
  • "remind_in_turns":2는 메모를 두 턴 후에 한 번 다시 표시합니다. 행이 보유한 내용으로 연결하세요.

내용에 대해 작성하고 행 번호는 사용하지 마세요: 적용 후 인덱스가 변경됩니다. 단계 닫기는 해당 블록의 메모를 나열합니다.

압축된 행 및 모드 텍스트

Later, your context_edit(또는 context_tag)로 시작하는 텍스트는 사용자가 직접 교체한 것입니다: 거기서 원본을 읽고 압축하여 컨텍스트를 절약했습니다. 사용자가 교체를 만들었습니다. 이름이 지정된 소스(Read docs/x.md의 전체 출력)는 해당 내용의 출처를 나타냅니다. 그 안에 있는 내용이 지어낸 것이라고 부르기 전에 아카이브를 여세요.

  • … summarize call replaced the full output of <source> you had read here …, … collapse call replaced these N rows you had read (what they held) … (해당 호출의 collapsed 입력에도 동일하게 나열됨), 그리고 마찬가지로 rewrite, describe: 콜론 뒤에 텍스트가 옵니다. 사람의 프롬프트에 대한 describe 후에는 사람의 원문이 뒤따릅니다. 이전 버전은 [context-editor] you read …, then replaced …로 읽힙니다.
  • (original: <path>, open with Read), (media: <path>), media carried as files: 아카이브. 필요한 것만 Read하세요. 대화의 끝에서 돌아옵니다.
  • [context-editor 또는 context-editor:로 시작하는 텍스트는 모드의 텍스트이며, 사람이나 도구의 텍스트가 아닙니다. context-editor: applied N edit(s): …: 적용 보고서. 교체를 만든 context_* 호출은 제거되지만, 결과에서 인용한 내용은 실제입니다. 인수가 context-editor:로 시작하는 /compact 행은 모드의 명령입니다. … repair the resumed conversation …: 모드가 재개 시 두 번 로드된 답변을 삭제했습니다. 이전의 생각은 사라졌습니다.
  • id cN, reminder from your note nN, [context-editor: suggestion], [context-editor: N chars cut], 사용자가 설정한 재개 프롬프트, /compact 턴, 핸드오프 문서: 모드의 서비스 텍스트입니다.

관련 스킬