처리순서
한 세션이 흘러가는 순서. 강제 주입은 모델이 고르지 않아도 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.md → ai-working/global/CLAUDE.md → 프로젝트 CLAUDE.md | 강제 주입 |
| 메모리 | MEMORY.md 인덱스 | 강제 주입 |
| 스킬 | 설치된 skill의 이름 + 한 줄 설명 | 목차만 주입 |
| SessionStart hook | git 상태 + HANDOFF 3개 절 (8 KiB) | 강제 주입 |
2. 사용자 메시지
“주영테크 배너 고쳐줘”
UserPromptSubmit hook이 메시지 끝에 텍스트를 붙인다. Dev Resource Guard 같은 것.
3. 모델 판단
위 텍스트를 전부 읽고 다음 행동을 고른다.
CLAUDE.md에 “비단순 작업이면project-wiki-context로 읽어라”가 있다.- skill 목차에서
project-wiki-context설명이 이 상황과 맞는다. - 그래서 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이 그걸 읽는다.