Community라이팅 & 에디팅github.com

ctxrs/ctx

코딩 에이전트를 위한 즉시 회상. 사용자 머신에 이미 있는 기록을 검색합니다. 에이전트 세션을 위한 Git blame입니다.

ctx란 무엇인가요?

이 스킬은 코딩 에이전트(Claude Code, Cursor, Codex 등)가 이전 로컬 에이전트 세션의 기록을 검색하고 참조할 수 있도록 해줍니다. `ctx` CLI 도구를 사용하여 사용자 의도, 결정, 작업 타임라인, 과거 시도, 성공 또는 실패한 내용이 담긴 세션 대화록을 찾을 수 있습니다. 작업 시작 전 검색(retrieval before work)과 기록 연구 보고서(history research reports)의 두 가지 모드로 작동합니다. 에이전트가 과거 컨텍스트에 접근해야 할 때 유용하며, 전체 세션 스크립트를 파일로 내보내거나, 특정 이벤트를 중심으로 검색하거나, 여러 세션에 걸친 주제를 연구할 수 있습니다. 검색 결과는 텍스트 기반이며, JSON 출력은 스크립트에 필요한 경우에만 사용하여 컨텍스트 윈도우를 절약합니다. Codex 환경에서는 현재 활성 세션 트리를 기본적으로 제외하고 검색합니다.

지원 대상~Claude Code✓Codex CLI✓Cursor
npx skills add ctxrs/ctx

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

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

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

문서

ctx 에이전트 기록 검색

이전 코딩 에이전트 세션을 참조해야 할 때마다 ctx를 사용하세요. 해당 대화록에는 사용자 의도, 결정, 이전 작업 타임라인, 과거 시도, 그리고 성공 또는 실패한 내용이 포함될 수 있습니다.

이 스킬은 두 가지 모드로 사용합니다:

  • 작업 전 검색: 이전 세션에 현재 작업에 영향을 미칠 결정, 명령어, 실패, 또는 인용이 포함되어 있을 때;
  • 기록 연구 보고서: 사용자가 에이전트나 읽기 전용 하위 에이전트에게 이전 로컬 에이전트 세션 전반에 걸쳐 역사적 주제를 조사하도록 요청할 때.

전제 조건

  • ctx CLI가 설치 및 설정되어 있어야 합니다. 설치되어 있지 않고 작업에 도구 설치가 적절하다면 다음 명령어로 설치하세요:

    curl -fsSL https://ctx.rs/install | sh
    
  • 첫 번째 설정은 ctx가 과거 세션을 인덱싱하는 동안 시간이 걸릴 수 있습니다. 필요하다면 백그라운드나 tmux에서 실행하거나 완료될 때까지 기다리세요.

  • ctx를 사용할 수 없는 경우, 로컬 기록 검색이 불가능하다고 말하고 결과를 지어내지 마세요.

워크플로우

  1. 콜드 컨텍스트에서 시작할 때 ctx가 준비되었는지 확인하세요:

    ctx status
    ctx sources
    

    스크립트가 정확한 필드를 필요로 할 때만 ctx status --format json 또는 ctx sources --format json을 사용하세요.

  2. 먼저 일반 언어로 검색하세요. 필요할 때 검색어나 필터를 추가하세요:

    ctx search "<query>"
    ctx search "<query>" --refresh off
    ctx search "<query>" --provider codex
    ctx search "<query>" --workspace <workspace>
    ctx search "<query>" --file <path>
    ctx search "<query>" --since 30d
    ctx search "<query>" --term "<related term>" --term "<error text>"
    ctx search "<query>" --session <ctx-session-id>
    ctx search "<query>" --verbose
    

    에이전트가 읽을 때는 기본 텍스트 출력을 사용하세요. jq나 스크립트로 파이프하거나, 정확한 기계 판독 가능 필드가 필요한 경우가 아니라면 search나 show에 --format json을 추가하지 마세요. JSON 출력은 훨씬 커서 컨텍스트 윈도우를 빠르게 소모할 수 있습니다.

    프롬프트가 여러 세션에 걸친 주제 기록 또는 보고서를 요청할 때는 여러 개의 ctx search 쿼리를 다양한 표현과 필터로 실행하여 유망한 세션을 찾으세요. 세션이 관련성이 있어 보이고 해당 세션에서 밀집된 이벤트 수준 일치 항목이 필요할 때는 범위를 지정한 ctx search "<query>" --session <ctx-session-id>를 사용하세요.

    기본 검색은 기본 에이전트 세션을 반환하므로 인간의 의도와 결정이 두드러지게 유지됩니다. 구현 세부 사항, 코드 리뷰 노트, 테스트 출력, 또는 하위 에이전트 세션의 실패 추적이 중요할 가능성이 있을 때는 --include-subagents를 사용하세요.

    JSON으로 전환하지 않고 전체 ctx ID, 공급자 ID, 인용 및 복사 가능한 후속 명령어가 필요할 때는 --verbose를 사용하세요.

    세션 대화록을 임시 파일에 쓰고, 파일 크기를 확인한 다음, 관련 부분을 읽을 수 있습니다:

    ctx show session <ctx-session-id> --format markdown --out /tmp/ctx-session.md
    wc -c /tmp/ctx-session.md
    

    Codex에서 CODEX_THREAD_ID를 사용할 수 있을 때 ctx는 기본적으로 활성 세션 트리를 제외하므로 현재 프롬프트와 하위 에이전트가 과거 검색을 지배하지 않습니다. 활성 세션 트리가 대상일 때만 --include-current-session을 사용하세요.

  3. 결과에 의존하기 전에 관련 결과를 검사하세요:

    ctx show event <ctx-event-id> --window 5
    ctx show session <ctx-session-id>
    
  4. 소스 식별 또는 재개 힌트가 중요할 때 원래 공급자 자료를 찾으세요. provider_session_id는 Codex 재개 UUID입니다:

    ctx locate event <ctx-event-id>
    ctx locate session <ctx-session-id>
    
  5. 사용자나 다른 에이전트가 파일을 필요로 할 때 관련 세션의 대화록을 작성하세요:

    ctx show session <ctx-session-id> --format markdown --out <output-path>
    

