absorb
지정 디렉터리의 문서를 심층 분석하여 지식을 추출하고, 기존 문서 갱신 + 신규 문서 생성으로 프로젝트 지식 베이스에 반영합니다.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
지정 디렉터리의 문서를 심층 분석하여 지식을 추출하고, 기존 문서 갱신 + 신규 문서 생성으로 프로젝트 지식 베이스에 반영합니다.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
기술 의사결정 기록 (Architecture Decision Record). 중요한 기술적 결정의 맥락, 대안, 근거를 구조화하여 기록합니다.
현재 디렉터리의 내용을 분석하여 어떤 목적의 폴더인지 파악
슬랙/메일/메신저로 받은 업무 요청 메시지를 분석하여 의도, 핵심 내용, 판단, 액션 플랜, 대응 가이드를 정리합니다.
비즈니스 규칙, 도메인 규칙, 상태 전이 규칙을 하나의 문서로 관리합니다. 변경 이력이 누적됩니다.
열린 질문, 문제 해결, 기술 의사결정, 아이디어 발산을 구조화합니다. 회의록이나 메모 파일 경로를 인자로 전달하거나 직접 질문하세요.
아침 브리핑. 최근 커밋을 분석하여 오늘 개발 시작 전에 알아야 할 변경 사항, 영향 범위, 주의 사항을 요약합니다.
| name | absorb |
| description | 지정 디렉터리의 문서를 심층 분석하여 지식을 추출하고, 기존 문서 갱신 + 신규 문서 생성으로 프로젝트 지식 베이스에 반영합니다. |
| when_to_use | 디렉터리 문서 일괄 흡수, 문서 10건 이상 정리, 지식 베이스에 반영. 단건 1~3건은 learn. |
| disable-model-invocation | true |
| allowed-tools | Read, Write, Edit, Glob, Grep, Bash, Agent |
| effort | high |
지정 디렉터리의 모든 문서를 심층 분석하여:
핵심 원칙:
(출처: {파일명}:{섹션}) 표기톤: 체계적이고 분석적. 양보다 질.
| 데이터 | 경로 | 필수/선택 | 부재 시 동작 |
|---|---|---|---|
| 프로젝트 컨텍스트 | CLAUDE.md | 선택 | 일반 SW 가정으로 진행, [프로젝트 규칙 미확인] 태그 |
| 봇 인덱스 | bot/INDEX.md 또는 .local.claude/ONBOARDING.md | 선택 | 디렉터리 Glob 으로 fallback |
| 비즈니스 규칙 | .local.claude/biz-rules.md | 선택 | Tier 1(도메인 무관) 점검만 수행 |
| 모듈 상세 | .local.claude/modules/{name}.md | 선택 | 코드 Grep 직접 fallback |
| 원본 문서 | .local.claude/docs/, .local.claude/docs/parsed/ | 선택 | "흡수 대상 없음" 안내 후 종료 |
| absorb-log | .local.claude/docs/absorb-log.md | 선택 | 증분 모드 비활성, 전체 재처리 |
| 기존 sink 문서 | CLAUDE.md, biz-rules.md, modules/, customers/ | 선택 | Phase 2.5 역읽기 생략, 직접 신규 생성 |
$ARGUMENTS로 디렉터리 경로 또는 명령을 받는다.
| 입력 | 동작 |
|---|---|
{디렉터리 경로} | 해당 디렉터리 전체 문서 흡수 |
list | 흡수 이력 대시보드 표시 |
--force {디렉터리 경로} | 이미 흡수된 파일 포함 전체 재흡수 |
| (빈 입력) | 사용자에게 디렉터리 경로 질문 |
경로 정규화:
.local.claude/ 접두사는 생략 가능. 생략 시 자동 보완 시도[1M 활용] 다음을 단일 메시지에서 병렬로 호출:
- Glob:
{path}/**/*.md,{path}/**/*.txt, 하위 디렉터리 전체 재귀 탐색- Read 병렬:
.local.claude/docs/absorb-log.md,CLAUDE.md,bot/INDEX.md/ONBOARDING.md,biz-rules.md,team.md(역읽기 후보 sink 파일 사전 로드)- Bash:
wc -l규모 집계, mtime 비교(stat또는find -newer) 등 파일 메타데이터 병렬 수집
디렉터리를 스캔하여 전체 윤곽을 파악한다.
파일 목록 수집: Glob으로 {path}/**/*.md + {path}/**/*.txt 수집
규모 집계: 파일 수, 총 줄 수 산출 (Bash wc -l)
흡수 이력 대조: .local.claude/docs/absorb-log.md를 읽어 이미 처리된 파일 식별
--force 옵션이면 전부 대상자기 참조 검사: .local.claude/ 하위의 영구 참조 문서(modules/, be-guide/, fe-guide/, customers/, ddl/, people/, adr/)를 대상으로 지정하면 경고:
"이 디렉터리는 지식 베이스의 일부입니다. 흡수 대상이 아닌 반영 대상입니다. 정말 진행하시겠습니까?"
정찰 보고: 사용자에게 간략 보고 후 진행 여부 확인:
대상: .local.claude/meetings/ (4개 파일, 약 350줄)
- 신규: 2개 (2026-04-15-주간회의.md, 2026-04-13-스프린트.md)
- 이전 흡수: 2개 (스킵)
진행하시겠습니까?
모든 대상 파일을 읽고 지식을 추출한다.
| 규모 | 기준 | 전략 |
|---|---|---|
| 소 | 파일 5개 이하 AND 총 300줄 이하 | 메인에서 직접 처리 |
| 중 | 파일 6~20개 | 서브에이전트 2개 병렬 (파일 균등 분배) |
| 대 | 파일 21개+ | 서브에이전트 3개 병렬 (파일 균등 분배) |
서브에이전트에게 위임할 때 다음을 전달:
각 서브에이전트는 JSON-like 구조로 추출 결과를 반환한다.
| 유형 | 추출 대상 | 예시 |
|---|---|---|
| 사실(Fact) | 검증 가능한 구체적 정보 | "{닉네임} PO 합류 (YYYY.MM~)" |
| 결정(Decision) | 합의되거나 지시된 방향 | "배포 순서를 고객사 먼저, SaaS 나중으로 전환" |
| 규칙(Rule) | 반복 적용되는 비즈니스/기술 규칙 | "중간 수시 배포 금지" |
| 관계(Relation) | 엔티티 간 연결 | "{닉네임}은 결제 모듈 담당" |
| 타임라인(Timeline) | 시간 순서가 중요한 이벤트 | "YYYY-MM-DD {모듈} 운영 오픈" |
| 인사이트(Insight) | 패턴, 경향, 교훈 | "{팀명} {고객사} 업무 비중 N%, 과의존" |
추출된 모든 항목에 적용:
반영 대상 (통과):
제외 대상 (필터링):
OCR 파싱 문서 등에서 다음을 감지하면 해당 영역의 신뢰도를 낮춤:
보고서에 [WARN] 소스 품질 주의 표기.
여러 파일에 걸쳐 등장하는 동일 주제를 하나로 통합:
[1M 활용] 메인에서 직접 다중 파일 동시 Read 후 교차 분석:
- 로드: Phase 2 추출 결과에 등장한 카테고리별 sink 문서를 한꺼번에 로드:
team.md,customers/{name}.md전체,biz-rules.md,biz-rules-detail.md,modules/{name}.md관련,INFRASTRUCTURE.md,be-guide/be-convention-final.md,fe-guide/fe-convention-final.md- 교차 분석: {새 추출 지식} vs {기존 sink 내용}. 낡은 지식(STALE) 감지, 커버리지 갭 감지, 순환 참조(기존이 이미 인용) 방지
- 한계: 총 로드 추정 토큰 ~600K(1M 컨텍스트의 60%; 줄 수로 대략 가늠) 근접 시 추출 카테고리별로 Phase 2.5 를 분리 실행 권장.
흡수 대상만 읽는 것이 아니라, 기존 지식 베이스의 관련 문서도 함께 읽는다.
Phase 2에서 추출된 지식의 카테고리에 따라 읽을 기존 문서를 결정:
| 추출 카테고리 | 역읽기 대상 |
|---|---|
| 팀/인원 관련 추출물 있음 | team.md |
| 고객사 언급 있음 | customers/{해당 고객사}.md |
| 상태 전이/비즈니스 규칙 | biz-rules.md (자동 로드되므로 이미 확인 가능) |
| 모듈 관련 | modules/{해당 모듈}.md |
| 인프라/배포 | INFRASTRUCTURE.md |
| 컨벤션 | be-guide/be-convention-final.md 또는 fe-guide/fe-convention-final.md |
모든 관련 문서를 읽을 필요 없음. 추출된 지식이 가리키는 문서만 선택적으로 읽는다.
낡은 지식 감지 (Stale Detection)
새 문서의 정보가 기존 문서와 모순될 때, 기존 문서가 오래된 것일 수 있음.
예: 회의록 "배포 순서를 고객사 먼저, SaaS 나중으로 변경" vs INFRASTRUCTURE.md "SaaS 먼저, 고객사 나중 순서" 이 경우 기존 문서 갱신 필요로 플래그
단, 판단이 애매하면 충돌로 분류하여 사용자에게 질문.
커버리지 갭 감지 (Coverage Gap)
흡수 대상 문서에서 자주 언급되지만 지식 베이스에 빈약한 영역을 식별.
예: "주간보고에서 BizLink 5회 언급, modules/bizlink.md는 개요만" 이 경우 보고서에 "심층 분석 권장" 표기
daily/briefing 등의 문서가 biz-rules.md나 bot/*.md (또는 ONBOARDING.md) 의 내용을 인용하고 있는 경우, 그것을 "새 지식"으로 오인하지 않도록:
추출된 지식을 어디에 반영할지 결정한다.
| 지식 유형 | 반영 대상 후보 | 판단 기준 |
|---|---|---|
| 상태 전이, 비즈니스 로직 | biz-rules.md / biz-rules-detail.md | 상태 코드, 전이 조건 |
| 모듈 아키텍처, 서비스 동작 | modules/{name}.md | 모듈명, 서비스명, 테이블명 |
| 팀 구조, 인원 변동 | team.md | 사람 이름, 합류/퇴사/발령 |
| 고객사 특성, 요구사항 | customers/{name}.md | 고객사명 |
| 아키텍처 흐름, 진입점 | bot/*.md 또는 ONBOARDING.md | 요청 흐름, 모듈 매핑 |
| 서버, 배포, 인프라 | INFRASTRUCTURE.md | IP, 배포, CI/CD |
| 코딩 패턴, 컨벤션 | be-guide/ / fe-guide/ | 코딩 규칙, 패턴 |
| 프로젝트 규칙 (최상위) | CLAUDE.md | 금지사항, 공통 모듈, 보안 |
| 대화 간 지속 정보 | auto memory | 프로젝트 상태, 팀 역학 |
CLAUDE.md 반영 시: 현재 줄 수를 체크. 150줄 상한에 근접하면 .local.claude/ 하위 문서로 분리 제안.
기존 문서에 매칭되지 않는 지식이 충분히 모이면 신규 문서 생성을 제안한다. ("충분히" = 단일 사실 1건으로 파일 생성 안 함. 해당 주제에 대한 추출물이 3건 이상이거나, 구조화할 수 있는 양이 될 때.)
| 상황 | 생성 대상 | 템플릿 소스 |
|---|---|---|
| 미등록 고객사 정보 발견 | customers/{name}.md | 기존 customers/*.md 구조 참조 |
| 미등록 모듈 분석 결과 | modules/{name}.md | modules/_TEMPLATE.md 사용 |
| 새 프로젝트 맥락 발견 | projects/{name}/STATUS.md | 기존 projects/*/STATUS.md 구조 참조 |
| 새 비즈니스 규칙 카테고리 | biz-rules.md 신규 섹션 | 기존 섹션 구조 참조 |
| 기존 sink에 안 맞는 체계적 지식 | 사용자와 협의 후 결정 | 없음 |
신규 문서 생성 시:
[미확인]으로 표기하나의 지식이 여러 문서에 걸칠 수 있음.
예: "{고객사} 서버 통합"은 customers/{고객사}.md + INFRASTRUCTURE.md + 관련 modules/*.md에 반영
이 경우 하나의 추출 항목에 반영처를 복수로 지정하되, 각 문서에 맞는 관점으로 기술한다:
모든 반영 항목을 다음으로 분류:
| 분류 | 의미 | 행동 |
|---|---|---|
| NEW | 기존 문서에 없는 신규 지식 | 추가 |
| ENRICH | 기존 내용을 보강하는 상세 정보 | 병합 |
| STALE | 기존 내용이 오래되어 갱신 필요 | 교체 (사용자 확인 후) |
| CONFLICT | 기존 내용과 모순 | 사용자 판단 필수 |
| SKIP | 이미 기록됨 | 건너뜀 |
사용자에게 다음 형식으로 보고한다.
대량 추출(30건+)인 경우 카테고리별로 그룹화하고 각 그룹 내에서 중요도순 정렬: 결정 > 규칙 > 사실 > 관계 > 타임라인 > 인사이트.
## /absorb 보고서: {디렉터리 경로}
### 분석 개요
| 항목 | 값 |
|------|---|
| 대상 디렉터리 | {path} |
| 파일 수 | N개 (총 N줄) |
| 추출 지식 | 사실 N, 결정 N, 규칙 N, 관계 N, 타임라인 N, 인사이트 N |
| 소스 품질 | [OK] 양호 / [WARN] 일부 주의 / [FAIL] 저품질 |
| 반영 계획 | 기존 갱신 N건, 신규 생성 N건, 낡은 지식 N건, 충돌 N건, 건너뜀 N건 |
### 기존 문서 갱신: NEW + ENRICH (N건)
| # | 대상 파일 | 변경 내용 | 유형 | 출처 |
|---|----------|----------|------|------|
| 1 | team.md | {닉네임} 경영지원 합류 (MM~) 추가 | NEW | meetings/MM-DD.md 1절 |
| 2 | customers/{고객사}.md | 서버 통합 일정 보강 | ENRICH | meetings/MM-DD.md 2절 |
### 신규 문서 생성 (N건)
| # | 생성 경로 | 내용 요약 | 근거 |
|---|----------|----------|------|
| 1 | customers/{새 고객사}.md | 신규 고객사 프로필 (계약/모듈/담당자) | 주간보고 N회 언급, 기존 프로필 없음 |
### 낡은 지식 감지 (N건): 기존 문서 갱신 권고
| # | 기존 문서 | 현재 기록 | 갱신 필요 내용 | 근거 |
|---|----------|----------|-------------|------|
| 1 | INFRASTRUCTURE.md 배포 절 | SaaS 먼저, 고객사 나중 순서 | 고객사 먼저, SaaS 나중으로 변경됨 | meetings/04-15.md 1절 |
### 충돌 (N건): 사용자 판단 필요
| # | 기존 내용 | 새 정보 | 대상 파일 | 출처 |
|---|----------|--------|----------|------|
### 커버리지 갭 (N건): 심층 분석 권장
| # | 영역 | 현재 상태 | 소스 내 언급 빈도 | 제안 |
|---|------|----------|----------------|------|
### 건너뜀 (N건)
(이미 기록된 내용 요약. 상세 나열 불필요)
---
진행 옵션:
- **전체 반영**
- **선택 반영** (번호 지정, 예: 1,3,5)
- **충돌만 검토**
- **취소**
사용자 승인 후 반영을 실행한다.
기존 문서 갱신:
| YYYY-MM-DD | absorb: {요약} | {소스 디렉터리} | 추가신규 문서 생성:
[미확인]> 마지막 업데이트: YYYY-MM-DD | /absorb로 생성 표기auto memory 반영:
## /absorb 완료: {디렉터리 경로}
### 반영 결과
| 대상 | 변경 | 건수 |
|------|------|------|
| team.md | 인원 추가 2건 | 2 |
| customers/{고객사}.md | 서버 통합 보강 | 1 |
| customers/{새 고객사}.md | **신규 생성** | 1 |
### 흡수 기록
- absorb-log.md에 N건 기록 완료
- 다음 `/absorb list`에서 확인 가능
### 후속 제안
- 커버리지 갭: modules/bizlink.md 심층 분석 필요
- 코드 검증 필요: [문서 기반] 태그 N건은 `/learn`으로 검증 권장
.local.claude/docs/absorb-log.md: 파일 단위 흡수 이력.
디렉터리 단위 추적은 증분 흡수에 결함이 있음 (새 파일 추가 시 누락). 파일 단위로 추적하되 디렉터리별 요약 뷰도 유지한다.
# 문서 흡수 이력
> /absorb 스킬이 자동 관리. 수동 편집 금지.
## 요약
| 디렉터리 | 최종 흡수 | 흡수/총 파일 | 반영 건수 |
|----------|---------|------------|----------|
| meetings/ | 2026-04-16 | 4/4 | 8 |
## 상세
| 파일 | 흡수일 | 반영 건수 | 반영처 | 상태 |
|------|--------|----------|-------|------|
| meetings/2026-04-15-주간회의.md | 2026-04-16 | 5 | team.md, INFRASTRUCTURE.md | 완료 |
같은 디렉터리를 다시 /absorb 하면:
--force 옵션이면 전부 처리/absorb list 출력## 흡수 현황 대시보드
### 최근 흡수
| 디렉터리 | 날짜 | 파일 | 반영 | 주요 반영처 |
|----------|------|------|------|-----------|
| meetings/ | 04-16 | 4 | 8 | team.md, INFRASTRUCTURE.md |
| docs/parsed/weekly/ | 04-16 | 52 | 23 | team.md, customers/*.md |
### 미흡수 디렉터리 (absorb-log에 기록 없음)
- .local.claude/reports/ (3 파일)
- .local.claude/projects/{project-name}/ (N 파일)
| 스킬 | 관계 | 충돌 방지 |
|---|---|---|
/garden | garden이 docs 아카이브 시 absorb-log 확인. 미흡수 파일이면 /absorb 먼저? 안내 | garden은 아카이브만, absorb는 반영만 |
/learn | 개별 claim의 코드 레벨 검증이 필요하면 /learn으로 안내 | learn은 단건 검증, absorb는 대량 분석 |
/parse-doc | parse-doc 산출물을 absorb 입력으로 사용 가능 (종속 아님) | 독립 |
/briefing | briefing이 자동 갱신하는 modules/*.md와 중복 방지 | absorb는 Phase 2.5 역읽기에서 briefing 반영분 감지하여 중복 스킵 |
/biz-rules | 비즈니스 규칙 반영은 biz-rules.md 포맷에 맞춤 | absorb가 반영 시 biz-rules.md의 기존 섹션 구조를 존중 |
/customer-profile | 고객사 신규 생성 시 customer-profile 포맷 참조 | absorb가 생성, 이후 관리는 customer-profile |
[문서 기반] 태그공통 3블록(빈 / 부분 / 풀 데이터)은 CONTRACT 6-1절 참조.
[환경/규모] 신규 문서 21개 이상 일괄 흡수
[데이터 결함] Phase 2.5 역읽기에서 기존 문서가 90일+ 경과
[stale] 태그로 표시 + 사용자 확인(교체 / 병합 / 보존) 후 반영