맥킨시 인력 브레인
200W 토큰으로 스카우트한 MBB 인력 컨설턴트, 10년 경력, 인재·조직·AI 전환에 주목합니다.
핵심 작업 방식
이 Skill은 작업을 두 단계로 나눕니다:
- 공식 출처 수집: MBB 공식 웹사이트의 후보 페이지를 발견하고, 본문, 제목, 날짜, 최종 URL, 상태 및 원본 스냅샷을 가져옵니다.
- Agent 데이터베이스 구축: 수집 결과에 대해 URL 정규화, 중복 제거, 품질 게이트, 주제 분류를 수행하고 JSON, CSV, SQLite를 출력합니다.
Feishu 기록은 데이터베이스 구축 이후의 게시 어댑터에 속합니다. 선택적이며, 재실행 가능하고, 다시 읽을 수 있지만, 로컬 데이터베이스의 유일한 진실 공급원이 되어서는 안 됩니다.
적용 범위
사용자가 다음 사항을 요청할 때 이 Skill을 호출합니다:
- MBB(McKinsey, BCG, Bain) 공식 사이트의 인재 관리, 조직, 리더십, 스킬, 성과, AI 및 미래 업무 콘텐츠 검색.
- 기존 MBB 콘텐츠 라이브러리 업데이트: 신규, 업데이트, 제한됨, 본문 누락 및 중복 출처 식별.
- 품질 게이트를 통과한 레코드를 Agent가 검색 가능한 데이터베이스로 구축.
- 사용자 승인 하에 검증된 레코드를 개인 Feishu Base 또는 Wiki에 증분 기록.
출처 범위는 공식 도메인(mckinsey.com, bcg.com, bain.com 및 공식 지역 하위 도메인)으로 고정됩니다. 타사 요약, 검색 결과 페이지, 재게시 페이지는 발견 단서로만 사용할 수 있으며, 최종 출처 등록 테이블에 포함될 수 없습니다.
1단계: 공식 출처 수집
먼저 프로젝트 출처 설정과 이전 manifest를 읽습니다. 설정에는 최소한 firm, 공식 도메인, 주제 키워드, 시드 URL, 수집 주기 및 본문 최소 문자 수가 포함됩니다.
우선 순위는 다음과 같습니다: 공식 sitemap 또는 주제별 인덱스, 공식 사이트 내 검색 결과, 등록된 URL의 갱신. 발견 결과는 먼저 targets.json에 기록된 후, 각각 fetched.json에 가져옵니다. 각 실행은 독립적인 run_id를 사용하며, raw/ 원본 스냅샷과 collect-manifest.json을 보존합니다.
수집 규칙:
- HTTPS 사용, 최종 리디렉션 URL 유지, 추적 매개변수 및 조각 제거, 정규화된 URL로 안정적인 ID 생성.
- 429, 5xx, 네트워크 오류에 대해 제한된 재시도 및 백오프 수행; 단일 실패는 상태에 기록하고 전체 배치 실행을 중단하지 않음.
- robots, 접근 빈도, 로그인 및 유료 벽 경계 준수. 제한 사항이 발생하면
restricted로 표시하고, 검색 요약이나 추측 콘텐츠로 본문을 채우지 않음. ok는 본문이 임계값을 충족하고 출처 도메인, 제목, URL이 모두 검증을 통과했음을 의미합니다.no_body,restricted,error는 실패 이유를 반드시 유지해야 합니다.- 수집 스크립트는 가져오기 및 디스크 저장만 담당하며, 수집 단계에서 직접 Feishu에 기록하지 않습니다.
기존 프로젝트에 사이트별 어댑터가 있는 경우 이를 재사용합니다. 새 사이트는 먼저 어댑터를 테스트한 후 배치 실행에 포함시킵니다. 일반 검증 및 데이터베이스 구축에는 이 Skill 내의 스크립트를 사용합니다.
2단계: Agent 데이터베이스 구축
fetched.json과 선택적 이력 base-corpus를 병합한 후 실행합니다:
python3 scripts/build_agent_db.py \
--run-dir data/runs/20260806-01 \
--base-corpus data/agent-db/records.json \
--min-body-chars 800
스크립트는 다음 작업을 수행합니다:
- URL 정규화, 동일 출처의 중복 레코드 제거.
- 본문 품질, 제목 완전성 및 수집 시간을 기준으로 레코드 선택,
duplicate_of기록. - 도메인, firm, 상태, 본문 길이, 문자 수 및 제목 검증.
- 통일된 주제로 분류: 인재 전략, 조직 설계, AI와 미래 업무, 스킬과 학습, 성과와 인센티브, People Analytics, 직원 경험, 리더십, 인력 계획.
agent-db/records.json,agent-db/source-register.csv,agent-db/agent-db.sqlite,agent-db/manifest.json출력.
품질 게이트:
python3 scripts/validate_records.py data/runs/20260806-01/fetched.json --min-body-chars 800 --strict
품질 게이트를 통과한 레코드만 인용 가능한 본문 집합에 포함됩니다. 제한 및 본문 누락 레코드는 상태 및 실패 이유와 함께 모니터링 집합에 포함될 수 있습니다.
3단계: Feishu 증분 기록
기록 전에 현재 CLI 프로필, identity=user, 대상 Base/Wiki 및 필드 매핑을 확인합니다. 개인 Feishu와 회사 Feishu는 별도의 테넌트이므로 기본 프로필로 대상을 추론할 수 없습니다.
source_url의 정규화된 값을 멱등 키로 사용하는 것이 좋습니다:
- 대상 테이블 필드 및 기존 레코드 읽기.
- URL → record_id 인덱스 구축.
- 새 URL은 레코드를 생성하고, 기존 URL은 필요한 필드를 업데이트하며, 제한된 레코드는 상태와 실패 이유만 업데이트.
- 각 배치 기록 후 즉시 URL로 다시 읽어 제목, 상태, 날짜, 주제 및 출처 링크를 확인.
- 기록 실패 또는 신원 만료 시 중단하고 로컬 빌드 결과물 및 대기 기록 목록을 보존.
Base 행 수, Wiki 토큰, 테넌트 ID, 내부 URL, 액세스 토큰, 개인 경로 또는 원본 웹 페이지 스냅샷을 GitHub에 제출하지 마십시오.
레코드 계약
최소 레코드 필드는 다음과 같습니다: id, firm, title, source_url, final_url, published_date, status, failure_reason, body_text, body_chars, tags, themes, fetched_at_utc.
상태는 ok, restricted, no_body, error만 허용됩니다. 자세한 규칙은 references/data-contract.md를 참조하십시오.
코드 리뷰 체크리스트
- 수집과 데이터베이스 구축은 독립적으로 실행 가능하며, 실패는
run_id와 URL로 추적 가능. - 재실행 시 동일 URL로 인한 중복 레코드가 발생하지 않으며, 출력은 임시 파일에 기록된 후 원자적으로 교체.
- 원본 스냅샷, 정제 결과, manifest는 서로 추적 가능.
- 공개 출처와 내부 데이터는 분리되며, 저장소에 토큰, 쿠키, 개인 경로, 테넌트 식별자 및 실제 비즈니스 데이터 없음.
- HTTP 오류, 빈 본문, 사이트 구조 변경, 데이터베이스 중복 키 및 Feishu 인증 실패에 대해 명확한 결과 있음.
- 테스트는 URL 정규화, 도메인 제한, 본문 임계값, 중복 제거 우선 순위 및 실패 상태를 다룸.
참조 파일
- data-contract.md: 레코드 필드, 상태, 품질 게이트 및 출력 구조.
- source-adapters.md: MBB 공식 출처 발견 및 사이트 어댑터 규칙.
- feishu-publish.md: Feishu 신원 확인, 멱등 기록 및 재읽기 요구 사항.
scripts/validate_records.py: 독립 품질 검증 스크립트.scripts/build_agent_db.py: 독립 데이터베이스 구축 스크립트.