---
name: dacon
description: 데이콘(Dacon) 공모전 정보를 자동으로 수집하여 마크다운 파일로 저장. "/dacon", "데이콘", "공모전 정보 수집", "dacon competition" 요청에 사용.
version: 1.0.0
---

# Dacon Competition Info Collector

데이콘 공모전 페이지에서 정보를 수집하여 프로젝트 루트의 `dacon-info/` 폴더에 마크다운 파일로 저장합니다.

## Purpose

데이콘 공모전 참가를 위한 **메타정보 자동 수집**:
- 대회 개요, 평가 기준, 규칙
- 일정, 상금 정보
- 데이터 설명 (다운로드 링크 제외)

## Output Structure

```
{project-root}/
└── dacon-info/
    ├── overview.md      # 개요
    ├── evaluation.md    # 평가 기준
    ├── rules.md         # 규칙
    ├── schedule.md      # 일정
    ├── prize.md         # 상금
    ├── agreement.md     # 동의사항
    └── data.md          # 데이터 메타정보
```

## Execution

### Phase 1: URL 입력 받기

AskUserQuestion 도구를 사용하여 공모전 URL을 입력받습니다.

```
AskUserQuestion:
question: "수집할 데이콘 공모전 URL을 입력해주세요"
header: "Dacon URL"
options:
  - label: "URL 직접 입력"
    description: "예: https://dacon.io/competitions/official/236455"
```

**URL 검증**:
- 형식: `https://dacon.io/competitions/official/{competition_id}` 또는 `https://dacon.io/competitions/open/{competition_id}`
- 잘못된 형식이면 올바른 예시 제공 후 재입력 요청

### Phase 2: 출력 디렉토리 준비

```bash
mkdir -p ./dacon-info
```

URL에서 대회 ID 추출:
```
https://dacon.io/competitions/official/236455/overview
→ competition_id: 236455
→ competition_type: official
```

### Phase 3: 페이지별 정보 수집

각 탭에 대해 **순차적으로** 다음 작업 수행:

| 순서 | 탭 | URL 경로 | 출력 파일 |
|------|-----|----------|-----------|
| 1 | 개요 | `/overview` | overview.md |
| 2 | 평가 | `/overview/evaluation` | evaluation.md |
| 3 | 규칙 | `/rules` | rules.md |
| 4 | 일정 | `/overview/timeline` | schedule.md |
| 5 | 상금 | `/overview/prize` | prize.md |
| 6 | 동의사항 | `/rules` 페이지 하단 | agreement.md |
| 7 | 데이터 | `/data` | data.md |

**각 탭 수집 워크플로우**:

```
1. browser_navigate(탭 URL)
2. browser_wait_for(time: 3)  # 페이지 로딩 대기
3. browser_snapshot()  # 페이지 구조 캡처
4. 콘텐츠 추출 및 정제
5. Write(마크다운 파일)
```

### Phase 4: 완료 및 정리

```
1. browser_close()  # 브라우저 종료
2. 수집 결과 요약 출력
```

## Markdown Template

각 파일은 다음 형식을 따릅니다:

```markdown
# {대회명} - {섹션명}

> 수집일: {YYYY-MM-DD}
> 출처: {URL}

---

{콘텐츠}
```

## Content Extraction Rules

### overview.md
- 대회 제목
- 대회 소개/설명
- 주최/주관 정보
- 배경 및 목적

### evaluation.md
- 평가 지표 (Metric)
- 평가 방식 설명
- Public/Private 리더보드 비율

### rules.md
- 참가 자격
- 제출 제한
- 금지 사항
- 외부 데이터 사용 규정
- 팀 구성 규칙

### schedule.md
- 대회 시작일
- 대회 종료일
- 중간 마감 (있는 경우)
- 결과 발표일

### prize.md
- 총 상금
- 순위별 상금
- 부상 (있는 경우)

### agreement.md
- 필수 동의 사항
- 개인정보 관련 사항
- 저작권 관련 사항

### data.md
- 제공 데이터 목록
- 각 파일 설명
- 컬럼 설명 (있는 경우)
- **다운로드 링크는 제외**

## Error Handling

| 상황 | 대응 |
|------|------|
| 잘못된 URL 형식 | 올바른 형식 예시 제공 후 AskUserQuestion으로 재입력 요청 |
| 페이지 로딩 실패 | 3초 추가 대기 후 재시도, 2회 실패 시 해당 탭 스킵 |
| 로그인 필요 페이지 | 공개 정보만 수집, "로그인 필요" 안내 메시지 출력 |
| 빈 콘텐츠 | "[내용 없음 - 해당 정보가 제공되지 않았습니다]" 플레이스홀더 삽입 |
| 브라우저 미설치 | browser_install() 호출 후 재시도 |

## Example Usage

**사용자 요청**:
```
/dacon
```

**또는**:
```
데이콘 236455 공모전 정보 수집해줘
```

**실행 결과**:
```
✓ 공모전 URL: https://dacon.io/competitions/official/236455
✓ 대회명: 제1회 코드 유사성 판단 AI 경진대회

수집 완료:
  ✓ overview.md (1.2KB)
  ✓ evaluation.md (0.8KB)
  ✓ rules.md (2.1KB)
  ✓ schedule.md (0.5KB)
  ✓ prize.md (0.6KB)
  ✓ agreement.md (1.8KB)
  ✓ data.md (1.5KB)

저장 위치: ./dacon-info/
```

## Notes

- 수집되는 정보는 공개된 메타정보만 포함합니다
- 실제 데이터셋 다운로드 링크는 포함하지 않습니다
- 로그인이 필요한 정보는 수집되지 않습니다
