#!/bin/sh
# Claude Code Skill 설치 스크립트
# 생성: 2026-08-13 · Skill 1개 · 파일 1개
#
#   ./install-skills.sh            ~/.claude/skills/ 에 설치 (모든 프로젝트에서 사용)
#   ./install-skills.sh ./myrepo   ./myrepo/.claude/skills/ 에 설치 (그 저장소 전용)
set -e

DEST="${1:+$1/.claude/skills}"
DEST="${DEST:-$HOME/.claude/skills}"
mkdir -p "$DEST"
echo "설치 위치: $DEST"


mkdir -p "$DEST/paper-collect"
cat > "$DEST/paper-collect/SKILL.md" <<'SKILL_PAYLOAD_EOF'
---
name: paper-collect
description: DOI/PMID 하나로 메타데이터 resolve → PDF 확보(tier 폴백) → 저자/소속 추출 → 사사 파싱까지 한 번에 수행하는 통합 오케스트레이터. 여러 수집 기술을 융합해 호출.
---

# 논문 통합 수집 스킬

`paper_pipeline.collect()` 진입점. tier 폴백(api→chrome_rules→browser_capture)으로
PDF를 확보하고 저자 진실위계 병합·사사 파싱까지 통합 레코드로 반환.

## 사용법

```python
from paper_pipeline import collect, PipelineConfig

cfg = PipelineConfig.from_env()
cfg.publisher_rules = "paper_pipeline/publisher_rules.yaml"

rec = collect("10.1016/j.arr.2021.101398", cfg)
```

## 반환 레코드 주요 필드

```python
{
  "identifier": {"doi": "...", "pmid": "..."},
  "metadata":   {"title": "...", "journal": "...", "year": 2022, ...},
  "pdf": {
    "status": "available",     # available | pending | not_supported
    "path":   "./out/...pdf",
    "tier":   "chrome_rules",  # api | chrome_rules | browser_capture
    "verified": True
  },
  "authors": {
    "first": [...], "corresponding": [...], "all": [...],
    "source": "wos",           # human | wos | pdf | pubmed
    "confidence": 0.95         # 0.95/0.7/0.5/0.0
  },
  "funding": [{"agency": "NRF", "number": "2023R1A..."}],
  "trace":   ["tier:api miss", "tier:chrome_rules hit"]
}
```

## 배치 수집

```python
from paper_pipeline import collect_batch, PipelineConfig

cfg = PipelineConfig.from_env()
recs = collect_batch(["10.1016/j.arr.2021.101398", "10.1093/brain/awab123"], cfg)
```

## 환경변수

| 변수 | 용도 |
|------|------|
| `OPENAI_API_KEY` | GPT Vision 저자 추출 |
| `UNPAYWALL_EMAIL` | Unpaywall API (Tier A OA) |
| `ENTREZ_EMAIL` | PubMed E-utilities (Tier A) |

## PipelineConfig 주요 옵션

| 옵션 | 기본값 | 설명 |
|------|--------|------|
| `tiers` | `["api", "chrome_rules", "browser_capture"]` | 활성 tier 목록 |
| `publisher_rules` | `None` | YAML 규칙 파일 경로 |
| `out_dir` | `"./out"` | PDF + JSON 출력 디렉토리 |
| `pacing` | `True` | 페이싱 (publisher 차단 방지) |

자세한 의사결정 트리·tier 동작·환경변수·알려진 제약은 [GUIDE.md](../../GUIDE.md) 참조.
운영 시스템(human-click 큐, WoS 동기화 배치, AEX 개선 하네스)은 [conv-home-operations.md](../../conv-home-operations.md) 참조.
SKILL_PAYLOAD_EOF

echo ""
echo "완료 — Skill 1개를 설치했습니다."
echo "Claude Code를 다시 시작하면 인식됩니다."
