# 620. 주요 스킬 및 로그 예시 ## 스킬 정의 포맷 ### 기본 스킬 구조 ```yaml skill_name: "email_sender" display_name: "이메일 발송" version: "1.0.0" category: "communication" description: "이메일을 작성하고 발송하는 스킬" requirements: min_level: 3 required_stats: - empathy: 15 # 공감 능력 - compute: 10 # 연산 능력 parameters: - name: "recipient" type: "string" required: true description: "수신자 이메일 주소" - name: "subject" type: "string" required: true description: "이메일 제목" - name: "content" type: "string" required: true description: "이메일 본문" - name: "tone" type: "enum" options: ["formal", "casual", "friendly", "professional"] default: "professional" description: "이메일 톤 설정" outputs: - name: "send_result" type: "object" properties: - success: boolean - message_id: string - timestamp: datetime - recipient_response: optional[string] experience_rewards: success: 50 partial_success: 25 failure: 10 ``` ## 주요 스킬 예시 ### 1. PDF 요약 스킬 ```yaml skill_name: "pdf_summarizer" display_name: "PDF 문서 요약" category: "document_processing" # 스킬 실행 로그 예시 [2025-01-15 14:32:15] [INFO] Skill activated: pdf_summarizer [2025-01-15 14:32:15] [DEBUG] User: @happybell80, Robeing: rb10508 (Lv.7) [2025-01-15 14:32:16] [INFO] Processing PDF: quarterly_report_2024.pdf (127 pages) [2025-01-15 14:32:18] [DEBUG] Text extraction completed: 45,892 tokens [2025-01-15 14:32:19] [INFO] Applying summarization with leadership style: analytical [2025-01-15 14:32:25] [INFO] Summary generated: 3 key points, 5 insights [2025-01-15 14:32:26] [SUCCESS] Skill completed. Experience gained: 75 XP [2025-01-15 14:32:26] [INFO] User feedback: "정확하고 통찰력 있는 요약이네요!" ``` ### 2. 뉴스 큐레이션 스킬 ```yaml skill_name: "news_curator" display_name: "맞춤형 뉴스 큐레이션" category: "information" # 실행 예시 @rb10508 오늘의 AI 관련 뉴스 정리해줘 # 로그 [2025-01-15 09:15:00] [INFO] Morning news curation triggered [2025-01-15 09:15:01] [DEBUG] Fetching from 5 news sources [2025-01-15 09:15:03] [INFO] Found 47 AI-related articles [2025-01-15 09:15:04] [DEBUG] Applying personalization based on user history [2025-01-15 09:15:05] [INFO] Ethics filter applied: 2 articles excluded [2025-01-15 09:15:06] [INFO] Final selection: 8 articles with summaries [2025-01-15 09:15:07] [SUCCESS] News digest delivered to Slack ``` ### 3. 회의록 작성 스킬 ```yaml skill_name: "meeting_minutes" display_name: "회의록 자동 작성" category: "productivity" # 실행 로그 (실시간 처리) [2025-01-15 15:00:00] [INFO] Meeting started: "주간 개발 회의" [2025-01-15 15:00:01] [DEBUG] Participants: 5, Expected duration: 60min [2025-01-15 15:05:32] [INFO] Key point detected: "ChromaDB 성능 이슈" [2025-01-15 15:05:33] [DEBUG] Tagging: #performance #database [2025-01-15 15:12:45] [INFO] Action item recorded: "벡터 임베딩 최적화 검토" [2025-01-15 15:12:46] [DEBUG] Assigned to: @developer1, Due: 2025-01-22 [2025-01-15 15:45:00] [INFO] Decision point: "베이스 이미지 전환 승인" [2025-01-15 16:00:15] [SUCCESS] Meeting ended. Minutes generated [2025-01-15 16:00:16] [INFO] Summary: 3 decisions, 7 action items, 2 follow-ups [2025-01-15 16:00:17] [INFO] Distributed to all participants via email ``` ## 스킬 호출 패턴 ### 1. 단순 호출 ``` @rb10508 이메일 보내줘 ``` ### 2. 파라미터 포함 호출 ``` @rb10508 skill:pdf_summarizer file:"report.pdf" style:"executive" ``` ### 3. 체인 호출 ``` @rb10508 뉴스 정리하고 → 중요한 것만 이메일로 보내줘 ``` ## 로그 레벨별 예시 ### INFO 레벨 (일반 사용자용) ``` [15:32] PDF 요약을 시작합니다 [15:33] 요약 완성! 3개의 핵심 포인트를 찾았습니다 ``` ### DEBUG 레벨 (개발자용) ``` [15:32:15.234] [DEBUG] ChromaDB query: embedding_size=768, top_k=10 [15:32:15.456] [DEBUG] Memory recall: 3 relevant experiences found [15:32:15.789] [DEBUG] LLM call: model=gpt-4, tokens_used=2341 ``` ### ERROR 레벨 ``` [15:32:45.123] [ERROR] PDF parsing failed: Unsupported encryption [15:32:45.124] [ERROR] Fallback to OCR mode [15:32:46.000] [WARN] OCR quality low: confidence=0.72 ``` ## 스킬 통계 대시보드 예시 ``` === rb10508 스킬 사용 통계 (2025년 1월) === 가장 많이 사용한 스킬: 1. email_sender : 342회 (성공률 98.2%) 2. pdf_summarizer : 156회 (성공률 94.9%) 3. news_curator : 124회 (성공률 100%) 4. meeting_minutes : 89회 (성공률 96.6%) 5. code_reviewer : 67회 (성공률 91.0%) 사용자별 선호 스킬: - @happybell80: pdf_summarizer (45%), email_sender (30%) - @developer1: code_reviewer (60%), meeting_minutes (25%) - @manager1: news_curator (50%), email_sender (35%) 시간대별 스킬 사용: - 09:00-10:00: news_curator (피크) - 14:00-16:00: meeting_minutes (피크) - 17:00-18:00: email_sender (피크) 평균 처리 시간: - email_sender: 2.3초 - pdf_summarizer: 8.7초 (페이지당 0.07초) - news_curator: 5.1초 - meeting_minutes: 실시간 처리 ``` ## 스킬 개발 가이드라인 ### 1. 네이밍 컨벤션 - 스킬명: snake_case (예: email_sender) - 디스플레이명: 한글 가능 (예: "이메일 발송") - 카테고리: 소문자 (예: communication) ### 2. 로깅 규칙 - 시작/종료는 반드시 INFO 레벨 - 중간 과정은 DEBUG 레벨 - 에러는 ERROR, 경고는 WARN - 사용자 피드백은 별도 태그 ### 3. 경험치 설계 - 기본 성공: 50 XP - 복잡도에 따라 추가 보너스 - 실패해도 최소 10 XP (학습 경험) - 사용자 피드백 긍정 시 +25% 보너스 ### 4. 메모리 연동 - 모든 스킬 실행은 ChromaDB에 저장 - 성공/실패 패턴을 학습 - 유사 작업 시 이전 경험 참조 - 개인화된 실행 전략 수립