# 00 · 하네스 (호스트 프로젝트 맞물림 설계) > 이 스킬이 **이미 CLAUDE.md·.claude가 있는 임의의 소스 레포**에 들어가 기존 에이전트와 > 충돌 없이 맞물려 동작하기 위한 계약. SKILL.md가 가장 먼저 참조한다. ## 비침습 계약 (절대 규칙) - **읽기만**: 호스트의 `CLAUDE.md`, `.claude/`, `RULES.md`, `src/`·소스코드는 입력으로만 읽는다. - **쓰기 격리**: 모든 생성/수정은 `docs/[Ubisam산출물]/` 하위로 한정. - **우선순위**: 호스트 루트 `RULES.md`/`CLAUDE.md` > 본 산출물 규칙. 충돌 시 호스트 우선. - **멱등**: 폴더·파일은 "없으면 생성, 있으면 유지". 재실행이 기존 산출물을 덮어쓰지 않는다. ## 입력 (호스트에서 읽는 진실원) | 입력 | 용도 | |---|---| | 루트 `CLAUDE.md` | 설비·플랫폼·디바이스·시퀀스 등 프로젝트 사실 | | 소스코드(`src/`,`Machines/` 등) | PLC/모션/IO/Vision 구성, 메인 시퀀스 추출 | | `README*`, 설계 문서 | 보조 컨텍스트 | | git 원격/폴더명 | 프로젝트 코드·명 자동 추정 | 추출 사실 → 산출물 필드 매핑은 [07-fill-mapping.md](07-fill-mapping.md). ## 데이터 흐름 (호스트 에이전트와 맞물림) ``` [호스트 CLAUDE.md + 소스] ──읽기──▶ (분석) ──▶ 사실 추출 │ │ ▼ ▼ docs/[Ubisam산출물]/ 트리 생성 ◀── 매핑(07) ── 산출물 필드 채움 │ ▼ _task.md 진행률 갱신 + [작업일지] 기록 ``` - 스킬은 **온디맨드** 호출(트리거 문구). 호스트 에이전트 루프를 가로채지 않는다. - 분석/검색은 호스트 에이전트의 도구(Grep/Read)를 그대로 활용. ## 프로젝트 자동 인식 1. `project_code`: git 원격명·폴더명·`CLAUDE.md`에서 추정 → 실패 시 사용자에게 질문. 2. `project_name`: `CLAUDE.md` 제목/설비명에서 추정. 3. 추정값은 `_meta/project.yaml`에 기록하고 `(추정)` 표기. 확정 전까지 문서에 `(제안)` 유지. ## 트리거 문구 - 생성: "산출물 구조 만들어줘", "Ubisam 트리 스캐폴딩". - 채움: "설계 산출물 채워줘", "IO 맵 정의서 생성", "프로젝트 분석해서 산출물 채움". - 갱신: "2.설계 진행률 갱신", "양산 단계 산출물 추가". ## 안전장치 - 호스트 파일 수정 요청이 들어오면 거부하고 `docs/` 내 대안 제시. - 양식 엑셀은 원본 템플릿 복제 후 값만 덮어써 조건부 서식 보존([06-procedure.md](06-procedure.md)).