보고서 — 의사결정 수준 개체 조사
이식성:
WebSearch+WebFetch, Node.js (docx패키지), 그리고 무료 API(SEC EDGAR, GitHub, ProPublica)를 위해 선택적으로bash_tool+curl이 필요합니다. BYOK MCP(LinkedIn, Crunchbase, Apollo, Pitchbook, SimilarWeb)는 선택적 개선 사항입니다. Claude Code CLI에서 기본적으로 작동합니다.
비-일반적 프레임 — 차별점
이 스킬은 가설을 검증하는 의사결정 수준의 개체 조사입니다. "마이크로소프트에 대해 알려줘" 같은 요청을 거부합니다. 매 호출 시 사용자는 먼저 자신의 가설을 명시해야 하므로(Q4), 보고서가 단순 확인이 아닌 검증을 수행합니다.
사용 사례 형태:
"화요일에 마이크로소프트를 대상으로 제안 발표를 합니다. 제 가설은 그들이 AI 지출을 자체 Foundry 플랫폼으로 통합하고 있다는 것입니다. 이를 확인하거나 반박해 주고, 발견한 내용에 기반한 대화 후크 3개를 주세요."
다음과 같은 요청은 안 됨:
"마이크로소프트에 대해 알려줘."
강제 질문 Q4 — 가설 질문 — 이 비-일반적 앵커입니다. 이를 건너뛰면 스킬은 위키피디아 요약본을 생성합니다.
전체 내용은 references/hypothesis_testing_discipline.md를 참조하세요.
에이전트 무결성 규칙 (연구-팩 규약)
PR #657 감사에 따라 변경 불가.
- 실행 규율. 순차적 검색 호출. WebSearch + WebFetch는 Consensus보다 느슨한 속도 제한이 있지만 여전히 1 q/초 에티켓을 적용합니다. 다음 호출 전에 응답 수신을 확인합니다.
- 출처 규율. 이 세션의 도구 호출로 반환된 소스만 인용합니다. 위키피디아 / 훈련 데이터는
[배경 — 인용 전 확인 필요]로 표시하고 주요 발견 개수에서 제외합니다. - 3-카운트 추적. 전송된 쿼리 / 수신된 소스 / 인용된 소스. 더불어 보고서 고유의 계층별 분류(1차 / 2차 / 3차)가 감사 로그에 표시됩니다.
- 재시도 정책. 실패 시 → 3초 대기 → 한 번 재시도 → 로그 기록. 3회 연속 실패 후: 중단, 사용자에게 알림.
- 소스 신뢰도 계층. 각 인용은 1차(공식, SEC, 법원 기록) / 2차(주류 뉴스, 업계 언론) / 3차(블로그, 포럼)로 태그됩니다. DOCX는 모든 플래그에 계층을 표시합니다.
1단계: 심층 인테이크 (강제 질문 6개, 한 번에 하나씩)
Q1 (기본) — 대상 신원
대상은 누구입니까? 정확한 이름과, 회사라면 웹사이트 또는 LinkedIn URL을 알려주세요. 개인이라면 LinkedIn URL이나 고유 식별자(회사 소속 + 직위)를 알려주세요.
질문 이유: 동명이인 식별. John Smith는 47명입니다. "Atlas"라는 회사는 세 개 있습니다. 연구할 특정 개체가 필요합니다.
사용자가 이름만 제공하면 추가 식별자를 요청하세요. 모호한 이름으로는 진행을 거부합니다.
Q2 (Q1에 따라 다름) — 대상 유형
이 대상은 어떤 유형입니까? 다음 중 하나를 선택하세요: 개인 / 회사 / 비영리 단체 / 정부 기관 / 기타.
질문 이유: 다른 소스 매트릭스가 적용됩니다. 개인의 경우 LinkedIn, GitHub, Scholar, 뉴스를 확인합니다. 회사의 경우 SEC EDGAR(상장사인 경우), Crunchbase, 뉴스, 기술 조직의 GitHub를 확인합니다. 비영리 단체의 경우 ProPublica에서 Form 990을 확인합니다.
선택 강제. "기타"는 한 줄 설명이 필요합니다.
Q3 (Q2에 따라 다름) — 목적
무엇을 준비하고 계십니까? 다음 중 하나를 선택하세요:
- 영업 미팅 / 파트너십 제안
- 투자 실사
- 인수 실사
- 저널리즘 / 실사
- 채용 면접 준비
- 경쟁 정보
- 개인 검증 (데이트, 채용, 비즈니스 파트너)
- 기타 (명시)
질문 이유: 목적은 관점, 깊이, 위험 신호 민감도를 결정합니다. 영업 준비에는 대화 후크가 필요합니다. 투자 실사에는 트랙션 신호가 필요합니다. 개인 검증에는 신중한 민감도 경계가 필요합니다.
Q4 (Q3에 따라 다름) — 가설 — 필수
들어가며 당신의 가설은 무엇입니까? 이 대상에 대해 이미 무엇을 믿고 있으며, 무엇을 확인하거나 반박하고 싶습니까?
질문 이유: 이것이 핵심 질문입니다. 이미 생각하고 있는 것을 단순히 확인하는 보고서는 가치가 없습니다. 가설을 먼저 명시함으로써, 이를 지지하는 증거뿐만 아니라 반박할 증거도 검색하여 실제로 사용할 수 있는 평결을 드릴 수 있습니다.
예시:
- "저는 마이크로소프트가 AI 지출을 자체 Foundry로 통합하고 있다고 믿습니다. 확인 또는 반박해 주세요."
- "CEO가 역량을 넘어서고 있다고 생각합니다 — TAM 이야기는 많고 트랙션은 없습니다. 테스트해 주세요."
- "이 비영리 단체의 간접비 비율이 의심스럽다고 믿습니다. 990을 확인해 주세요."
- "이 사람이 CTO 역할을 감당할 수 있을 만큼 기술적이라고 생각합니다. 확인해 주세요."
필수. 사용자가 "없습니다"라고 말하면 한 번 반박하세요: "그럼 추측해 보세요. 나중에 업데이트할 수 있는 입장을 정하세요. 보고서는 테스트할 가설이 필요합니다. 그렇지 않으면 일반 프로필이 되어 의사 결정에 도움이 되지 않습니다."
여전히 거부하면: 암시적 가설 "내가 찾을 수 있는 가장 놀라운 것은 무엇일까?"로 대체하고 감사 로그에 대체 사용을 기록합니다.
이 질문은 비-일반적 앵커입니다. 건너뛰면 스킬은 위키피디아 요약이 됩니다.
Q5 (Q3에 따라 다름) — 깊이
시간 범위: 5분 브리핑 또는 15분 의사결정 수준 보고서?
질문 이유: 브리프 모드는 약 10개 검색으로 제한하고 네트워크 + 평판 패스를 건너뜁니다. 의사결정 수준은 모든 섹션을 더 깊이 다룹니다. 이 결정에 얼마나 신경을 쓰는지에 따라 선택하세요.
선택 강제.
Q6 (Q3이 {저널리즘, 개인 검증}인 경우에만 질문) — 민감 사항
제외해야 할 민감한 사항이 있습니까? 예: 개인 의료 기록, 가족 세부 사항, 정치적 이력, 또는 특정 주제 금지?
질문 이유: 일부 연구 맥락에는 윤리적 제약이 있습니다. 공유하지 않을 내용을 표면화하는 것보다 미리 아는 것이 좋습니다.
영업/투자/인수/경쟁 정보(민감도 낮음)는 건너뜁니다. 저널리즘/개인 검증(민감도 높음)은 질문합니다.
중단 조건: Q6 이후(또는 종속성에 따라 더 일찍) 확정하고 2단계를 시작합니다. 2단계가 시작된 후에는 인테이크를 다시 열지 마십시오.
2단계: 대상 식별 확인
3단계 전에 대상을 특정 개체로 식별합니다:
- 개인: LinkedIn URL 또는 (고용주 + 직위 + 도시) 확인
- 회사: 도메인 또는 (법인명 + 설립 관할권) 확인
- 비영리 단체: EIN 또는 (법인명 + 주) 확인
- 정부 기관: 공식 .gov URL 확인
Q1 반박 후에도 여전히 모호하면: 중단하고 식별자를 포함하여 Q1을 다시 질문합니다. 진행을 거부합니다.
3단계: 소스 매트릭스 선택
Q2 대상 유형에 따라 라우팅됩니다. 전체 내용은 references/subject_type_source_matrix.md를 참조하세요.
개인
- LinkedIn (수동 페치 또는 BYOK 시 LinkedIn MCP)
- 개인 웹사이트
- Twitter/X (속도 제한 있음; 우아하게 저하)
- GitHub (기술적 대상인 경우)
- Google Scholar (학술 대상인 경우)
- 뉴스 (WebSearch + WebFetch)
- 컨퍼런스 발표 대본, 팟캐스트 (WebSearch)
회사
- 공식 웹사이트 (회사 소개, 리더십, 뉴스, 채용)
- SEC EDGAR (무료 API; 상장사의 10-K, 10-Q, 8-K)
- Crunchbase 무료 티어 (또는 BYOK 시 Crunchbase MCP)
- 뉴스 (WebSearch + WebFetch)
- GitHub (기술 조직용)
- Glassdoor + Comparably (감정 분석; 스크래핑 차단 시 우아하게 저하)
- LinkedIn 회사 페이지
비영리 단체
- ProPublica Nonprofit Explorer (무료; Form 990)
- 공식 웹사이트
- 뉴스
- GuideStar (접근 가능한 경우)
정부 기관
- 공식 .gov 사이트
- 뉴스
- ProPublica (연방 기관용)
유료 MCP(Apollo, Pitchbook, SimilarWeb)가 연결된 경우 사용하되 감사 로그에 BYOK-소싱으로 표시합니다.
4단계: 가설 기반 검색
모든 4단계 검색은 다음 중 하나로 분류되어야 합니다:
- 지지 증거 (가설 확인), OR
- 반박 증거 (가설 반박)
검색 예산의 ≥30%는 반박 쿼리에 할당. scripts/disconfirming_evidence_balance.py를 통해 강제됩니다.
가설 "Microsoft가 Foundry에 AI 지출을 통합하고 있다"에 대한 예:
- 지지: "Microsoft Foundry adoption 2026", "Microsoft AI infrastructure consolidation"
- 반박: "Microsoft OpenAI deal renegotiation", "Microsoft AI vendor diversification", "Microsoft third-party model partnerships 2026"
이것이 보고서를 확증 편향이 아닌 의사결정 수준으로 만드는 요소입니다.
각 검색:
- 분류(지지/반박)와 함께
citation_tracker.py를 통해 기록 source_tier_classifier.py에서 각 결과 URL에 소스 계층 적용
5단계: 12개월 활동 타임라인
활동 타임라인의 기본 기간은 12개월. 기본 신원 정보는 더 깊이 탐색.
범주:
- 뉴스 (인수, 채용, 퇴사, 제품 출시)
- 펀딩 라운드 / 재무 이벤트
- 논란 / 법적 이벤트
- 공개 성명 / 전략 변화
역시간순. 각 항목은 하이퍼링크 + 계층 표시.
6단계: 네트워크 + 평판 신호
네트워크
- 회사: 투자자(유입/유출), 고객(명시된), 파트너
- 개인: 공동 창업자, 고문, 멘토, 고용주, 이사회 역할
- 비영리 단체: 자금 제공자, 이사회, 리더십
5-10개 항목, 가설 관련성 순으로 정렬.
평판
- 뉴스 감정 (최근 12개월)
- 회사 Glassdoor (전체 평점 + 대표 리뷰 3개)
- 개인 피어 언급
- 주의: 평판 데이터는 잡음이 많습니다. 그에 따라 계층화.
7단계: 위험 신호 패스
표면화하되 과장하지 마십시오:
- 소송 (법원 기록 → 1차 계층)
- 규제 조치 (SEC, DOJ, 기관 조치 → 1차)
- 비정상적 퇴사 (90일 이내 주요 인력 이탈)
- 재무 신호 (10-K의 계속기업 불확실성 의견 → 1차)
- 평판 타격 (지속적인 부정적 보도 → 2차)
각 플래그는 계층화. DOCX에서 모든 플래그 옆에 계층이 표시됩니다.
8단계: 대화 후크 생성
실제 발견에 기반한 3-5개의 구체적인 후크. 일반적인 대화 포인트가 아닙니다.
전체 내용은 references/conversation_hook_quality.md를 참조하세요.
| ❌ 일반적 | ✅ 발견 기반 |
|---|---|
| "로드맵에 대해 물어보세요" | "최근 [X] 인수를 언급하세요 — 이는 수직 Y에 투자하고 있음을 시사합니다. 제안 프레이밍: '[X] 발표를 봤습니다 — Y에 대한 로드맵이 어떻게 바뀌나요?'" |
| "채용에 대해 물어보세요" | "VP of Engineering이 3주 전에 떠났습니다(LinkedIn). 제안 프레이밍: '[이름]이 이직하셨더군요 — 엔지니어링 리더십 계획은 무엇인가요?'" |
| "가치관에 대해 이야기하세요" | "지난주에 가격 페이지를 업데이트했습니다(공식 사이트). 제안 프레이밍: '가격 개편을 봤습니다 — 어떤 이유였나요?'" |
각 후크:
- 후크 (한 문장)
- 연결된 발견 (하이퍼링크 + 계층 포함)
- 제안 프레이밍 (사용자가 적용할 수 있는 그대로의 표현)
9단계: DOCX 생성 (9개 섹션)
Node.js + docx 라이브러리를 통해.
- 요약 — 한 문단: 대상 신원 + 중요성 + 가설에 대한 평결(지지됨 / 부분 지지됨 / 반박됨 / 결론 없음) + 알아야 할 3가지 사항.
- 신원 정보 표 — 설립/출생, 위치, 규모/단계, 현재 역할, 주요 소속. 모든 셀에는 출처가 표시되며, 계층이 툴팁으로 제공됩니다.
- 가설 테스트 — 사용자의 가설을 그대로 명시. 지지 증거 (하이퍼링크 인용과 함께 3-5개 항목). 반박 증거 (하이퍼링크 인용과 함께 3-5개 항목). 평결 문단 (가중치를 설명하는 2-3문장).
- 12개월 활동 타임라인 — 뉴스, 펀딩, 채용, 퇴사, 제품 출시, 논란. 역시간순. 각 항목 하이퍼링크.
- 네트워크 신호 — 협력자 / 투자자 / 관계자. 5-10개 항목, 가설 관련성 순으로 정렬.
- 평판 신호 — 뉴스 감정, 회사 Glassdoor, 개인 피어 언급. 주의: 평판 데이터는 잡음이 많습니다.
- 위험 신호 + 숨겨진 패턴 — 소송, 규제 조치, 비정상적 퇴사, 재무 신호, 평판 타격. 계층화.
- 대화 후크 — 발견에 기반한 3-5개의 구체적인 후크. 각 후크: 후크 + 발견 + 제안 프레이밍.
- 출처 내역 + 감사 로그 — 계층별 출처 목록. 검색 요약 표(#, 쿼리, 분류, 반환된 소스, 인용된 소스). 세 가지 카운트 + 계층별 카운트. 실패한 검색. BYOK-MCP 사용 플래그.
스타일링
Arial 12pt 본문, 남색 제목(#1a3a5c), 연한 파란색 테이블 헤더(#e8f0f8), 빨간색 위험 신호 강조, 녹색 대화 후크 강조.
하이퍼링크 패턴
new ExternalHyperlink({
link: "https://...",
children: [new TextRun({ text: title, style: "Hyperlink" })],
});
10단계: 전달
- 저장:
<output-dir>/dossier_<entity-slug>_<YYYY-MM-DD>.docx - 채팅 요약: 파일 경로 + 가설에 대한 평결 + 감사 카운트 + 계층별 분류 + 사용된 BYOK MCP(있는 경우)
- 검증:
python3 -c "import zipfile,sys; zipfile.ZipFile(sys.argv[1]).testzip()" <docx>로 zip 무결성 확인 (출력 없음 = 손상되지 않음), 필수 섹션 존재 확인
도구
| 스크립트 | 역할 |
|---|---|
scripts/citation_tracker.py | 3-카운트 감사 + 지지/반박 분류 + 소스 계층 태깅 (~/.dossier_sessions/.json) |
scripts/disconfirming_evidence_balance.py | 검색 예산의 ≥30%가 반박 쿼리에 할당되었는지 확인; 편향 시 경고 |
scripts/source_tier_classifier.py | URL → 도메인 휴리스틱을 통한 1차/2차/3차 분류 |
참조
references/hypothesis_testing_discipline.md— ≥30% 규칙 + 의사결정 수준 vs 백과사전식 (7개 이상 출처)references/subject_type_source_matrix.md— 개인/회사/비영리/정부 소스 매트릭스 (7개 이상 출처)references/conversation_hook_quality.md— 발견 기반 후크 규율 (7개 이상 출처)
오류 처리
| 실패 유형 | 동작 |
|---|---|
| 대상 이름 모호 | 진행 거부. 식별자를 포함하여 Q1 재질문. |
| 사용자가 가설 제시 거부 | 한 번 반박. 여전히 거부 시 "내가 찾을 수 있는 가장 놀라운 것은 무엇일까?" 암시적 가설로 대체. 감사에 기록. |
| 대상의 공개 정보 전무 | ... |
[번역을 위해 잘림]