# Research Kb

> inbox에 넣은 자료를 지식베이스로 흡수·정리하거나 KB를 조회할 때 사용합니다. '인박스 정리해줘', '자료 넣었어 KB화 해줘', '이 기관 전에 뭐 했었지?', '우리 실적 뭐 있어?', '예전에 이 사업 지원했었나?' 같은 요청에 대응합니다. 단, 새 공고 검색·분석은 /rfp, 논문 조사는 /lit을 사용합니다.

- Skill: `fivetaku/research-kb` (Agent Skill)
- Install (CLI): `npx skillmds@latest add fivetaku/research-kb`
- Raw SKILL.md: https://api.skillmd.com/api/skills/fivetaku/research-kb/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Research & Search
- Author: fivetaku (https://skillmd.com/u/fivetaku)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/fivetaku/research-kb

---


# kb Workflow

Codex-compatible mirror of `kb.md` from the `research` archetype.

# /kb — 과제 지식베이스

**같은 기관·같은 사업을 매번 다시 조사하지 않기 위한 층.** `00-inbox/`에 던져둔 자료를 정제해 `70-kb/`에 쌓고, 파이프라인 각 단계가 여기서 먼저 답을 찾는다.

## 사용법

```text
/kb ingest              # 00-inbox/ 흡수 → 70-kb/ 등재 후 원본은 90-archive로
/kb {질의}              # KB 조회 ("이 기관 성향", "우리 NMR 실적")
/kb gaps                # KB에 비어 있는 칸 보고
```

## KB 구조

| 폴더 | 담는 것 | 파이프라인 어디에 먹이나 |
|------|--------|---------------------|
| `70-kb/agencies/` | 부처·전문기관별 공고 성향, 평가 관행, 선호 서술 | P1 배점 역설계 |
| `70-kb/programs/` | 사업별 연혁·예산 규모·과거 선정 과제·연차 패턴 | P0 탐색, P1 판정 |
| `70-kb/requirements/` | 반복 출현 **요건 패턴** (자격·정량지표 유형·제출서류) | P1 요건 분해 가속 |
| `70-kb/our-assets/` | 우리 실적·역량·증빙 위치·보유 장비·인력 | **P1 '보유' 판정 근거**, P4 "왜 우리인가" |
| `70-kb/outcomes/` | 지원 이력과 결과 — **수주/탈락과 그 사유** | P5 체크리스트, P1 기회비용 |
| `70-kb/domain/` | 연구 도메인 지식 (기술 계보·용어·핵심 논문) | P2 리서치 중복 방지 |

## `/kb ingest` 실행 흐름

### Step 1: inbox 훑기

`00-inbox/`의 파일을 유형별로 분류한다. **읽기 전에 분류부터** 한다.

| 유형 | 처리 |
|------|------|
| 공고문·붙임 (HWP/PDF) | `npx -y kordoc {파일} --format markdown` → requirements 패턴 추출 |
| 과거 제안서·계획서 | our-assets(실적) + outcomes(결과) 양쪽에 반영 |
| 평가 결과·심사 의견 | **outcomes에 최우선 등재** — 가장 값진 자료 |
| 논문·기술 자료 | domain + `50-sources/`에 등급과 함께 |
| 계약·정산 서류 | **PII 확인 후** our-assets에 요약만. 원본은 이관하지 않는다 |
| 메모·캡처 | 해당 폴더에 흡수하되 출처를 "내부 메모"로 표기 |

### Step 2: 정제 — 원문을 복사하지 않는다

KB는 **원문 보관소가 아니라 판단에 쓰는 요약층**이다.

- 각 항목은 **사실 + 출처 + 확인일**로 적는다.
- **추정과 확인을 구분**한다. 확인 안 된 건 `(미확인)`.
- 원문 파일은 `90-archive/inbox-{날짜}/`로 옮기고 KB에는 **경로만** 남긴다.
- **PII·계좌·주민번호는 KB에 들어가지 않는다.** 발견 시 요약만 남기고 원본 경로도 적지 않는다.

### Step 3: 등재

**`agencies/{기관명}.md`**
```markdown
# {기관명}
- 소속 부처 / 담당 사업 / 연간 공고 시기
## 공고 성향
- (관찰된 패턴 + 근거 공고번호)
## 평가 관행
- 배점 구조, 중시하는 항목 (근거: 어느 공고 배점표)
## 이력
| 날짜 | 공고 | 우리 대응 | 결과 |
```

**`our-assets/{역량명}.md`**
```markdown
# {역량명}
- 구분: 실적 / 장비 / 인력 / 인증
- **증빙**: (계약·논문·산출물 — 없으면 '증빙 없음'을 명시)
- 확인일:
## 이 역량으로 충족 가능한 요건 유형
- (P1 요건 표의 어느 행에 대응하는지)
```

> `our-assets`에 **증빙 없는 항목을 넣지 않는다.** 적합도 매트릭스에서 '보유'는 증빙이 있을 때만 성립한다.

**`outcomes/{연도}-{공고명}.md`**
```markdown
# {공고명} ({연도})
- 판정: 지원함 / 포기 · 결과: 선정 / 탈락 / 미지원
- **사유**: (심사 의견 원문 또는 우리 판단)
## 다음에 반영할 것
- (구체적 행동으로)
```

### Step 4: 인덱스 갱신 + 게이트

`70-kb/INDEX.md`에 한 줄씩 등재하고, `/kb gaps`로 빈 칸을 확인한다.

## 품질 게이트

- [ ] inbox 파일을 **전부** 분류했다 (남은 파일 0)
- [ ] KB 항목마다 **출처와 확인일**이 있다
- [ ] 추정과 확인이 구분 표기됐다
- [ ] `our-assets`에 **증빙 없는 항목이 없다**
- [ ] PII가 KB에 없다
- [ ] 원본은 `90-archive/`로 이동했고 KB엔 경로만 남았다
- [ ] `INDEX.md`가 갱신됐다

## 참조

- 파이프라인 연결: `frameworks/rnd-proposal-pipeline.md`
- 적합도 판정에서의 사용: `frameworks/rfp-fit-matrix.md` §1 (상태 '보유'의 증빙 요건)
- 산출물 규칙: `frameworks/output-correctness.md`

