diff --git a/skills/SKILL.md b/skills/SKILL.md index 4f3e618..e72d19d 100644 --- a/skills/SKILL.md +++ b/skills/SKILL.md @@ -61,6 +61,19 @@ tags: [robeing, skills, ssot] | GitHub 이슈/PR/레포 관리 | gitea (provider=github) | | IMAP/SMTP 메일 (Gmail 외) | himalaya (skill-email) | +## 파일 첨부 → 1차 라우팅 + +| 파일군 | 대표 확장자 | MIME 상위 | 1차 스킬 | 비고 | +|--------|-------------|-----------|----------|------| +| 문서 | `pdf`, `docx`, `doc`, `xlsx`, `xls`, `pptx`, `ppt`, `txt`, `md`, `csv`, `tsv`, `json`, `xml`, `html`, `htm` | `application/pdf`, `application/vnd.*`, `text/*`, `application/json` | `skill-rag-file` | 이미지 내장 PDF OCR은 `skill-rag-file` 내부 처리 | +| 오디오 | `m4a`, `mp3`, `wav`, `aac`, `ogg`, `flac`, `opus`, `webm` | `audio/*` | `whisper` | `application/octet-stream`이어도 확장자가 오디오면 오디오로 본다 | +| 이미지 단독 | `jpg`, `jpeg`, `png`, `webp`, `gif` | `image/*` | 미지원 | 비전 스킬 미구현 상태에서는 라우팅하지 않음 | +| 압축 | `zip`, `7z`, `rar`, `tar` | `application/zip` 등 | 미지원 | 안전 정책상 직접 처리하지 않음 | +| 실행·바이너리 | `exe`, `dmg`, `app`, `sh`, `bat`, `bin` | `application/x-*` 등 | 미지원 | 문서·오디오 스킬로 라우팅하지 않음 | +| 혼합 첨부 | 문서+오디오 등 | 혼합 | `needs_clarify` 우선 | 문서와 오디오를 한 스킬로 억지 병합하지 않음 | + +`whisper` ↔ `skill-rag-file`: 오디오는 먼저 `whisper`로 전사하고, 전사 결과를 문서 인덱싱·검색으로 이어갈 때 `skill-rag-file`이 다음 후보입니다. + ## 상세 스킬 문서 각 스킬의 트리거, Do/Do Not, API 경로 등은 위 링크의 상세 문서를 참조하세요. diff --git a/skills/skill-rag-file/SKILL.md b/skills/skill-rag-file/SKILL.md index 67d762f..bc05981 100644 --- a/skills/skill-rag-file/SKILL.md +++ b/skills/skill-rag-file/SKILL.md @@ -1,6 +1,6 @@ --- name: skill-rag-file -description: PDF, DOCX, TXT 등 문서 RAG 처리 및 검색. 사용자가 "이 문서 분석해줘", "계약서 위험 조항 찾아줘", "IR 자료 요약해줘" 등 문서 기반 요청을 할 때 사용. +description: PDF·DOCX·스프레드시트·텍스트 등 문서 파일을 RAG로 처리·검색한다. 사용자가 문서 파일을 첨부했거나 "이 문서 분석해줘", "계약서 위험 조항 찾아줘", "IR 자료 요약해줘" 등 문서 기반 요청을 할 때 사용한다. 텍스트가 거의 없어도 첨부 메타가 문서면 이 스킬이 1차 후보다. --- # skill-rag-file @@ -11,6 +11,10 @@ RAG(Retrieval-Augmented Generation) 파일 처리 스킬. 포트 8508. - `document_analysis`: 문서 분석, 파일 요약, 계약서/IR 자료 정리 - `companyx-rag`: Company X 내부 문서 근거 검색 (별도 SKILL 참조) +- 첨부 파일 조건 (확장자): `.pdf`, `.docx`, `.doc`, `.xlsx`, `.xls`, `.pptx`, `.ppt`, `.txt`, `.md`, `.csv`, `.tsv`, `.json`, `.xml`, `.html`, `.htm` +- 첨부 파일 조건 (MIME): `application/pdf`, `application/vnd.openxmlformats-officedocument.*`, `application/msword`, `application/vnd.ms-excel`, `application/vnd.ms-powerpoint`, `text/*`, `application/json`, `text/csv` 등 문서·텍스트 상위군 +- 무텍스트·단문: 본문이 비어 있거나 짧아도 첨부 메타가 문서군이면 1차 후보 +- 오디오·이미지 단독 첨부는 이 스킬의 1차 후보가 아님 ## Do @@ -23,6 +27,14 @@ RAG(Retrieval-Augmented Generation) 파일 처리 스킬. 포트 8508. - 팀 경계 밖 문서 검색 금지 - 원본 파일 무단 외부 노출 금지 +- 오디오 미지원: `.m4a`, `.mp3`, `.wav`, `.aac`, `.ogg`, `.flac`, `.opus`, `.webm` 등 오디오 파일 전사·분석·RAG 처리 금지. 이 역할은 `whisper`가 담당 +- 이미지 단독 미지원: `.jpg`, `.jpeg`, `.png`, `.webp`, `.gif` 등 이미지만 첨부된 경우 비대상 +- 실행·스크립트·압축 파일 및 알 수 없는 바이너리 처리 금지 + +## 연계 (선행 스킬) + +- `whisper`로 전사된 텍스트를 사용자가 붙여 넣었거나 직전 턴 전사 결과를 인용하면서 문서 기반 요청을 하면, 문서 파일 첨부가 없어도 본 스킬 후보가 될 수 있다. +- 사용자가 오디오 파일을 첨부한 채 분석을 요청하면 오디오는 `whisper`가 먼저 처리하고, 본 스킬은 오디오 바이너리를 직접 받지 않는다. ## API diff --git a/skills/whisper/SKILL.md b/skills/whisper/SKILL.md index 37cd65f..862969e 100644 --- a/skills/whisper/SKILL.md +++ b/skills/whisper/SKILL.md @@ -1,6 +1,6 @@ --- name: whisper -description: 음성 파일을 텍스트로 변환. 사용자가 "음성 파일 텍스트로", "회의록 작성해줘", "전사해줘" 등 음성 인식 요청을 할 때 사용. +description: 음성 파일을 텍스트로 변환한다. 사용자가 오디오 파일을 첨부했거나 "이 파일 전사해줘", "회의록 작성해줘", "전사해줘" 등 음성 인식 요청을 할 때 사용한다. 텍스트가 거의 없어도 첨부 메타가 오디오면 이 스킬이 1차 후보다. --- # whisper @@ -12,6 +12,10 @@ description: 음성 파일을 텍스트로 변환. 사용자가 "음성 파일 - `transcribe`: 음성 파일 전사 요청 - `voice_to_text`: 음성 데이터를 텍스트로 변환 - "음성 파일 텍스트로", "회의록" 등 자연어 요청 +- 첨부 파일 조건 (확장자): `.m4a`, `.mp3`, `.wav`, `.aac`, `.ogg`, `.flac`, `.opus`, `.webm`(오디오 컨테이너인 경우) 등 일반적인 음성 파일 +- 첨부 파일 조건 (MIME): `audio/*` (예: `audio/mpeg`, `audio/mp4`, `audio/wav`, `audio/x-m4a`, `audio/ogg`), `application/octet-stream`이어도 확장자가 오디오 목록이면 오디오로 분류 +- 무텍스트·단문: 사용자 본문이 비어 있거나 매우 짧아도 `file_summary` 또는 `file_inputs` 상 단일 오디오 첨부면 1차 후보 +- 혼합 첨부: 문서·이미지와 오디오가 함께이면 단일 스킬로 억지 분류하지 않고 `needs_clarify` 정책을 우선 검토 ## Do @@ -22,6 +26,16 @@ description: 음성 파일을 텍스트로 변환. 사용자가 "음성 파일 - 실시간 스트리밍 음성 전사 (파일 기반만 지원) - 타인의 음성 무단 전사 및 도용 +- PDF, DOCX, XLSX, PPTX, TXT, MD, CSV, JSON 등 문서 분석·요약·RAG 처리 +- JPG, PNG, WEBP, GIF 등 이미지 단독 처리 +- EXE, DMG, APP, SH, BAT 등 실행·스크립트 파일 처리 +- ZIP, 7Z, RAR, TAR 등 압축 아카이브 처리 +- 확장자·MIME 모두 비오디오인 알 수 없는 바이너리 처리 + +## 연계 (다음 스킬 후보) + +- 전사 결과는 텍스트로만 반환한다. 사용자가 같은 스레드에서 "이 전사본을 문서로 올려서 검색해", "첨부한 내용 RAG에 넣어"처럼 문서 인덱싱·검색을 요청하면 `skill-rag-file`이 다음 후보가 된다. +- 오디오 파일 자체를 `skill-rag-file`에 직접 넘기지 않는다. 오디오는 항상 `whisper`가 선행한다. ## API