검색 범위를 좁혀야 할 때

결론을 내리기 전에 쿼리를 다양화하고 검색 필터를 사용하세요. 유용한 후속 조치에는 밀집 이벤트 검색, 세션 범위 검색 및 소스 위치 확인이 포함됩니다:

ctx search "<query variant>" --events --refresh off
ctx search "<query>" --session <ctx-session-id> --refresh off
ctx search "<query>" --include-subagents --refresh off
ctx show event <ctx-event-id> --window 5
ctx show session <ctx-session-id>
ctx locate event <ctx-event-id>
ctx locate session <ctx-session-id>

검색 결과 창은 제한적입니다. 반환된 히트 수에서 정확한 코퍼스 전체 개수나 완전한 감사를 주장하지 마세요. 요청된 결론을 검색, 표시 및 위치 확인 증거로 지원할 수 없는 경우, 해당 한계를 명시하고 대신 가장 강력하게 검색된 증거를 보고하세요.

고급 쿼리 또는 완전한 결정적 이벤트 열거를 위해서는 ctx list events를 사용하세요. 사용하기 전에 전체 필터, 범위, 커서 및 출력 문서를 읽으세요:

ctx docs show event-queries

기록 연구 보고서

역사적 주제를 조사하라는 요청을 받으면, 사용자가 편집을 요청하지 않는 한 읽기 전용으로 유지하세요. 에이전트가 보고서를 작성하고, ctx는 로컬 소스 자료만 검색합니다.

  1. 프롬프트가 모호할 경우 주제, 범위 및 원하는 길이를 재진술하세요. 기본적으로 간결한 보고서를 선호하며, 사용자가 연대기, 대안 또는 상세 증거를 요청할 때는 더 긴 보고서를 사용하세요.

  2. 여러 개의 타겟 검색을 실행하세요. 사용자 표현, 파일 또는 모듈 이름, 오류 텍스트, 명령어, 브랜치 이름 및 결정 용어에 걸쳐 쿼리 용어를 다양화하세요. ctx search "<topic>"으로 시작한 다음 --term으로 확장하거나 --workspace, --provider, --file, --since 또는 --session <ctx-session-id>로 좁히세요. 리뷰, 구현 시도, 테스트 출력 또는 실패 추적이 위임된 세션에 있을 가능성이 있을 때는 --include-subagents를 사용하세요. 보고서가 로컬 ctx 인덱스를 업데이트해서는 안 되는 경우 --refresh off를 추가하세요.

  3. 결론을 내리기 전에 집중된 소스를 검사하세요. 히트와 주변 회차를 보려면 ctx show event를 선호하고, 전체 세션 아크가 중요할 때는 ctx show session을 사용하세요:

    ctx show event <ctx-event-id> --window 5
    ctx show session <ctx-session-id>
    

    기본 출력이 필요한 증거를 생략하는 경우에만 전체 또는 로그 모드를 사용하세요.

  4. 세션 간 증거를 비교하세요. 동의, 충돌, 오래된 결과 및 검색에서 증거를 찾지 못한 격차를 기록하세요.

  5. 인용과 함께 에이전트 종합 보고서를 작성하세요.

간결한 보고서 형식:

  • 답변 또는 발견;
  • 가장 강력한 지원 ctx ID;
  • 중요한 주의 사항 또는 격차;
  • 선택적 다음 검색 또는 확인 단계.

긴 보고서 형식:

  • 질문 및 범위;
  • 검색 방법, 주요 쿼리 및 필터 포함;
  • 발견 또는 연대기;
  • 공급자, ctx 세션 ID, 가능한 경우 ctx 이벤트 ID, 각 소스가 중요한 이유를 포함한 증거 표;
  • 충돌, 격차 및 제안된 후속 조치.

인용 규칙

  • ctx 자료가 답변 또는 구현에 영향을 미칠 때 인용하세요.
  • 가능한 경우 공급자, ctx 세션 ID, ctx 이벤트 ID, 공급자 세션 ID를 포함하세요.
  • 여러 스니펫을 종합하는 경우, 결론을 자신의 종합이라고 표시하고 지원 스니펫을 인용하세요.
  • 인용된 이벤트 또는 세션이 현재 Core 생성에 없는 경우, 그렇게 말하고 명시적인 ctx import가 적절한지 고려하세요.

안전 규칙

  • 에이전트 읽기를 위해 텍스트 출력을 선호하세요. JSON은 스크립트, jq 또는 정확한 필드 추출에만 사용하고 JSON 출력을 작게 유지하세요.
  • 인용된 텍스트가 명시적으로 해당 결정을 언급하지 않는 한 ctx가 결정을 추론했다고 말하지 마세요.
  • ctx가 모델 분석을 작성했다고 말하지 마세요.
  • 사용자에게 표시되는 보고서에 원시 대화록, 큰 JSON 페이로드, 비밀, 토큰 또는 개인 경로를 붙여넣지 마세요. 검토된 증거를 요약하고 주장을 지원하는 데 필요한 짧은 발췌문만 인용하세요.
  • 사용자가 검토된 발췌문을 공유하도록 명시적으로 요청하지 않는 한 ~/.ctx, 공급자 대화록 경로 및 JSON 출력을 개인 로컬 기록으로 취급하세요.

관련 스킬