처리순서

한 세션이 흘러가는 순서. 강제 주입은 모델이 고르지 않아도 context에 들어오는 것, 목차만 주입은 이름과 한 줄 설명만 들어오고 본문은 모델이 호출해야 들어오는 것.

flowchart TD
    A["1\. 세션 시작<br/>Claude Code가 system prompt 조립"]
    B["2\. 사용자 메시지<br/>#quot;주영테크 배너 고쳐줘#quot;"]
    C["3\. 모델 판단<br/>주입된 텍스트를 읽고 다음 행동 선택"]
    D["4\. 작업<br/>코드 읽기·수정"]
    E["5\. 종료<br/>HANDOFF 갱신"]

    A --> B --> C --> D --> E
    E -. "다음 세션의 SessionStart hook이 읽음" .-> A

1. 세션 시작

Claude Code가 system prompt를 조립한다.

구성 요소내용주입 방식
규칙전역 CLAUDE.mdai-working/global/CLAUDE.md → 프로젝트 CLAUDE.md강제 주입
메모리MEMORY.md 인덱스강제 주입
스킬설치된 skill의 이름 + 한 줄 설명목차만 주입
SessionStart hookgit 상태 + HANDOFF 3개 절 (8 KiB)강제 주입

2. 사용자 메시지

“주영테크 배너 고쳐줘”

UserPromptSubmit hook이 메시지 끝에 텍스트를 붙인다. Dev Resource Guard 같은 것.

3. 모델 판단

위 텍스트를 전부 읽고 다음 행동을 고른다.

  1. CLAUDE.md에 “비단순 작업이면 project-wiki-context로 읽어라”가 있다.
  2. skill 목차에서 project-wiki-context 설명이 이 상황과 맞는다.
  3. 그래서 Skill을 호출한다.
flowchart LR
    S["Skill 호출"] --> M["SKILL.md 본문이<br/>그제야 context에 들어옴"]
    M --> R["스크립트 실행"]
    R --> T["문서 4개가<br/>tool result로 들어옴"]

핵심

skill 본문은 세션 시작 때 들어오지 않는다. 모델이 목차를 보고 호출해야 그때 context에 실린다.

4. 작업

코드 읽기·수정. 파일을 만지면 그 디렉터리의 CLAUDE.md도 그때 추가 로드된다.

5. 종료

dev-protocol 규칙대로 HANDOFF를 갱신한다. 다음 세션의 SessionStart hook이 그걸 읽는다.